diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php index 0e9ca26..6a73c7e 100644 --- a/.phpstorm.meta.php +++ b/.phpstorm.meta.php @@ -197,6 +197,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -445,6 +448,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -693,6 +699,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -941,6 +950,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -1189,6 +1201,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -1437,6 +1452,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -1685,6 +1703,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -1933,6 +1954,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -2181,6 +2205,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -2429,6 +2456,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, @@ -2677,6 +2707,9 @@ 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, + 'Spatie\MediaLibrary\MediaCollections\MediaRepository' => \Spatie\MediaLibrary\MediaCollections\MediaRepository::class, + 'Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\TinyPlaceholderGenerator' => \Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + 'Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\WidthCalculator' => \Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, 'auth' => \Illuminate\Auth\AuthManager::class, 'auth.driver' => \Illuminate\Auth\SessionGuard::class, 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, diff --git a/_ide_helper_models.php b/_ide_helper_models.php index a052217..a419bda 100644 --- a/_ide_helper_models.php +++ b/_ide_helper_models.php @@ -43,32 +43,6 @@ class Category extends \Eloquent implements \Spatie\EloquentSortable\Sortable {} } -namespace App\Models{ -/** - * - * - * @property int $id - * @property string $name - * @property string|null $description - * @property string $path - * @property \Illuminate\Support\Carbon|null $created_at - * @property \Illuminate\Support\Carbon|null $updated_at - * @property-read \Illuminate\Database\Eloquent\Collection $recipes - * @property-read int|null $recipes_count - * @method static \Database\Factories\ImageFactory factory($count = null, $state = []) - * @method static \Illuminate\Database\Eloquent\Builder|Image newModelQuery() - * @method static \Illuminate\Database\Eloquent\Builder|Image newQuery() - * @method static \Illuminate\Database\Eloquent\Builder|Image query() - * @method static \Illuminate\Database\Eloquent\Builder|Image whereCreatedAt($value) - * @method static \Illuminate\Database\Eloquent\Builder|Image whereDescription($value) - * @method static \Illuminate\Database\Eloquent\Builder|Image whereId($value) - * @method static \Illuminate\Database\Eloquent\Builder|Image whereName($value) - * @method static \Illuminate\Database\Eloquent\Builder|Image wherePath($value) - * @method static \Illuminate\Database\Eloquent\Builder|Image whereUpdatedAt($value) - */ - class Image extends \Eloquent {} -} - namespace App\Models{ /** * @@ -109,6 +83,9 @@ class Label extends \Eloquent implements \Spatie\EloquentSortable\Sortable {} * @property string $name * @property string $slug * @property string $serving + * @property int $prep_time + * @property int $cook_time + * @property int $total_time * @property string $ingredients * @property string $instructions * @property string|null $description @@ -119,15 +96,19 @@ class Label extends \Eloquent implements \Spatie\EloquentSortable\Sortable {} * @property \Illuminate\Support\Carbon|null $deleted_at * @property-read \Illuminate\Database\Eloquent\Collection $categories * @property-read int|null $categories_count - * @property-read \App\Models\Image|null $images + * @property-read mixed $hero + * @property-read mixed $hero_preview * @property-read \Illuminate\Database\Eloquent\Collection $labels * @property-read int|null $labels_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count * @property-read \App\Models\User|null $user * @method static \Database\Factories\RecipeFactory factory($count = null, $state = []) * @method static \Illuminate\Database\Eloquent\Builder|Recipe newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|Recipe newQuery() * @method static \Illuminate\Database\Eloquent\Builder|Recipe onlyTrashed() * @method static \Illuminate\Database\Eloquent\Builder|Recipe query() + * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereCookTime($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereDeletedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereDescription($value) @@ -135,15 +116,17 @@ class Label extends \Eloquent implements \Spatie\EloquentSortable\Sortable {} * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereIngredients($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereInstructions($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Recipe wherePrepTime($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe wherePublishedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereServing($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereSlug($value) + * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereTotalTime($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe whereUserId($value) * @method static \Illuminate\Database\Eloquent\Builder|Recipe withTrashed() * @method static \Illuminate\Database\Eloquent\Builder|Recipe withoutTrashed() */ - class Recipe extends \Eloquent {} + class Recipe extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} } namespace App\Models{ diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index a934a74..49fcf45 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -6,6 +6,7 @@ use Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\RedirectResponse; +use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -17,6 +18,9 @@ public function register(): void { Model::preventLazyLoading(! app()->isProduction()); Model::preventAccessingMissingAttributes(! app()->isProduction()); + if (app()->isProduction()) { + URL::forceScheme('https'); + } // @codeCoverageIgnoreStart if ($this->app->isLocal()) { diff --git a/bun.lockb b/bun.lockb index 92a6e4b..1ef8008 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 68461c9..79b3374 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ }, "dependencies": { "marked": "^12.0.1", + "pluralize": "^8.0.0", "primeicons": "^6.0.1", "primevue": "^3.49.1" } diff --git a/resources/js/Components/RecipeCard.vue b/resources/js/Components/RecipeCard.vue index a0a71eb..eef13e3 100644 --- a/resources/js/Components/RecipeCard.vue +++ b/resources/js/Components/RecipeCard.vue @@ -1,6 +1,7 @@