diff --git a/.DS_Store b/.DS_Store index d845437..c53bc00 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.idea/ntspi-new.iml b/.idea/ntspi-new.iml index 552f5ad..c85e8b2 100644 --- a/.idea/ntspi-new.iml +++ b/.idea/ntspi-new.iml @@ -5,7 +5,6 @@ - @@ -84,7 +83,6 @@ - @@ -102,7 +100,6 @@ - @@ -174,6 +171,8 @@ + + diff --git a/.idea/php.xml b/.idea/php.xml index 03dd30f..051b096 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -43,7 +43,6 @@ - @@ -67,7 +66,6 @@ - @@ -184,6 +182,8 @@ + + diff --git a/.idea/phpspec.xml b/.idea/phpspec.xml index aea58e5..92a8191 100644 --- a/.idea/phpspec.xml +++ b/.idea/phpspec.xml @@ -56,6 +56,12 @@ + + + + \ No newline at end of file diff --git a/app/Filament/Components/Forms/PostForm.php b/app/Filament/Components/Forms/PostForm.php index b37e1e7..c8f72cd 100644 --- a/app/Filament/Components/Forms/PostForm.php +++ b/app/Filament/Components/Forms/PostForm.php @@ -31,6 +31,18 @@ use Symfony\Component\Finder\Finder; class PostForm { + + private static function findSeoActive(array $data) : bool + { + $bool = false; + foreach ($data as $item) { + if ($item['data']['seo_active'] === true) { + $bool = true; + break; + } + } + return $bool; + } public static function getForm(Form $form): Form { return $form @@ -46,14 +58,16 @@ class PostForm ->live(onBlur: true) ->afterStateUpdated(function (string $operation, string|null $state, Forms\Set $set) { $set('slug', Str::slug($state)); + $set('seo.title', $state); }), TextInput::make('slug')->label('Slug')->unique(ignoreRecord: true)->readOnly()->required(), ]), - Select::make('status')->options([ - 'verification' => 'На рассмотрении', - 'published' => 'Одобрено', - 'rejected' => 'Отказано', - ])->label('Статус')->required()->default(PostStatus::VERIFICATION), + Select::make('status')->options(PostStatus::class) + ->label('Статус')->required() + ->disableOptionWhen(fn (string $value): bool => + $value == PostStatus::PUBLISHED->value && !auth()->user()->can('publish_post') + ) + ->default(PostStatus::VERIFICATION), Select::make('category_id') ->options(Category::all()->pluck('title', 'id')) ->preload() @@ -64,7 +78,7 @@ class PostForm ]), Tabs\Tab::make('Содержание новости') ->schema([ - \Filament\Forms\Components\Builder::make('content')->label('')->blocks([ + Builder::make('content')->label('')->blocks([ Builder\Block::make('heading')->label('Заголовок') ->schema([ TextInput::make('id')->hidden()->integer()->default(rand(2335235,324634264263426)), @@ -76,6 +90,13 @@ class PostForm ]), Builder\Block::make('paragraph')->label('Текст') ->schema([ + Toggle::make('seo_active')->label('Использовать блок как seo') + ->live(onBlur: true) + ->disabled(function ($state, Forms\Get $get) { + $data = $get('../../'); + return self::findSeoActive($data) && !$state; + }) + ->dehydrated(), RichEditor::make('content') ->toolbarButtons([ 'blockquote', @@ -90,7 +111,7 @@ class PostForm 'undo', ]) ->label(''), - ]), + ])->live(onBlur: true), Builder\Block::make('files')->label('Файлы') ->schema([ Forms\Components\Repeater::make('file')->schema([ diff --git a/app/Filament/Resources/AcademicJournalResource.php b/app/Filament/Resources/AcademicJournalResource.php index 7937ebc..c18fd2b 100644 --- a/app/Filament/Resources/AcademicJournalResource.php +++ b/app/Filament/Resources/AcademicJournalResource.php @@ -2,15 +2,23 @@ namespace App\Filament\Resources; +use App\Enums\CustomFormStatus; +use App\Enums\PostStatus; use App\Filament\Resources\AcademicJournalResource\Pages; use App\Filament\Resources\AcademicJournalResource\RelationManagers; use App\Filament\Resources\AcademicJournalResource\RelationManagers\JournalsRelationManager; +use App\Helpers\ByteConverter; use App\Models\AcademicJournal; +use App\Models\Category; +use App\Models\CustomForm; +use App\Models\Page; +use App\Models\Post; use Filament\Forms; use Filament\Forms\Components\Builder; use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\Hidden; use Filament\Forms\Components\RichEditor; +use Filament\Forms\Components\Select; use Filament\Forms\Components\Tabs; use Filament\Forms\Components\TextInput; use Filament\Forms\Form; @@ -18,7 +26,9 @@ use Filament\Resources\Resource; use Filament\Tables; use Filament\Tables\Table; use Illuminate\Database\Eloquent\SoftDeletingScope; +use Illuminate\Support\Carbon; use Illuminate\Support\Str; +use Livewire\Features\SupportFileUploads\TemporaryUploadedFile; use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor; class AcademicJournalResource extends Resource @@ -77,9 +87,259 @@ class AcademicJournalResource extends Resource 'underline', 'undo', ]) - ->label('') - ->required(), + ->label(''), + ])->label('Текст'), + Builder\Block::make('files') + ->schema([ + Forms\Components\Repeater::make('file')->schema([ + Hidden::make('expansion')->required(), + Hidden::make('size')->required(), + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->getUploadedFileNameForStorageUsing( + fn (TemporaryUploadedFile $file): string => + str(Str::slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME) . '-' . Carbon::now()->timestamp ) . '.' . $file->getClientOriginalExtension()) + ) + ->acceptedFileTypes([ + 'application/pdf', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/zip' + ]) + ->maxSize(512000) + ->disk('public') + ->directory('files') + ->downloadable() + ->afterStateUpdated(function ($set, $state) { + $set('expansion', $state?->getClientOriginalExtension()); + $set('size', ByteConverter::bytesToHuman($state?->getSize())); + }) + ->visibility('public') + ]), ]), + Builder\Block::make('person') + ->schema([ + TextInput::make('name') + ->label('Имя') + ->required() + ->maxLength(255), + FileUpload::make('photo') + ->label('Фотография') + ->image() + ->disk('public') + ->directory('images') + ->imageEditor(), + Forms\Components\Repeater::make('info')->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('column') + ->required() + ->maxLength(255), + TextInput::make('content') + ->required() + ->maxLength(255), + ]), + ])->minItems(1), + ]), + Builder\Block::make('stepper') + ->schema([ + TextInput::make('step_name') + ->label('Название шага') + ->required() + ->maxLength(255), + Forms\Components\Repeater::make('steps')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255)->columnSpanFull(), + RichEditor::make('content')->required(), + ])->minItems(1), + ]), + Builder\Block::make('tabs') + ->schema([ + Forms\Components\Repeater::make('tab')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255)->columnSpanFull(), + \Filament\Forms\Components\Builder::make('content')->label('')->blocks([ + Builder\Block::make('heading')->label('Заголовок') + ->schema([ + TextInput::make('id')->hidden()->integer()->default(rand(2335235,324634264263426)), + TextInput::make('content') + ->label('') + ->live(onBlur: true) + ->afterStateUpdated(function (string $operation, string $state, Forms\Set $set, $get) { + }), + ]), + Builder\Block::make('paragraph') + ->schema([ + RichEditor::make('content') + ->toolbarButtons([ + 'blockquote', + 'bold', + 'bulletList', + 'italic', + 'link', + 'orderedList', + 'redo', + 'strike', + 'underline', + 'undo', + ]) + ->label(''), + ])->label('Текст'), + Builder\Block::make('files') + ->schema([ + Forms\Components\Repeater::make('file')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->acceptedFileTypes([ + 'application/pdf', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/zip' + ]) + ->maxSize(512000) + ->disk('public') + ->directory('files') + ->downloadable() + ->visibility('public') + ]), + ]), + Builder\Block::make('person') + ->schema([ + TextInput::make('name') + ->label('Имя') + ->required() + ->maxLength(255), + FileUpload::make('photo') + ->label('Фотография') + ->image() + ->disk('public') + ->directory('images') + ->imageEditor(), + Forms\Components\Repeater::make('info')->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('column') + ->required() + ->maxLength(255), + TextInput::make('content') + ->required() + ->maxLength(255), + ]), + ])->minItems(1), + ]), + Builder\Block::make('stepper') + ->schema([ + TextInput::make('step_name') + ->label('Название шага') + ->required() + ->maxLength(255), + Forms\Components\Repeater::make('steps')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255)->columnSpanFull(), + RichEditor::make('content')->required(), + ])->minItems(1), + ]), + Builder\Block::make('images') + ->schema([ + FileUpload::make('url') + ->label('Изображение(-я)') + ->image() + ->multiple() + ->reorderable() + ->maxFiles(5) + ->disk('public') + ->directory('images') + ->imageEditor() + ->required(), + TextInput::make('alt') + ->label('Описание') + ->placeholder('Необязяательно') + ])->label('Слайдер изображений'), + Builder\Block::make('image') + ->schema([ + FileUpload::make('url') + ->label('Изображение(-я)') + ->image() + ->multiple() + ->reorderable() + ->maxFiles(5) + ->disk('public') + ->directory('images') + ->imageEditor() + ->required(), + TextInput::make('alt') + ->label('Описание') + ->placeholder('Необязяательно') + ])->label('Изображение'), + Builder\Block::make('video') + ->schema([ + TextInput::make('mime')->readOnly(), + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->acceptedFileTypes([ + 'video/mp4', + 'video/quicktime', + 'video/x-msvideo', + 'video/x-ms-wmv', + 'video/avi', + 'video/webm', + 'video/ogg', + 'video/3gpp', + 'video/3gpp2', + 'video/x-m4v', + ]) + ->disk('public') + ->directory('videos') + ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), + ]), + Builder\Block::make('postsList') + ->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('count') + ->label('Количество запией') + ->integer(), + Select::make('category') + ->options(Category::all()->pluck('title', 'id')) + ]), + ])->label('Список новостей'), + ]) + ->collapsed() + ->blockNumbers(false) + ->collapsible() + ->addActionLabel('Добавить новый блок'), + ])->minItems(1), + ]), + Builder\Block::make('images') + ->schema([ + FileUpload::make('url') + ->label('Изображение(-я)') + ->image() + ->multiple() + ->reorderable() + ->maxFiles(5) + ->disk('public') + ->directory('images') + ->imageEditor() + ->required(), + TextInput::make('alt') + ->label('Описание') + ->placeholder('Необязяательно') + ])->label('Слайдер изображений'), Builder\Block::make('image') ->schema([ FileUpload::make('url') @@ -95,26 +355,10 @@ class AcademicJournalResource extends Resource TextInput::make('alt') ->label('Описание') ->placeholder('Необязяательно') - ])->label('Изображение(-я)'), + ])->label('Изображение'), Builder\Block::make('video') ->schema([ - Hidden::make('mime'), - - TextInput::make('title') - ->required() - ->maxLength(255) - ->autofocus(), - - FileUpload::make('path') - ->required() - ->acceptedFileTypes(['video/mp4','video/ogg','video/webm']) - ->maxSize(512000) - ->disk('videos') - ->visibility('public') - ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), - ]), - Builder\Block::make('files') - ->schema([ + TextInput::make('mime')->readOnly(), TextInput::make('title') ->required() ->maxLength(255) @@ -122,22 +366,58 @@ class AcademicJournalResource extends Resource FileUpload::make('path') ->required() ->acceptedFileTypes([ - 'application/pdf', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'application/zip' + 'video/mp4', + 'video/quicktime', + 'video/x-msvideo', + 'video/x-ms-wmv', + 'video/avi', + 'video/webm', + 'video/ogg', + 'video/3gpp', + 'video/3gpp2', + 'video/x-m4v', ]) - ->maxSize(512000) ->disk('public') - ->directory('files') - ->downloadable() - ->visibility('public') - ]) + ->directory('videos') + ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), + ]), + Builder\Block::make('postsList') + ->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('count') + ->label('Количество запией') + ->integer(), + Select::make('category') + ->options(Category::all()->pluck('title', 'id')) + ]), + ])->label('Список новостей'), + Builder\Block::make('postItem') + ->schema([ + Select::make('post') + ->options(Post::query()->where('status', PostStatus::PUBLISHED)->pluck('title', 'id')) + ->searchable() + ->required(), + ])->label('Новость'), + Builder\Block::make('pageItem') + ->schema([ + Select::make('page') + ->options(Page::query()->where('title', '!=' , null)->where('is_visible', true)->pluck('title', 'id')) + ->searchable() + ->required(), + ])->label('Страница'), + Builder\Block::make('customForm') + ->schema([ + Select::make('form') + ->options(CustomForm::query()->where('status', CustomFormStatus::PUBLISHED)->pluck('title', 'form_id')) + ->searchable() + ->required(), + ])->label('Форма'), ]) ->collapsed() ->blockNumbers(false) ->collapsible() + ->blockPickerColumns(3) + ->blockPickerWidth('2xl') ->addActionLabel('Добавить новый блок'), ]), Tabs\Tab::make('Редакция') @@ -191,9 +471,259 @@ class AcademicJournalResource extends Resource 'underline', 'undo', ]) - ->label('') - ->required() + ->label(''), + ])->label('Текст'), + Builder\Block::make('files') + ->schema([ + Forms\Components\Repeater::make('file')->schema([ + Hidden::make('expansion')->required(), + Hidden::make('size')->required(), + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->getUploadedFileNameForStorageUsing( + fn (TemporaryUploadedFile $file): string => + str(Str::slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME) . '-' . Carbon::now()->timestamp ) . '.' . $file->getClientOriginalExtension()) + ) + ->acceptedFileTypes([ + 'application/pdf', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/zip' + ]) + ->maxSize(512000) + ->disk('public') + ->directory('files') + ->downloadable() + ->afterStateUpdated(function ($set, $state) { + $set('expansion', $state?->getClientOriginalExtension()); + $set('size', ByteConverter::bytesToHuman($state?->getSize())); + }) + ->visibility('public') + ]), ]), + Builder\Block::make('person') + ->schema([ + TextInput::make('name') + ->label('Имя') + ->required() + ->maxLength(255), + FileUpload::make('photo') + ->label('Фотография') + ->image() + ->disk('public') + ->directory('images') + ->imageEditor(), + Forms\Components\Repeater::make('info')->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('column') + ->required() + ->maxLength(255), + TextInput::make('content') + ->required() + ->maxLength(255), + ]), + ])->minItems(1), + ]), + Builder\Block::make('stepper') + ->schema([ + TextInput::make('step_name') + ->label('Название шага') + ->required() + ->maxLength(255), + Forms\Components\Repeater::make('steps')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255)->columnSpanFull(), + RichEditor::make('content')->required(), + ])->minItems(1), + ]), + Builder\Block::make('tabs') + ->schema([ + Forms\Components\Repeater::make('tab')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255)->columnSpanFull(), + \Filament\Forms\Components\Builder::make('content')->label('')->blocks([ + Builder\Block::make('heading')->label('Заголовок') + ->schema([ + TextInput::make('id')->hidden()->integer()->default(rand(2335235,324634264263426)), + TextInput::make('content') + ->label('') + ->live(onBlur: true) + ->afterStateUpdated(function (string $operation, string $state, Forms\Set $set, $get) { + }), + ]), + Builder\Block::make('paragraph') + ->schema([ + RichEditor::make('content') + ->toolbarButtons([ + 'blockquote', + 'bold', + 'bulletList', + 'italic', + 'link', + 'orderedList', + 'redo', + 'strike', + 'underline', + 'undo', + ]) + ->label(''), + ])->label('Текст'), + Builder\Block::make('files') + ->schema([ + Forms\Components\Repeater::make('file')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->acceptedFileTypes([ + 'application/pdf', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/zip' + ]) + ->maxSize(512000) + ->disk('public') + ->directory('files') + ->downloadable() + ->visibility('public') + ]), + ]), + Builder\Block::make('person') + ->schema([ + TextInput::make('name') + ->label('Имя') + ->required() + ->maxLength(255), + FileUpload::make('photo') + ->label('Фотография') + ->image() + ->disk('public') + ->directory('images') + ->imageEditor(), + Forms\Components\Repeater::make('info')->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('column') + ->required() + ->maxLength(255), + TextInput::make('content') + ->required() + ->maxLength(255), + ]), + ])->minItems(1), + ]), + Builder\Block::make('stepper') + ->schema([ + TextInput::make('step_name') + ->label('Название шага') + ->required() + ->maxLength(255), + Forms\Components\Repeater::make('steps')->schema([ + TextInput::make('title') + ->required() + ->maxLength(255)->columnSpanFull(), + RichEditor::make('content')->required(), + ])->minItems(1), + ]), + Builder\Block::make('images') + ->schema([ + FileUpload::make('url') + ->label('Изображение(-я)') + ->image() + ->multiple() + ->reorderable() + ->maxFiles(5) + ->disk('public') + ->directory('images') + ->imageEditor() + ->required(), + TextInput::make('alt') + ->label('Описание') + ->placeholder('Необязяательно') + ])->label('Слайдер изображений'), + Builder\Block::make('image') + ->schema([ + FileUpload::make('url') + ->label('Изображение(-я)') + ->image() + ->multiple() + ->reorderable() + ->maxFiles(5) + ->disk('public') + ->directory('images') + ->imageEditor() + ->required(), + TextInput::make('alt') + ->label('Описание') + ->placeholder('Необязяательно') + ])->label('Изображение'), + Builder\Block::make('video') + ->schema([ + TextInput::make('mime')->readOnly(), + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->acceptedFileTypes([ + 'video/mp4', + 'video/quicktime', + 'video/x-msvideo', + 'video/x-ms-wmv', + 'video/avi', + 'video/webm', + 'video/ogg', + 'video/3gpp', + 'video/3gpp2', + 'video/x-m4v', + ]) + ->disk('public') + ->directory('videos') + ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), + ]), + Builder\Block::make('postsList') + ->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('count') + ->label('Количество запией') + ->integer(), + Select::make('category') + ->options(Category::all()->pluck('title', 'id')) + ]), + ])->label('Список новостей'), + ]) + ->collapsed() + ->blockNumbers(false) + ->collapsible() + ->addActionLabel('Добавить новый блок'), + ])->minItems(1), + ]), + Builder\Block::make('images') + ->schema([ + FileUpload::make('url') + ->label('Изображение(-я)') + ->image() + ->multiple() + ->reorderable() + ->maxFiles(5) + ->disk('public') + ->directory('images') + ->imageEditor() + ->required(), + TextInput::make('alt') + ->label('Описание') + ->placeholder('Необязяательно') + ])->label('Слайдер изображений'), Builder\Block::make('image') ->schema([ FileUpload::make('url') @@ -209,26 +739,10 @@ class AcademicJournalResource extends Resource TextInput::make('alt') ->label('Описание') ->placeholder('Необязяательно') - ])->label('Изображение(-я)'), + ])->label('Изображение'), Builder\Block::make('video') ->schema([ - Hidden::make('mime'), - - TextInput::make('title') - ->required() - ->maxLength(255) - ->autofocus(), - - FileUpload::make('path') - ->required() - ->acceptedFileTypes(['video/mp4','video/ogg','video/webm']) - ->maxSize(512000) - ->disk('videos') - ->visibility('public') - ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), - ]), - Builder\Block::make('files') - ->schema([ + TextInput::make('mime')->readOnly(), TextInput::make('title') ->required() ->maxLength(255) @@ -236,22 +750,58 @@ class AcademicJournalResource extends Resource FileUpload::make('path') ->required() ->acceptedFileTypes([ - 'application/pdf', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'application/zip' + 'video/mp4', + 'video/quicktime', + 'video/x-msvideo', + 'video/x-ms-wmv', + 'video/avi', + 'video/webm', + 'video/ogg', + 'video/3gpp', + 'video/3gpp2', + 'video/x-m4v', ]) - ->maxSize(512000) ->disk('public') - ->directory('files') - ->downloadable() - ->visibility('public') - ]) + ->directory('videos') + ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), + ]), + Builder\Block::make('postsList') + ->schema([ + Forms\Components\Grid::make(2)->schema([ + TextInput::make('count') + ->label('Количество запией') + ->integer(), + Select::make('category') + ->options(Category::all()->pluck('title', 'id')) + ]), + ])->label('Список новостей'), + Builder\Block::make('postItem') + ->schema([ + Select::make('post') + ->options(Post::query()->where('status', PostStatus::PUBLISHED)->pluck('title', 'id')) + ->searchable() + ->required(), + ])->label('Новость'), + Builder\Block::make('pageItem') + ->schema([ + Select::make('page') + ->options(Page::query()->where('title', '!=' , null)->where('is_visible', true)->pluck('title', 'id')) + ->searchable() + ->required(), + ])->label('Страница'), + Builder\Block::make('customForm') + ->schema([ + Select::make('form') + ->options(CustomForm::query()->where('status', CustomFormStatus::PUBLISHED)->pluck('title', 'form_id')) + ->searchable() + ->required(), + ])->label('Форма'), ]) ->collapsed() ->blockNumbers(false) ->collapsible() + ->blockPickerColumns(3) + ->blockPickerWidth('2xl') ->addActionLabel('Добавить новый блок'), ]), ])->columnSpanFull() diff --git a/app/Filament/Resources/PermissionResource.php b/app/Filament/Resources/AcceptedInvitationResource.php similarity index 53% rename from app/Filament/Resources/PermissionResource.php rename to app/Filament/Resources/AcceptedInvitationResource.php index 65d1f2a..5a5f8e0 100644 --- a/app/Filament/Resources/PermissionResource.php +++ b/app/Filament/Resources/AcceptedInvitationResource.php @@ -2,9 +2,10 @@ namespace App\Filament\Resources; -use App\Filament\Resources\PermissionResource\Pages; -use App\Filament\Resources\PermissionResource\RelationManagers; -use App\Models\Permission; +use App\Filament\Resources\AcceptedInvitationResource\Pages; +use App\Filament\Resources\AcceptedInvitationResource\RelationManagers; +use App\Models\AcceptedInvitation; +use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -13,15 +14,11 @@ use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; -class PermissionResource extends Resource +class AcceptedInvitationResource extends Resource implements HasShieldPermissions { - protected static ?string $model = Permission::class; + protected static ?string $model = AcceptedInvitation::class; - protected static ?string $navigationGroup = 'Settings'; - - - - protected static ?string $navigationIcon = 'heroicon-o-cursor-arrow-rays'; + protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack'; public static function form(Form $form): Form { @@ -60,9 +57,22 @@ class PermissionResource extends Resource public static function getPages(): array { return [ - 'index' => Pages\ListPermissions::route('/'), - 'create' => Pages\CreatePermission::route('/create'), - 'edit' => Pages\EditPermission::route('/{record}/edit'), + 'index' => Pages\ListAcceptedInvitations::route('/'), + 'create' => Pages\CreateAcceptedInvitation::route('/create'), + 'edit' => Pages\EditAcceptedInvitation::route('/{record}/edit'), + ]; + } + + public static function getPermissionPrefixes(): array + { + return [ + 'view', + 'view_any', + 'create', + 'update', + 'delete', + 'delete_any', + 'invite' ]; } } diff --git a/app/Filament/Resources/AcceptedInvitationResource/Pages/CreateAcceptedInvitation.php b/app/Filament/Resources/AcceptedInvitationResource/Pages/CreateAcceptedInvitation.php new file mode 100644 index 0000000..f9addbf --- /dev/null +++ b/app/Filament/Resources/AcceptedInvitationResource/Pages/CreateAcceptedInvitation.php @@ -0,0 +1,12 @@ +label('Пригласить автора') + ->form([ + TextInput::make('email') + ->email() + ->label('Почта для письма') + ->required() + ]) + ->action(function ($data) { + $inv = User::query() + ->where('email', $data['email']) + ->first(); + + if ($inv) { + Notification::make() + ->title('Данный пользователь существует в системе') + ->danger() + ->send(); + } else { + $invitation = Invitation::create([ + 'email' => $data['email'], + 'user_id' => auth()->user()->id, + ]); + Mail::to($invitation->email)->send(new InvitationMail($invitation)); + Notification::make('invitedSuccess') + ->body('Пользователь приглашен') + ->success()->send(); + } + + + + + })->visible(auth()->user()->can('invite_accepted::invitation')) + ]; + } +} diff --git a/app/Filament/Resources/AdmissionCampaignResource.php b/app/Filament/Resources/AdmissionCampaignResource.php index c52fd7c..41bec20 100644 --- a/app/Filament/Resources/AdmissionCampaignResource.php +++ b/app/Filament/Resources/AdmissionCampaignResource.php @@ -39,8 +39,18 @@ class AdmissionCampaignResource extends Resource Forms\Components\Section::make()->schema([ Forms\Components\Repeater::make('info')->schema([ Forms\Components\Select::make('edu_name')->options(LevelEducational::class), + Forms\Components\Grid::make(2)->schema([ + Forms\Components\Section::make()->schema([ + TextInput::make('total_programs')->label('Количество программ по набору')->integer()->required(), + ]), + Forms\Components\Section::make('Места')->schema([ + TextInput::make('och_count')->label('Количество мест (Очная форма)')->integer()->required(), + TextInput::make('zaoch_count')->label('Количество мест (Заочная форма)')->integer()->required(), + TextInput::make('budget_places')->label('Количество бюджетных мест')->integer()->required(), + TextInput::make('non_budget_places')->label('Количество платных мест')->integer()->required(), + ]), + ]), ])->columnSpanFull(), - ]), ]); } diff --git a/app/Filament/Resources/MainSectionResource/Pages/EditMainSection.php b/app/Filament/Resources/MainSectionResource/Pages/EditMainSection.php index 2ec29b5..2859a5e 100644 --- a/app/Filament/Resources/MainSectionResource/Pages/EditMainSection.php +++ b/app/Filament/Resources/MainSectionResource/Pages/EditMainSection.php @@ -22,7 +22,6 @@ class EditMainSection extends EditRecord // // protected function mutateFormDataBeforeSave(array $data): array // { -// $this->subSection_ids = $data['subSection_ids']; // unset($data['subSection_ids']); // // return $data; @@ -30,6 +29,7 @@ class EditMainSection extends EditRecord protected function afterSave(): void { + $this->subSection_ids = SubSection::query()->where('main_section_id', '=', $this->record->id)->pluck('id')->toArray(); SubSection::query()->where('main_section_id', '=', $this->record->id)->update(['main_section_id' => NULL]); SubSection::whereIn('id', $this->subSection_ids)->update(['main_section_id' => $this->record->id]); $subSections = SubSection::query()->where('main_section_id', '=', $this->record->id)->get(); diff --git a/app/Filament/Resources/PageResource/Pages/CreatePage.php b/app/Filament/Resources/PageResource/Pages/CreatePage.php index ae52781..a9129c6 100644 --- a/app/Filament/Resources/PageResource/Pages/CreatePage.php +++ b/app/Filament/Resources/PageResource/Pages/CreatePage.php @@ -6,16 +6,18 @@ use App\Filament\Resources\PageResource; use App\Models\SubSection; use Filament\Actions; use Filament\Resources\Pages\CreateRecord; +use Illuminate\Support\Str; class CreatePage extends CreateRecord { protected static string $resource = PageResource::class; + protected array $seoData; + protected function mutateFormDataBeforeCreate(array $data): array { $subSection = SubSection::find($data['sub_section_id']); - if ($subSection == null) { $data['path'] = $data['slug']; } elseif($subSection->mainSection == null) { @@ -25,23 +27,50 @@ class CreatePage extends CreateRecord } unset($data['sub_section_id']); + $this->seoData = $this->generateSeo($data); + $data['search_data'] = $this->generateSearchData($data['content']); + return $data; + } + protected function afterCreate(): void + { + $this->record->seo()->create($this->seoData); + } + + private function generateSeo(array $data) : array + { + $title = $data['title']; + $rowData = $this->getFirstBlockByName('paragraph', $data['content']); + $description = strip_tags($rowData['data']['content']); + + return [ + 'title' => $title, + 'description' => Str::limit($description, 160), + ]; + } + private function getFirstBlockByName(string $name, array $content) : array|null + { + $data = null; + foreach ($content as $block) { + $data = ($block['type'] === $name) ? $block : null; + break; + } + return $data; + } + + private function generateSearchData(array $data) : string + { $result = ""; - foreach ($data['content'] as $block) { + foreach ($data as $block) { $result .= $this->getDataFromBlocks($block); } - // Удаляем лишние пробелы и переносы строк $result = preg_replace('/\s+/', ' ', $result); $result = trim($result); - - // Приводим текст к нижнему регистру - $data['search_data'] = strtolower($result); - - return $data; + return strtolower($result); } private function getDataFromBlocks($block) : string diff --git a/app/Filament/Resources/PageResource/Pages/EditPage.php b/app/Filament/Resources/PageResource/Pages/EditPage.php index 03e7434..1b9d8a3 100644 --- a/app/Filament/Resources/PageResource/Pages/EditPage.php +++ b/app/Filament/Resources/PageResource/Pages/EditPage.php @@ -5,38 +5,25 @@ namespace App\Filament\Resources\PageResource\Pages; use App\Filament\Resources\PageResource; use Filament\Actions; use Filament\Resources\Pages\EditRecord; +use Illuminate\Support\Str; class EditPage extends EditRecord { protected static string $resource = PageResource::class; + protected array $seoData; + + + protected function mutateFormDataBeforeSave(array $data): array { + $this->seoData = $this->generateSeo($data); - $result = ""; - foreach ($data['content'] as $block) { - $result .= $this->getDataFromBlocks($block); - } - - // Удаляем лишние пробелы и переносы строк - $result = preg_replace('/\s+/', ' ', $result); - $result = trim($result); - - - // Приводим текст к нижнему регистру - $data['search_data'] = strtolower($result); + $data['search_data'] = $this->generateSearchData($data['content']); return $data; } - - protected function getHeaderActions(): array - { - return [ - Actions\DeleteAction::make(), - ]; - } - protected function afterSave(): void { if ($this->record->is_registered == false) { @@ -49,6 +36,52 @@ class EditPage extends EditRecord } } + $this->record->seo()->create($this->seoData); + + } + + + + protected function getHeaderActions(): array + { + return [ + Actions\DeleteAction::make(), + ]; + } + + + private function generateSeo(array $data) : array + { + $title = $data['title']; + $rowData = $this->getFirstBlockByName('paragraph', $data['content']); + $description = strip_tags($rowData['data']['content']); + + return [ + 'title' => $title, + 'description' => Str::limit($description, 160), + ]; + } + private function getFirstBlockByName(string $name, array $content) : array|null + { + $data = null; + foreach ($content as $block) { + $data = ($block['type'] === $name) ? $block : null; + break; + } + return $data; + } + + private function generateSearchData(array $data) : string + { + $result = ""; + foreach ($data as $block) { + $result .= $this->getDataFromBlocks($block); + } + // Удаляем лишние пробелы и переносы строк + $result = preg_replace('/\s+/', ' ', $result); + $result = trim($result); + + return strtolower($result); } private function getDataFromBlocks($block) : string @@ -87,7 +120,6 @@ class EditPage extends EditRecord } return $data; } - public function hasCombinedRelationManagerTabsWithContent(): bool { return true; diff --git a/app/Filament/Resources/PermissionResource/Pages/CreatePermission.php b/app/Filament/Resources/PermissionResource/Pages/CreatePermission.php deleted file mode 100644 index 7497dc6..0000000 --- a/app/Filament/Resources/PermissionResource/Pages/CreatePermission.php +++ /dev/null @@ -1,12 +0,0 @@ -seoData = $this->generateSeo($data); + $data['preview_text'] = $this->setPreviewText($data); + $data['publish_at'] = $this->setPublishDateTime($data['status']); + $data['search_data'] = $this->generateSearchData($data['content']); + $data['reading_time'] = $this->calculateReadingTime($data['search_data']); + + return $data; + } + + protected function afterCreate(): void + { + $this->record->seo()->create($this->seoData); + $this->sendNotify($this->record, auth()->user()); + } + + private function generateSeo(array $data) : array + { + $title = $data['title']; + $rowData = $this->getBlockBySeoActiveState('paragraph', $data['content']); + $description = strip_tags($rowData['data']['content']); + $image = ($data['preview'] !== null) ? $data['preview'] : null; + + return [ + 'title' => $title, + 'description' => Str::limit($description, 160), + 'image' => $image, + ]; + } + + private function setPreviewText(array $data) : string + { + $rowData = $this->getBlockBySeoActiveState('paragraph', $data['content']); + $preview_text = strip_tags($rowData['data']['content']); + return Str::limit($preview_text, 160); + } + + private function generateSearchData(array $data) : string { $result = ""; - foreach ($data['content'] as $block) { + foreach ($data as $block) { $result .= $this->getDataFromBlocks($block); } - // Удаляем лишние пробелы и переносы строк $result = preg_replace('/\s+/', ' ', $result); $result = trim($result); - - // Приводим текст к нижнему регистру - $data['search_data'] = strtolower($result); - + return strtolower($result); + } + private function getFirstBlockByName(string $name, array $content) : array|null + { + $data = null; + foreach ($content as $block) { + $data = ($block['type'] === $name) ? $block : null; + break; + } return $data; } - protected function afterCreate(): void - { - $recipient = auth()->user(); + private function getBlockBySeoActiveState(string $name, array $content) : array|null + { + $data = []; + foreach ($content as $block) { + if ($block['type'] === $name) { + $data[] = $block; + } + } + $block = null; + foreach ($data as $item) { + if ($item['data']['seo_active'] === true) { + $block = $item; + } + } + return $block; + } + + private function sendNotify($post, $recipient) : void + { Notification::make() ->title('Новость на проверку') ->body('Новая запись была создана!') @@ -45,13 +110,17 @@ class CreatePost extends CreateRecord ->label('Проверить') ->button() ->markAsRead() - ->url(PostResource::getUrl('edit', ['record' => $this->record])), + ->url(PostResource::getUrl('edit', ['record' => $post])), - ]) - - ->sendToDatabase($recipient); + ])->sendToDatabase($recipient); + } + private function setPublishDateTime(PostStatus $status) : Carbon|null + { + if ($status !== PostStatus::PUBLISHED) { + return null; + } + return Carbon::now(); } - private function calculateReadingTime(string $text): int { @@ -73,7 +142,6 @@ class CreatePost extends CreateRecord return $readingTime; } - protected function convertDataToHtml($blocks) { $convertedHtml = ""; foreach ($blocks as $block) { @@ -126,7 +194,6 @@ class CreatePost extends CreateRecord } return $convertedHtml; } - private function getDataFromBlocks($block) : string { $data = ""; diff --git a/app/Filament/Resources/PostResource/Pages/EditPost.php b/app/Filament/Resources/PostResource/Pages/EditPost.php index 03b17fa..6b35c04 100644 --- a/app/Filament/Resources/PostResource/Pages/EditPost.php +++ b/app/Filament/Resources/PostResource/Pages/EditPost.php @@ -2,32 +2,83 @@ namespace App\Filament\Resources\PostResource\Pages; +use App\Enums\PostStatus; use App\Filament\Resources\PostResource; +use Carbon\Carbon; use Filament\Actions; use Filament\Resources\Pages\EditRecord; +use Illuminate\Support\Str; class EditPost extends EditRecord { protected static string $resource = PostResource::class; + protected array $seoData; + + protected function mutateFormDataBeforeSave(array $data): array { - $result = ""; - foreach ($data['content'] as $block) { - $result .= $this->getDataFromBlocks($block); - } - - // Удаляем лишние пробелы и переносы строк - $result = preg_replace('/\s+/', ' ', $result); - $result = trim($result); - - - // Приводим текст к нижнему регистру - $data['search_data'] = strtolower($result); + $this->seoData = $this->generateSeo($data); + $data['preview_text'] = $this->setPreviewText($data); + $data['publish_at'] = $this->setPublishDateTime($data['status'], $this->record->publish_at); + $data['search_data'] = $this->generateSearchData($data['content']); + $data['reading_time'] = $this->calculateReadingTime($data['search_data']); return $data; } + protected function afterSave(): void + { + $this->record->seo()->update($this->seoData); + } + + private function setPreviewText(array $data) : string + { + $rowData = $this->getBlockBySeoActiveState('paragraph', $data['content']); + $preview_text = strip_tags($rowData['data']['content']); + return Str::limit($preview_text, 160); + } + + private function getBlockBySeoActiveState(string $name, array $content) : array|null + { + $data = []; + foreach ($content as $block) { + if ($block['type'] === $name) { + $data[] = $block; + } + } + $block = null; + foreach ($data as $item) { + if ($item['data']['seo_active'] === true) { + $block = $item; + } + } + return $block; + } + + + + private function generateSeo(array $data) : array + { + $title = $data['title']; + $rowData = $this->getFirstBlockByName('paragraph', $data['content']); + $description = strip_tags($rowData['data']['content']); + $image = ($this->record->preview !== null) ? $this->record->preview : null; + + return [ + 'title' => $title, + 'description' => Str::limit($description, 160), + 'image' => $image, + ]; + } + + private function setPublishDateTime($status, $publish_at) + { + if ($publish_at !== null) { + return $publish_at; + } + return PostStatus::tryFrom($status) === PostStatus::PUBLISHED ? Carbon::now() : null; + } private function getDataFromBlocks($block) : string { $data = ""; @@ -65,6 +116,51 @@ class EditPost extends EditRecord return $data; } + private function calculateReadingTime(string $text): int + { + + // Calculate the number of words in the text + $wordCount = str_word_count($text,0,"АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"); + + + + + // Calculate the average reading speed in words per minute + $wordsPerMinute = 120; // You can adjust this value based on your desired reading speed + + // Calculate the reading time in minutes + $readingTime = $wordCount / $wordsPerMinute; + + // Round the reading time to the nearest integer + $readingTime = round($readingTime); + + + return $readingTime; + } + + private function generateSearchData(array $data) : string + { + $result = ""; + foreach ($data as $block) { + $result .= $this->getDataFromBlocks($block); + } + // Удаляем лишние пробелы и переносы строк + $result = preg_replace('/\s+/', ' ', $result); + $result = trim($result); + + return strtolower($result); + } + private function getFirstBlockByName(string $name, array $content) : array|null + { + $data = null; + foreach ($content as $block) { + $data = ($block['type'] === $name) ? $block : null; + break; + } + return $data; + } + + protected function getHeaderActions(): array diff --git a/app/Filament/Resources/RedactorPostResource.php b/app/Filament/Resources/RedactorPostResource.php deleted file mode 100644 index 63651b8..0000000 --- a/app/Filament/Resources/RedactorPostResource.php +++ /dev/null @@ -1,164 +0,0 @@ -schema([ - Section::make() - ->schema([ - Forms\Components\Grid::make(2)->schema([ - TextInput::make('title')->label('Заголовок')->required() - ->live(onBlur: true) - ->afterStateUpdated(function (string $operation, string $state, Forms\Set $set) { - $set('slug', Str::slug($state)); - }), - TextInput::make('slug')->label('Slug')->unique(ignoreRecord: true)->readOnly()->required(), - ]), - Section::make()->schema([ - \Filament\Forms\Components\Builder::make('content')->label('Контент')->blocks([ - Builder\Block::make('heading') - ->schema([ - TextInput::make('content') - ->label('Heading') - ->required(), - Select::make('level') - ->options([ - 'h1' => 'Heading 1', - 'h2' => 'Heading 2', - 'h3' => 'Heading 3', - 'h4' => 'Heading 4', - 'h5' => 'Heading 5', - 'h6' => 'Heading 6', - ]) - ->required(), - ]) - ->columns(2), - Builder\Block::make('paragraph') - ->schema([ - RichEditor::make('content') - ->label('Paragraph') - ->required() - ]), - Builder\Block::make('image') - ->schema([ - FileUpload::make('url') - ->label('Image') - ->image() - ->required(), - TextInput::make('alt') - ->label('Alt text') - ->required(), - ]), - Builder\Block::make('video') - ->schema([ - Hidden::make('mime'), - - TextInput::make('title') - ->required() - ->maxLength(255) - ->autofocus(), - - FileUpload::make('path') - ->required() - ->acceptedFileTypes(['video/mp4','video/ogg','video/webm']) - ->maxSize(512000) - ->disk('videos') - ->visibility('public') - ->afterStateUpdated(fn (callable $set, $state) => $set('mime', $state?->getMimeType())), - ]) - ]), - - ]), - Select::make('status')->options([ - 'verification' => 'На рассмотрении', - 'published' => 'Одобрено', - 'rejected' => 'Отказано', - ])->label('Статус')->required()->default('verification'), - Forms\Components\TagsInput::make('authors') - ->label('Авторы')->placeholder('Добавить автора'), - SpatieTagsInput::make('tags') - ->label('Тэги'), - Select::make('category_id') - ->options(Category::all()->pluck('title', 'id')) - ->preload() - ->label('Категория'), - FileUpload::make('preview')->label('Превью новости')->image()->imageEditor(), - TextInput::make('search_data')->hidden(), - ]) - ]); - } - - public static function table(Table $table): Table - { - return $table - ->columns([ - Tables\Columns\TextColumn::make('id'), - Tables\Columns\TextColumn::make('title')->label('Заголовок') - ->searchable(), - Tables\Columns\TextColumn::make('status')->label('Статус')->badge() - ])->defaultSort('created_at', 'desc') - ->filters([ - // - ]) - ->actions([ - Tables\Actions\EditAction::make(), - ]) - ->bulkActions([ - Tables\Actions\BulkActionGroup::make([ - Tables\Actions\DeleteBulkAction::make(), - ]), - ]); - } - - public static function getRelations(): array - { - return [ - // - ]; - } - - public static function getPages(): array - { - return [ - 'index' => Pages\ListRedactorPosts::route('/'), - 'create' => Pages\CreateRedactorPost::route('/create'), - 'edit' => Pages\EditRedactorPost::route('/{record}/edit'), - ]; - } -} diff --git a/app/Filament/Resources/RedactorPostResource/Pages/CreateRedactorPost.php b/app/Filament/Resources/RedactorPostResource/Pages/CreateRedactorPost.php deleted file mode 100644 index 951221f..0000000 --- a/app/Filament/Resources/RedactorPostResource/Pages/CreateRedactorPost.php +++ /dev/null @@ -1,12 +0,0 @@ -getResource()::getUrl('index'); - } -} diff --git a/app/Filament/Resources/RedactorPostResource/Pages/ListRedactorPosts.php b/app/Filament/Resources/RedactorPostResource/Pages/ListRedactorPosts.php deleted file mode 100644 index 391b846..0000000 --- a/app/Filament/Resources/RedactorPostResource/Pages/ListRedactorPosts.php +++ /dev/null @@ -1,46 +0,0 @@ -postsByStatuses = Post::select('status', DB::raw('count(*) as post_count')) - ->groupBy('status') - ->pluck('post_count', 'status'); - } - - protected function getHeaderActions(): array - { - return [ - Actions\CreateAction::make(), - ]; - } - - public function getTabs(): array - { - return [ - 'status' => Tab::make('Новости на рассмотрении')->modifyQueryUsing(function (Builder $query) { - $query->where('status', '=', PostStatus::VERIFICATION->value); - })->badge($this->postsByStatuses[PostStatus::VERIFICATION->value] ?? '0'), - 'All' => Tab::make('Все новости'), - ]; - } - -} diff --git a/app/Filament/Resources/RoleResource.php b/app/Filament/Resources/RoleResource.php deleted file mode 100644 index 98557a4..0000000 --- a/app/Filament/Resources/RoleResource.php +++ /dev/null @@ -1,66 +0,0 @@ -schema([ - // - ]); - } - - public static function table(Table $table): Table - { - return $table - ->columns([ - // - ]) - ->filters([ - // - ]) - ->actions([ - Tables\Actions\EditAction::make(), - ]) - ->bulkActions([ - Tables\Actions\BulkActionGroup::make([ - Tables\Actions\DeleteBulkAction::make(), - ]), - ]); - } - - public static function getRelations(): array - { - return [ - // - ]; - } - - public static function getPages(): array - { - return [ - 'index' => Pages\ListRoles::route('/'), - 'create' => Pages\CreateRole::route('/create'), - 'edit' => Pages\EditRole::route('/{record}/edit'), - ]; - } -} diff --git a/app/Filament/Resources/RoleResource/Pages/CreateRole.php b/app/Filament/Resources/RoleResource/Pages/CreateRole.php deleted file mode 100644 index ee86d43..0000000 --- a/app/Filament/Resources/RoleResource/Pages/CreateRole.php +++ /dev/null @@ -1,12 +0,0 @@ -options(EducationalGroup::all()->pluck('title', 'id')) ->live() ->label('Выбрать группу') - ->afterStateUpdated(function (string|null $state, Forms\Set $set, Get $get) { - if (!empty($state)) { - $set('title', EducationalGroup::query()->where('id', $get('educational_group_id'))->first()->title); - } - }) ->required(), - TextInput::make('title') - ->live() +// TextInput::make('title') +// ->live() +// ->label('Заголовок')->required(), - ->label('Заголовок')->required(), - - Select::make('type')->options([ - 'schedule' => 'Обычное расписание', - 'interval' => 'Временное расписание', - 'exam' => 'Промежуточная аттестация', - ])->label('Тип расписания')->required()->live(), +// Select::make('type')->options([ +// 'schedule' => 'Обычное расписание', +// 'interval' => 'Временное расписание', +// 'exam' => 'Промежуточная аттестация', +// ])->label('Тип расписания')->required()->live(), Forms\Components\Toggle::make('is_zaoch')->label('Очная|Заочная')->inline(false), ]), - Forms\Components\Repeater::make('days')->label('')->schema([ - Forms\Components\Repeater::make('form')->label('')->schema([ - Forms\Components\Repeater::make('weeks')->label('')->schema([ - Forms\Components\Repeater::make('lesson_info')->label('')->schema([ - TextInput::make('title')->label('Название-пары'), - TextInput::make('teacher')->label('Преподаватель'), - TextInput::make('studyRoom')->label('Кабинет') - ])->live()->maxItems(2)->collapsed()->addActionLabel('Добавить подгруппу')->columns(3) - ->itemLabel(function (Get $get, $state) { - static $count = 1; - if (count($get('lesson_info')) === 1) { - return "Общая группа"; - } else { - $nmb = $count++ % 2 == 0 ? 2 : 1; - return "Подгруппа " . $nmb; } - }), - ])->maxItems(2)->addActionLabel('Добавить четную/нечетную неделю') - ->itemLabel(function (Get $get) { - static $position = 0; - if (count($get('weeks')) === 1) { - return "Общая неделя"; - } else { - $nmb = $position++ % 2 == 0 ? 0 : 1; - return self::$typeWeek[$nmb] . " неделя"; - } +// Forms\Components\Repeater::make('days')->label('')->schema([ +// Forms\Components\Repeater::make('form')->label('')->schema([ +// Forms\Components\Repeater::make('weeks')->label('')->schema([ +// Forms\Components\Repeater::make('lesson_info')->label('')->schema([ +// TextInput::make('title')->label('Название-пары'), +// TextInput::make('teacher')->label('Преподаватель'), +// TextInput::make('studyRoom')->label('Кабинет') +// ])->live()->maxItems(2)->collapsed()->addActionLabel('Добавить подгруппу')->columns(3) +// ->itemLabel(function (Get $get, $state) { +// static $count = 1; +// if (count($get('lesson_info')) === 1) { +// return "Общая группа"; +// } else { +// $nmb = $count++ % 2 == 0 ? 2 : 1; +// return "Подгруппа " . $nmb; } +// }), +// ])->maxItems(2)->addActionLabel('Добавить четную/нечетную неделю') +// ->itemLabel(function (Get $get) { +// static $position = 0; +// if (count($get('weeks')) === 1) { +// return "Общая неделя"; +// } else { +// $nmb = $position++ % 2 == 0 ? 0 : 1; +// return self::$typeWeek[$nmb] . " неделя"; +// } +// }) +// ->collapsed() +// ]) +// ->maxItems(5) +// ->itemLabel(function (Get $get) { +// static $count = 0; +// $maxCount = count($get('form')); +// $count = ($count++ <= $maxCount) ? $count : 1; +// return "Пара #" . $count; +// }) +// ->addActionLabel('Добавить пару'), +// ])->maxItems(6)->minItems(1)->itemLabel(function ($state) { +// static $position = 0; +// return self::$weekDays[$position++]; +// })->addActionLabel('Добавить день недели')->collapsed()->defaultItems(6)->hidden(function (callable $get) { +// if ($get('type') === 'schedule' || $get('type') === 'interval') { +// return false; +// } else { +// return true; +// } +// }), + ]), + Section::make() + ->schema([ + Forms\Components\Repeater::make('file')->schema([ + + TextInput::make('title') + ->required() + ->maxLength(255) + ->autofocus(), + FileUpload::make('path') + ->required() + ->getUploadedFileNameForStorageUsing( + fn (TemporaryUploadedFile $file): string => + str(Str::slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME) . '-' . Carbon::now()->timestamp ) . '.' . $file->getClientOriginalExtension()) + ) + ->acceptedFileTypes([ + 'application/pdf', + ]) + ->maxSize(512000) + ->disk('public') + ->directory('files') + ->downloadable() + ->afterStateUpdated(function ($set, $state) { + $set('title', pathinfo($state?->getClientOriginalName(), PATHINFO_FILENAME)); }) - ->collapsed() - ]) - ->maxItems(5) - ->itemLabel(function (Get $get) { - static $count = 0; - $maxCount = count($get('form')); - $count = ($count++ <= $maxCount) ? $count : 1; - return "Пара #" . $count; - }) - ->addActionLabel('Добавить пару'), - ])->maxItems(6)->minItems(1)->itemLabel(function ($state) { - static $position = 0; - return self::$weekDays[$position++]; - })->addActionLabel('Добавить день недели')->collapsed()->defaultItems(6)->hidden(function (callable $get) { - if ($get('type') === 'schedule' || $get('type') === 'interval') { - return false; - } else { - return true; - } - }), - ]) + ->visibility('public') + ]), + ]) ]); } diff --git a/app/Filament/Resources/ScheduleResource/Pages/CreateSchedule.php b/app/Filament/Resources/ScheduleResource/Pages/CreateSchedule.php index cdb10ac..1171901 100644 --- a/app/Filament/Resources/ScheduleResource/Pages/CreateSchedule.php +++ b/app/Filament/Resources/ScheduleResource/Pages/CreateSchedule.php @@ -12,7 +12,6 @@ class CreateSchedule extends CreateRecord protected function mutateFormDataBeforeCreate(array $data): array { - dd($data); return $data; } diff --git a/app/Filament/Resources/SubSectionResource/Pages/CreateSubSection.php b/app/Filament/Resources/SubSectionResource/Pages/CreateSubSection.php index 6e388d4..12dc766 100644 --- a/app/Filament/Resources/SubSectionResource/Pages/CreateSubSection.php +++ b/app/Filament/Resources/SubSectionResource/Pages/CreateSubSection.php @@ -12,37 +12,4 @@ use Filament\Resources\Pages\CreateRecord; class CreateSubSection extends CreateRecord { protected static string $resource = SubSectionResource::class; - - protected array $page_ids; - - - protected function mutateFormDataBeforeCreate(array $data): array - { - $this->page_ids = $data['page_ids']; - unset($data['page_ids']); - - return $data; - } - - protected function afterCreate(): void - { - if ($this->page_ids != null) { - Page::whereIn('id', $this->page_ids)->update(['sub_section_id' => $this->record->id]); - - $pages = Page::where('is_url', '=', false)->where('sub_section_id', '=', $this->record->id)->get(); - - if (!$pages->isEmpty()) { - $mainSectionSlug = ($pages[0]->section->mainSection) ? $pages[0]->section->mainSection->slug : ''; - - - foreach ($pages as $page) { - if ($page->is_registered != true) { - $page->update(['path' => $page->path = $mainSectionSlug . '/' . $this->record->slug . '/' . $page->slug]); - } - } - } - } - - } - } diff --git a/app/Filament/Resources/UserResource.php b/app/Filament/Resources/UserResource.php index d05498a..8c70d1f 100644 --- a/app/Filament/Resources/UserResource.php +++ b/app/Filament/Resources/UserResource.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources; use App\Filament\Resources\UserResource\Pages; use App\Filament\Resources\UserResource\RelationManagers; use App\Models\User; +use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -13,7 +14,7 @@ use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; -class UserResource extends Resource +class UserResource extends Resource implements HasShieldPermissions { protected static ?string $model = User::class; @@ -40,7 +41,6 @@ class UserResource extends Resource ->password() ->required(fn (string $context): bool => $context === 'create') ->dehydrated(fn ($state) => filled($state)) - ->maxLength(255), ]); } @@ -93,4 +93,17 @@ class UserResource extends Resource 'edit' => Pages\EditUser::route('/{record}/edit'), ]; } + + public static function getPermissionPrefixes(): array + { + return [ + 'view', + 'view_any', + 'create', + 'update', + 'delete', + 'delete_any', + 'invite' + ]; + } } diff --git a/app/Filament/Resources/UserResource/Pages/ListUsers.php b/app/Filament/Resources/UserResource/Pages/ListUsers.php index 0766ffe..6de0892 100644 --- a/app/Filament/Resources/UserResource/Pages/ListUsers.php +++ b/app/Filament/Resources/UserResource/Pages/ListUsers.php @@ -3,8 +3,14 @@ namespace App\Filament\Resources\UserResource\Pages; use App\Filament\Resources\UserResource; +use App\Mail\InvitationMail; +use App\Models\Invitation; +use App\Models\User; use Filament\Actions; +use Filament\Forms\Components\TextInput; +use Filament\Notifications\Notification; use Filament\Resources\Pages\ListRecords; +use Illuminate\Support\Facades\Mail; class ListUsers extends ListRecords { @@ -14,6 +20,38 @@ class ListUsers extends ListRecords { return [ Actions\CreateAction::make(), + Actions\Action::make('inviteUser')->label('Пригласить автора') + ->form([ + TextInput::make('email') + ->email() + ->label('Почта для письма') + ->required() + ]) + ->action(function ($data) { + $inv = User::query() + ->where('email', $data['email']) + ->first(); + + if ($inv) { + Notification::make() + ->title('Данный пользователь существует в системе') + ->danger() + ->send(); + } else { + $invitation = Invitation::create([ + 'email' => $data['email'], + 'user_id' => auth()->user()->id, + ]); + Mail::to($invitation->email)->send(new InvitationMail($invitation)); + Notification::make('invitedSuccess') + ->body('Пользователь приглашен') + ->success()->send(); + } + + + + + })->visible(auth()->user()->can('invite_user')) ]; } } diff --git a/app/Http/Controllers/ClientEventController.php b/app/Http/Controllers/ClientEventController.php index 8ac9dbc..1a28be2 100644 --- a/app/Http/Controllers/ClientEventController.php +++ b/app/Http/Controllers/ClientEventController.php @@ -105,8 +105,7 @@ class ClientEventController extends Controller ->orderBy('event_date_start') ->get(); - // Извлекаем уникальные даты из событий - return $events->map(function ($event) { + $mappingDates = $events->map(function ($event) { $date = new DateTime($event->event_date_start); return [ 'day' => $date->format('j'), @@ -119,10 +118,15 @@ class ClientEventController extends Controller }) ->map(function ($group, $month) { return [ - 'month' => $this->getMonthNameRussian((int)$month), - 'events' => $group->toArray() + "month" => $this->getMonthNameRussian((int)$month), + "events" => $group->toArray() ]; - }); + }) + ->sortKeys() // Сортируем ключи по возрастанию + ->values(); // Получаем массив без ключей + + // Извлекаем уникальные даты из событий + return $mappingDates; } private function getFilters(): array diff --git a/app/Http/Controllers/ClientPostController.php b/app/Http/Controllers/ClientPostController.php index b34893b..6e67ecd 100644 --- a/app/Http/Controllers/ClientPostController.php +++ b/app/Http/Controllers/ClientPostController.php @@ -52,7 +52,8 @@ class ClientPostController extends Controller $slugsArray = explode(',', $slugs); return $query->withAnyTags($slugsArray); }) - ->orderBy('id', request()->input('sort', 'desc')) + ->orderBy('publish_at', request()->input('sort', 'desc')) + ->paginate(6) ->withQueryString()); @@ -100,7 +101,8 @@ class ClientPostController extends Controller return Inertia::render('Client/Posts/Index', compact('filters', 'posts', 'categories', 'tags')); } - public function show($slug) + + public function show(Request $request, $slug) { $post = new PostResource(Post::where('slug', $slug)->firstOrFail()); return Inertia::render('Client/Posts/Show', compact('post')); diff --git a/app/Http/Controllers/ClientScheduleController.php b/app/Http/Controllers/ClientScheduleController.php index 6aa2aa3..274103a 100644 --- a/app/Http/Controllers/ClientScheduleController.php +++ b/app/Http/Controllers/ClientScheduleController.php @@ -19,16 +19,13 @@ class ClientScheduleController extends Controller if (request()->filled('search')) { $educationalGroups = ClientEducationalGroupResource::collection(EducationalGroup::query() ->has('schedules') - ->whereHas('schedules', function ($q) { - $q->when(request()->input('search'), function ($query, $search) { - $query->whereRaw('LOWER(title) like ?', ["%".strtolower($search)."%"]); - }); + ->when(request()->input('search'), function ($query, $search) { + $query->whereRaw('LOWER(title) like ?', ["%".strtolower($search)."%"]); }) ->with('schedules') ->orderBy('title') ->get()); } - $searchRequest = request()->input('search'); return Inertia::render('Client/Schedules/Index', compact('educationalGroups', 'searchRequest')); diff --git a/app/Http/Controllers/ClientWidgetPostController.php b/app/Http/Controllers/ClientWidgetPostController.php index b658ab9..41a78fe 100644 --- a/app/Http/Controllers/ClientWidgetPostController.php +++ b/app/Http/Controllers/ClientWidgetPostController.php @@ -20,7 +20,7 @@ class ClientWidgetPostController extends Controller $query->where('category_id', $category_id); }) ->with('category') - ->orderBy('created_at', 'desc') + ->orderBy('publish_at', 'desc') ->take(request()->input('count', 5)) ->get()); } diff --git a/app/Http/Controllers/MainController.php b/app/Http/Controllers/MainController.php index 3ec52e5..bc5e8c6 100644 --- a/app/Http/Controllers/MainController.php +++ b/app/Http/Controllers/MainController.php @@ -2,6 +2,9 @@ namespace App\Http\Controllers; +use App\Enums\EducationalProgramStatus; +use App\Enums\LevelEducational; +use App\Enums\PostStatus; use App\Http\Resources\AdditionalEducationResource; use App\Http\Resources\ClientMainSliderResource; use App\Http\Resources\ClientNavigationResource; @@ -12,6 +15,8 @@ use App\Http\Resources\PostThumbnailResource; use App\Models\AdditionalEducation; use App\Models\AdditionalEducationCategory; use App\Models\AdmissionCampaign; +use App\Models\DirectionStudy; +use App\Models\EducationalProgram; use App\Models\Event; use App\Models\MainSection; use App\Models\MainSlider; @@ -19,6 +24,7 @@ use App\Models\Post; use App\Services\Filament\Icon\ArrayToCollectionService; use DateTime; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Route; use Inertia\Inertia; @@ -27,23 +33,43 @@ class MainController extends Controller public function index() { - $additional_educations = [ - 'educations_count' => AdditionalEducation::where('is_active', true)->count(), - 'categories_count' => AdditionalEducationCategory::where('is_active', true)->count() + $info = AdmissionCampaign::get()->first()->info ?? []; + + $admissionCampaign = collect($info)->reduce(function ($carry, $a) { + $lvl = LevelEducational::from((int)$a['edu_name'])->name; + $carry[$lvl] = [ + 'total_programs' => $a['total_programs'], + 'places' => [ + 'och_count' => $a['och_count'], + 'zaoch_count' => $a['zaoch_count'], + 'budget_places' => $a['budget_places'], + 'non_budget_places' => $a['non_budget_places'] + ], + ]; + return $carry; + }, []); + + $educations = [ + 'admission_campaign' => $admissionCampaign, + 'additional_education' => [ + 'educations_count' => AdditionalEducation::where('is_active', true)->count(), + 'categories_count' => AdditionalEducationCategory::where('is_active', true)->count() + ], + ]; $today = new DateTime(); $event_date_start = $today->format('Y-m-d'); $sliders = ClientMainSliderResource::collection(MainSlider::query()->where('is_active', true)->orderBy('sort', 'asc')->get()); $posts = PostThumbnailResource::collection(Post::query() - ->select('title', 'slug', 'authors', 'category_id', 'preview', 'search_data', 'created_at') + ->select('title', 'slug', 'authors', 'preview_text', 'category_id', 'preview', 'search_data', 'created_at') ->with('category') - ->where('status', '=', 'published') - ->orderBy('id', 'desc')->limit(3) + ->where('status', '=', PostStatus::PUBLISHED) + ->orderBy('publish_at', 'desc')->limit(3) ->get()); $events = EventThumbnailResource::collection(Event::query() ->select('title', 'slug', 'event_date_start', 'address', 'is_online', 'category_id') ->where('event_date_start', '>=', $event_date_start) ->orderBy('event_date_start', 'asc')->limit(3)->get()); - return Inertia::render('Main', compact('posts', 'events', 'sliders', 'additional_educations')); + return Inertia::render('Main', compact('posts', 'events', 'sliders', 'educations')); } } diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php index 612b627..3d60894 100644 --- a/app/Http/Controllers/PostController.php +++ b/app/Http/Controllers/PostController.php @@ -30,7 +30,7 @@ class PostController extends Controller ->when(request()->input('search'), function ($query, $search) { $query->where('title', 'like', "%{$search}%"); }) - ->orderBy('id', 'desc') + ->orderBy('publish_at', 'desc') ->paginate(request()->input('perPage', 9)) ->withQueryString()); $filters = [ diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 84408c7..56d1516 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -16,8 +16,9 @@ use App\Models\EducationalProgram; use App\Models\Event; use App\Models\Page; use App\Models\Post; -use Filament\Notifications\Collection; use Illuminate\Http\Request; +use Illuminate\Pagination\LengthAwarePaginator; +use Illuminate\Support\Collection; use Illuminate\Support\Facades\Date; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Str; @@ -33,9 +34,11 @@ class SearchController extends Controller 'searchRes' => null, ]); } + + $results = Search::new() ->add(Post::where('status', '=', 'published'), ['title', 'search_data']) - ->add(Page::where('searchable', '=', true), ['title', 'search_data']) + ->add(Page::with('section')->where('searchable', '=', true), ['title', 'search_data']) ->add(Event::where('event_date_start', '>', Date::now()), 'title') ->add(AdditionalEducation::where('is_active', '=', true), 'title') ->add(EducationalGroup::with('schedules'), 'title') @@ -46,6 +49,7 @@ class SearchController extends Controller ->ignoreCase(true) ->search($req); + // Преобразуем результаты в коллекцию и мапируем их $resources = collect($results)->map(function ($result) { if ($result instanceof Post) { return new PostSearchResource($result); @@ -67,13 +71,30 @@ class SearchController extends Controller } }); - $limitedRes = $resources->take(10); + $result_type = $this->getCategoriesSearchResult($resources); + + + if ($request->query('category')) { + $resources = $this->sortResourcesByCategory($resources, $request->query('category')); + } + + $paginate_data = $this->createPaginate($resources, $request, 10); + + $sortedData = $this->sortByType($paginate_data['paginator'], $req); return response()->json([ - 'searchRes' => $this->sortByType($limitedRes, $req), + 'searchRes' => $sortedData, + 'result_type' => $result_type, + 'selectedCategory' => ($request->query('category') !== null) ? $request->query('category') : null, + 'paginate' => [ + 'current_page' => $paginate_data['paginator']->currentPage(), + 'last_page' => $paginate_data['paginator']->lastPage(), + 'total' => $paginate_data['paginator']->total(), + 'next_page' => $paginate_data['next_page'], + 'prev_page' => $paginate_data['prev_page'], + ] ]); } - private function sortByType(object $data, string $searchRequest): array { $sortedData = []; @@ -105,5 +126,41 @@ class SearchController extends Controller return $matches; } + private function sortResourcesByCategory(Collection $resources, string $category) : Collection + { + if ($category === "All") { + $data = $resources; + } else { + $data = $resources->where('type', $category); + } + return $data; + } + private function getCategoriesSearchResult(Collection $resources) + { + return $resources->pluck('type')->unique()->values()->all(); + } + + private function createPaginate($resources, $request, $perPage = 10) : array + { + $currentPage = LengthAwarePaginator::resolveCurrentPage(); + + // Отрезаем нужные элементы для текущей страницы + $currentItems = $resources->slice(($currentPage - 1) * $perPage, $perPage)->all(); + + // Создаем экземпляр LengthAwarePaginator + $paginator = new LengthAwarePaginator($currentItems, count($resources), $perPage, $currentPage, [ + 'path' => $request->url(), + 'query' => $request->query, + ]); + + $nextPage = $paginator->hasMorePages() ? $paginator->currentPage() + 1 : null; + $prevPage = $paginator->onFirstPage() ? null : $paginator->currentPage() - 1; + + return [ + 'paginator' => $paginator, + 'next_page' => $nextPage, + 'prev_page' => $prevPage + ]; + } } diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index 13134cc..378db09 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -36,8 +36,6 @@ class HandleInertiaRequests extends Middleware ...parent::share($request), 'auth' => [ 'user' => $request->user() ? $request->user()->only('id', 'name', 'email', 'created_at') : null, - 'role' => $request->user() ? $request->user()->roles->pluck('name') : null, - 'permissions' => $request->user() ? $request->user()->getPermissionsViaRoles()->pluck('name') : null, ], 'ziggy' => fn () => [ ...(new Ziggy)->toArray(), diff --git a/app/Http/Resources/ClientPostListResource.php b/app/Http/Resources/ClientPostListResource.php index 09ff73c..6b6426f 100644 --- a/app/Http/Resources/ClientPostListResource.php +++ b/app/Http/Resources/ClientPostListResource.php @@ -18,6 +18,7 @@ class ClientPostListResource extends JsonResource 'id' => $this->id, 'title' => $this->title, 'slug' => $this->slug, + 'preview_text' => $this->preview_text, 'content' => $this->content, 'category' => $this->category, 'authors' => $this->authors, diff --git a/app/Http/Resources/ClientScheduleSearchResource.php b/app/Http/Resources/ClientScheduleSearchResource.php index ce03f2a..6fee7ae 100644 --- a/app/Http/Resources/ClientScheduleSearchResource.php +++ b/app/Http/Resources/ClientScheduleSearchResource.php @@ -16,7 +16,7 @@ class ClientScheduleSearchResource extends JsonResource { return [ 'id' => $this->id, - 'title' => $this->title, + 'file' => $this->file, ]; } } diff --git a/app/Http/Resources/PostThumbnailResource.php b/app/Http/Resources/PostThumbnailResource.php index f9df5b2..e12331e 100644 --- a/app/Http/Resources/PostThumbnailResource.php +++ b/app/Http/Resources/PostThumbnailResource.php @@ -18,6 +18,7 @@ class PostThumbnailResource extends JsonResource 'id' => $this->id, 'title' => $this->title, 'slug' => $this->slug, + 'preview_text' => $this->preview_text, 'category' => $this->category, 'authors' => $this->authors, 'preview' => $this->preview, diff --git a/app/Livewire/AcceptInvitation.php b/app/Livewire/AcceptInvitation.php new file mode 100644 index 0000000..d943076 --- /dev/null +++ b/app/Livewire/AcceptInvitation.php @@ -0,0 +1,105 @@ +invitationModel = Invitation::findOrFail($this->invitation); + + $this->form->fill([ + 'email' => $this->invitationModel->email + ]); + } + + public function form(Form $form): Form + { + return $form + ->schema([ + TextInput::make('name') + ->label('Имя') + ->required() + ->autofocus(), + TextInput::make('email') + ->disabled(), + TextInput::make('password') + ->label('Пароль') + ->password() + ->required() + ->rule(Password::default()) + ->dehydrateStateUsing(fn($state) => Hash::make($state)) + ->same('passwordConfirmation'), + TextInput::make('passwordConfirmation') + ->label('Подтверждение пароля') + ->password() + ->required() + ->dehydrated(false) + ])->statePath('data'); + } + + public function create(): void + { + DB::transaction(function () { + $this->invitationModel = Invitation::find($this->invitation); + + $user = User::create([ + 'name' => $this->form->getState()['name'], + 'password' => Hash::make($this->form->getState()['password']), + 'email' => $this->invitationModel->email, + ]); + + AcceptedInvitation::create([ + 'sender_id' => $this->invitationModel->user_id, + 'receiver_id' => $user->id, + 'post_limit' => 0 + ]); + + auth()->login($user); + + $this->invitationModel->delete(); + }); + + $this->redirect(url(Filament::getPanel('dashboard')->getPath())); + } + + public function getRegisterFormAction(): Action + { + return Action::make('register') + ->submit('Подтвердить'); + } + + protected function getFormActions(): array + { + return [ + $this->getRegisterFormAction() + ]; + } +} diff --git a/app/Mail/InvitationMail.php b/app/Mail/InvitationMail.php new file mode 100644 index 0000000..dd21a59 --- /dev/null +++ b/app/Mail/InvitationMail.php @@ -0,0 +1,63 @@ +invitation = $invitation; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Invitation Mail', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.invitation', + with: [ + 'acceptUrl' => URL::signedRoute( + 'invitation.accept', + ['invitation' => $this->invitation] + ) + ], + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Models/AcceptedInvitation.php b/app/Models/AcceptedInvitation.php new file mode 100644 index 0000000..92931e7 --- /dev/null +++ b/app/Models/AcceptedInvitation.php @@ -0,0 +1,23 @@ +belongsTo(User::class, 'sender_id'); + } + + public function receiver() + { + return $this->belongsTo(User::class, 'receiver_id'); + } +} diff --git a/app/Models/AdditionalEducation.php b/app/Models/AdditionalEducation.php index a317a39..dad1ce2 100644 --- a/app/Models/AdditionalEducation.php +++ b/app/Models/AdditionalEducation.php @@ -22,5 +22,10 @@ class AdditionalEducation extends Model return $this->belongsTo(AdditionalEducationCategory::class, 'category_id', 'id'); } + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + } diff --git a/app/Models/AdditionalEducationCategory.php b/app/Models/AdditionalEducationCategory.php index 5291001..d422aa6 100644 --- a/app/Models/AdditionalEducationCategory.php +++ b/app/Models/AdditionalEducationCategory.php @@ -20,4 +20,6 @@ class AdditionalEducationCategory extends Model { return $this->belongsTo(DirectionAdditionalEducation::class, 'dir_addit_educat_id', 'id'); } + + } diff --git a/app/Models/Department.php b/app/Models/Department.php index a929504..4b1b63c 100644 --- a/app/Models/Department.php +++ b/app/Models/Department.php @@ -15,6 +15,11 @@ class Department extends Model 'content' => 'array', ]; + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + public function faculty() { return $this->belongsTo(Faculty::class); diff --git a/app/Models/Division.php b/app/Models/Division.php index acf17cf..0fb34eb 100644 --- a/app/Models/Division.php +++ b/app/Models/Division.php @@ -15,6 +15,11 @@ class Division extends Model 'description' => 'array', ]; + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + public function workers() { return $this->belongsToMany(User::class, 'division_user')->withPivot(['administrativePosition', 'sort']); diff --git a/app/Models/EducationalProgram.php b/app/Models/EducationalProgram.php index ae885bb..1635362 100644 --- a/app/Models/EducationalProgram.php +++ b/app/Models/EducationalProgram.php @@ -35,4 +35,9 @@ class EducationalProgram extends Model { return $this->hasMany(AdmissionPlan::class, 'educational_programs_id', 'id'); } + + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } } diff --git a/app/Models/Event.php b/app/Models/Event.php index 2c11892..05c8e99 100644 --- a/app/Models/Event.php +++ b/app/Models/Event.php @@ -17,6 +17,11 @@ class Event extends Model 'content' => 'array', ]; + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + public function category() : BelongsTo { return $this->belongsTo(EventCategory::class); diff --git a/app/Models/Faculty.php b/app/Models/Faculty.php index e1f342c..be50b79 100644 --- a/app/Models/Faculty.php +++ b/app/Models/Faculty.php @@ -15,6 +15,11 @@ class Faculty extends Model 'content' => 'array', ]; + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + public function departments() { return $this->hasMany(Department::class); diff --git a/app/Models/Invitation.php b/app/Models/Invitation.php new file mode 100644 index 0000000..e6568f0 --- /dev/null +++ b/app/Models/Invitation.php @@ -0,0 +1,13 @@ +morphOne(Seo::class, 'seoable'); + } + protected $casts = [ 'content' => 'array', ]; diff --git a/app/Models/Page.php b/app/Models/Page.php index ea4c081..09eb282 100644 --- a/app/Models/Page.php +++ b/app/Models/Page.php @@ -18,6 +18,11 @@ class Page extends Model return $this->belongsTo(SubSection::class, 'sub_section_id'); } + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + protected $casts = [ 'content' => 'array', ]; diff --git a/app/Models/Post.php b/app/Models/Post.php index ac84afc..e2a122b 100644 --- a/app/Models/Post.php +++ b/app/Models/Post.php @@ -22,6 +22,11 @@ class Post extends Model return $this->belongsTo(Category::class); } + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } + protected $casts = [ 'content' => 'array', 'authors' => 'array', diff --git a/app/Models/Schedule.php b/app/Models/Schedule.php index df7d7df..7999e61 100644 --- a/app/Models/Schedule.php +++ b/app/Models/Schedule.php @@ -12,7 +12,7 @@ class Schedule extends Model protected $guarded = false; protected $casts = [ - 'days' => 'array', + 'file' => 'array', ]; public function subSchedules() diff --git a/app/Models/Seo.php b/app/Models/Seo.php new file mode 100644 index 0000000..e78512c --- /dev/null +++ b/app/Models/Seo.php @@ -0,0 +1,18 @@ +morphTo(); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index a0304a2..8dc4bf3 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -3,6 +3,10 @@ namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; +use App\Providers\Filament\AdminPanelProvider; +use BezhanSalleh\FilamentShield\FilamentShield; +use BezhanSalleh\FilamentShield\Support\Utils; +use BezhanSalleh\FilamentShield\Traits\HasPanelShield; use Filament\Models\Contracts\FilamentUser; use Filament\Tables\Columns\Layout\Panel; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -13,7 +17,7 @@ use Spatie\Permission\Traits\HasRoles; class User extends Authenticatable implements FilamentUser { - use HasApiTokens, HasFactory, Notifiable, HasRoles; + use HasApiTokens, HasFactory, Notifiable, HasRoles, HasPanelShield; /** * The attributes that are mass assignable. @@ -72,8 +76,39 @@ class User extends Authenticatable implements FilamentUser return $this->belongsToMany(Faculty::class, 'workers_faculties')->withPivot(['position']); } + // Отношение к отправленным приглашениям + public function sentInvitations() + { + return $this->hasMany(AcceptedInvitation::class, 'sender_id'); + } + + // Отношение к полученным приглашениям + public function receivedInvitation() + { + return $this->hasOne(AcceptedInvitation::class, 'receiver_id'); + } + + protected static function booted(): void + { + if (config('filament-shield.dashboard_user.enabled', false)) { + FilamentShield::createRole(name: config('filament-shield.dashboard_user.name', 'dashboard_user')); + static::created(function (User $user) { + $user->assignRole(config('filament-shield.dashboard_user.name', 'dashboard_user')); + }); + static::deleting(function (User $user) { + $user->assignRole(config('filament-shield.dashboard_user.name', 'dashboard_user')); + }); + } + } public function canAccessPanel(Panel|\Filament\Panel $panel): bool { - return true; + switch ($panel->getId()) { + case "admin": + return $this->hasRole(Utils::getSuperAdminName()); + case "dashboard": + return $this->hasRole(config('filament-shield.dashboard_user.name', 'dashboard_user')) || $this->hasRole(Utils::getSuperAdminName()); + default: + return false; + } } } diff --git a/app/Models/VacantPosition.php b/app/Models/VacantPosition.php index f4eea6f..50235ac 100644 --- a/app/Models/VacantPosition.php +++ b/app/Models/VacantPosition.php @@ -8,4 +8,6 @@ use Illuminate\Database\Eloquent\Model; class VacantPosition extends Model { use HasFactory; + + } diff --git a/app/Models/VirtualExhibition.php b/app/Models/VirtualExhibition.php index ed4a6d4..df48cb4 100644 --- a/app/Models/VirtualExhibition.php +++ b/app/Models/VirtualExhibition.php @@ -14,4 +14,9 @@ class VirtualExhibition extends Model protected $casts = [ 'content' => 'array' ]; + + public function seo() + { + return $this->morphOne(Seo::class, 'seoable'); + } } diff --git a/app/Observers/CustomFormResponseObserver.php b/app/Observers/CustomFormResponseObserver.php index 9e7c9d7..83bf7b7 100644 --- a/app/Observers/CustomFormResponseObserver.php +++ b/app/Observers/CustomFormResponseObserver.php @@ -14,7 +14,7 @@ class CustomFormResponseObserver */ public function created(CustomFormResponse $customFormResponse): void { - dispatch(new SendFormResponseMail($customFormResponse)); + !empty($customFormResponse->form->mail_settings) ? dispatch(new SendFormResponseMail($customFormResponse)) : null; } /** diff --git a/app/Policies/AcademicJournalPolicy.php b/app/Policies/AcademicJournalPolicy.php new file mode 100644 index 0000000..316581f --- /dev/null +++ b/app/Policies/AcademicJournalPolicy.php @@ -0,0 +1,108 @@ +can('view_any_academic::journal'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, AcademicJournal $academicJournal): bool + { + return $user->can('view_academic::journal'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_academic::journal'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, AcademicJournal $academicJournal): bool + { + return $user->can('update_academic::journal'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, AcademicJournal $academicJournal): bool + { + return $user->can('delete_academic::journal'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_academic::journal'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, AcademicJournal $academicJournal): bool + { + return $user->can('force_delete_academic::journal'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_academic::journal'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, AcademicJournal $academicJournal): bool + { + return $user->can('restore_academic::journal'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_academic::journal'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, AcademicJournal $academicJournal): bool + { + return $user->can('replicate_academic::journal'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_academic::journal'); + } +} diff --git a/app/Policies/AcceptedInvitationPolicy.php b/app/Policies/AcceptedInvitationPolicy.php new file mode 100644 index 0000000..2d3ec23 --- /dev/null +++ b/app/Policies/AcceptedInvitationPolicy.php @@ -0,0 +1,108 @@ +can('view_any_accepted::invitation'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, AcceptedInvitation $acceptedInvitation): bool + { + return $user->can('view_accepted::invitation'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_accepted::invitation'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, AcceptedInvitation $acceptedInvitation): bool + { + return $user->can('update_accepted::invitation'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, AcceptedInvitation $acceptedInvitation): bool + { + return $user->can('delete_accepted::invitation'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_accepted::invitation'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, AcceptedInvitation $acceptedInvitation): bool + { + return $user->can('{{ ForceDelete }}'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('{{ ForceDeleteAny }}'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, AcceptedInvitation $acceptedInvitation): bool + { + return $user->can('{{ Restore }}'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('{{ RestoreAny }}'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, AcceptedInvitation $acceptedInvitation): bool + { + return $user->can('{{ Replicate }}'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('{{ Reorder }}'); + } +} diff --git a/app/Policies/AdditionalEducationCategoryPolicy.php b/app/Policies/AdditionalEducationCategoryPolicy.php new file mode 100644 index 0000000..04da077 --- /dev/null +++ b/app/Policies/AdditionalEducationCategoryPolicy.php @@ -0,0 +1,108 @@ +can('view_any_additional::education::category'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, AdditionalEducationCategory $additionalEducationCategory): bool + { + return $user->can('view_additional::education::category'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_additional::education::category'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, AdditionalEducationCategory $additionalEducationCategory): bool + { + return $user->can('update_additional::education::category'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, AdditionalEducationCategory $additionalEducationCategory): bool + { + return $user->can('delete_additional::education::category'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_additional::education::category'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, AdditionalEducationCategory $additionalEducationCategory): bool + { + return $user->can('force_delete_additional::education::category'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_additional::education::category'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, AdditionalEducationCategory $additionalEducationCategory): bool + { + return $user->can('restore_additional::education::category'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_additional::education::category'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, AdditionalEducationCategory $additionalEducationCategory): bool + { + return $user->can('replicate_additional::education::category'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_additional::education::category'); + } +} diff --git a/app/Policies/AdditionalEducationPolicy.php b/app/Policies/AdditionalEducationPolicy.php new file mode 100644 index 0000000..234ce95 --- /dev/null +++ b/app/Policies/AdditionalEducationPolicy.php @@ -0,0 +1,108 @@ +can('view_any_additional::education'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, AdditionalEducation $additionalEducation): bool + { + return $user->can('view_additional::education'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_additional::education'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, AdditionalEducation $additionalEducation): bool + { + return $user->can('update_additional::education'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, AdditionalEducation $additionalEducation): bool + { + return $user->can('delete_additional::education'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_additional::education'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, AdditionalEducation $additionalEducation): bool + { + return $user->can('force_delete_additional::education'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_additional::education'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, AdditionalEducation $additionalEducation): bool + { + return $user->can('restore_additional::education'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_additional::education'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, AdditionalEducation $additionalEducation): bool + { + return $user->can('replicate_additional::education'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_additional::education'); + } +} diff --git a/app/Policies/AdmissionCampaignPolicy.php b/app/Policies/AdmissionCampaignPolicy.php new file mode 100644 index 0000000..9d1c390 --- /dev/null +++ b/app/Policies/AdmissionCampaignPolicy.php @@ -0,0 +1,108 @@ +can('view_any_admission::campaign'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, AdmissionCampaign $admissionCampaign): bool + { + return $user->can('view_admission::campaign'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_admission::campaign'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, AdmissionCampaign $admissionCampaign): bool + { + return $user->can('update_admission::campaign'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, AdmissionCampaign $admissionCampaign): bool + { + return $user->can('delete_admission::campaign'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_admission::campaign'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, AdmissionCampaign $admissionCampaign): bool + { + return $user->can('force_delete_admission::campaign'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_admission::campaign'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, AdmissionCampaign $admissionCampaign): bool + { + return $user->can('restore_admission::campaign'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_admission::campaign'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, AdmissionCampaign $admissionCampaign): bool + { + return $user->can('replicate_admission::campaign'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_admission::campaign'); + } +} diff --git a/app/Policies/AdmissionPlanPolicy.php b/app/Policies/AdmissionPlanPolicy.php new file mode 100644 index 0000000..7828a89 --- /dev/null +++ b/app/Policies/AdmissionPlanPolicy.php @@ -0,0 +1,108 @@ +can('view_any_admission::plan'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, AdmissionPlan $admissionPlan): bool + { + return $user->can('view_admission::plan'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_admission::plan'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, AdmissionPlan $admissionPlan): bool + { + return $user->can('update_admission::plan'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, AdmissionPlan $admissionPlan): bool + { + return $user->can('delete_admission::plan'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_admission::plan'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, AdmissionPlan $admissionPlan): bool + { + return $user->can('force_delete_admission::plan'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_admission::plan'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, AdmissionPlan $admissionPlan): bool + { + return $user->can('restore_admission::plan'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_admission::plan'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, AdmissionPlan $admissionPlan): bool + { + return $user->can('replicate_admission::plan'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_admission::plan'); + } +} diff --git a/app/Policies/CategoryPolicy.php b/app/Policies/CategoryPolicy.php new file mode 100644 index 0000000..d518809 --- /dev/null +++ b/app/Policies/CategoryPolicy.php @@ -0,0 +1,108 @@ +can('view_any_category'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Category $category): bool + { + return $user->can('view_category'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_category'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Category $category): bool + { + return $user->can('update_category'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Category $category): bool + { + return $user->can('delete_category'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_category'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Category $category): bool + { + return $user->can('force_delete_category'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_category'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Category $category): bool + { + return $user->can('restore_category'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_category'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Category $category): bool + { + return $user->can('replicate_category'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_category'); + } +} diff --git a/app/Policies/CustomFormPolicy.php b/app/Policies/CustomFormPolicy.php new file mode 100644 index 0000000..9dfa737 --- /dev/null +++ b/app/Policies/CustomFormPolicy.php @@ -0,0 +1,108 @@ +can('view_any_custom::form'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, CustomForm $customForm): bool + { + return $user->can('view_custom::form'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_custom::form'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, CustomForm $customForm): bool + { + return $user->can('update_custom::form'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, CustomForm $customForm): bool + { + return $user->can('delete_custom::form'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_custom::form'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, CustomForm $customForm): bool + { + return $user->can('force_delete_custom::form'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_custom::form'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, CustomForm $customForm): bool + { + return $user->can('restore_custom::form'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_custom::form'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, CustomForm $customForm): bool + { + return $user->can('replicate_custom::form'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_custom::form'); + } +} diff --git a/app/Policies/CustomFormResponsePolicy.php b/app/Policies/CustomFormResponsePolicy.php new file mode 100644 index 0000000..be31a43 --- /dev/null +++ b/app/Policies/CustomFormResponsePolicy.php @@ -0,0 +1,108 @@ +can('view_any_custom::form::response'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, CustomFormResponse $customFormResponse): bool + { + return $user->can('view_custom::form::response'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_custom::form::response'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, CustomFormResponse $customFormResponse): bool + { + return $user->can('update_custom::form::response'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, CustomFormResponse $customFormResponse): bool + { + return $user->can('delete_custom::form::response'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_custom::form::response'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, CustomFormResponse $customFormResponse): bool + { + return $user->can('force_delete_custom::form::response'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_custom::form::response'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, CustomFormResponse $customFormResponse): bool + { + return $user->can('restore_custom::form::response'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_custom::form::response'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, CustomFormResponse $customFormResponse): bool + { + return $user->can('replicate_custom::form::response'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_custom::form::response'); + } +} diff --git a/app/Policies/DepartmentPolicy.php b/app/Policies/DepartmentPolicy.php new file mode 100644 index 0000000..67cc91d --- /dev/null +++ b/app/Policies/DepartmentPolicy.php @@ -0,0 +1,108 @@ +can('view_any_department'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Department $department): bool + { + return $user->can('view_department'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_department'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Department $department): bool + { + return $user->can('update_department'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Department $department): bool + { + return $user->can('delete_department'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_department'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Department $department): bool + { + return $user->can('force_delete_department'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_department'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Department $department): bool + { + return $user->can('restore_department'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_department'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Department $department): bool + { + return $user->can('replicate_department'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_department'); + } +} diff --git a/app/Policies/DirectionAdditionalEducationPolicy.php b/app/Policies/DirectionAdditionalEducationPolicy.php new file mode 100644 index 0000000..7c0e404 --- /dev/null +++ b/app/Policies/DirectionAdditionalEducationPolicy.php @@ -0,0 +1,108 @@ +can('view_any_direction::additional::education'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, DirectionAdditionalEducation $directionAdditionalEducation): bool + { + return $user->can('view_direction::additional::education'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_direction::additional::education'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, DirectionAdditionalEducation $directionAdditionalEducation): bool + { + return $user->can('update_direction::additional::education'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, DirectionAdditionalEducation $directionAdditionalEducation): bool + { + return $user->can('delete_direction::additional::education'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_direction::additional::education'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, DirectionAdditionalEducation $directionAdditionalEducation): bool + { + return $user->can('force_delete_direction::additional::education'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_direction::additional::education'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, DirectionAdditionalEducation $directionAdditionalEducation): bool + { + return $user->can('restore_direction::additional::education'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_direction::additional::education'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, DirectionAdditionalEducation $directionAdditionalEducation): bool + { + return $user->can('replicate_direction::additional::education'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_direction::additional::education'); + } +} diff --git a/app/Policies/DirectionStudyPolicy.php b/app/Policies/DirectionStudyPolicy.php new file mode 100644 index 0000000..0d23523 --- /dev/null +++ b/app/Policies/DirectionStudyPolicy.php @@ -0,0 +1,108 @@ +can('view_any_direction::study'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, DirectionStudy $directionStudy): bool + { + return $user->can('view_direction::study'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_direction::study'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, DirectionStudy $directionStudy): bool + { + return $user->can('update_direction::study'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, DirectionStudy $directionStudy): bool + { + return $user->can('delete_direction::study'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_direction::study'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, DirectionStudy $directionStudy): bool + { + return $user->can('force_delete_direction::study'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_direction::study'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, DirectionStudy $directionStudy): bool + { + return $user->can('restore_direction::study'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_direction::study'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, DirectionStudy $directionStudy): bool + { + return $user->can('replicate_direction::study'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_direction::study'); + } +} diff --git a/app/Policies/DivisionPolicy.php b/app/Policies/DivisionPolicy.php new file mode 100644 index 0000000..230977c --- /dev/null +++ b/app/Policies/DivisionPolicy.php @@ -0,0 +1,108 @@ +can('view_any_division'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Division $division): bool + { + return $user->can('view_division'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_division'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Division $division): bool + { + return $user->can('update_division'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Division $division): bool + { + return $user->can('delete_division'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_division'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Division $division): bool + { + return $user->can('force_delete_division'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_division'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Division $division): bool + { + return $user->can('restore_division'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_division'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Division $division): bool + { + return $user->can('replicate_division'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_division'); + } +} diff --git a/app/Policies/EducationalGroupPolicy.php b/app/Policies/EducationalGroupPolicy.php new file mode 100644 index 0000000..a7e22ce --- /dev/null +++ b/app/Policies/EducationalGroupPolicy.php @@ -0,0 +1,108 @@ +can('view_any_educational::group'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, EducationalGroup $educationalGroup): bool + { + return $user->can('view_educational::group'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_educational::group'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, EducationalGroup $educationalGroup): bool + { + return $user->can('update_educational::group'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, EducationalGroup $educationalGroup): bool + { + return $user->can('delete_educational::group'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_educational::group'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, EducationalGroup $educationalGroup): bool + { + return $user->can('force_delete_educational::group'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_educational::group'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, EducationalGroup $educationalGroup): bool + { + return $user->can('restore_educational::group'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_educational::group'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, EducationalGroup $educationalGroup): bool + { + return $user->can('replicate_educational::group'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_educational::group'); + } +} diff --git a/app/Policies/EducationalProgramPolicy.php b/app/Policies/EducationalProgramPolicy.php new file mode 100644 index 0000000..0059adb --- /dev/null +++ b/app/Policies/EducationalProgramPolicy.php @@ -0,0 +1,108 @@ +can('view_any_educational::program'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, EducationalProgram $educationalProgram): bool + { + return $user->can('view_educational::program'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_educational::program'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, EducationalProgram $educationalProgram): bool + { + return $user->can('update_educational::program'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, EducationalProgram $educationalProgram): bool + { + return $user->can('delete_educational::program'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_educational::program'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, EducationalProgram $educationalProgram): bool + { + return $user->can('force_delete_educational::program'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_educational::program'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, EducationalProgram $educationalProgram): bool + { + return $user->can('restore_educational::program'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_educational::program'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, EducationalProgram $educationalProgram): bool + { + return $user->can('replicate_educational::program'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_educational::program'); + } +} diff --git a/app/Policies/EventCategoryPolicy.php b/app/Policies/EventCategoryPolicy.php new file mode 100644 index 0000000..28f636b --- /dev/null +++ b/app/Policies/EventCategoryPolicy.php @@ -0,0 +1,108 @@ +can('view_any_event::category'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, EventCategory $eventCategory): bool + { + return $user->can('view_event::category'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_event::category'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, EventCategory $eventCategory): bool + { + return $user->can('update_event::category'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, EventCategory $eventCategory): bool + { + return $user->can('delete_event::category'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_event::category'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, EventCategory $eventCategory): bool + { + return $user->can('force_delete_event::category'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_event::category'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, EventCategory $eventCategory): bool + { + return $user->can('restore_event::category'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_event::category'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, EventCategory $eventCategory): bool + { + return $user->can('replicate_event::category'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_event::category'); + } +} diff --git a/app/Policies/EventPolicy.php b/app/Policies/EventPolicy.php new file mode 100644 index 0000000..6ced2ec --- /dev/null +++ b/app/Policies/EventPolicy.php @@ -0,0 +1,108 @@ +can('view_any_event'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Event $event): bool + { + return $user->can('view_event'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_event'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Event $event): bool + { + return $user->can('update_event'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Event $event): bool + { + return $user->can('delete_event'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_event'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Event $event): bool + { + return $user->can('force_delete_event'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_event'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Event $event): bool + { + return $user->can('restore_event'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_event'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Event $event): bool + { + return $user->can('replicate_event'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_event'); + } +} diff --git a/app/Policies/ExternalVacancyPolicy.php b/app/Policies/ExternalVacancyPolicy.php new file mode 100644 index 0000000..b7f5449 --- /dev/null +++ b/app/Policies/ExternalVacancyPolicy.php @@ -0,0 +1,108 @@ +can('view_any_external::vacancy'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, ExternalVacancy $externalVacancy): bool + { + return $user->can('view_external::vacancy'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_external::vacancy'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, ExternalVacancy $externalVacancy): bool + { + return $user->can('update_external::vacancy'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, ExternalVacancy $externalVacancy): bool + { + return $user->can('delete_external::vacancy'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_external::vacancy'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, ExternalVacancy $externalVacancy): bool + { + return $user->can('force_delete_external::vacancy'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_external::vacancy'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, ExternalVacancy $externalVacancy): bool + { + return $user->can('restore_external::vacancy'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_external::vacancy'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, ExternalVacancy $externalVacancy): bool + { + return $user->can('replicate_external::vacancy'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_external::vacancy'); + } +} diff --git a/app/Policies/FacultyPolicy.php b/app/Policies/FacultyPolicy.php new file mode 100644 index 0000000..67c03b7 --- /dev/null +++ b/app/Policies/FacultyPolicy.php @@ -0,0 +1,108 @@ +can('view_any_faculty'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Faculty $faculty): bool + { + return $user->can('view_faculty'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_faculty'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Faculty $faculty): bool + { + return $user->can('update_faculty'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Faculty $faculty): bool + { + return $user->can('delete_faculty'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_faculty'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Faculty $faculty): bool + { + return $user->can('force_delete_faculty'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_faculty'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Faculty $faculty): bool + { + return $user->can('restore_faculty'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_faculty'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Faculty $faculty): bool + { + return $user->can('replicate_faculty'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_faculty'); + } +} diff --git a/app/Policies/JournalIssuePolicy.php b/app/Policies/JournalIssuePolicy.php new file mode 100644 index 0000000..12daae6 --- /dev/null +++ b/app/Policies/JournalIssuePolicy.php @@ -0,0 +1,108 @@ +can('view_any_journal::issue'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, JournalIssue $journalIssue): bool + { + return $user->can('view_journal::issue'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_journal::issue'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, JournalIssue $journalIssue): bool + { + return $user->can('update_journal::issue'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, JournalIssue $journalIssue): bool + { + return $user->can('delete_journal::issue'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_journal::issue'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, JournalIssue $journalIssue): bool + { + return $user->can('force_delete_journal::issue'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_journal::issue'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, JournalIssue $journalIssue): bool + { + return $user->can('restore_journal::issue'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_journal::issue'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, JournalIssue $journalIssue): bool + { + return $user->can('replicate_journal::issue'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_journal::issue'); + } +} diff --git a/app/Policies/LibraryNewsPolicy.php b/app/Policies/LibraryNewsPolicy.php new file mode 100644 index 0000000..6082eb1 --- /dev/null +++ b/app/Policies/LibraryNewsPolicy.php @@ -0,0 +1,108 @@ +can('view_any_library::news'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, LibraryNews $libraryNews): bool + { + return $user->can('view_library::news'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_library::news'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, LibraryNews $libraryNews): bool + { + return $user->can('update_library::news'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, LibraryNews $libraryNews): bool + { + return $user->can('delete_library::news'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_library::news'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, LibraryNews $libraryNews): bool + { + return $user->can('force_delete_library::news'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_library::news'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, LibraryNews $libraryNews): bool + { + return $user->can('restore_library::news'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_library::news'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, LibraryNews $libraryNews): bool + { + return $user->can('replicate_library::news'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_library::news'); + } +} diff --git a/app/Policies/MainSectionPolicy.php b/app/Policies/MainSectionPolicy.php new file mode 100644 index 0000000..e26a5bd --- /dev/null +++ b/app/Policies/MainSectionPolicy.php @@ -0,0 +1,108 @@ +can('view_any_main::section'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, MainSection $mainSection): bool + { + return $user->can('view_main::section'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_main::section'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, MainSection $mainSection): bool + { + return $user->can('update_main::section'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, MainSection $mainSection): bool + { + return $user->can('delete_main::section'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_main::section'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, MainSection $mainSection): bool + { + return $user->can('force_delete_main::section'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_main::section'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, MainSection $mainSection): bool + { + return $user->can('restore_main::section'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_main::section'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, MainSection $mainSection): bool + { + return $user->can('replicate_main::section'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_main::section'); + } +} diff --git a/app/Policies/MainSliderPolicy.php b/app/Policies/MainSliderPolicy.php new file mode 100644 index 0000000..774c81b --- /dev/null +++ b/app/Policies/MainSliderPolicy.php @@ -0,0 +1,108 @@ +can('view_any_main::slider'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, MainSlider $mainSlider): bool + { + return $user->can('view_main::slider'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_main::slider'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, MainSlider $mainSlider): bool + { + return $user->can('update_main::slider'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, MainSlider $mainSlider): bool + { + return $user->can('delete_main::slider'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_main::slider'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, MainSlider $mainSlider): bool + { + return $user->can('force_delete_main::slider'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_main::slider'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, MainSlider $mainSlider): bool + { + return $user->can('restore_main::slider'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_main::slider'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, MainSlider $mainSlider): bool + { + return $user->can('replicate_main::slider'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_main::slider'); + } +} diff --git a/app/Policies/PagePolicy.php b/app/Policies/PagePolicy.php new file mode 100644 index 0000000..a60e06b --- /dev/null +++ b/app/Policies/PagePolicy.php @@ -0,0 +1,108 @@ +can('view_any_url::link'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Page $page): bool + { + return $user->can('view_url::link'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_url::link'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Page $page): bool + { + return $user->can('update_url::link'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Page $page): bool + { + return $user->can('delete_url::link'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_url::link'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Page $page): bool + { + return $user->can('force_delete_url::link'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_url::link'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Page $page): bool + { + return $user->can('restore_url::link'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_url::link'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Page $page): bool + { + return $user->can('replicate_url::link'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_url::link'); + } +} diff --git a/app/Policies/PostPolicy.php b/app/Policies/PostPolicy.php new file mode 100644 index 0000000..de4e4b3 --- /dev/null +++ b/app/Policies/PostPolicy.php @@ -0,0 +1,108 @@ +can('view_any_post'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Post $post): bool + { + return $user->can('view_post'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_post'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Post $post): bool + { + return $user->can('update_post'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Post $post): bool + { + return $user->can('delete_post'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_post'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Post $post): bool + { + return $user->can('{{ ForceDelete }}'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('{{ ForceDeleteAny }}'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Post $post): bool + { + return $user->can('{{ Restore }}'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('{{ RestoreAny }}'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Post $post): bool + { + return $user->can('{{ Replicate }}'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('{{ Reorder }}'); + } +} diff --git a/app/Policies/RolePolicy.php b/app/Policies/RolePolicy.php new file mode 100644 index 0000000..ec0381d --- /dev/null +++ b/app/Policies/RolePolicy.php @@ -0,0 +1,108 @@ +can('view_any_role'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Role $role): bool + { + return $user->can('view_role'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_role'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Role $role): bool + { + return $user->can('update_role'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Role $role): bool + { + return $user->can('delete_role'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_role'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Role $role): bool + { + return $user->can('{{ ForceDelete }}'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('{{ ForceDeleteAny }}'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Role $role): bool + { + return $user->can('{{ Restore }}'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('{{ RestoreAny }}'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Role $role): bool + { + return $user->can('{{ Replicate }}'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('{{ Reorder }}'); + } +} diff --git a/app/Policies/SchedulePolicy.php b/app/Policies/SchedulePolicy.php new file mode 100644 index 0000000..455b738 --- /dev/null +++ b/app/Policies/SchedulePolicy.php @@ -0,0 +1,108 @@ +can('view_any_schedule'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Schedule $schedule): bool + { + return $user->can('view_schedule'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_schedule'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Schedule $schedule): bool + { + return $user->can('update_schedule'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Schedule $schedule): bool + { + return $user->can('delete_schedule'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_schedule'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Schedule $schedule): bool + { + return $user->can('force_delete_schedule'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_schedule'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Schedule $schedule): bool + { + return $user->can('restore_schedule'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_schedule'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Schedule $schedule): bool + { + return $user->can('replicate_schedule'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_schedule'); + } +} diff --git a/app/Policies/SubSectionPolicy.php b/app/Policies/SubSectionPolicy.php new file mode 100644 index 0000000..5cd8148 --- /dev/null +++ b/app/Policies/SubSectionPolicy.php @@ -0,0 +1,108 @@ +can('view_any_sub::section'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, SubSection $subSection): bool + { + return $user->can('view_sub::section'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_sub::section'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, SubSection $subSection): bool + { + return $user->can('update_sub::section'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, SubSection $subSection): bool + { + return $user->can('delete_sub::section'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_sub::section'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, SubSection $subSection): bool + { + return $user->can('force_delete_sub::section'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_sub::section'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, SubSection $subSection): bool + { + return $user->can('restore_sub::section'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_sub::section'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, SubSection $subSection): bool + { + return $user->can('replicate_sub::section'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_sub::section'); + } +} diff --git a/app/Policies/TagPolicy.php b/app/Policies/TagPolicy.php new file mode 100644 index 0000000..c34f308 --- /dev/null +++ b/app/Policies/TagPolicy.php @@ -0,0 +1,108 @@ +can('view_any_tag'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Tag $tag): bool + { + return $user->can('view_tag'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_tag'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Tag $tag): bool + { + return $user->can('update_tag'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Tag $tag): bool + { + return $user->can('delete_tag'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_tag'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Tag $tag): bool + { + return $user->can('force_delete_tag'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_tag'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Tag $tag): bool + { + return $user->can('restore_tag'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_tag'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Tag $tag): bool + { + return $user->can('replicate_tag'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_tag'); + } +} diff --git a/app/Policies/UserDetailPolicy.php b/app/Policies/UserDetailPolicy.php new file mode 100644 index 0000000..2594b15 --- /dev/null +++ b/app/Policies/UserDetailPolicy.php @@ -0,0 +1,108 @@ +can('view_any_user::detail'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, UserDetail $userDetail): bool + { + return $user->can('view_user::detail'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_user::detail'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, UserDetail $userDetail): bool + { + return $user->can('update_user::detail'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, UserDetail $userDetail): bool + { + return $user->can('delete_user::detail'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_user::detail'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, UserDetail $userDetail): bool + { + return $user->can('force_delete_user::detail'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_user::detail'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, UserDetail $userDetail): bool + { + return $user->can('restore_user::detail'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_user::detail'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, UserDetail $userDetail): bool + { + return $user->can('replicate_user::detail'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_user::detail'); + } +} diff --git a/app/Policies/UserPolicy.php b/app/Policies/UserPolicy.php new file mode 100644 index 0000000..198b9a9 --- /dev/null +++ b/app/Policies/UserPolicy.php @@ -0,0 +1,144 @@ +can('view_any_user'); + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @return bool + */ + public function view(User $user): bool + { + return $user->can('view_user'); + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return bool + */ + public function create(User $user): bool + { + return $user->can('create_user'); + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @return bool + */ + public function update(User $user): bool + { + return $user->can('update_user'); + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @return bool + */ + public function delete(User $user): bool + { + return $user->can('delete_user'); + } + + /** + * Determine whether the user can bulk delete. + * + * @param \App\Models\User $user + * @return bool + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_user'); + } + + /** + * Determine whether the user can permanently delete. + * + * @param \App\Models\User $user + * @return bool + */ + public function forceDelete(User $user): bool + { + return $user->can('{{ ForceDelete }}'); + } + + /** + * Determine whether the user can permanently bulk delete. + * + * @param \App\Models\User $user + * @return bool + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('{{ ForceDeleteAny }}'); + } + + /** + * Determine whether the user can restore. + * + * @param \App\Models\User $user + * @return bool + */ + public function restore(User $user): bool + { + return $user->can('{{ Restore }}'); + } + + /** + * Determine whether the user can bulk restore. + * + * @param \App\Models\User $user + * @return bool + */ + public function restoreAny(User $user): bool + { + return $user->can('{{ RestoreAny }}'); + } + + /** + * Determine whether the user can bulk restore. + * + * @param \App\Models\User $user + * @return bool + */ + public function replicate(User $user): bool + { + return $user->can('{{ Replicate }}'); + } + + /** + * Determine whether the user can reorder. + * + * @param \App\Models\User $user + * @return bool + */ + public function reorder(User $user): bool + { + return $user->can('{{ Reorder }}'); + } +} diff --git a/app/Policies/VacantPositionPolicy.php b/app/Policies/VacantPositionPolicy.php new file mode 100644 index 0000000..3f436b3 --- /dev/null +++ b/app/Policies/VacantPositionPolicy.php @@ -0,0 +1,108 @@ +can('view_any_vacant::position'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, VacantPosition $vacantPosition): bool + { + return $user->can('view_vacant::position'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_vacant::position'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, VacantPosition $vacantPosition): bool + { + return $user->can('update_vacant::position'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, VacantPosition $vacantPosition): bool + { + return $user->can('delete_vacant::position'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_vacant::position'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, VacantPosition $vacantPosition): bool + { + return $user->can('force_delete_vacant::position'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_vacant::position'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, VacantPosition $vacantPosition): bool + { + return $user->can('restore_vacant::position'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_vacant::position'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, VacantPosition $vacantPosition): bool + { + return $user->can('replicate_vacant::position'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_vacant::position'); + } +} diff --git a/app/Policies/VirtualExhibitionPolicy.php b/app/Policies/VirtualExhibitionPolicy.php new file mode 100644 index 0000000..1300fee --- /dev/null +++ b/app/Policies/VirtualExhibitionPolicy.php @@ -0,0 +1,108 @@ +can('view_any_virtual::exhibition'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, VirtualExhibition $virtualExhibition): bool + { + return $user->can('view_virtual::exhibition'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_virtual::exhibition'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, VirtualExhibition $virtualExhibition): bool + { + return $user->can('update_virtual::exhibition'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, VirtualExhibition $virtualExhibition): bool + { + return $user->can('delete_virtual::exhibition'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_virtual::exhibition'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, VirtualExhibition $virtualExhibition): bool + { + return $user->can('force_delete_virtual::exhibition'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_virtual::exhibition'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, VirtualExhibition $virtualExhibition): bool + { + return $user->can('restore_virtual::exhibition'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_virtual::exhibition'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, VirtualExhibition $virtualExhibition): bool + { + return $user->can('replicate_virtual::exhibition'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_virtual::exhibition'); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 9654dc8..4b62667 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,8 @@ namespace App\Providers; +use App\Models\Post; +use App\Observers\PostObserver; use Carbon\Carbon; use Filament\Facades\Filament; use Illuminate\Database\Eloquent\Model; diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 1b6d7fb..91ccf76 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -27,6 +27,7 @@ class AdminPanelProvider extends PanelProvider ->default() ->id('admin') ->path('admin') + ->registration() ->login() ->databaseNotifications() ->databaseNotificationsPolling('5s') @@ -55,8 +56,9 @@ class AdminPanelProvider extends PanelProvider ]) ->authMiddleware([ Authenticate::class, - ] - ) - ; + ]) + ->plugins([ + \BezhanSalleh\FilamentShield\FilamentShieldPlugin::make() + ]); } } diff --git a/app/Providers/Filament/DashboardPanelProvider.php b/app/Providers/Filament/DashboardPanelProvider.php index e1b7f47..3d48b55 100644 --- a/app/Providers/Filament/DashboardPanelProvider.php +++ b/app/Providers/Filament/DashboardPanelProvider.php @@ -26,9 +26,10 @@ class DashboardPanelProvider extends PanelProvider ->id('dashboard') ->path('dashboard') ->colors([ - 'primary' => Color::Indigo, + 'primary' => Color::Amber, ]) - ->discoverResources(in: app_path('Filament/Dashboard/Resources'), for: 'App\\Filament\\Dashboard\\Resources') + ->login() + ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources') ->discoverPages(in: app_path('Filament/Dashboard/Pages'), for: 'App\\Filament\\Dashboard\\Pages') ->pages([ Pages\Dashboard::class, @@ -51,6 +52,9 @@ class DashboardPanelProvider extends PanelProvider ]) ->authMiddleware([ Authenticate::class, + ]) + ->plugins([ + \BezhanSalleh\FilamentShield\FilamentShieldPlugin::make() ]); } } diff --git a/composer.json b/composer.json index 5b79e07..0be82e8 100644 --- a/composer.json +++ b/composer.json @@ -7,6 +7,7 @@ "require": { "php": "^8.1", "awcodes/filament-tiptap-editor": "^3.0", + "bezhansalleh/filament-shield": "^3.2", "filament/filament": "^3.0-stable", "filament/spatie-laravel-tags-plugin": "^3.2", "guava/filament-icon-picker": "^2.0", @@ -21,7 +22,6 @@ "nesbot/carbon": "^2.71", "protonemedia/laravel-cross-eloquent-search": "^3.4", "pxlrbt/filament-excel": "^2.3", - "spatie/laravel-permission": "^5.11", "symfony/filesystem": "^6.3", "tightenco/ziggy": "^1.0", "xvladqt/faker-lorem-flickr": "^1.0" diff --git a/composer.lock b/composer.lock index 22a64e6..8d1a045 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c28ec78e6aeaa693f9cff23111620426", + "content-hash": "7cebd5c873e68488b13f05bc2c35a868", "packages": [ { "name": "anourvalar/eloquent-serialize", - "version": "1.2.23", + "version": "1.2.25", "source": { "type": "git", "url": "https://github.com/AnourValar/eloquent-serialize.git", - "reference": "fd7bc1dc2c98fe705647ab4b81d13ea3d599ea1f" + "reference": "6d7a868ae4218b9d7796334ff9a17e1539bad48a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/fd7bc1dc2c98fe705647ab4b81d13ea3d599ea1f", - "reference": "fd7bc1dc2c98fe705647ab4b81d13ea3d599ea1f", + "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/6d7a868ae4218b9d7796334ff9a17e1539bad48a", + "reference": "6d7a868ae4218b9d7796334ff9a17e1539bad48a", "shasum": "" }, "require": { @@ -68,22 +68,22 @@ ], "support": { "issues": "https://github.com/AnourValar/eloquent-serialize/issues", - "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.23" + "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.25" }, - "time": "2024-07-12T10:52:26+00:00" + "time": "2024-09-16T12:59:37+00:00" }, { "name": "awcodes/filament-tiptap-editor", - "version": "v3.4.13", + "version": "v3.4.16", "source": { "type": "git", "url": "https://github.com/awcodes/filament-tiptap-editor.git", - "reference": "411ee658176054cfeecd202faaab8660fa28ee0d" + "reference": "fef63d8e04776299470892735a329568c1743f54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awcodes/filament-tiptap-editor/zipball/411ee658176054cfeecd202faaab8660fa28ee0d", - "reference": "411ee658176054cfeecd202faaab8660fa28ee0d", + "url": "https://api.github.com/repos/awcodes/filament-tiptap-editor/zipball/fef63d8e04776299470892735a329568c1743f54", + "reference": "fef63d8e04776299470892735a329568c1743f54", "shasum": "" }, "require": { @@ -92,7 +92,6 @@ "ueberdosis/tiptap-php": "^1.1" }, "require-dev": { - "awcodes/html-faker": "^0.1.0", "filament/filament": "^3.0", "laravel/pint": "^1.0", "nunomaduro/collision": "^7.0", @@ -145,7 +144,7 @@ ], "support": { "issues": "https://github.com/awcodes/filament-tiptap-editor/issues", - "source": "https://github.com/awcodes/filament-tiptap-editor/tree/v3.4.13" + "source": "https://github.com/awcodes/filament-tiptap-editor/tree/v3.4.16" }, "funding": [ { @@ -153,7 +152,93 @@ "type": "github" } ], - "time": "2024-08-30T17:43:11+00:00" + "time": "2024-09-21T17:01:40+00:00" + }, + { + "name": "bezhansalleh/filament-shield", + "version": "3.2.6", + "source": { + "type": "git", + "url": "https://github.com/bezhanSalleh/filament-shield.git", + "reference": "212428385855256d5499b02b6148b7c9eaa1b1fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bezhanSalleh/filament-shield/zipball/212428385855256d5499b02b6148b7c9eaa1b1fb", + "reference": "212428385855256d5499b02b6148b7c9eaa1b1fb", + "shasum": "" + }, + "require": { + "filament/filament": "^3.2", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.9", + "spatie/laravel-permission": "^6.0" + }, + "require-dev": { + "larastan/larastan": "^2.0", + "laravel/pint": "^1.0", + "nunomaduro/collision": "^7.0|^8.0", + "orchestra/testbench": "^8.0|^9.0", + "pestphp/pest": "^2.34", + "pestphp/pest-plugin-laravel": "^2.3", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^10.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "BezhanSalleh\\FilamentShield\\FilamentShieldServiceProvider" + ], + "aliases": { + "FilamentShield": "BezhanSalleh\\FilamentShield\\Facades\\FilamentShield" + } + } + }, + "autoload": { + "psr-4": { + "BezhanSalleh\\FilamentShield\\": "src", + "BezhanSalleh\\FilamentShield\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bezhan Salleh", + "email": "bezhan_salleh@yahoo.com", + "role": "Developer" + } + ], + "description": "Filament support for `spatie/laravel-permission`.", + "homepage": "https://github.com/bezhansalleh/filament-shield", + "keywords": [ + "acl", + "bezhanSalleh", + "filament", + "filament-shield", + "laravel", + "permission", + "permissions", + "rbac", + "roles", + "security" + ], + "support": { + "issues": "https://github.com/bezhanSalleh/filament-shield/issues", + "source": "https://github.com/bezhanSalleh/filament-shield/tree/3.2.6" + }, + "funding": [ + { + "url": "https://github.com/bezhanSalleh", + "type": "github" + } + ], + "time": "2024-09-02T14:20:04+00:00" }, { "name": "blade-ui-kit/blade-heroicons", @@ -436,24 +521,24 @@ }, { "name": "composer/semver", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -497,7 +582,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -513,7 +598,7 @@ "type": "tidelift" } ], - "time": "2024-07-12T11:35:52+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "danharrin/date-format-converter", @@ -790,16 +875,16 @@ }, { "name": "doctrine/dbal", - "version": "3.9.0", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", "shasum": "" }, "require": { @@ -815,7 +900,7 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.7", + "phpstan/phpstan": "1.12.0", "phpstan/phpstan-strict-rules": "^1.6", "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", @@ -883,7 +968,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.0" + "source": "https://github.com/doctrine/dbal/tree/3.9.1" }, "funding": [ { @@ -899,7 +984,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T07:34:42+00:00" + "time": "2024-09-01T13:49:23+00:00" }, { "name": "doctrine/deprecations", @@ -1461,16 +1546,16 @@ }, { "name": "filament/actions", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "5d6e4fe444f1ef04d373518248a445bbcc3ca272" + "reference": "4cf93bf9ff04a76a9256ce6df88216583aeccb15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/5d6e4fe444f1ef04d373518248a445bbcc3ca272", - "reference": "5d6e4fe444f1ef04d373518248a445bbcc3ca272", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/4cf93bf9ff04a76a9256ce6df88216583aeccb15", + "reference": "4cf93bf9ff04a76a9256ce6df88216583aeccb15", "shasum": "" }, "require": { @@ -1510,20 +1595,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-08-26T07:22:35+00:00" + "time": "2024-09-17T08:30:20+00:00" }, { "name": "filament/filament", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "130636e90e821154e0ce60dcbc7b358d2a1a716f" + "reference": "cea015f11b3d1b41bbf826e6f724e444e5fda3cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/130636e90e821154e0ce60dcbc7b358d2a1a716f", - "reference": "130636e90e821154e0ce60dcbc7b358d2a1a716f", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/cea015f11b3d1b41bbf826e6f724e444e5fda3cb", + "reference": "cea015f11b3d1b41bbf826e6f724e444e5fda3cb", "shasum": "" }, "require": { @@ -1575,20 +1660,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-08-30T01:52:09+00:00" + "time": "2024-09-17T08:30:28+00:00" }, { "name": "filament/forms", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "02fe2e211993f6291b719a093ed6f63e17125e9a" + "reference": "46a42dbc18f9273a3a59c54e94222fa62855c702" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/02fe2e211993f6291b719a093ed6f63e17125e9a", - "reference": "02fe2e211993f6291b719a093ed6f63e17125e9a", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/46a42dbc18f9273a3a59c54e94222fa62855c702", + "reference": "46a42dbc18f9273a3a59c54e94222fa62855c702", "shasum": "" }, "require": { @@ -1631,20 +1716,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-08-30T18:04:06+00:00" + "time": "2024-09-17T08:30:15+00:00" }, { "name": "filament/infolists", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "96403f2842e4c485f32110e4456b7a3bbcb1e835" + "reference": "dd6e2319aea92c5444c52792c750edfeb057f62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/96403f2842e4c485f32110e4456b7a3bbcb1e835", - "reference": "96403f2842e4c485f32110e4456b7a3bbcb1e835", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/dd6e2319aea92c5444c52792c750edfeb057f62a", + "reference": "dd6e2319aea92c5444c52792c750edfeb057f62a", "shasum": "" }, "require": { @@ -1682,11 +1767,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-08-14T16:52:44+00:00" + "time": "2024-09-17T08:30:15+00:00" }, { "name": "filament/notifications", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", @@ -1738,7 +1823,7 @@ }, { "name": "filament/spatie-laravel-tags-plugin", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/spatie-laravel-tags-plugin.git", @@ -1775,16 +1860,16 @@ }, { "name": "filament/support", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "78e25428c754fcbb30c321d5dda439c760de9837" + "reference": "d2825e1c116e50d440bb3e7ac56ebcb8d1ddf184" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/78e25428c754fcbb30c321d5dda439c760de9837", - "reference": "78e25428c754fcbb30c321d5dda439c760de9837", + "url": "https://api.github.com/repos/filamentphp/support/zipball/d2825e1c116e50d440bb3e7ac56ebcb8d1ddf184", + "reference": "d2825e1c116e50d440bb3e7ac56ebcb8d1ddf184", "shasum": "" }, "require": { @@ -1830,20 +1915,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-08-26T07:22:57+00:00" + "time": "2024-09-17T08:30:37+00:00" }, { "name": "filament/tables", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "129943d1b4e6c1edeef53e804eb56ef78a932a6c" + "reference": "75acf6f38a8ccfded57dc62bc3af0dd0bb04069d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/129943d1b4e6c1edeef53e804eb56ef78a932a6c", - "reference": "129943d1b4e6c1edeef53e804eb56ef78a932a6c", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/75acf6f38a8ccfded57dc62bc3af0dd0bb04069d", + "reference": "75acf6f38a8ccfded57dc62bc3af0dd0bb04069d", "shasum": "" }, "require": { @@ -1882,20 +1967,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-08-30T01:52:14+00:00" + "time": "2024-09-17T08:30:46+00:00" }, { "name": "filament/widgets", - "version": "v3.2.110", + "version": "v3.2.113", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "909fc82bae2cf41d70b3cd7dda8982245b2ea723" + "reference": "d168a97f0861b7964437652e64fa5af83212d1f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/909fc82bae2cf41d70b3cd7dda8982245b2ea723", - "reference": "909fc82bae2cf41d70b3cd7dda8982245b2ea723", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/d168a97f0861b7964437652e64fa5af83212d1f4", + "reference": "d168a97f0861b7964437652e64fa5af83212d1f4", "shasum": "" }, "require": { @@ -1926,7 +2011,7 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-07-31T11:53:30+00:00" + "time": "2024-09-17T08:30:51+00:00" }, { "name": "fruitcake/php-cors", @@ -2688,16 +2773,16 @@ }, { "name": "joshembling/image-optimizer", - "version": "v1.4.1", + "version": "v1.4.2", "source": { "type": "git", "url": "https://github.com/joshembling/image-optimizer.git", - "reference": "1798fdb54eb994ed653111f09663397ff2e6b194" + "reference": "9baf85a19534179ab8b30be22c17f3e6d8803a03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joshembling/image-optimizer/zipball/1798fdb54eb994ed653111f09663397ff2e6b194", - "reference": "1798fdb54eb994ed653111f09663397ff2e6b194", + "url": "https://api.github.com/repos/joshembling/image-optimizer/zipball/9baf85a19534179ab8b30be22c17f3e6d8803a03", + "reference": "9baf85a19534179ab8b30be22c17f3e6d8803a03", "shasum": "" }, "require": { @@ -2760,20 +2845,20 @@ "type": "github" } ], - "time": "2024-06-22T09:41:09+00:00" + "time": "2024-09-17T08:24:52+00:00" }, { "name": "kirschbaum-development/eloquent-power-joins", - "version": "3.5.7", + "version": "3.5.8", "source": { "type": "git", "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git", - "reference": "3f57b398117d97bae4dfd5c37ea0f8f48f296c97" + "reference": "397ef08f15ceff48111fd7f57d9f1fd41bf1a453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/3f57b398117d97bae4dfd5c37ea0f8f48f296c97", - "reference": "3f57b398117d97bae4dfd5c37ea0f8f48f296c97", + "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/397ef08f15ceff48111fd7f57d9f1fd41bf1a453", + "reference": "397ef08f15ceff48111fd7f57d9f1fd41bf1a453", "shasum": "" }, "require": { @@ -2820,22 +2905,22 @@ ], "support": { "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues", - "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.5.7" + "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.5.8" }, - "time": "2024-06-26T13:09:29+00:00" + "time": "2024-09-10T10:28:05+00:00" }, { "name": "laravel/framework", - "version": "v10.48.20", + "version": "v10.48.22", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "be2be342d4c74db6a8d2bd18469cd6d488ab9c98" + "reference": "c4ea52bb044faef4a103d7dd81746c01b2ec860e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/be2be342d4c74db6a8d2bd18469cd6d488ab9c98", - "reference": "be2be342d4c74db6a8d2bd18469cd6d488ab9c98", + "url": "https://api.github.com/repos/laravel/framework/zipball/c4ea52bb044faef4a103d7dd81746c01b2ec860e", + "reference": "c4ea52bb044faef4a103d7dd81746c01b2ec860e", "shasum": "" }, "require": { @@ -3029,7 +3114,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-08-09T07:55:45+00:00" + "time": "2024-09-12T15:00:09+00:00" }, { "name": "laravel/prompts", @@ -3692,16 +3777,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", "shasum": "" }, "require": { @@ -3732,7 +3817,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" }, "funding": [ { @@ -3744,7 +3829,7 @@ "type": "tidelift" } ], - "time": "2024-01-28T23:22:08+00:00" + "time": "2024-09-21T08:32:55+00:00" }, { "name": "league/uri", @@ -3922,16 +4007,16 @@ }, { "name": "livewire/livewire", - "version": "v3.5.6", + "version": "v3.5.8", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "597a2808d8d3001cc3ed5ce89a6ebab00f83b80f" + "reference": "ce1ce71b39a3492b98f7d2f2a4583f1b163fe6ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/597a2808d8d3001cc3ed5ce89a6ebab00f83b80f", - "reference": "597a2808d8d3001cc3ed5ce89a6ebab00f83b80f", + "url": "https://api.github.com/repos/livewire/livewire/zipball/ce1ce71b39a3492b98f7d2f2a4583f1b163fe6ae", + "reference": "ce1ce71b39a3492b98f7d2f2a4583f1b163fe6ae", "shasum": "" }, "require": { @@ -3986,7 +4071,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.5.6" + "source": "https://github.com/livewire/livewire/tree/v3.5.8" }, "funding": [ { @@ -3994,20 +4079,20 @@ "type": "github" } ], - "time": "2024-08-19T11:52:18+00:00" + "time": "2024-09-20T19:41:19+00:00" }, { "name": "maatwebsite/excel", - "version": "3.1.56", + "version": "3.1.58", "source": { "type": "git", "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "0381d0225b42c3f328d90f0dd05ca071fca3953f" + "reference": "18495a71b112f43af8ffab35111a58b4e4ba4a4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/0381d0225b42c3f328d90f0dd05ca071fca3953f", - "reference": "0381d0225b42c3f328d90f0dd05ca071fca3953f", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/18495a71b112f43af8ffab35111a58b4e4ba4a4d", + "reference": "18495a71b112f43af8ffab35111a58b4e4ba4a4d", "shasum": "" }, "require": { @@ -4015,7 +4100,7 @@ "ext-json": "*", "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0", "php": "^7.0||^8.0", - "phpoffice/phpspreadsheet": "^1.18", + "phpoffice/phpspreadsheet": "^1.29.1", "psr/simple-cache": "^1.0||^2.0||^3.0" }, "require-dev": { @@ -4063,7 +4148,7 @@ ], "support": { "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.56" + "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.58" }, "funding": [ { @@ -4075,7 +4160,7 @@ "type": "github" } ], - "time": "2024-08-19T09:40:43+00:00" + "time": "2024-09-07T13:53:36+00:00" }, { "name": "maennchen/zipstream-php", @@ -4772,16 +4857,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.1.0", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb", + "reference": "23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb", "shasum": "" }, "require": { @@ -4824,9 +4909,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.2.0" }, - "time": "2024-07-01T20:03:41+00:00" + "time": "2024-09-15T16:40:33+00:00" }, { "name": "nunomaduro/termwind", @@ -5009,16 +5094,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "1.29.0", + "version": "1.29.1", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" + "reference": "59ee38f7480904cd6487e5cbdea4d80ff2758719" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", - "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/59ee38f7480904cd6487e5cbdea4d80ff2758719", + "reference": "59ee38f7480904cd6487e5cbdea4d80ff2758719", "shasum": "" }, "require": { @@ -5053,7 +5138,7 @@ "phpcompatibility/php-compatibility": "^9.3", "phpstan/phpstan": "^1.1", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0", + "phpunit/phpunit": "^8.5 || ^9.0", "squizlabs/php_codesniffer": "^3.7", "tecnickcom/tcpdf": "^6.5" }, @@ -5108,9 +5193,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.1" }, - "time": "2023-06-14T22:48:31+00:00" + "time": "2024-09-03T00:55:32+00:00" }, { "name": "phpoption/phpoption", @@ -5614,16 +5699,16 @@ }, { "name": "psr/log", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "79dff0b268932c640297f5208d6298f71855c03e" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", - "reference": "79dff0b268932c640297f5208d6298f71855c03e", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -5658,9 +5743,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.1" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2024-08-21T13:31:24+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "psr/simple-cache", @@ -6242,16 +6327,16 @@ }, { "name": "spatie/color", - "version": "1.5.3", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spatie/color.git", - "reference": "49739265900cabce4640cd26c3266fd8d2cca390" + "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/color/zipball/49739265900cabce4640cd26c3266fd8d2cca390", - "reference": "49739265900cabce4640cd26c3266fd8d2cca390", + "url": "https://api.github.com/repos/spatie/color/zipball/02ce48c480f86d65702188f738f4e8ccad1b999a", + "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a", "shasum": "" }, "require": { @@ -6289,7 +6374,7 @@ ], "support": { "issues": "https://github.com/spatie/color/issues", - "source": "https://github.com/spatie/color/tree/1.5.3" + "source": "https://github.com/spatie/color/tree/1.6.0" }, "funding": [ { @@ -6297,7 +6382,7 @@ "type": "github" } ], - "time": "2022-12-18T12:58:32+00:00" + "time": "2024-09-20T14:00:15+00:00" }, { "name": "spatie/eloquent-sortable", @@ -6494,35 +6579,35 @@ }, { "name": "spatie/laravel-permission", - "version": "5.11.1", + "version": "6.9.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "7090824cca57e693b880ce3aaf7ef78362e28bbd" + "reference": "fe973a58b44380d0e8620107259b7bda22f70408" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/7090824cca57e693b880ce3aaf7ef78362e28bbd", - "reference": "7090824cca57e693b880ce3aaf7ef78362e28bbd", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/fe973a58b44380d0e8620107259b7bda22f70408", + "reference": "fe973a58b44380d0e8620107259b7bda22f70408", "shasum": "" }, "require": { - "illuminate/auth": "^7.0|^8.0|^9.0|^10.0", - "illuminate/container": "^7.0|^8.0|^9.0|^10.0", - "illuminate/contracts": "^7.0|^8.0|^9.0|^10.0", - "illuminate/database": "^7.0|^8.0|^9.0|^10.0", - "php": "^7.3|^8.0" + "illuminate/auth": "^8.12|^9.0|^10.0|^11.0", + "illuminate/container": "^8.12|^9.0|^10.0|^11.0", + "illuminate/contracts": "^8.12|^9.0|^10.0|^11.0", + "illuminate/database": "^8.12|^9.0|^10.0|^11.0", + "php": "^8.0" }, "require-dev": { - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0", - "phpunit/phpunit": "^9.4", - "predis/predis": "^1.1" + "laravel/passport": "^11.0|^12.0", + "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0", + "phpunit/phpunit": "^9.4|^10.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.x-dev", - "dev-master": "5.x-dev" + "dev-main": "6.x-dev", + "dev-master": "6.x-dev" }, "laravel": { "providers": [ @@ -6550,7 +6635,7 @@ "role": "Developer" } ], - "description": "Permission handling for Laravel 6.0 and up", + "description": "Permission handling for Laravel 8.0 and up", "homepage": "https://github.com/spatie/laravel-permission", "keywords": [ "acl", @@ -6564,7 +6649,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/5.11.1" + "source": "https://github.com/spatie/laravel-permission/tree/6.9.0" }, "funding": [ { @@ -6572,7 +6657,7 @@ "type": "github" } ], - "time": "2023-10-25T05:12:01+00:00" + "time": "2024-06-22T23:04:52+00:00" }, { "name": "spatie/laravel-tags", @@ -6792,16 +6877,16 @@ }, { "name": "symfony/console", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" + "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765", + "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765", "shasum": "" }, "require": { @@ -6866,7 +6951,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.11" + "source": "https://github.com/symfony/console/tree/v6.4.12" }, "funding": [ { @@ -6882,7 +6967,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T22:48:29+00:00" + "time": "2024-09-20T08:15:52+00:00" }, { "name": "symfony/css-selector", @@ -7249,16 +7334,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.9", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" + "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/f810e3cbdf7fdc35983968523d09f349fa9ada12", + "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12", "shasum": "" }, "require": { @@ -7295,7 +7380,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.9" + "source": "https://github.com/symfony/filesystem/tree/v6.4.12" }, "funding": [ { @@ -7311,7 +7396,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-09-16T16:01:33+00:00" }, { "name": "symfony/finder", @@ -7379,16 +7464,16 @@ }, { "name": "symfony/html-sanitizer", - "version": "v7.1.1", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "737cbaa8082b696d0574afd91b9f471eca67fc65" + "reference": "89bf376c056926bd7fe8a81c0f486a060e20fdbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/737cbaa8082b696d0574afd91b9f471eca67fc65", - "reference": "737cbaa8082b696d0574afd91b9f471eca67fc65", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/89bf376c056926bd7fe8a81c0f486a060e20fdbc", + "reference": "89bf376c056926bd7fe8a81c0f486a060e20fdbc", "shasum": "" }, "require": { @@ -7428,7 +7513,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v7.1.1" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.1.5" }, "funding": [ { @@ -7444,20 +7529,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:55:39+00:00" + "time": "2024-09-20T13:35:23+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.10", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" + "reference": "133ac043875f59c26c55e79cf074562127cce4d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2", + "reference": "133ac043875f59c26c55e79cf074562127cce4d2", "shasum": "" }, "require": { @@ -7505,7 +7590,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.12" }, "funding": [ { @@ -7521,20 +7606,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:36:27+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" + "reference": "96df83d51b5f78804f70c093b97310794fd6257b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b", + "reference": "96df83d51b5f78804f70c093b97310794fd6257b", "shasum": "" }, "require": { @@ -7619,7 +7704,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.12" }, "funding": [ { @@ -7635,20 +7720,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:57:20+00:00" + "time": "2024-09-21T06:02:57+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.9", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" + "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26", + "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26", "shasum": "" }, "require": { @@ -7699,7 +7784,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.9" + "source": "https://github.com/symfony/mailer/tree/v6.4.12" }, "funding": [ { @@ -7715,20 +7800,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:59:05+00:00" + "time": "2024-09-08T12:30:05+00:00" }, { "name": "symfony/mime", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" + "reference": "abe16ee7790b16aa525877419deb0f113953f0e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1", + "reference": "abe16ee7790b16aa525877419deb0f113953f0e1", "shasum": "" }, "require": { @@ -7784,7 +7869,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.11" + "source": "https://github.com/symfony/mime/tree/v6.4.12" }, "funding": [ { @@ -7800,24 +7885,24 @@ "type": "tidelift" } ], - "time": "2024-08-13T12:15:02+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -7863,7 +7948,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { @@ -7879,24 +7964,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -7941,7 +8026,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -7957,26 +8042,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -8025,7 +8109,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" }, "funding": [ { @@ -8041,24 +8125,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -8106,7 +8190,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -8122,24 +8206,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -8186,7 +8270,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -8202,97 +8286,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "10112722600777e02d2745716b70c5db4ca70442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", - "reference": "10112722600777e02d2745716b70c5db4ca70442", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -8339,7 +8350,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" }, "funding": [ { @@ -8355,24 +8366,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -8415,7 +8426,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" }, "funding": [ { @@ -8431,24 +8442,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:35:24+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-uuid": "*" @@ -8494,7 +8505,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0" }, "funding": [ { @@ -8510,20 +8521,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/process", - "version": "v6.4.8", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" + "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3", + "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3", "shasum": "" }, "require": { @@ -8555,7 +8566,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.8" + "source": "https://github.com/symfony/process/tree/v6.4.12" }, "funding": [ { @@ -8571,20 +8582,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-17T12:47:12+00:00" }, { "name": "symfony/routing", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" + "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f", + "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f", "shasum": "" }, "require": { @@ -8638,7 +8649,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.11" + "source": "https://github.com/symfony/routing/tree/v6.4.12" }, "funding": [ { @@ -8654,7 +8665,7 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-09-20T08:32:26+00:00" }, { "name": "symfony/service-contracts", @@ -8741,16 +8752,16 @@ }, { "name": "symfony/string", - "version": "v7.1.4", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b" + "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/6cd670a6d968eaeb1c77c2e76091c45c56bc367b", - "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b", + "url": "https://api.github.com/repos/symfony/string/zipball/d66f9c343fa894ec2037cc928381df90a7ad4306", + "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306", "shasum": "" }, "require": { @@ -8808,7 +8819,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.4" + "source": "https://github.com/symfony/string/tree/v7.1.5" }, "funding": [ { @@ -8824,20 +8835,20 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:59:40+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/translation", - "version": "v6.4.10", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9" + "reference": "cf8360b8352b086be620fae8342c4d96e391a489" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9", - "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9", + "url": "https://api.github.com/repos/symfony/translation/zipball/cf8360b8352b086be620fae8342c4d96e391a489", + "reference": "cf8360b8352b086be620fae8342c4d96e391a489", "shasum": "" }, "require": { @@ -8903,7 +8914,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.10" + "source": "https://github.com/symfony/translation/tree/v6.4.12" }, "funding": [ { @@ -8919,7 +8930,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-09-16T06:02:54+00:00" }, { "name": "symfony/translation-contracts", @@ -9001,16 +9012,16 @@ }, { "name": "symfony/uid", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "6a0394ad707de386547223948fac1e0f2805bc0b" + "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/6a0394ad707de386547223948fac1e0f2805bc0b", - "reference": "6a0394ad707de386547223948fac1e0f2805bc0b", + "url": "https://api.github.com/repos/symfony/uid/zipball/2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", + "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", "shasum": "" }, "require": { @@ -9055,7 +9066,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.11" + "source": "https://github.com/symfony/uid/tree/v6.4.12" }, "funding": [ { @@ -9071,7 +9082,7 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-20T08:32:26+00:00" }, { "name": "symfony/var-dumper", @@ -9617,23 +9628,23 @@ "packages-dev": [ { "name": "barryvdh/laravel-debugbar", - "version": "v3.13.5", + "version": "v3.14.0", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "92d86be45ee54edff735e46856f64f14b6a8bb07" + "reference": "16a13cc5221aee90ae20aa59083ced2211e714eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/92d86be45ee54edff735e46856f64f14b6a8bb07", - "reference": "92d86be45ee54edff735e46856f64f14b6a8bb07", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/16a13cc5221aee90ae20aa59083ced2211e714eb", + "reference": "16a13cc5221aee90ae20aa59083ced2211e714eb", "shasum": "" }, "require": { "illuminate/routing": "^9|^10|^11", "illuminate/session": "^9|^10|^11", "illuminate/support": "^9|^10|^11", - "maximebf/debugbar": "~1.22.0", + "maximebf/debugbar": "~1.23.0", "php": "^8.0", "symfony/finder": "^6|^7" }, @@ -9646,7 +9657,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.13-dev" + "dev-master": "3.14-dev" }, "laravel": { "providers": [ @@ -9685,7 +9696,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.13.5" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.14.0" }, "funding": [ { @@ -9697,7 +9708,7 @@ "type": "github" } ], - "time": "2024-04-12T11:20:37+00:00" + "time": "2024-09-20T12:16:37+00:00" }, { "name": "filp/whoops", @@ -9885,16 +9896,16 @@ }, { "name": "laravel/pint", - "version": "v1.17.2", + "version": "v1.17.3", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110" + "reference": "9d77be916e145864f10788bb94531d03e1f7b482" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/e8a88130a25e3f9d4d5785e6a1afca98268ab110", - "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110", + "url": "https://api.github.com/repos/laravel/pint/zipball/9d77be916e145864f10788bb94531d03e1f7b482", + "reference": "9d77be916e145864f10788bb94531d03e1f7b482", "shasum": "" }, "require": { @@ -9905,13 +9916,13 @@ "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.61.1", - "illuminate/view": "^10.48.18", + "friendsofphp/php-cs-fixer": "^3.64.0", + "illuminate/view": "^10.48.20", "larastan/larastan": "^2.9.8", "laravel-zero/framework": "^10.4.0", "mockery/mockery": "^1.6.12", "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.35.0" + "pestphp/pest": "^2.35.1" }, "bin": [ "builds/pint" @@ -9947,20 +9958,20 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-08-06T15:11:54+00:00" + "time": "2024-09-03T15:00:28+00:00" }, { "name": "laravel/sail", - "version": "v1.31.1", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85" + "reference": "4a7e41d280861ca7e35710cea011a07669b4003b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/3d06dd18cee8059baa7b388af00ba47f6d96bd85", - "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85", + "url": "https://api.github.com/repos/laravel/sail/zipball/4a7e41d280861ca7e35710cea011a07669b4003b", + "reference": "4a7e41d280861ca7e35710cea011a07669b4003b", "shasum": "" }, "require": { @@ -10010,20 +10021,20 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-08-02T07:45:47+00:00" + "time": "2024-09-11T20:14:29+00:00" }, { "name": "maximebf/debugbar", - "version": "v1.22.3", + "version": "v1.23.2", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "7aa9a27a0b1158ed5ad4e7175e8d3aee9a818b96" + "reference": "689720d724c771ac4add859056744b7b3f2406da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/7aa9a27a0b1158ed5ad4e7175e8d3aee9a818b96", - "reference": "7aa9a27a0b1158ed5ad4e7175e8d3aee9a818b96", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/689720d724c771ac4add859056744b7b3f2406da", + "reference": "689720d724c771ac4add859056744b7b3f2406da", "shasum": "" }, "require": { @@ -10045,7 +10056,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.22-dev" + "dev-master": "1.23-dev" } }, "autoload": { @@ -10076,9 +10087,9 @@ ], "support": { "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.22.3" + "source": "https://github.com/maximebf/php-debugbar/tree/v1.23.2" }, - "time": "2024-04-03T19:39:26+00:00" + "time": "2024-09-16T11:23:09+00:00" }, { "name": "mockery/mockery", @@ -10760,16 +10771,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.30", + "version": "10.5.35", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b15524febac0153876b4ba9aab3326c2ee94c897" + "reference": "7ac8b4e63f456046dcb4c9787da9382831a1874b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b15524febac0153876b4ba9aab3326c2ee94c897", - "reference": "b15524febac0153876b4ba9aab3326c2ee94c897", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7ac8b4e63f456046dcb4c9787da9382831a1874b", + "reference": "7ac8b4e63f456046dcb4c9787da9382831a1874b", "shasum": "" }, "require": { @@ -10783,7 +10794,7 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-code-coverage": "^10.1.16", "phpunit/php-file-iterator": "^4.1.0", "phpunit/php-invoker": "^4.0.0", "phpunit/php-text-template": "^3.0.1", @@ -10841,7 +10852,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.30" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.35" }, "funding": [ { @@ -10857,7 +10868,7 @@ "type": "tidelift" } ], - "time": "2024-08-13T06:09:37+00:00" + "time": "2024-09-19T10:52:21+00:00" }, { "name": "sebastian/cli-parser", @@ -11777,16 +11788,16 @@ }, { "name": "symfony/yaml", - "version": "v7.1.4", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b" + "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/92e080b851c1c655c786a2da77f188f2dccd0f4b", - "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4e561c316e135e053bd758bf3b3eb291d9919de4", + "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4", "shasum": "" }, "require": { @@ -11828,7 +11839,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.4" + "source": "https://github.com/symfony/yaml/tree/v7.1.5" }, "funding": [ { @@ -11844,7 +11855,7 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:59:40+00:00" + "time": "2024-09-17T12:49:58+00:00" }, { "name": "theseer/tokenizer", diff --git a/config/app.php b/config/app.php index 1d35b6b..b5b8dbd 100644 --- a/config/app.php +++ b/config/app.php @@ -157,7 +157,6 @@ return [ 'providers' => ServiceProvider::defaultProviders()->merge([ - Spatie\Permission\PermissionServiceProvider::class, /* * Package Service Providers... */ @@ -170,6 +169,7 @@ return [ // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\Filament\AdminPanelProvider::class, + App\Providers\Filament\DashboardPanelProvider::class, App\Providers\RouteServiceProvider::class, ])->toArray(), diff --git a/config/filament-shield.php b/config/filament-shield.php new file mode 100644 index 0000000..6cfeb2b --- /dev/null +++ b/config/filament-shield.php @@ -0,0 +1,94 @@ + [ + 'should_register_navigation' => true, + 'slug' => 'shield/roles', + 'navigation_sort' => -1, + 'navigation_badge' => true, + 'navigation_group' => true, + 'is_globally_searchable' => false, + 'show_model_path' => true, + 'is_scoped_to_tenant' => true, + 'cluster' => null, + ], + + 'auth_provider_model' => [ + 'fqcn' => 'App\\Models\\User', + ], + + 'super_admin' => [ + 'enabled' => true, + 'name' => 'super_admin', + 'define_via_gate' => false, + 'intercept_gate' => 'before', // after + ], + + 'panel_user' => [ + 'enabled' => false, + 'name' => 'panel_user', + ], + + 'dashboard_user' => [ + 'enabled' => true, + 'name' => 'dashboard_user', + ], + + 'permission_prefixes' => [ + 'resource' => [ + 'view', + 'view_any', + 'create', + 'update', + 'restore', + 'restore_any', + 'replicate', + 'reorder', + 'delete', + 'delete_any', + 'force_delete', + 'force_delete_any', + ], + + 'page' => 'page', + 'widget' => 'widget', + ], + + 'entities' => [ + 'pages' => true, + 'widgets' => true, + 'resources' => true, + 'custom_permissions' => false, + ], + + 'generator' => [ + 'option' => 'policies_and_permissions', + 'policy_directory' => 'Policies', + 'policy_namespace' => 'Policies', + ], + + 'exclude' => [ + 'enabled' => true, + + 'pages' => [ + 'Dashboard', + ], + + 'widgets' => [ + 'AccountWidget', 'FilamentInfoWidget', + ], + + 'resources' => [], + ], + + 'discovery' => [ + 'discover_all_resources' => false, + 'discover_all_widgets' => false, + 'discover_all_pages' => false, + ], + + 'register_role_policy' => [ + 'enabled' => true, + ], + +]; diff --git a/database/factories/PostFactory.php b/database/factories/PostFactory.php index 8015513..67753b0 100644 --- a/database/factories/PostFactory.php +++ b/database/factories/PostFactory.php @@ -2,7 +2,9 @@ namespace Database\Factories; +use App\Enums\PostStatus; use App\Models\Category; +use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; @@ -33,12 +35,13 @@ class PostFactory extends Factory ], ]; }, range(1, $this->faker->numberBetween(1, 5))); - $status = $this->faker->randomElement(['verification', 'published', 'rejected']); + $status = $this->faker->randomElement([PostStatus::VERIFICATION, PostStatus::PUBLISHED, PostStatus::REJECTED]); $authorsCount = $this->faker->numberBetween(1, 5); $authors = array_fill(0, $authorsCount, $this->faker->name); $imagesCount = $this->faker->numberBetween(1, 5); $images = array_fill(0, $imagesCount, $this->faker->uuid . '.jpg'); $category_id = Category::inRandomOrder()->first(); + $user_id = User::inRandomOrder()->first(); $search_data = $this->faker->words(10, true); $reading_time = $this->faker->numberBetween(5, 30); @@ -46,6 +49,7 @@ class PostFactory extends Factory return [ 'title' => $title, 'slug' => $slug, + 'preview_text' => $this->faker->paragraph, 'content' => $content, 'status' => $status, 'authors' => $authors, @@ -53,6 +57,8 @@ class PostFactory extends Factory 'search_data' => $search_data, 'reading_time' => $reading_time, 'category_id' => $category_id, + 'user_id' => $user_id, + 'publish_at' => ($status == PostStatus::PUBLISHED) ? now() : null, 'created_at' => now(), 'updated_at' => now(), ]; diff --git a/database/migrations/2023_10_18_112933_create_permission_tables.php b/database/migrations/0000_2024_09_24_224028_create_permission_tables.php similarity index 71% rename from database/migrations/2023_10_18_112933_create_permission_tables.php rename to database/migrations/0000_2024_09_24_224028_create_permission_tables.php index 04c3278..9c7044b 100644 --- a/database/migrations/2023_10_18_112933_create_permission_tables.php +++ b/database/migrations/0000_2024_09_24_224028_create_permission_tables.php @@ -3,20 +3,19 @@ use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; -use Spatie\Permission\PermissionRegistrar; -class CreatePermissionTables extends Migration +return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() + public function up(): void { + $teams = config('permission.teams'); $tableNames = config('permission.table_names'); $columnNames = config('permission.column_names'); - $teams = config('permission.teams'); + $pivotRole = $columnNames['role_pivot_key'] ?? 'role_id'; + $pivotPermission = $columnNames['permission_pivot_key'] ?? 'permission_id'; if (empty($tableNames)) { throw new \Exception('Error: config/permission.php not loaded. Run [php artisan config:clear] and try again.'); @@ -26,22 +25,24 @@ class CreatePermissionTables extends Migration } Schema::create($tableNames['permissions'], function (Blueprint $table) { + //$table->engine('InnoDB'); $table->bigIncrements('id'); // permission id - $table->string('name'); // For MySQL 8.0 use string('name', 125); - $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); + $table->string('name'); // For MyISAM use string('name', 225); // (or 166 for InnoDB with Redundant/Compact row format) + $table->string('guard_name'); // For MyISAM use string('guard_name', 25); $table->timestamps(); $table->unique(['name', 'guard_name']); }); Schema::create($tableNames['roles'], function (Blueprint $table) use ($teams, $columnNames) { + //$table->engine('InnoDB'); $table->bigIncrements('id'); // role id if ($teams || config('permission.testing')) { // permission.testing is a fix for sqlite testing $table->unsignedBigInteger($columnNames['team_foreign_key'])->nullable(); $table->index($columnNames['team_foreign_key'], 'roles_team_foreign_key_index'); } - $table->string('name'); // For MySQL 8.0 use string('name', 125); - $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); + $table->string('name'); // For MyISAM use string('name', 225); // (or 166 for InnoDB with Redundant/Compact row format) + $table->string('guard_name'); // For MyISAM use string('guard_name', 25); $table->timestamps(); if ($teams || config('permission.testing')) { $table->unique([$columnNames['team_foreign_key'], 'name', 'guard_name']); @@ -50,14 +51,14 @@ class CreatePermissionTables extends Migration } }); - Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames, $teams) { - $table->unsignedBigInteger(PermissionRegistrar::$pivotPermission); + Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames, $pivotPermission, $teams) { + $table->unsignedBigInteger($pivotPermission); $table->string('model_type'); $table->unsignedBigInteger($columnNames['model_morph_key']); $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index'); - $table->foreign(PermissionRegistrar::$pivotPermission) + $table->foreign($pivotPermission) ->references('id') // permission id ->on($tableNames['permissions']) ->onDelete('cascade'); @@ -65,23 +66,23 @@ class CreatePermissionTables extends Migration $table->unsignedBigInteger($columnNames['team_foreign_key']); $table->index($columnNames['team_foreign_key'], 'model_has_permissions_team_foreign_key_index'); - $table->primary([$columnNames['team_foreign_key'], PermissionRegistrar::$pivotPermission, $columnNames['model_morph_key'], 'model_type'], + $table->primary([$columnNames['team_foreign_key'], $pivotPermission, $columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_permission_model_type_primary'); } else { - $table->primary([PermissionRegistrar::$pivotPermission, $columnNames['model_morph_key'], 'model_type'], + $table->primary([$pivotPermission, $columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_permission_model_type_primary'); } }); - Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames, $teams) { - $table->unsignedBigInteger(PermissionRegistrar::$pivotRole); + Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames, $pivotRole, $teams) { + $table->unsignedBigInteger($pivotRole); $table->string('model_type'); $table->unsignedBigInteger($columnNames['model_morph_key']); $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index'); - $table->foreign(PermissionRegistrar::$pivotRole) + $table->foreign($pivotRole) ->references('id') // role id ->on($tableNames['roles']) ->onDelete('cascade'); @@ -89,29 +90,29 @@ class CreatePermissionTables extends Migration $table->unsignedBigInteger($columnNames['team_foreign_key']); $table->index($columnNames['team_foreign_key'], 'model_has_roles_team_foreign_key_index'); - $table->primary([$columnNames['team_foreign_key'], PermissionRegistrar::$pivotRole, $columnNames['model_morph_key'], 'model_type'], + $table->primary([$columnNames['team_foreign_key'], $pivotRole, $columnNames['model_morph_key'], 'model_type'], 'model_has_roles_role_model_type_primary'); } else { - $table->primary([PermissionRegistrar::$pivotRole, $columnNames['model_morph_key'], 'model_type'], + $table->primary([$pivotRole, $columnNames['model_morph_key'], 'model_type'], 'model_has_roles_role_model_type_primary'); } }); - Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) { - $table->unsignedBigInteger(PermissionRegistrar::$pivotPermission); - $table->unsignedBigInteger(PermissionRegistrar::$pivotRole); + Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames, $pivotRole, $pivotPermission) { + $table->unsignedBigInteger($pivotPermission); + $table->unsignedBigInteger($pivotRole); - $table->foreign(PermissionRegistrar::$pivotPermission) + $table->foreign($pivotPermission) ->references('id') // permission id ->on($tableNames['permissions']) ->onDelete('cascade'); - $table->foreign(PermissionRegistrar::$pivotRole) + $table->foreign($pivotRole) ->references('id') // role id ->on($tableNames['roles']) ->onDelete('cascade'); - $table->primary([PermissionRegistrar::$pivotPermission, PermissionRegistrar::$pivotRole], 'role_has_permissions_permission_id_role_id_primary'); + $table->primary([$pivotPermission, $pivotRole], 'role_has_permissions_permission_id_role_id_primary'); }); app('cache') @@ -121,10 +122,8 @@ class CreatePermissionTables extends Migration /** * Reverse the migrations. - * - * @return void */ - public function down() + public function down(): void { $tableNames = config('permission.table_names'); @@ -138,4 +137,4 @@ class CreatePermissionTables extends Migration Schema::drop($tableNames['roles']); Schema::drop($tableNames['permissions']); } -} +}; diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/000_2014_10_12_000000_create_users_table.php similarity index 100% rename from database/migrations/2014_10_12_000000_create_users_table.php rename to database/migrations/000_2014_10_12_000000_create_users_table.php diff --git a/database/migrations/01_2023_10_15_100001_create_posts_table.php b/database/migrations/01_2023_10_15_100001_create_posts_table.php index 5bfac49..b848337 100644 --- a/database/migrations/01_2023_10_15_100001_create_posts_table.php +++ b/database/migrations/01_2023_10_15_100001_create_posts_table.php @@ -15,15 +15,19 @@ return new class extends Migration $table->id(); $table->string('title'); $table->string('slug')->unique(); + $table->text('preview_text')->nullable(); $table->text('content'); $table->string('status'); $table->text('authors'); $table->text('images')->nullable(); - $table->unsignedBigInteger('category_id')->nullable(); - $table->foreign('category_id')->references('id')->on('categories'); $table->string('preview')->nullable(); $table->text('search_data')->nullable(); $table->text('reading_time')->nullable(); + $table->unsignedBigInteger('category_id')->nullable(); + $table->foreign('category_id')->references('id')->on('categories'); + $table->unsignedBigInteger('user_id')->nullable(); + $table->foreign('user_id')->references('id')->on('users')->cascadeOnUpdate()->nullOnDelete();; + $table->dateTime('publish_at')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2023_11_24_110601_create_shedules_table.php b/database/migrations/2023_11_24_110601_create_shedules_table.php index dfb0f7d..4f8ea88 100644 --- a/database/migrations/2023_11_24_110601_create_shedules_table.php +++ b/database/migrations/2023_11_24_110601_create_shedules_table.php @@ -13,10 +13,11 @@ return new class extends Migration { Schema::create('schedules', function (Blueprint $table) { $table->id(); - $table->string('title'); - $table->text('days'); - $table->string('type'); +// $table->string('title'); $table->boolean('is_zaoch'); + $table->text('file'); +// $table->text('days'); +// $table->string('type'); $table->unsignedBigInteger('educational_group_id'); $table->foreign('educational_group_id')->references('id')->on('educational_groups')->onDelete('cascade'); $table->timestamps(); diff --git a/database/migrations/2024_09_22_044436_create_invitations_table.php b/database/migrations/2024_09_22_044436_create_invitations_table.php new file mode 100644 index 0000000..88f7914 --- /dev/null +++ b/database/migrations/2024_09_22_044436_create_invitations_table.php @@ -0,0 +1,30 @@ +id(); + $table->string('email'); + $table->unsignedBigInteger('user_id')->nullable(); + $table->foreign('user_id')->references('id')->on('users'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('invitations'); + } +}; diff --git a/database/migrations/2024_09_22_192224_create_accepted_invitations_table.php b/database/migrations/2024_09_22_192224_create_accepted_invitations_table.php new file mode 100644 index 0000000..a7e2e3f --- /dev/null +++ b/database/migrations/2024_09_22_192224_create_accepted_invitations_table.php @@ -0,0 +1,30 @@ +id(); + $table->foreignId('sender_id')->constrained('users')->onDelete('cascade'); + $table->foreignId('receiver_id')->constrained('users')->onDelete('cascade'); + $table->integer('post_limit'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('accepted_invitations'); + } +}; diff --git a/database/migrations/2024_10_01_111328_create_seos_table.php b/database/migrations/2024_10_01_111328_create_seos_table.php new file mode 100644 index 0000000..44b89e4 --- /dev/null +++ b/database/migrations/2024_10_01_111328_create_seos_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('title')->nullable(); + $table->text('description')->nullable(); + $table->string('image')->nullable(); + $table->morphs('seoable'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('seos'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 5e3240d..b9b7b3a 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -28,7 +28,7 @@ class DatabaseSeeder extends Seeder User::create([ 'name' => 'Failj', 'email' => 'Failj@bk.ru', - 'password' => Hash::make('2288'), + 'password' => "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi", ]); User::factory()->count(50)->has(UserDetail::factory())->create(); EventCategory::factory()->count(10)->create(); diff --git a/package-lock.json b/package-lock.json index 5a63de1..0b906a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@inertiajs/inertia-vue3": "^0.6.0", "@preline/combobox": "^2.1.0", "@preline/copy-markup": "^2.0.1", - "@preline/overlay": "^2.4.1", + "@preline/overlay": "^1.4.0", "@preline/scrollspy": "^2.0.0", "@preline/select": "^2.0.1", "flowbite": "^1.8.1", @@ -50,11 +50,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -62,6 +83,20 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -607,34 +642,34 @@ } }, "node_modules/@preline/combobox": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@preline/combobox/-/combobox-2.3.0.tgz", - "integrity": "sha512-X2vzKpCtV6yPlaVWbYkrBg2+Vrp0xzKDY5JZtwdWb99PdQMoaKVLnmgrQDKuw6yoV0JJdGJvncauhrzI70FTXQ==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@preline/combobox/-/combobox-2.5.0.tgz", + "integrity": "sha512-fioCzs49O5omGXuxRK076YCrjQ6eYtM25WmQc5TEjfpdcYOWFfGinby+6/BLI3+xMljf4MlipnwxFpe7HY34wQ==" }, "node_modules/@preline/copy-markup": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@preline/copy-markup/-/copy-markup-2.3.0.tgz", - "integrity": "sha512-HUxKCOwR71F9lj3+/enQ6WUzd6CNA1mBjcFaRyxpgCZuv8g8WrHsEatAKRM/da6Bq/lFTwk05V6DluUyvyuz7A==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@preline/copy-markup/-/copy-markup-2.5.0.tgz", + "integrity": "sha512-yx0MEIRwcka8XRVLi/8g8f1Vef1sVrBR9pZ91SmQVUkbjfSkI/xn7ynWVzrisvIWoBO2J8OzCnLecegAxbFeYw==" }, "node_modules/@preline/overlay": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@preline/overlay/-/overlay-2.4.1.tgz", - "integrity": "sha512-ZchnVlntiIopOOkDKClVpRryVDGvGPswq4911wl0ZAjOdag09nTs2KKJ4qet9AYn1/o2uOGexDvIAJ6iIAakRQ==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@preline/overlay/-/overlay-1.4.0.tgz", + "integrity": "sha512-K3Ybp1jGkonimWIlS986Lzz/4ezuYNqQNTK2ZS0tDka69hzutA10CraAeflEHG2A1n7EzWkZE1vjLuy7s7pgjg==" }, "node_modules/@preline/scrollspy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@preline/scrollspy/-/scrollspy-2.3.0.tgz", - "integrity": "sha512-BbgLAEOgumY3EWv86jMr/MGh6wituStNikmXMKQjEIe950wkFvNM6te1yNjmRSXUxQVMVdC4+8trohudQXfjNA==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@preline/scrollspy/-/scrollspy-2.5.0.tgz", + "integrity": "sha512-sZisX6CXpUZJ2o9BdxGX5Ai4GAvytVZtRgquZmtyhIiSLIHQOCfECrGSYe8yR0JiXvzccIoKEn/bto2uQgJoYw==" }, "node_modules/@preline/select": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@preline/select/-/select-2.3.0.tgz", - "integrity": "sha512-qbL9uOvOdugo9uqRt7QIHJ5emi/vzRIKTsVFKMfjLHZAZ+XHWysjOOyPMluA++YvIwKuAhcE0EBb3znGYVu5VQ==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@preline/select/-/select-2.5.0.tgz", + "integrity": "sha512-VDHU6VBgOyCAd85WTgWtP+AlvOWZX0K/F/F+lzhdpcp8QtiyezvSkMITHm7hs2IHTQ9/yPoNj53ZOeJHThE70g==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", - "integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "cpu": [ "arm" ], @@ -645,9 +680,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz", - "integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "cpu": [ "arm64" ], @@ -658,9 +693,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz", - "integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], @@ -671,9 +706,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz", - "integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "cpu": [ "x64" ], @@ -684,9 +719,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz", - "integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "cpu": [ "arm" ], @@ -697,9 +732,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz", - "integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "cpu": [ "arm" ], @@ -710,9 +745,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz", - "integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "cpu": [ "arm64" ], @@ -723,9 +758,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz", - "integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "cpu": [ "arm64" ], @@ -736,9 +771,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz", - "integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "cpu": [ "ppc64" ], @@ -749,9 +784,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz", - "integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "cpu": [ "riscv64" ], @@ -762,9 +797,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz", - "integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "cpu": [ "s390x" ], @@ -775,9 +810,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz", - "integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "cpu": [ "x64" ], @@ -788,9 +823,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz", - "integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "cpu": [ "x64" ], @@ -801,9 +836,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz", - "integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "cpu": [ "arm64" ], @@ -814,9 +849,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz", - "integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "cpu": [ "ia32" ], @@ -827,9 +862,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz", - "integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "cpu": [ "x64" ], @@ -840,15 +875,15 @@ ] }, "node_modules/@tailwindcss/forms": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", - "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz", + "integrity": "sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==", "dev": true, "dependencies": { "mini-svg-data-uri": "^1.2.3" }, "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20" } }, "node_modules/@types/estree": { @@ -871,109 +906,109 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.31.tgz", - "integrity": "sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.8.tgz", + "integrity": "sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==", "dev": true, "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.31", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.8", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz", - "integrity": "sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.8.tgz", + "integrity": "sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.4.31", - "@vue/shared": "3.4.31" + "@vue/compiler-core": "3.5.8", + "@vue/shared": "3.5.8" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz", - "integrity": "sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.8.tgz", + "integrity": "sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==", "dev": true, "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/compiler-core": "3.4.31", - "@vue/compiler-dom": "3.4.31", - "@vue/compiler-ssr": "3.4.31", - "@vue/shared": "3.4.31", + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.8", + "@vue/compiler-dom": "3.5.8", + "@vue/compiler-ssr": "3.5.8", + "@vue/shared": "3.5.8", "estree-walker": "^2.0.2", - "magic-string": "^0.30.10", - "postcss": "^8.4.38", + "magic-string": "^0.30.11", + "postcss": "^8.4.47", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz", - "integrity": "sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.8.tgz", + "integrity": "sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.4.31", - "@vue/shared": "3.4.31" + "@vue/compiler-dom": "3.5.8", + "@vue/shared": "3.5.8" } }, "node_modules/@vue/reactivity": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.31.tgz", - "integrity": "sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.8.tgz", + "integrity": "sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==", "dev": true, "dependencies": { - "@vue/shared": "3.4.31" + "@vue/shared": "3.5.8" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.31.tgz", - "integrity": "sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.8.tgz", + "integrity": "sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==", "dev": true, "dependencies": { - "@vue/reactivity": "3.4.31", - "@vue/shared": "3.4.31" + "@vue/reactivity": "3.5.8", + "@vue/shared": "3.5.8" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz", - "integrity": "sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.8.tgz", + "integrity": "sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==", "dev": true, "dependencies": { - "@vue/reactivity": "3.4.31", - "@vue/runtime-core": "3.4.31", - "@vue/shared": "3.4.31", + "@vue/reactivity": "3.5.8", + "@vue/runtime-core": "3.5.8", + "@vue/shared": "3.5.8", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.31.tgz", - "integrity": "sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.8.tgz", + "integrity": "sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==", "dev": true, "dependencies": { - "@vue/compiler-ssr": "3.4.31", - "@vue/shared": "3.4.31" + "@vue/compiler-ssr": "3.5.8", + "@vue/shared": "3.5.8" }, "peerDependencies": { - "vue": "3.4.31" + "vue": "3.5.8" } }, "node_modules/@vue/shared": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.31.tgz", - "integrity": "sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.8.tgz", + "integrity": "sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==", "dev": true }, "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "engines": { "node": ">=12" @@ -1026,9 +1061,9 @@ "dev": true }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -1045,11 +1080,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -1063,9 +1098,9 @@ } }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "dev": true, "dependencies": { "follow-redirects": "^1.15.6", @@ -1113,9 +1148,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1132,9 +1167,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -1182,9 +1217,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001641", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", - "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==", + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "dev": true, "funding": [ { @@ -1283,9 +1318,9 @@ } }, "node_modules/core-js": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", - "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", "dev": true, "hasInstallScript": true, "funding": { @@ -1407,9 +1442,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.822", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.822.tgz", - "integrity": "sha512-qJzHIt4dRRFKjHHvaExCrG95F65kUP3xysaEZ4I2+/R/uIyr5Ar5g/rkAnrRz0parRUYwzpqN8Pz1HgoiYQPpg==", + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==", "dev": true }, "node_modules/emoji-regex": { @@ -1488,9 +1523,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -1567,9 +1602,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -1586,9 +1621,9 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -1643,9 +1678,9 @@ } }, "node_modules/fslightbox": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/fslightbox/-/fslightbox-3.4.1.tgz", - "integrity": "sha512-/YkPP9jCnZMIlPuJPUo10JTCOCntU0vHeIKe0cB5ruR0ss2QCLhzxY5h24grZ2gUsF//0NXik7iGMU05RV/jcg==" + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/fslightbox/-/fslightbox-3.4.2.tgz", + "integrity": "sha512-vrPUNgFBioRPzc54BHnryR5yML1vlJYaEP/y1hpYFl/EKXsv76WhEB83iDr6Fr1hUvUBTnfW8ggyKIdARw9xZw==" }, "node_modules/fslightbox-vue": { "version": "2.1.3", @@ -1781,9 +1816,9 @@ } }, "node_modules/is-core-module": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", - "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "dependencies": { "hasown": "^2.0.2" @@ -1841,16 +1876,13 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.2.tgz", - "integrity": "sha512-qH3nOSj8q/8+Eg8LUPOq3C+6HWkpUioIjDsq1+D4zY91oZvpPttw8GwtF1nReRYKXl+1AORyFqtm2f5Q1SB6/Q==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": "14 >=14.21 || 16 >=16.20 || >=18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -1921,12 +1953,12 @@ "dev": true }, "node_modules/magic-string": { - "version": "0.30.10", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", - "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/merge2": { @@ -1939,9 +1971,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { "braces": "^3.0.3", @@ -2034,9 +2066,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-path": { @@ -2130,9 +2162,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, "node_modules/picomatch": { @@ -2166,9 +2198,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "funding": [ { @@ -2186,8 +2218,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -2277,28 +2309,34 @@ } }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -2329,9 +2367,9 @@ "dev": true }, "node_modules/qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { "side-channel": "^1.0.6" }, @@ -2417,9 +2455,9 @@ } }, "node_modules/rollup": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz", - "integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -2432,22 +2470,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.1", - "@rollup/rollup-android-arm64": "4.18.1", - "@rollup/rollup-darwin-arm64": "4.18.1", - "@rollup/rollup-darwin-x64": "4.18.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.1", - "@rollup/rollup-linux-arm-musleabihf": "4.18.1", - "@rollup/rollup-linux-arm64-gnu": "4.18.1", - "@rollup/rollup-linux-arm64-musl": "4.18.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.1", - "@rollup/rollup-linux-riscv64-gnu": "4.18.1", - "@rollup/rollup-linux-s390x-gnu": "4.18.1", - "@rollup/rollup-linux-x64-gnu": "4.18.1", - "@rollup/rollup-linux-x64-musl": "4.18.1", - "@rollup/rollup-win32-arm64-msvc": "4.18.1", - "@rollup/rollup-win32-ia32-msvc": "4.18.1", - "@rollup/rollup-win32-x64-msvc": "4.18.1", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, @@ -2549,9 +2587,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2688,9 +2726,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -2745,6 +2783,15 @@ "node": ">=0.8" } }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2800,14 +2847,14 @@ "dev": true }, "node_modules/vite": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.3.tgz", - "integrity": "sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==", + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.7.tgz", + "integrity": "sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==", "dev": true, "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.39", - "rollup": "^4.13.0" + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" @@ -2826,6 +2873,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -2843,6 +2891,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -2865,16 +2916,16 @@ } }, "node_modules/vue": { - "version": "3.4.31", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.31.tgz", - "integrity": "sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.8.tgz", + "integrity": "sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.4.31", - "@vue/compiler-sfc": "3.4.31", - "@vue/runtime-dom": "3.4.31", - "@vue/server-renderer": "3.4.31", - "@vue/shared": "3.4.31" + "@vue/compiler-dom": "3.5.8", + "@vue/compiler-sfc": "3.5.8", + "@vue/runtime-dom": "3.5.8", + "@vue/server-renderer": "3.5.8", + "@vue/shared": "3.5.8" }, "peerDependencies": { "typescript": "*" @@ -2992,9 +3043,9 @@ } }, "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "dev": true, "bin": { "yaml": "bin.mjs" diff --git a/package.json b/package.json index fa7f9bd..7cf53e1 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@inertiajs/inertia-vue3": "^0.6.0", "@preline/combobox": "^2.1.0", "@preline/copy-markup": "^2.0.1", - "@preline/overlay": "^2.4.1", + "@preline/overlay": "^1.4.0", "@preline/scrollspy": "^2.0.0", "@preline/select": "^2.0.1", "flowbite": "^1.8.1", diff --git a/public/build/assets/AdminIndexHeader-CAfP1jQ8.js b/public/build/assets/AdminIndexHeader-CZHN_Vzm.js similarity index 81% rename from public/build/assets/AdminIndexHeader-CAfP1jQ8.js rename to public/build/assets/AdminIndexHeader-CZHN_Vzm.js index 987148a..54bd980 100644 --- a/public/build/assets/AdminIndexHeader-CAfP1jQ8.js +++ b/public/build/assets/AdminIndexHeader-CZHN_Vzm.js @@ -1 +1 @@ -import{_ as r}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o,u as s}from"./app-DmJ8GS-7.js";const n={name:"AdminIndexHeader"},a={class:"px-4 py-4 gap-3 flex justify-center md:items-center border-gray-200"};function c(e,d,p,i,m,_){return t(),o("div",a,[s(e.$slots,"default")])}const u=r(n,[["render",c]]);export{u as A}; +import{_ as r}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o,u as s}from"./app-C722ecVx.js";const n={name:"AdminIndexHeader"},a={class:"px-4 py-4 gap-3 flex justify-center md:items-center border-gray-200"};function c(e,d,p,i,m,_){return t(),o("div",a,[s(e.$slots,"default")])}const u=r(n,[["render",c]]);export{u as A}; diff --git a/public/build/assets/AdminIndexHeaderTitle-CKMXllEx.js b/public/build/assets/AdminIndexHeaderTitle-CKMXllEx.js new file mode 100644 index 0000000..9a9238c --- /dev/null +++ b/public/build/assets/AdminIndexHeaderTitle-CKMXllEx.js @@ -0,0 +1 @@ +import{_ as u}from"./SearchModal-72Hbiqqz.js";import{o as l,c as i,b as a,m as p,p as g,h,t as b}from"./app-C722ecVx.js";import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";const f={name:"AdminIndexSearch",data(){return{searchInput:this.$page.props.filters.search}},methods:{search:u.debounce(function(){if(this.searchInput==""){let r=new URL(window.location.href);r.searchParams.delete("search");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,replace:!0})}else{let r=new URL(window.location.href);r.searchParams.delete("page");let e=r.toString();this.$inertia.visit(e,{method:"get",data:{search:this.searchInput},preserveState:!0,replace:!0})}},500)},props:["filters"]},m={class:"sm:col-span-1 w-full"},y={class:"relative"};function x(r,e,d,c,t,s){return l(),i("div",m,[e[3]||(e[3]=a("label",{for:"hs-as-table-product-review-search",class:"sr-only"},"Поиск",-1)),a("div",y,[p(a("input",{autocomplete:"off",onInput:e[0]||(e[0]=(...o)=>s.search&&s.search(...o)),"onUpdate:modelValue":e[1]||(e[1]=o=>t.searchInput=o),type:"text",id:"hs-as-table-product-review-search",name:"hs-as-table-product-review-search",class:"py-2 px-3 pl-11 block flex-1 w-full border-gray-200 shadow-sm rounded-md text-sm focus:z-10 focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400",placeholder:"Поиск"},null,544),[[g,t.searchInput]]),e[2]||(e[2]=a("div",{class:"absolute inset-y-0 left-0 flex items-center pointer-events-none pl-4"},[a("svg",{class:"h-4 w-4 text-gray-400",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16"},[a("path",{d:"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"})])],-1))])])}const B=n(f,[["render",x]]),k={name:"AdminIndexFilter",data(){return{}},methods:{},props:[]},w={class:"sm:col-span-2 md:grow"};function v(r,e,d,c,t,s){return l(),i("div",w,e[0]||(e[0]=[h('
',1)]))}const U=n(k,[["render",v]]),_={name:"AdminIndexHeaderTitle",props:["title"]},$={class:"text-lg font-semibold text-gray-800 dark:text-gray-200"};function I(r,e,d,c,t,s){return l(),i("div",null,[a("h2",$,b(d.title),1)])}const M=n(_,[["render",I]]);export{M as A,U as a,B as b}; diff --git a/public/build/assets/AdminIndexHeaderTitle-D8ksOx2b.js b/public/build/assets/AdminIndexHeaderTitle-D8ksOx2b.js deleted file mode 100644 index d9d8d63..0000000 --- a/public/build/assets/AdminIndexHeaderTitle-D8ksOx2b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as u}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{o as i,c as l,b as a,k as p,s as g,h,t as b}from"./app-DmJ8GS-7.js";import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";const f={name:"AdminIndexSearch",data(){return{searchInput:this.$page.props.filters.search}},methods:{search:u.debounce(function(){if(this.searchInput==""){let r=new URL(window.location.href);r.searchParams.delete("search");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,replace:!0})}else{let r=new URL(window.location.href);r.searchParams.delete("page");let e=r.toString();this.$inertia.visit(e,{method:"get",data:{search:this.searchInput},preserveState:!0,replace:!0})}},500)},props:["filters"]},m={class:"sm:col-span-1 w-full"},y=a("label",{for:"hs-as-table-product-review-search",class:"sr-only"},"Поиск",-1),x={class:"relative"},k=a("div",{class:"absolute inset-y-0 left-0 flex items-center pointer-events-none pl-4"},[a("svg",{class:"h-4 w-4 text-gray-400",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16"},[a("path",{d:"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"})])],-1);function w(r,e,d,c,t,s){return i(),l("div",m,[y,a("div",x,[p(a("input",{autocomplete:"off",onInput:e[0]||(e[0]=(...o)=>s.search&&s.search(...o)),"onUpdate:modelValue":e[1]||(e[1]=o=>t.searchInput=o),type:"text",id:"hs-as-table-product-review-search",name:"hs-as-table-product-review-search",class:"py-2 px-3 pl-11 block flex-1 w-full border-gray-200 shadow-sm rounded-md text-sm focus:z-10 focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400",placeholder:"Поиск"},null,544),[[g,t.searchInput]]),k])])}const V=n(f,[["render",w]]),v={name:"AdminIndexFilter",data(){return{}},methods:{},props:[]},_={class:"sm:col-span-2 md:grow"},$=h('
',1),I=[$];function S(r,e,d,c,t,s){return i(),l("div",_,I)}const j=n(v,[["render",S]]),z={name:"AdminIndexHeaderTitle",props:["title"]},A={class:"text-lg font-semibold text-gray-800 dark:text-gray-200"};function B(r,e,d,c,t,s){return i(),l("div",null,[a("h2",A,b(d.title),1)])}const C=n(z,[["render",B]]);export{C as A,j as a,V as b}; diff --git a/public/build/assets/BaseTemplate-BoTmiLOc.js b/public/build/assets/BaseTemplate-BoTmiLOc.js new file mode 100644 index 0000000..2f6da24 --- /dev/null +++ b/public/build/assets/BaseTemplate-BoTmiLOc.js @@ -0,0 +1 @@ +import{i as u,Z as _,r as e,c as b,a as t,w as P,b as a,F as f,o as v,t as h}from"./app-C722ecVx.js";import{F as x}from"./v3-918lQ39M.js";import{C as y}from"./ClientFooterDown-nb4a-O5q.js";import{P as B,a as w,b as k,c as N}from"./PageNavigateLinks-DFdi5-l_.js";import{P as S}from"./PageSubSectionLinks-CqbXfgxJ.js";import{M as L}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./PageTabBuilder-CRT8Vrz4.js";import"./SearchModal-72Hbiqqz.js";import"./ClientImageSlider-DIxDD91b.js";const C={name:"Page",data(){return{headerNavs:this.page.data.content.filter(n=>n.type==="heading").map(n=>({id:n.data.id,text:n.data.content}))}},props:{navigation:{type:Object},page:{type:Object},subSectionPages:{type:Object},breadcrumbs:{type:Object}},components:{MainPageNavBar:L,PageSubSectionLinks:S,PageNavigateLinks:B,PageTitle:w,PageBreadcrumbs:k,PageBuilder:N,ClientFooterDown:y,Link:u,FsLightbox:x,Head:_},methods:{},computed:{}},j={class:"flex flex-col h-screen justify-between"},D={class:"relative mx-auto mb-auto mt-[67px] max-w-screen-xl w-full px-4 py-10 md:flex md:flex-row md:py-10"},M={class:"w-full min-w-0 mt-1 max-w-6xl px-1 md:px-6",style:{}},O={class:"space-y-5 md:space-y-5"},T={id:"page-area",class:"space-y-4"};function H(n,o,s,V,E,Y){const i=e("Head"),c=e("MainPageNavBar"),r=e("PageSubSectionLinks"),l=e("PageNavigateLinks"),d=e("PageBreadcrumbs"),m=e("PageTitle"),p=e("PageBuilder"),g=e("ClientFooterDown");return v(),b(f,null,[t(i,null,{default:P(()=>[a("title",null,h(s.page.data.title),1),o[0]||(o[0]=a("meta",{name:"description",content:"Your page description"},null,-1))]),_:1}),a("div",j,[t(c,{class:"border-b",sections:n.$page.props.navigation},null,8,["sections"]),a("div",D,[t(r,{"sub-section-pages":s.subSectionPages,"current-section":s.page.data.section},null,8,["sub-section-pages","current-section"]),t(l,{"header-navs":this.headerNavs},null,8,["header-navs"]),a("div",M,[a("div",O,[t(d,{breadcrumbs:s.breadcrumbs,"page-title":s.page.data.title},null,8,["breadcrumbs","page-title"]),t(m,{header:s.page.data.title},null,8,["header"]),a("div",T,[t(p,{blocks:this.page.data.content},null,8,["blocks"])])])])]),t(g)])],64)}const U=F(C,[["render",H]]);export{U as default}; diff --git a/public/build/assets/BaseTemplate-CMHOOLp3.js b/public/build/assets/BaseTemplate-CMHOOLp3.js deleted file mode 100644 index 224d151..0000000 --- a/public/build/assets/BaseTemplate-CMHOOLp3.js +++ /dev/null @@ -1 +0,0 @@ -import{i as g,Z as u,r as e,o as _,c as b,a as t,w as h,b as a,F as v,t as P}from"./app-DmJ8GS-7.js";import{F as f}from"./v3-rkPj73qv.js";import{M as x}from"./MainNavbar-CBx37KIe.js";import{C as y}from"./ClientFooterDown-D8UuGhzW.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{P as w,a as k,b as B,c as N,d as S}from"./PageSubSectionLinks-DL4XaNin.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */import"./PageTabBuilder-CCvtc7Um.js";import"./ClientImageSlider-CnDaATj1.js";const F={name:"Page",data(){return{headerNavs:this.page.data.content.filter(n=>n.type==="heading").map(n=>({id:n.data.id,text:n.data.content}))}},props:{navigation:{type:Object},page:{type:Object},subSectionPages:{type:Object},breadcrumbs:{type:Object}},components:{PageSubSectionLinks:w,PageNavigateLinks:k,PageTitle:B,PageBreadcrumbs:N,PageBuilder:S,ClientFooterDown:y,MainNavbar:x,Link:g,FsLightbox:f,Head:u},methods:{},computed:{}},C=a("meta",{name:"description",content:"Your page description"},null,-1),j=a("div",{class:"w-full h-[67px] fixed",id:"visor"},null,-1),D={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},M={class:"w-full min-w-0 mt-1 max-w-6xl px-1 md:px-6",style:{}},O={class:"space-y-5 md:space-y-5"},T={id:"page-area",class:"space-y-4"};function H(n,V,s,E,Y,Z){const o=e("Head"),i=e("MainNavbar"),c=e("PageSubSectionLinks"),r=e("PageNavigateLinks"),l=e("PageBreadcrumbs"),d=e("PageTitle"),m=e("PageBuilder"),p=e("ClientFooterDown");return _(),b(v,null,[t(o,null,{default:h(()=>[a("title",null,P(s.page.data.title),1),C]),_:1}),t(i,{class:"border-b",sections:n.$page.props.navigation},null,8,["sections"]),j,a("div",D,[t(c,{"sub-section-pages":s.subSectionPages,"current-section":s.page.data.section},null,8,["sub-section-pages","current-section"]),t(r,{"header-navs":this.headerNavs},null,8,["header-navs"]),a("article",M,[a("div",O,[t(l,{breadcrumbs:s.breadcrumbs,"page-title":s.page.data.title},null,8,["breadcrumbs","page-title"]),t(d,{header:s.page.data.title},null,8,["header"]),a("div",T,[t(m,{blocks:this.page.data.content},null,8,["blocks"])])])])]),t(p)],64)}const W=L(F,[["render",H]]);export{W as default}; diff --git a/public/build/assets/ClientEventFilter-Cuc7FfCA.js b/public/build/assets/ClientEventFilter-Cuc7FfCA.js new file mode 100644 index 0000000..5a117df --- /dev/null +++ b/public/build/assets/ClientEventFilter-Cuc7FfCA.js @@ -0,0 +1 @@ +import{B as u,_ as h}from"./SearchModal-72Hbiqqz.js";import{S as m,C as b,a as v,T as y,b as x}from"./SortingByFilter-Bz0ugPNO.js";import{i as w,o as i,c as l,b as t,m as _,v as k,r as d,h as C,a as c,g as F,t as B,f as j,F as S}from"./app-C722ecVx.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const O={name:"IsOnlineFilter",components:{BaseIcon:u,Link:w,SearchBadge:m,CategoryBadge:b},data(){return{is_online:this.is_online_filter.value||"all"}},methods:{filter:h.debounce(function(){let o=new URL(window.location.href);o.searchParams.delete("page"),o.searchParams.delete("is_online");let e=o.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{is_online:this.is_online}})},500),clearFilter(){let o=new URL(window.location.href);o.searchParams.delete("sort"),this.tag_slug=[],this.searchTerm="";let e=o.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},props:{is_online_filter:{type:Object}}},z={class:"min-w-[12rem] py-1 space-y-3"};function V(o,e,r,p,s,a){return i(),l("div",z,[e[3]||(e[3]=t("h3",{class:"font-medium text-gray-900 text-sm mb-2"},"Сортировать по онлайн статусу",-1)),t("div",null,[_(t("select",{onChange:e[0]||(e[0]=(...n)=>a.filter&&a.filter(...n)),"onUpdate:modelValue":e[1]||(e[1]=n=>s.is_online=n),class:"py-2 px-3 pe-9 block w-full border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"},e[2]||(e[2]=[t("option",{value:"all"},"Все",-1),t("option",{value:"online"},"Только онлайн",-1),t("option",{value:"offline"},"Только офлайн",-1)]),544),[[k,s.is_online]])])])}const I=g(O,[["render",V]]),M={name:"ClientEventFilter",components:{IsOnlineFilter:I,SortingByFilter:v,TagFilter:y,CategoryFilter:x,BaseIcon:u},data(){return{}},props:{categories:{type:Object},category_filter:{type:Object},sortingBy_filter:{type:Object},is_online_filter:{type:Object}}},N={id:"hs-offcanvas-example",class:"hs-overlay hs-overlay-open:translate-x-0 hidden -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-e overflow-auto",role:"dialog",tabindex:"-1","aria-labelledby":"hs-offcanvas-example-label"},U={class:"p-4"},T={class:"hs-accordion-group"},E=["id"],L={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 py-3 inline-flex items-center gap-x-3 w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none","aria-expanded":"false","aria-controls":"hs-basic-with-arrow-collapse-two"},P={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-md text-xs font-medium border border-gray-200 bg-white text-gray-800 shadow-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-white"},D=["aria-labelledby"];function H(o,e,r,p,s,a){const n=d("IsOnlineFilter"),f=d("CategoryFilter");return i(),l(S,null,[e[4]||(e[4]=t("div",{class:""},[t("button",{type:"button",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-offcanvas-example","data-hs-overlay":"#hs-offcanvas-example"},[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"})])])],-1)),t("div",N,[e[3]||(e[3]=C('

Фильтры

',1)),t("div",U,[c(n,{is_online_filter:r.is_online_filter},null,8,["is_online_filter"]),t("div",T,[t("div",{class:"hs-accordion",id:"id"+r.category_filter.type},[t("button",L,[e[0]||(e[0]=t("svg",{class:"hs-accordion-active:hidden block size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m6 9 6 6 6-6"})],-1)),e[1]||(e[1]=t("svg",{class:"hs-accordion-active:block hidden size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m18 15-6-6-6 6"})],-1)),e[2]||(e[2]=F(" Категории ")),r.category_filter.value?(i(),l("span",P,B(r.category_filter.value.length),1)):j("",!0)]),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+r.category_filter.type},[c(f,{categories:r.categories,category_filter:r.category_filter},null,8,["categories","category_filter"])],8,D)],8,E)])])])],64)}const G=g(M,[["render",H]]);export{G as C}; diff --git a/public/build/assets/ClientEventSelectDate-DjTuDVF3.js b/public/build/assets/ClientEventSelectDate-C1YRbWa1.js similarity index 91% rename from public/build/assets/ClientEventSelectDate-DjTuDVF3.js rename to public/build/assets/ClientEventSelectDate-C1YRbWa1.js index dfcc25f..73cf965 100644 --- a/public/build/assets/ClientEventSelectDate-DjTuDVF3.js +++ b/public/build/assets/ClientEventSelectDate-C1YRbWa1.js @@ -1 +1 @@ -import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as s,b as e,F as c,d as i,t as n,n as p}from"./app-DmJ8GS-7.js";const u={name:"ClientEventSelectDate",data(){return{date:this.currentDate}},methods:{filter(o){this.date=o,this.$inertia.reload({data:{date:o}})}},props:{dates:{type:Array},currentDate:{type:String}}},f={class:"relative rounded-xl overflow-auto"},h={class:"max-w-4xl mx-auto bg-white min-w-0"},m={class:"overflow-x-scroll flex no-scrollbar"},v={class:"flex items-center gap-x-3 whitespace-nowrap"},y={class:""},g={class:"flex flex-col items-center"},b={class:"text-[12px] text-gray-500"},w={class:"flex"},C={class:"flex"},k={class:"flex flex-col items-center"},S=["onClick"],B={class:"text-[12px] text-gray-500"};function E(o,$,l,F,d,_){return t(),s("div",f,[e("div",h,[e("div",m,[e("div",v,[(t(!0),s(c,null,i(l.dates,r=>(t(),s("div",y,[e("div",g,[e("span",b,n(r.month),1)]),e("div",w,[e("div",C,[(t(!0),s(c,null,i(r.events,a=>(t(),s("div",k,[e("button",{class:p([d.date==a.date?"active-button":"","min-h-[38px] duration-300 ease-linear min-w-[38px] flex justify-center items-center text-gray-800 hover:bg-gray-100 py-2 px-3 text-sm rounded-lg focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none"]),onClick:j=>_.filter(a.date),type:"button"},n(a.day),11,S),e("span",B,n(a.dayOfWeek),1)]))),256))])])]))),256))])])])])}const D=x(u,[["render",E],["__scopeId","data-v-6d0eb2ca"]]);export{D as C}; +import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as s,b as e,F as c,d as i,t as n,n as p}from"./app-C722ecVx.js";const u={name:"ClientEventSelectDate",data(){return{date:this.currentDate}},methods:{filter(o){this.date=o,this.$inertia.reload({data:{date:o}})}},props:{dates:{type:Array},currentDate:{type:String}}},f={class:"relative rounded-xl overflow-auto"},h={class:"max-w-4xl mx-auto bg-white min-w-0"},m={class:"overflow-x-scroll flex no-scrollbar"},v={class:"flex items-center gap-x-3 whitespace-nowrap"},y={class:""},g={class:"flex flex-col items-center"},b={class:"text-[12px] text-gray-500"},w={class:"flex"},C={class:"flex"},k={class:"flex flex-col items-center"},S=["onClick"],B={class:"text-[12px] text-gray-500"};function E(o,$,l,F,d,_){return t(),s("div",f,[e("div",h,[e("div",m,[e("div",v,[(t(!0),s(c,null,i(l.dates,r=>(t(),s("div",y,[e("div",g,[e("span",b,n(r.month),1)]),e("div",w,[e("div",C,[(t(!0),s(c,null,i(r.events,a=>(t(),s("div",k,[e("button",{class:p([d.date==a.date?"active-button":"","min-h-[38px] duration-300 ease-linear min-w-[38px] flex justify-center items-center text-gray-800 hover:bg-gray-100 py-2 px-3 text-sm rounded-lg focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none"]),onClick:j=>_.filter(a.date),type:"button"},n(a.day),11,S),e("span",B,n(a.dayOfWeek),1)]))),256))])])]))),256))])])])])}const D=x(u,[["render",E],["__scopeId","data-v-6d0eb2ca"]]);export{D as C}; diff --git a/public/build/assets/ClientFooterDown-D8UuGhzW.js b/public/build/assets/ClientFooterDown-D8UuGhzW.js deleted file mode 100644 index 679b44f..0000000 --- a/public/build/assets/ClientFooterDown-D8UuGhzW.js +++ /dev/null @@ -1 +0,0 @@ -import{o,c as r,n as c,i as B,r as b,b as e,a as l,w as y,g as d,F as w,d as _,t as k,h as z,z as V,A as D}from"./app-DmJ8GS-7.js";import{C as H}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={schedule:{path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"currentColor"},search:{path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"currentColor"},line:{path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"currentColor"},eye:{path:' ',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"currentColor"},file:{path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"currentColor"},docx:{path:'',viewBox:"0 0 17 17",fill:"none",stroke_width:1.5,stroke:"none"},pdf:{path:'',viewBox:"0 0 16 16",fill:"none",stroke_width:1,stroke:"none"},delete:{path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"currentColor"}},j={name:"BaseIcon",data(){return{icon:C[this.name]||C.file}},methods:{},props:{name:{type:String},viewBox:{type:String},stroke_width:{type:Number},fill:{type:String}}},A=["fill","viewBox","stroke-width","stroke","innerHTML"];function S(t,s,a,g,n,i){return o(),r("svg",{xmlns:"http://www.w3.org/2000/svg",fill:n.icon.fill||"none",viewBox:n.icon.viewBox||this.viewBox||"0 0 24 24","stroke-width":n.icon.stroke_width||this.stroke_width||1.5,stroke:n.icon.stroke||"currentColor",class:c(t.$attrs.class||"w-6 h-6"),innerHTML:n.icon.path},null,10,A)}const M=x(j,[["render",S]]),$={name:"schedule-icon",path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"none"},F={name:"search-icon",path:'',viewBox:"0 0 24 24",fill:"none",stroke_width:1.5,stroke:"none"},I={schedule:$,search:F},L={name:"MobileNavbar",props:{sections:{type:Object}},data(){return{icons:I}},components:{BaseIcon:M,ClientGlobalSearch:H,Link:B},methods:{isSameRoute(t){if(t===this.$page.props.ziggy.location)return!0;const s=this.$page.props.ziggy.location,a=this.$page.props.ziggy.url+"/"+t;return s===a},hasActivePage(t){if(t.pages)return t.pages.some(s=>this.isSameRoute(s.path));if(t.subSections)return t.subSections.some(s=>this.hasActivePage(s))}}},u=t=>(V("data-v-71fb6114"),t=t(),D(),t),Z={id:"open-mobile-nav",class:"hs-overlay hs-overlay-open:translate-x-0 hidden [--overlay-backdrop:false] -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full w-full w-full z-[80] bg-white border-e",role:"dialog",tabindex:"-1","aria-labelledby":"open-mobile-nav-label"},N=z('
',1),R={class:"overflow-y-auto h-full"},E={class:"hs-accordion-group p-4 w-full flex flex-col flex-wrap","data-hs-accordion-always-open":""},P={class:"space-y-1.5"},G=u(()=>e("svg",{class:"size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),e("polyline",{points:"9 22 9 12 15 12 15 22"})],-1)),T={class:"hs-accordion",id:"users-accordion"},O=u(()=>e("svg",{class:"flex-shrink-0 hs-accordion-active:block ms-auto hidden size-4 text-gray-600 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m18 15-6-6-6 6"})],-1)),U=u(()=>e("svg",{class:"flex-shrink-0 hs-accordion-active:hidden ms-auto block size-4 text-gray-600 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m6 9 6 6 6-6"})],-1)),q={id:"users-accordion",class:"hs-accordion-content w-full overflow-hidden transition-[height] duration-300 hidden",role:"region","aria-labelledby":"users-accordion"},J={class:"hs-accordion-group ps-3 pt-2","data-hs-accordion-always-open":""},K={class:"hs-accordion",id:"users-accordion-sub-1"},Q=u(()=>e("svg",{class:"flex-shrink-0 hs-accordion-active:block ms-auto hidden size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m18 15-6-6-6 6"})],-1)),W=u(()=>e("svg",{class:"flex-shrink-0 hs-accordion-active:hidden ms-auto block size-4 text-gray-600 group-hover:text-gray-500 dark:text-neutral-400",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m6 9 6 6 6-6"})],-1)),X={id:"users-accordion-sub-1",class:"hs-accordion-content w-full overflow-hidden transition-[height] duration-300 hidden",role:"region","aria-labelledby":"users-accordion-sub-1"},Y={class:"pt-2 ps-2"},ee=["href"],te={class:""},oe={class:"flex items-center gap-x-3.5 py-2 px-2.5 text-sm text-gray-700 rounded-lg hover:bg-gray-100 dark:hover:bg-neutral-700 dark:text-neutral-400 dark:hover:text-neutral-300",href:"#"},re={"aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-full-screen-modal-below-md","data-hs-overlay":"#open-search-modal",class:"flex items-center gap-x-3.5 py-2 px-2.5 text-sm text-gray-700 rounded-lg hover:bg-gray-100 dark:hover:bg-neutral-700 dark:text-neutral-400 dark:hover:text-neutral-300",href:"#"};function se(t,s,a,g,n,i){const p=b("Link"),v=b("BaseIcon");return o(),r("div",Z,[N,e("div",R,[e("nav",E,[e("ul",P,[e("li",null,[l(p,{href:t.route("index"),class:c([i.isSameRoute(t.route("index"))?"text-blue-600 bg-gray-100":"text-gray-700","flex items-center gap-x-3.5 py-2 px-2.5 text-sm rounded-lg hover:bg-gray-100"])},{default:y(()=>[G,d(" Главная ")]),_:1},8,["href","class"])]),(o(!0),r(w,null,_(a.sections.data,m=>(o(),r("li",T,[e("button",{class:c([i.hasActivePage(m)?"text-blue-600 bg-gray-100":"text-gray-700","hs-accordion-toggle hs-accordion-active:text-blue-600 hs-accordion-active:hover:bg-transparent w-full text-start flex items-center gap-x-3.5 py-2 px-2.5 text-sm rounded-lg hover:bg-gray-100 focus:outline-none"]),type:"button","aria-expanded":"true","aria-controls":"users-accordion"},[l(v,{class:"w-4",name:"line"}),d(" "+k(m.title)+" ",1),O,U],2),e("div",q,[e("ul",J,[(o(!0),r(w,null,_(m.subSections,f=>(o(),r("li",K,[e("button",{class:c([i.hasActivePage(f)?"text-blue-600 bg-gray-100":"text-gray-700","hs-accordion-toggle hs-accordion-active:text-blue-600 hs-accordion-active:hover:bg-transparent w-full text-start flex items-center gap-x-3.5 py-2 px-2.5 text-sm rounded-lg hover:bg-gray-100 focus:outline-none"]),type:"button","aria-expanded":"true","aria-controls":"users-accordion-sub-1"},[d(k(f.title)+" ",1),Q,W],2),e("div",X,[e("ul",Y,[(o(!0),r(w,null,_(f.pages,h=>(o(),r("li",null,[e("a",{href:h.is_url?h.path:t.route("page.view",h.path)+"/",class:c(["flex items-center gap-x-3.5 py-2 px-2.5 text-sm rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100",i.isSameRoute(h.path)?"text-blue-600 bg-gray-100":"text-gray-700"])},k(h.title),11,ee)]))),256))])])]))),256))])])]))),256)),e("li",te,[l(p,{href:t.route("client.schedule"),class:c([i.isSameRoute(t.route("client.schedule"))?"text-blue-600 bg-gray-100":"text-gray-700","flex items-center gap-x-3.5 py-2 px-2.5 text-sm rounded-lg hover:bg-gray-100 dark:hover:bg-neutral-700 dark:text-neutral-400 dark:hover:text-neutral-300"])},{default:y(()=>[l(v,{class:"w-4",name:"schedule"}),d(" Расписание ")]),_:1},8,["href","class"])]),e("li",null,[e("a",oe,[l(v,{class:"w-4",name:"eye"}),d(" Режим для слабовидящих ")])]),e("li",null,[e("a",re,[l(v,{class:"w-4",name:"search"}),d(" Поиск ")])])])])])])}const fe=x(L,[["render",se],["__scopeId","data-v-71fb6114"]]),ae={name:"SearchModal",props:{open_id:{type:Object}},data(){return{}},components:{BaseIcon:M,ClientGlobalSearch:H,Link:B},methods:{}},ne=["id","aria-labelledby"],ie={class:"hs-overlay-open:mt-0 hs-overlay-open:opacity-100 hs-overlay-open:duration-500 mt-10 opacity-0 transition-all max-w-full max-h-full h-full md:hs-overlay-open:mt-10 md:mt-0 md:max-w-lg md:max-h-none md:h-auto md:mx-auto"},le={class:"flex flex-col bg-white pointer-events-auto max-w-full max-h-full h-full md:max-w-lg md:max-h-none md:h-auto md:border md:rounded-xl md:shadow-sm dark:bg-neutral-800 md:dark:border-neutral-700"};function de(t,s,a,g,n,i){const p=b("ClientGlobalSearch");return o(),r("div",{id:a.open_id,class:"hs-overlay hidden [--overlay-backdrop:false] size-full fixed top-0 start-0 z-[80] overflow-x-hidden overflow-y-auto pointer-events-none",role:"dialog",tabindex:"-1","aria-labelledby":a.open_id+"-label"},[e("div",ie,[e("div",le,[l(p,{open_id:a.open_id},null,8,["open_id"])])])],8,ne)}const we=x(ae,[["render",de],["__scopeId","data-v-a4fc4416"]]),ce={name:"ClientFooterDown"},he={class:"w-full bg-[#1A5AAF] py-10 mx-auto"},ue=z('',1),pe=[ue];function ve(t,s,a,g,n,i){return o(),r("footer",he,pe)}const _e=x(ce,[["render",ve]]);export{M as B,_e as C,fe as M,we as S}; diff --git a/public/build/assets/ClientFooterDown-nb4a-O5q.js b/public/build/assets/ClientFooterDown-nb4a-O5q.js new file mode 100644 index 0000000..9223843 --- /dev/null +++ b/public/build/assets/ClientFooterDown-nb4a-O5q.js @@ -0,0 +1 @@ +import{_ as t}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as i,h as a}from"./app-C722ecVx.js";const l={name:"ClientFooterDown"},r={class:"w-full bg-[#1A5AAF] py-10 mx-auto"};function n(p,e,x,o,c,d){return s(),i("footer",r,e[0]||(e[0]=[a('',1)]))}const f=t(l,[["render",n]]);export{f as C}; diff --git a/public/build/assets/ClientImageSlider-CnDaATj1.js b/public/build/assets/ClientImageSlider-DIxDD91b.js similarity index 93% rename from public/build/assets/ClientImageSlider-CnDaATj1.js rename to public/build/assets/ClientImageSlider-DIxDD91b.js index 72f57fa..24c84ac 100644 --- a/public/build/assets/ClientImageSlider-CnDaATj1.js +++ b/public/build/assets/ClientImageSlider-DIxDD91b.js @@ -1 +1 @@ -import{F as g}from"./v3-rkPj73qv.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as h,o as l,c as i,b as s,F as c,d as f,n as x,t as p,a as b}from"./app-DmJ8GS-7.js";const _={name:"ClientImageSlider",components:{FsLightbox:g},data(){return{currentIndex:0,items:this.block.data.url,toggler:!1,domainPath:null,slide:null}},props:{block:{type:Array}},methods:{prevSlide(){this.currentIndex===0?this.currentIndex=this.items.length-1:this.currentIndex--},nextSlide(){this.currentIndex===this.items.length-1?this.currentIndex=0:this.currentIndex++},openLightboxOnSlide:function(a){this.slide=a,this.toggler=!this.toggler}},mounted(){this.domainPath=window.location.origin}},v={class:"relative"},k={class:"flex"},I=["onClick","src"],S={class:"mt-3 text-sm text-center text-gray-500 dark:text-neutral-500"};function y(a,n,d,C,e,o){const u=h("FsLightbox");return l(),i(c,null,[s("div",v,[s("div",k,[(l(!0),i(c,null,f(e.items,(t,r)=>(l(),i("div",{key:r,class:x(["w-full",{block:e.currentIndex===r,hidden:e.currentIndex!==r}])},[s("img",{onClick:w=>o.openLightboxOnSlide(r+1),src:"/storage/"+t,class:"mx-auto max-h-[500px] object-cover rounded-md hover:opacity-95 hover:duration-200 transition"},null,8,I)],2))),128))]),s("button",{class:"absolute top-1/2 left-4 transform -translate-y-1/2 bg-white rounded-full p-2 shadow-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",onClick:n[0]||(n[0]=(...t)=>o.prevSlide&&o.prevSlide(...t))}," ❮ "),s("button",{class:"absolute top-1/2 right-4 transform -translate-y-1/2 bg-white rounded-full p-2 shadow-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",onClick:n[1]||(n[1]=(...t)=>o.nextSlide&&o.nextSlide(...t))}," ❯ ")]),s("figcaption",S,p(d.block.data.alt),1),b(u,{class:"",slide:e.slide,toggler:e.toggler,sources:e.items.map(t=>e.domainPath+"/storage/"+t)},null,8,["slide","toggler","sources"])],64)}const P=m(_,[["render",y]]);export{P as C}; +import{F as g}from"./v3-918lQ39M.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as h,o as l,c as i,b as s,F as c,d as f,n as x,t as p,a as b}from"./app-C722ecVx.js";const _={name:"ClientImageSlider",components:{FsLightbox:g},data(){return{currentIndex:0,items:this.block.data.url,toggler:!1,domainPath:null,slide:null}},props:{block:{type:Array}},methods:{prevSlide(){this.currentIndex===0?this.currentIndex=this.items.length-1:this.currentIndex--},nextSlide(){this.currentIndex===this.items.length-1?this.currentIndex=0:this.currentIndex++},openLightboxOnSlide:function(a){this.slide=a,this.toggler=!this.toggler}},mounted(){this.domainPath=window.location.origin}},v={class:"relative"},k={class:"flex"},I=["onClick","src"],S={class:"mt-3 text-sm text-center text-gray-500 dark:text-neutral-500"};function y(a,n,d,C,e,o){const u=h("FsLightbox");return l(),i(c,null,[s("div",v,[s("div",k,[(l(!0),i(c,null,f(e.items,(t,r)=>(l(),i("div",{key:r,class:x(["w-full",{block:e.currentIndex===r,hidden:e.currentIndex!==r}])},[s("img",{onClick:w=>o.openLightboxOnSlide(r+1),src:"/storage/"+t,class:"mx-auto max-h-[500px] object-cover rounded-md hover:opacity-95 hover:duration-200 transition"},null,8,I)],2))),128))]),s("button",{class:"absolute top-1/2 left-4 transform -translate-y-1/2 bg-white rounded-full p-2 shadow-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",onClick:n[0]||(n[0]=(...t)=>o.prevSlide&&o.prevSlide(...t))}," ❮ "),s("button",{class:"absolute top-1/2 right-4 transform -translate-y-1/2 bg-white rounded-full p-2 shadow-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",onClick:n[1]||(n[1]=(...t)=>o.nextSlide&&o.nextSlide(...t))}," ❯ ")]),s("figcaption",S,p(d.block.data.alt),1),b(u,{class:"",slide:e.slide,toggler:e.toggler,sources:e.items.map(t=>e.domainPath+"/storage/"+t)},null,8,["slide","toggler","sources"])],64)}const P=m(_,[["render",y]]);export{P as C}; diff --git a/public/build/assets/ClientPost-BP_ZUrbH.js b/public/build/assets/ClientPost-BP_ZUrbH.js deleted file mode 100644 index 74fdc1b..0000000 --- a/public/build/assets/ClientPost-BP_ZUrbH.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o,c as a,b as t,t as i,f as l}from"./app-DmJ8GS-7.js";const d={name:"ClientPost",data(){return{}},methods:{textLimit(s,n){if(s.length>n){let e;return e=s.substring(0,n),e+"..."}return s}},props:{post:{type:Array}}},h={class:"group cursor-pointer"},_={class:"overflow-hidden rounded-md max-h-[250px] bg-gray-100 transition-all hover:scale-105 dark:bg-gray-800"},u=["href"],g=["src"],m={class:""},p={key:0,class:"flex gap-3"},x=["href"],f={class:"inline-block text-xs font-medium tracking-wider uppercase mt-5 text-blue-600"},y={key:1,class:"flex gap-3"},v=t("span",null,[t("span",{class:"inline-block text-xs font-medium tracking-wider uppercase mt-5 text-blue-600"}," Новости ")],-1),k=[v],b={class:"text-lg font-semibold leading-snug tracking-tight mt-2 dark:text-white"},w=["href"],C={class:"duration-200 group-hover:text-gray-500"},B={class:""},L={class:"mt-2 line-clamp-3 text-sm text-gray-500 dark:text-gray-400"},q=["href"],z={class:"mt-3 flex items-center space-x-3 text-gray-500 dark:text-gray-400"},N={class:"flex items-center gap-3"},P={key:0,class:"truncate text-sm"},T=t("span",{class:"text-xs text-gray-300 dark:text-gray-600"},"•",-1),V={class:"truncate text-sm"};function j(s,n,e,A,D,c){return o(),a("div",h,[t("div",_,[t("a",{class:"relative block aspect-square",href:s.route("client.post.show",e.post.slug)},[t("img",{alt:"Thumbnail",loading:"lazy",decoding:"async","data-nimg":"fill",class:"object-cover transition-all",style:{position:"absolute",height:"100%",width:"100%",inset:"0px",color:"transparent"},sizes:"(max-width: 768px) 30vw, 33vw",src:e.post.preview?"/storage/"+e.post.preview:"/img/thumbnail-1.png"},null,8,g)],8,u)]),t("div",m,[t("div",null,[e.post.category?(o(),a("div",p,[t("a",{href:s.route("client.post.index",{"category[]":e.post.category.slug})},[t("span",f,i(e.post.category?e.post.category.title:"Новости"),1)],8,x)])):(o(),a("div",y,k)),t("h2",b,[t("a",{href:s.route("client.post.show",e.post.slug)},[t("span",C,i(e.post.title),1)],8,w)]),t("div",B,[t("p",L,[t("a",{href:s.route("client.post.show",e.post.slug)},"It is a cliche philosophical question, but it touches on something fundamental about how humans relate to the world around them. ",8,q)])]),t("div",z,[t("span",null,[t("div",N,[e.post?(o(),a("span",P,i(c.textLimit(e.post.authors[0],20)),1)):l("",!0)])]),T,t("span",V,i(e.post.created_post),1)])])])])}const S=r(d,[["render",j]]);export{S as C}; diff --git a/public/build/assets/ClientPost-BxLMuODS.js b/public/build/assets/ClientPost-BxLMuODS.js new file mode 100644 index 0000000..01291f3 --- /dev/null +++ b/public/build/assets/ClientPost-BxLMuODS.js @@ -0,0 +1 @@ +import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as a,c as i,b as t,t as n,f as c}from"./app-C722ecVx.js";const d={name:"ClientPost",data(){return{}},methods:{textLimit(s,o){if(s.length>o){let e;return e=s.substring(0,o),e+"..."}return s}},props:{post:{type:Array}}},h={class:"group cursor-pointer"},u={class:"overflow-hidden rounded-md max-h-[250px] bg-gray-100 transition-all hover:scale-105 dark:bg-gray-800"},g=["href"],m=["src"],_={class:""},p={key:0,class:"flex gap-3"},x=["href"],f={class:"inline-block text-xs font-medium tracking-wider uppercase mt-5 text-blue-600"},y={key:1,class:"flex gap-3"},v={class:"text-lg font-semibold leading-snug tracking-tight mt-2 dark:text-white"},k=["href"],b={class:"duration-200 group-hover:text-gray-500"},w={class:""},C={class:"mt-2 line-clamp-3 text-sm text-gray-500 dark:text-gray-400"},B=["href"],L={class:"mt-3 flex items-center space-x-3 text-gray-500 dark:text-gray-400"},q={class:"flex items-center gap-3"},z={key:0,class:"truncate text-sm"},N={class:"truncate text-sm"};function P(s,o,e,T,V,r){return a(),i("div",h,[t("div",u,[t("a",{class:"relative block aspect-square",href:s.route("client.post.show",e.post.slug)},[t("img",{alt:"Thumbnail",loading:"lazy",decoding:"async","data-nimg":"fill",class:"object-cover transition-all",style:{position:"absolute",height:"100%",width:"100%",inset:"0px",color:"transparent"},sizes:"(max-width: 768px) 30vw, 33vw",src:e.post.preview?"/storage/"+e.post.preview:"/img/thumbnail-1.png"},null,8,m)],8,g)]),t("div",_,[t("div",null,[e.post.category?(a(),i("div",p,[t("a",{href:s.route("client.post.index",{"category[]":e.post.category.slug})},[t("span",f,n(e.post.category?e.post.category.title:"Новости"),1)],8,x)])):(a(),i("div",y,o[0]||(o[0]=[t("span",null,[t("span",{class:"inline-block text-xs font-medium tracking-wider uppercase mt-5 text-blue-600"}," Новости ")],-1)]))),t("h2",v,[t("a",{href:s.route("client.post.show",e.post.slug)},[t("span",b,n(e.post.title),1)],8,k)]),t("div",w,[t("p",C,[t("a",{href:s.route("client.post.show",e.post.slug)},"It is a cliche philosophical question, but it touches on something fundamental about how humans relate to the world around them. ",8,B)])]),t("div",L,[t("span",null,[t("div",q,[e.post?(a(),i("span",z,n(r.textLimit(e.post.authors[0],20)),1)):c("",!0)])]),o[1]||(o[1]=t("span",{class:"text-xs text-gray-300 dark:text-gray-600"},"•",-1)),t("span",N,n(e.post.created_post),1)])])])])}const D=l(d,[["render",P]]);export{D as C}; diff --git a/public/build/assets/ClientPostSearch-D0YX2x3W.js b/public/build/assets/ClientPostSearch-D0YX2x3W.js deleted file mode 100644 index d673c06..0000000 --- a/public/build/assets/ClientPostSearch-D0YX2x3W.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as v}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{B as y}from"./ClientFooterDown-D8UuGhzW.js";import{i as _,o as l,c as d,g as b,t as g,b as t,j as x,f as w,r as p,k as f,s as k,a as m,F as C,d as S,q as F,v as U,h as j}from"./app-DmJ8GS-7.js";import{_ as h}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={name:"SearchBadge",components:{Link:_},data(){return{}},methods:{clearFilter(){let r=new URL(window.location.href);r.searchParams.delete(this.filter.param);let e=r.toString();this.$inertia.visit(e,{method:"get"})}},props:{filter:{type:Object}}},L={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 ps-3 pe-2 rounded-full text-xs font-medium bg-blue-100 text-blue-800"},I=t("span",{class:"sr-only"},"Remove badge",-1),P=t("svg",{class:"shrink-0 size-3",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M18 6 6 18"}),t("path",{d:"m6 6 12 12"})],-1),O=[I,P];function z(r,e,s,c,n,o){return this.filter.value!==null?(l(),d("span",L,[b(" Поиск: "+g(s.filter.value)+" ",1),t("button",{onClick:e[0]||(e[0]=x((...i)=>o.clearFilter&&o.clearFilter(...i),["prevent"])),type:"button",class:"shrink-0 size-4 inline-flex items-center justify-center rounded-full hover:bg-blue-200 focus:outline-none focus:bg-blue-200 focus:text-blue-500"},O)])):w("",!0)}const B=h(T,[["render",z]]),M={name:"CategoryBadge",components:{Link:_},data(){return{}},methods:{clearFilter(){let r=new URL(window.location.href);const e=[];for(const[c]of r.searchParams)c.startsWith(this.filter.param)&&e.push(c);e.forEach(c=>r.searchParams.delete(c));let s=r.toString();this.$inertia.visit(s,{method:"get"})}},props:{filter:{type:Object}}},R={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 ps-3 pe-2 rounded-full text-xs font-medium bg-blue-100 text-blue-800"},V=t("span",{class:"sr-only"},"Remove badge",-1),N=t("svg",{class:"shrink-0 size-3",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M18 6 6 18"}),t("path",{d:"m6 6 12 12"})],-1),D=[V,N];function E(r,e,s,c,n,o){return this.filter.value!==null?(l(),d("span",R,[b(g(s.filter.value.length>1?s.filter.value.length+" категории":s.filter.content[s.filter.value[0]].data.title)+" ",1),t("button",{onClick:e[0]||(e[0]=x((...i)=>o.clearFilter&&o.clearFilter(...i),["prevent"])),type:"button",class:"shrink-0 size-4 inline-flex items-center justify-center rounded-full hover:bg-blue-200 focus:outline-none focus:bg-blue-200 focus:text-blue-500"},D)])):w("",!0)}const $=h(M,[["render",E]]),H={name:"CategoryFilter",components:{BaseIcon:y,Link:_,SearchBadge:B,CategoryBadge:$},data(){return{category_slug:this.category_filter.value||[],tag_slug:[],searchTerm:"",filteredItems:this.categories.data}},methods:{filter:v.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("category[]");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{category:this.category_slug}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("category[]"),this.category_slug=[],this.searchTerm="";let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},computed:{filteredItems(){if(!this.searchTerm)return this.categories.data;const r=this.searchTerm.toLowerCase();return this.categories.data.filter(e=>e.title.toLowerCase().includes(r))}},props:{categories:{type:Object},category_filter:{type:Object}}},q={class:"min-w-[12rem] py-1 space-y-3"},A=t("span",null,"Очистить",-1),W={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},G={class:"flex flex-col ml-3"},J=["value","id"],K=["for"];function Q(r,e,s,c,n,o){const i=p("BaseIcon");return l(),d("div",q,[f(t("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=a=>n.searchTerm=a),class:"py-2 px-3 block w-full border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500",placeholder:"Поиск по категориям"},null,512),[[k,n.searchTerm]]),t("button",{onClick:e[1]||(e[1]=x((...a)=>o.clearFilter&&o.clearFilter(...a),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[m(i,{class:"w-4 h-4",name:"delete"}),A]),t("div",W,[t("div",null,[t("div",G,[(l(!0),d(C,null,S(o.filteredItems,a=>(l(),d("div",{key:a.id},[f(t("input",{"onUpdate:modelValue":e[2]||(e[2]=u=>n.category_slug=u),value:a.slug,onChange:e[3]||(e[3]=(...u)=>o.filter&&o.filter(...u)),type:"checkbox",class:"shrink-0 mt-0.5 border-gray-200 rounded text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp"+a.id},null,40,J),[[F,n.category_slug]]),t("label",{for:"inp"+a.id,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},g(a.title),9,K)]))),128))])])])])}const X=h(H,[["render",Q]]),Y={name:"TagFilter",components:{BaseIcon:y,Link:_,SearchBadge:B,CategoryBadge:$},data(){return{tag_slug:this.tag_filter.value||[],searchTerm:"",filteredItems:this.tags}},methods:{filter:v.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("tag[]");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{tag:this.tag_slug}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("tag[]"),this.tag_slug=[],this.searchTerm="";let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},computed:{filteredItems(){if(!this.searchTerm)return this.tags;const r=this.searchTerm.toLowerCase();return this.tags.filter(e=>e.name.ru.toLowerCase().includes(r))}},props:{tags:{type:Object},tag_filter:{type:Object}}},Z={class:"min-w-[12rem] py-1 space-y-3"},ee=t("span",null,"Очистить",-1),te={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},re={class:"flex flex-col ml-3"},se=["value","id"],oe=["for"];function ae(r,e,s,c,n,o){const i=p("BaseIcon");return l(),d("div",Z,[f(t("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=a=>n.searchTerm=a),class:"py-2 px-3 block w-full border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500",placeholder:"Поиск по тэгам"},null,512),[[k,n.searchTerm]]),t("button",{onClick:e[1]||(e[1]=x((...a)=>o.clearFilter&&o.clearFilter(...a),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[m(i,{class:"w-4 h-4",name:"delete"}),ee]),t("div",te,[t("div",null,[t("div",re,[(l(!0),d(C,null,S(o.filteredItems,a=>(l(),d("div",{key:a.id},[f(t("input",{"onUpdate:modelValue":e[2]||(e[2]=u=>n.tag_slug=u),value:a.slug.ru,onChange:e[3]||(e[3]=(...u)=>o.filter&&o.filter(...u)),type:"checkbox",class:"shrink-0 mt-0.5 border-gray-200 rounded text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp-tag"+a.id},null,40,se),[[F,n.tag_slug]]),t("label",{for:"inp-tag"+a.id,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},"#"+g(a.name.ru),9,oe)]))),128))])])])])}const ne=h(Y,[["render",ae]]),ie={name:"SortingByFilter",components:{BaseIcon:y,Link:_,SearchBadge:B,CategoryBadge:$},data(){return{sortOrder:this.sortingBy_filter.value||"desc"}},methods:{filter:v.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("sort");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{sort:this.sortOrder}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("sort"),this.tag_slug=[],this.searchTerm="";let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},props:{sortingBy_filter:{type:Object}}},le={class:"min-w-[12rem] py-1 space-y-3"},de=t("h3",{class:"font-medium text-gray-900 text-sm mb-2"},"Сортировать по",-1),ce=t("option",{value:"desc"},"Дате (Сначала новые)",-1),ue=t("option",{value:"asc"},"Дате (Сначала старые)",-1),he=[ce,ue];function ge(r,e,s,c,n,o){return l(),d("div",le,[de,t("div",null,[f(t("select",{onChange:e[0]||(e[0]=(...i)=>o.filter&&o.filter(...i)),"onUpdate:modelValue":e[1]||(e[1]=i=>n.sortOrder=i),class:"py-2 px-3 pe-9 block w-full border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"},he,544),[[U,n.sortOrder]])])])}const fe=h(ie,[["render",ge]]),pe={name:"ClientPostFilter",components:{SortingByFilter:fe,TagFilter:ne,CategoryFilter:X,BaseIcon:y},data(){return{}},props:{items:{type:Object},category_filter:{type:Object},sortingBy_filter:{type:Object},tag_filter:{type:Object},tags:{type:Object}}},me=t("div",{class:"sm:col-span-2 md:grow"},[t("button",{type:"button",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-offcanvas-example","data-hs-overlay":"#hs-offcanvas-example"},[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"})])])],-1),_e={id:"hs-offcanvas-example",class:"hs-overlay hs-overlay-open:translate-x-0 hidden -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-e overflow-auto",role:"dialog",tabindex:"-1","aria-labelledby":"hs-offcanvas-example-label"},be=j('

Фильтры

',1),we={class:"p-4"},ve={class:"hs-accordion-group"},ye=["id"],xe={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 py-3 inline-flex items-center gap-x-3 w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none","aria-expanded":"false","aria-controls":"hs-basic-with-arrow-collapse-two"},ke=t("svg",{class:"hs-accordion-active:hidden block size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m6 9 6 6 6-6"})],-1),Ce=t("svg",{class:"hs-accordion-active:block hidden size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m18 15-6-6-6 6"})],-1),Be={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-md text-xs font-medium border border-gray-200 bg-white text-gray-800 shadow-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-white"},$e=["aria-labelledby"],Se=["id"],Fe={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 py-3 inline-flex items-center gap-x-3 w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none","aria-expanded":"false","aria-controls":"hs-basic-with-arrow-collapse-two"},Ue=t("svg",{class:"hs-accordion-active:hidden block size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m6 9 6 6 6-6"})],-1),je=t("svg",{class:"hs-accordion-active:block hidden size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m18 15-6-6-6 6"})],-1),Te={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-md text-xs font-medium border border-gray-200 bg-white text-gray-800 shadow-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-white"},Le=["aria-labelledby"];function Ie(r,e,s,c,n,o){const i=p("SortingByFilter"),a=p("CategoryFilter"),u=p("TagFilter");return l(),d(C,null,[me,t("div",_e,[be,t("div",we,[m(i,{sortingBy_filter:s.sortingBy_filter},null,8,["sortingBy_filter"]),t("div",ve,[t("div",{class:"hs-accordion",id:"id"+s.category_filter.type},[t("button",xe,[ke,Ce,b(" Категории "),s.category_filter.value?(l(),d("span",Be,g(s.category_filter.value.length),1)):w("",!0)]),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+s.tag_filter.type},[m(a,{categories:s.items,category_filter:s.category_filter},null,8,["categories","category_filter"])],8,$e)],8,ye),t("div",{class:"hs-accordion",id:"id"+s.tag_filter.type},[t("button",Fe,[Ue,je,b(" Тэги "),s.tag_filter.value?(l(),d("span",Te,g(s.tag_filter.value.length),1)):w("",!0)]),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+s.tag_filter.type},[m(u,{tags:s.tags,tag_filter:s.tag_filter},null,8,["tags","tag_filter"])],8,Le)],8,Se)])])])],64)}const qe=h(pe,[["render",Ie]]),Pe={name:"AdminIndexSearch",data(){return{searchInput:this.search_filter.value}},methods:{search:v.debounce(function(){if(this.searchInput==""){let r=new URL(window.location.href);r.searchParams.delete("search");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,replace:!0})}else{let r=new URL(window.location.href);r.searchParams.delete("page");let e=r.toString();this.$inertia.visit(e,{method:"get",data:{search:this.searchInput},preserveState:!0,replace:!0})}},500)},props:["search_filter"]},Oe={class:"sm:col-span-1 w-full"},ze=t("label",{for:"hs-as-table-product-review-search",class:"sr-only"},"Поиск",-1),Me={class:"relative"},Re=t("div",{class:"absolute inset-y-0 left-0 flex items-center pointer-events-none pl-4"},[t("svg",{class:"h-4 w-4 text-gray-400",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16"},[t("path",{d:"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"})])],-1);function Ve(r,e,s,c,n,o){return l(),d("div",Oe,[ze,t("div",Me,[f(t("input",{autocomplete:"off",onInput:e[0]||(e[0]=(...i)=>o.search&&o.search(...i)),"onUpdate:modelValue":e[1]||(e[1]=i=>n.searchInput=i),type:"text",id:"hs-as-table-product-review-search",name:"hs-as-table-product-review-search",class:"py-3 px-3 pl-11 block flex-1 w-full border-gray-200 shadow-sm rounded-md text-sm focus:z-10 focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400",placeholder:"Поиск новостей"},null,544),[[k,n.searchInput]]),Re])])}const Ae=h(Pe,[["render",Ve]]);export{qe as C,B as S,ne as T,Ae as a,$ as b,fe as c,X as d}; diff --git a/public/build/assets/ClientPostSearch-kaUIQH-M.js b/public/build/assets/ClientPostSearch-kaUIQH-M.js new file mode 100644 index 0000000..9d0bb72 --- /dev/null +++ b/public/build/assets/ClientPostSearch-kaUIQH-M.js @@ -0,0 +1 @@ +import{B as m,_ as x}from"./SearchModal-72Hbiqqz.js";import{a as v,T as y,b as _}from"./SortingByFilter-Bz0ugPNO.js";import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as d,o as a,c as i,b as t,h as k,a as c,g as h,t as g,f as u,F as B,m as C,p as j}from"./app-C722ecVx.js";const F={name:"ClientPostFilter",components:{SortingByFilter:v,TagFilter:y,CategoryFilter:_,BaseIcon:m},data(){return{}},props:{items:{type:Object},category_filter:{type:Object},sortingBy_filter:{type:Object},tag_filter:{type:Object},tags:{type:Object}}},z={id:"hs-offcanvas-example",class:"hs-overlay hs-overlay-open:translate-x-0 hidden -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-e overflow-auto",role:"dialog",tabindex:"-1","aria-labelledby":"hs-offcanvas-example-label"},S={class:"p-4"},I={class:"hs-accordion-group"},M=["id"],T={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 py-3 inline-flex items-center gap-x-3 w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none","aria-expanded":"false","aria-controls":"hs-basic-with-arrow-collapse-two"},V={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-md text-xs font-medium border border-gray-200 bg-white text-gray-800 shadow-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-white"},N=["aria-labelledby"],O=["id"],P={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 py-3 inline-flex items-center gap-x-3 w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none","aria-expanded":"false","aria-controls":"hs-basic-with-arrow-collapse-two"},U={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-md text-xs font-medium border border-gray-200 bg-white text-gray-800 shadow-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-white"},D=["aria-labelledby"];function H(r,e,o,p,n,l){const s=d("SortingByFilter"),w=d("CategoryFilter"),b=d("TagFilter");return a(),i(B,null,[e[7]||(e[7]=t("div",{class:"sm:col-span-2 md:grow"},[t("button",{type:"button",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-offcanvas-example","data-hs-overlay":"#hs-offcanvas-example"},[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"})])])],-1)),t("div",z,[e[6]||(e[6]=k('

Фильтры

',1)),t("div",S,[c(s,{sortingBy_filter:o.sortingBy_filter},null,8,["sortingBy_filter"]),t("div",I,[t("div",{class:"hs-accordion",id:"id"+o.category_filter.type},[t("button",T,[e[0]||(e[0]=t("svg",{class:"hs-accordion-active:hidden block size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m6 9 6 6 6-6"})],-1)),e[1]||(e[1]=t("svg",{class:"hs-accordion-active:block hidden size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m18 15-6-6-6 6"})],-1)),e[2]||(e[2]=h(" Категории ")),o.category_filter.value?(a(),i("span",V,g(o.category_filter.value.length),1)):u("",!0)]),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+o.tag_filter.type},[c(w,{categories:o.items,category_filter:o.category_filter},null,8,["categories","category_filter"])],8,N)],8,M),t("div",{class:"hs-accordion",id:"id"+o.tag_filter.type},[t("button",P,[e[3]||(e[3]=t("svg",{class:"hs-accordion-active:hidden block size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m6 9 6 6 6-6"})],-1)),e[4]||(e[4]=t("svg",{class:"hs-accordion-active:block hidden size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m18 15-6-6-6 6"})],-1)),e[5]||(e[5]=h(" Тэги ")),o.tag_filter.value?(a(),i("span",U,g(o.tag_filter.value.length),1)):u("",!0)]),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+o.tag_filter.type},[c(b,{tags:o.tags,tag_filter:o.tag_filter},null,8,["tags","tag_filter"])],8,D)],8,O)])])])],64)}const Q=f(F,[["render",H]]),L={name:"AdminIndexSearch",data(){return{searchInput:this.search_filter.value}},methods:{search:x.debounce(function(){if(this.searchInput==""){let r=new URL(window.location.href);r.searchParams.delete("search");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,replace:!0})}else{let r=new URL(window.location.href);r.searchParams.delete("page");let e=r.toString();this.$inertia.visit(e,{method:"get",data:{search:this.searchInput},preserveState:!0,replace:!0})}},500)},props:["search_filter"]},R={class:"sm:col-span-1 w-full"},A={class:"relative"};function E(r,e,o,p,n,l){return a(),i("div",R,[e[3]||(e[3]=t("label",{for:"hs-as-table-product-review-search",class:"sr-only"},"Поиск",-1)),t("div",A,[C(t("input",{autocomplete:"off",onInput:e[0]||(e[0]=(...s)=>l.search&&l.search(...s)),"onUpdate:modelValue":e[1]||(e[1]=s=>n.searchInput=s),type:"text",id:"hs-as-table-product-review-search",name:"hs-as-table-product-review-search",class:"py-3 px-3 pl-11 block flex-1 w-full border-gray-200 shadow-sm rounded-md text-sm focus:z-10 focus:border-blue-500 focus:ring-blue-500 dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400",placeholder:"Поиск новостей"},null,544),[[j,n.searchInput]]),e[2]||(e[2]=t("div",{class:"absolute inset-y-0 left-0 flex items-center pointer-events-none pl-4"},[t("svg",{class:"h-4 w-4 text-gray-400",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16"},[t("path",{d:"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"})])],-1))])])}const W=f(L,[["render",E]]);export{Q as C,W as a}; diff --git a/public/build/assets/ClientProgramFilter-B5Vv3QDu.js b/public/build/assets/ClientProgramFilter-B5Vv3QDu.js new file mode 100644 index 0000000..ffac585 --- /dev/null +++ b/public/build/assets/ClientProgramFilter-B5Vv3QDu.js @@ -0,0 +1 @@ +import{i as w,m as x,v as j,o as a,c as d,b as t,l as y,F as g,d as _,t as k,r as h,a as f,q as C,s as S,h as b}from"./app-C722ecVx.js";import{B as m,_ as F}from"./SearchModal-72Hbiqqz.js";import{S as E,C as B,a as U,T as L,b as O}from"./SortingByFilter-Bz0ugPNO.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={name:"LevelEduFilter",components:{BaseIcon:m,Link:w,SearchBadge:E,CategoryBadge:B},data(){return{levelEdu:this.level_filter.value||""}},methods:{filter:F.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("level");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{level:this.levelEdu}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("level");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},props:{levels:{type:Object},level_filter:{type:Object}}},$=["value"];function z(r,e,i,v,c,o){return x((a(),d("select",{onChange:e[1]||(e[1]=(...s)=>o.filter&&o.filter(...s)),"onUpdate:modelValue":e[2]||(e[2]=s=>c.levelEdu=s),class:"py-3 px-4 pe-9 block w-full md:w-1/2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none"},[t("option",{onClick:e[0]||(e[0]=y((...s)=>o.clearFilter&&o.clearFilter(...s),["prevent"])),selected:"",value:""},"Все"),(a(!0),d(g,null,_(i.levels,(s,l)=>(a(),d("option",{value:l},k(s),9,$))),256))],544)),[[j,c.levelEdu]])}const ye=p(P,[["render",z]]),R={name:"FormEducationalFilter",components:{BaseIcon:m,Link:w,SearchBadge:E,CategoryBadge:B},data(){return{formEdu:this.formEdu_filter.value||[]}},methods:{filter:F.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("form");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{form:this.formEdu}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("form"),this.formEdu=[],this.searchTerm="";let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},computed:{},props:{forms:{type:Object},formEdu_filter:{type:Object}}},M={class:"min-w-[12rem] py-1 space-y-3"},I={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},V={class:"flex flex-col ml-3"},D=["value","id"],T=["for"];function N(r,e,i,v,c,o){const s=h("BaseIcon");return a(),d("div",M,[t("button",{onClick:e[0]||(e[0]=y((...l)=>o.clearFilter&&o.clearFilter(...l),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[f(s,{class:"w-4 h-4",name:"delete"}),e[3]||(e[3]=t("span",null,"Очистить",-1))]),t("div",I,[t("div",null,[t("div",V,[(a(!0),d(g,null,_(i.forms,(l,n)=>(a(),d("div",null,[x(t("input",{"onUpdate:modelValue":e[1]||(e[1]=u=>c.formEdu=u),value:n,onChange:e[2]||(e[2]=(...u)=>o.filter&&o.filter(...u)),type:"radio",class:"shrink-0 mt-0.5 border-gray-200 rounded-full text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp-tag"+n},null,40,D),[[C,c.formEdu]]),t("label",{for:"inp-tag"+n,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},k(l),9,T)]))),256))])])])])}const H=p(R,[["render",N]]),q={name:"BudgetFilter",components:{BaseIcon:m,Link:w,SearchBadge:E,CategoryBadge:B},data(){return{budgetEdu:this.budget_filter.value||[]}},methods:{filter:F.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("budget");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{budget:this.budgetEdu}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("budget"),this.budgetEdu=[],this.searchTerm="";let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},computed:{},props:{budgets:{type:Object},budget_filter:{type:Object}}},A={class:"min-w-[12rem] py-1 space-y-3"},G={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},J={class:"flex flex-col ml-3"},K=["value","id"],Q=["for"];function W(r,e,i,v,c,o){const s=h("BaseIcon");return a(),d("div",A,[t("button",{onClick:e[0]||(e[0]=y((...l)=>o.clearFilter&&o.clearFilter(...l),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[f(s,{class:"w-4 h-4",name:"delete"}),e[3]||(e[3]=t("span",null,"Очистить",-1))]),t("div",G,[t("div",null,[t("div",J,[(a(!0),d(g,null,_(i.budgets,(l,n)=>(a(),d("div",null,[x(t("input",{"onUpdate:modelValue":e[1]||(e[1]=u=>c.budgetEdu=u),value:n,onChange:e[2]||(e[2]=(...u)=>o.filter&&o.filter(...u)),type:"radio",class:"shrink-0 mt-0.5 border-gray-200 rounded-full text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp-tag"+n},null,40,K),[[C,c.budgetEdu]]),t("label",{for:"inp-tag"+n,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},k(l),9,Q)]))),256))])])])])}const X=p(q,[["render",W]]),Y={name:"DirectionFilter",components:{BaseIcon:m,Link:w,SearchBadge:E,CategoryBadge:B},data(){return{direction:this.direction_filter.value||[],tag_slug:[],searchTerm:""}},methods:{filter:F.debounce(function(){let r=new URL(window.location.href);r.searchParams.delete("page"),r.searchParams.delete("direction[]");let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0,data:{direction:this.direction}})},500),clearFilter(){let r=new URL(window.location.href);r.searchParams.delete("direction[]"),this.direction=[],this.searchTerm="";let e=r.toString();this.$inertia.visit(e,{method:"get",preserveState:!0})}},computed:{},props:{direction_studies:{type:Object},direction_filter:{type:Object}}},Z={class:"min-w-[12rem] py-1 space-y-3"},ee={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},te={class:"flex flex-col ml-3"},re=["value","id"],ie=["for"];function oe(r,e,i,v,c,o){const s=h("BaseIcon");return a(),d("div",Z,[t("button",{onClick:e[0]||(e[0]=y((...l)=>o.clearFilter&&o.clearFilter(...l),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[f(s,{class:"w-4 h-4",name:"delete"}),e[3]||(e[3]=t("span",null,"Очистить",-1))]),t("div",ee,[t("div",null,[t("div",te,[(a(!0),d(g,null,_(i.direction_studies,l=>(a(),d("div",{key:l.id},[x(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>c.direction=n),value:l.slug,onChange:e[2]||(e[2]=(...n)=>o.filter&&o.filter(...n)),type:"checkbox",class:"shrink-0 mt-0.5 border-gray-200 rounded text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp"+l.id},null,40,re),[[S,c.direction]]),t("label",{for:"inp"+l.id,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},k(l.name),9,ie)]))),128))])])])])}const le=p(Y,[["render",oe]]),se={name:"ClientProgramFilter",components:{DirectionFilter:le,FormEducationalFilter:H,BudgetFilter:X,SortingByFilter:U,TagFilter:L,CategoryFilter:O,BaseIcon:m},data(){return{}},props:{forms_educational:{type:Object},budget_filter:{type:Object},direction_filter:{type:Object},formEdu_filter:{type:Object},types_budget:{type:Object},direction_studies:{type:Object}}},ne={id:"hs-offcanvas-example",class:"hs-overlay hs-overlay-open:translate-x-0 hidden -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-e overflow-auto",role:"dialog",tabindex:"-1","aria-labelledby":"hs-offcanvas-example-label"},ae={class:"p-4"},de={class:"hs-accordion-group"},ce=["id"],ue=["aria-labelledby"],he=["id"],fe=["aria-labelledby"],ge=["id"],me=["aria-labelledby"];function pe(r,e,i,v,c,o){const s=h("FormEducationalFilter"),l=h("BudgetFilter"),n=h("DirectionFilter");return a(),d(g,null,[e[4]||(e[4]=t("div",{class:""},[t("button",{type:"button",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-offcanvas-example","data-hs-overlay":"#hs-offcanvas-example"},[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"})])])],-1)),t("div",ne,[e[3]||(e[3]=b('

Фильтры

',1)),t("div",ae,[t("div",de,[t("div",{class:"hs-accordion",id:"id"+i.formEdu_filter.type},[e[0]||(e[0]=b('',1)),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+i.formEdu_filter.type},[f(s,{forms:i.forms_educational,formEdu_filter:i.formEdu_filter},null,8,["forms","formEdu_filter"])],8,ue)],8,ce),t("div",{class:"hs-accordion",id:"id"+i.budget_filter.type},[e[1]||(e[1]=b('',1)),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+i.formEdu_filter.type},[f(l,{budgets:i.types_budget,budget_filter:i.budget_filter},null,8,["budgets","budget_filter"])],8,fe)],8,he),t("div",{class:"hs-accordion",id:"id"+i.direction_filter.type},[e[2]||(e[2]=b('',1)),t("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+i.direction_filter.type},[f(n,{direction_filter:i.direction_filter,direction_studies:i.direction_studies},null,8,["direction_filter","direction_studies"])],8,me)],8,ge)])])])],64)}const _e=p(se,[["render",pe]]);export{_e as C,ye as L}; diff --git a/public/build/assets/ClientScrollTimeline-zadrTdrA.js b/public/build/assets/ClientScrollTimeline-CBg4yF9s.js similarity index 76% rename from public/build/assets/ClientScrollTimeline-zadrTdrA.js rename to public/build/assets/ClientScrollTimeline-CBg4yF9s.js index 7afe162..1f81c51 100644 --- a/public/build/assets/ClientScrollTimeline-zadrTdrA.js +++ b/public/build/assets/ClientScrollTimeline-CBg4yF9s.js @@ -1 +1 @@ -import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o,c as t}from"./app-DmJ8GS-7.js";const r={name:"ClientScrollTimeline"},c={id:"progress"};function n(s,a,i,_,l,p){return o(),t("div",c)}const m=e(r,[["render",n],["__scopeId","data-v-ffdaa09f"]]);export{m as C}; +import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o,c as t}from"./app-C722ecVx.js";const r={name:"ClientScrollTimeline"},c={id:"progress"};function n(s,a,i,_,l,p){return o(),t("div",c)}const m=e(r,[["render",n],["__scopeId","data-v-ffdaa09f"]]);export{m as C}; diff --git a/public/build/assets/CreateSchedule-CS5hEvbo.js b/public/build/assets/CreateSchedule-CS5hEvbo.js new file mode 100644 index 0000000..330ebfe --- /dev/null +++ b/public/build/assets/CreateSchedule-CS5hEvbo.js @@ -0,0 +1 @@ +import{o as n,c as a,b as t,F as p,d as v,u as w,i as m,r as c,a as u,w as b,t as f}from"./app-C722ecVx.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={name:"Repeater",data(){return{blocks:[]}},methods:{addBlock(){this.blocks.push({})},removeBlock(s){this.blocks.splice(s,1)}}},_={class:"space-y-4"},B={class:"flex gap-x-3"},z=["onClick"];function C(s,e,k,x,d,o){return n(),a("div",null,[t("div",_,[(n(!0),a(p,null,v(d.blocks,(r,l)=>(n(),a("div",{key:l},[t("div",B,[w(s.$slots,"block",{index:l,block:r}),t("button",{class:"hover:text-gray-500",onClick:i=>o.removeBlock(l)},e[1]||(e[1]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})],-1)]),8,z)])]))),128))]),t("button",{class:"hover:text-gray-500 flex mx-auto mt-3 gap-x-1",onClick:e[0]||(e[0]=(...r)=>o.addBlock&&o.addBlock(...r))},e[2]||(e[2]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})],-1),t("span",null,"Добавить день",-1)]))])}const j=g(y,[["render",C]]),M={name:"CreateSchedule",data(){return{days:[]}},computed:{weekDays(){return["Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"]}},props:{},components:{Repeater:j,Link:m},methods:{saveBlocks(){const s=JSON.stringify(this.blocks);console.log(s)}}},$={id:"sidebar-mini",class:"transform fixed top-0 start-0 bottom-0 z-[60] w-20 bg-white border-e border-gray-200 lg:block lg:translate-x-0 lg:end-auto lg:bottom-0 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 dark:border-neutral-700",role:"dialog",tabindex:"-1","aria-label":"Mini Sidebar"},H={class:"flex flex-col justify-center items-center gap-y-2 py-4"},S={class:"mb-4"},L={class:"relative h-screen w-full"},N={class:"py-10 lg:py-14"},R={class:"max-w-4xl px-4 sm:px-6 lg:px-8 mx-auto text-center"},D={class:"w-full py-3 border"};function F(s,e,k,x,d,o){const r=c("Link"),l=c("Repeater");return n(),a(p,null,[t("div",$,[t("div",H,[t("div",S,[u(r,{class:"flex-none text-xl font-semibold",href:"/","aria-label":"Brand"},{default:b(()=>e[1]||(e[1]=[t("img",{class:"max-w-[40px]",src:"/logos/only_logo.svg",alt:""},null,-1)])),_:1})]),e[2]||(e[2]=t("div",{class:"hs-tooltip [--placement:right] inline-block"},[t("button",{type:"button",class:"hs-tooltip-toggle size-[38px] inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[t("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),t("polyline",{points:"9 22 9 12 15 12 15 22"})]),t("span",{class:"hs-tooltip-content hs-tooltip-shown:opacity-100 hs-tooltip-shown:visible opacity-0 inline-block absolute invisible z-20 py-1.5 px-2.5 bg-gray-900 text-xs text-white rounded-lg whitespace-nowrap dark:bg-neutral-700",role:"tooltip"}," Home ")])],-1)),e[3]||(e[3]=t("div",{class:"hs-tooltip [--placement:right] inline-block"},[t("button",{type:"button",class:"hs-tooltip-toggle size-[38px] inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[t("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),t("circle",{cx:"9",cy:"7",r:"4"}),t("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),t("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]),t("span",{class:"hs-tooltip-content hs-tooltip-shown:opacity-100 hs-tooltip-shown:visible opacity-0 inline-block absolute invisible z-20 py-1.5 px-2.5 bg-gray-900 text-xs text-white rounded-lg whitespace-nowrap dark:bg-neutral-700",role:"tooltip"}," Users ")])],-1)),e[4]||(e[4]=t("div",{class:"hs-tooltip [--placement:right] inline-block"},[t("button",{type:"button",class:"hs-tooltip-toggle size-[38px] inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[t("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"}),t("path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0"})]),t("span",{class:"hs-tooltip-content hs-tooltip-shown:opacity-100 hs-tooltip-shown:visible opacity-0 inline-block absolute invisible z-20 py-1.5 px-2.5 bg-gray-900 text-xs text-white rounded-lg whitespace-nowrap dark:bg-neutral-700",role:"tooltip"}," Notifications ")])],-1))])]),t("div",L,[t("div",N,[t("div",R,[e[5]||(e[5]=t("h1",{class:"text-3xl font-bold text-gray-800 sm:text-4xl dark:text-white"}," Расписание НТГСПИ ",-1)),e[6]||(e[6]=t("p",{class:"mt-3 text-gray-600 dark:text-neutral-400"}," Онлайн веб конструктор ",-1)),t("div",null,[u(l,null,{block:b(({block:i,index:h})=>[t("div",D,f(o.weekDays[h]),1)]),_:1}),t("button",{onClick:e[0]||(e[0]=(...i)=>o.saveBlocks&&o.saveBlocks(...i)),type:"button",class:"hidden py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-gray-200 text-gray-500 hover:border-blue-600 hover:text-blue-600 focus:outline-none focus:border-blue-600 focus:text-blue-600 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-neutral-400 dark:hover:text-blue-500 dark:hover:border-blue-600 dark:focus:text-blue-500 dark:focus:border-blue-600"}," Сохранить ")])])])])],64)}const Z=g(M,[["render",F]]);export{Z as default}; diff --git a/public/build/assets/CreateSchedule-fqwZhH2g.js b/public/build/assets/CreateSchedule-fqwZhH2g.js deleted file mode 100644 index 32e1453..0000000 --- a/public/build/assets/CreateSchedule-fqwZhH2g.js +++ /dev/null @@ -1 +0,0 @@ -import{o as n,c as a,b as e,F as p,d as v,u as w,i as m,r as d,a as u,w as b,t as f}from"./app-DmJ8GS-7.js";import{_ as h}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={name:"Repeater",data(){return{blocks:[]}},methods:{addBlock(){this.blocks.push({})},removeBlock(o){this.blocks.splice(o,1)}}},y={class:"space-y-4"},B={class:"flex gap-x-3"},z=["onClick"],C=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})],-1),$=[C],j=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})],-1),M=e("span",null,"Добавить день",-1),H=[j,M];function S(o,s,g,k,c,t){return n(),a("div",null,[e("div",y,[(n(!0),a(p,null,v(c.blocks,(r,l)=>(n(),a("div",{key:l},[e("div",B,[w(o.$slots,"block",{index:l,block:r}),e("button",{class:"hover:text-gray-500",onClick:i=>t.removeBlock(l)},$,8,z)])]))),128))]),e("button",{class:"hover:text-gray-500 flex mx-auto mt-3 gap-x-1",onClick:s[0]||(s[0]=(...r)=>t.addBlock&&t.addBlock(...r))},H)])}const L=h(_,[["render",S]]),N={name:"CreateSchedule",data(){return{days:[]}},computed:{weekDays(){return["Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"]}},props:{},components:{Repeater:L,Link:m},methods:{saveBlocks(){const o=JSON.stringify(this.blocks);console.log(o)}}},R={id:"sidebar-mini",class:"transform fixed top-0 start-0 bottom-0 z-[60] w-20 bg-white border-e border-gray-200 lg:block lg:translate-x-0 lg:end-auto lg:bottom-0 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 dark:border-neutral-700",role:"dialog",tabindex:"-1","aria-label":"Mini Sidebar"},D={class:"flex flex-col justify-center items-center gap-y-2 py-4"},F={class:"mb-4"},J=e("img",{class:"max-w-[40px]",src:"/logos/only_logo.svg",alt:""},null,-1),V=e("div",{class:"hs-tooltip [--placement:right] inline-block"},[e("button",{type:"button",class:"hs-tooltip-toggle size-[38px] inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[e("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),e("polyline",{points:"9 22 9 12 15 12 15 22"})]),e("span",{class:"hs-tooltip-content hs-tooltip-shown:opacity-100 hs-tooltip-shown:visible opacity-0 inline-block absolute invisible z-20 py-1.5 px-2.5 bg-gray-900 text-xs text-white rounded-lg whitespace-nowrap dark:bg-neutral-700",role:"tooltip"}," Home ")])],-1),Z=e("div",{class:"hs-tooltip [--placement:right] inline-block"},[e("button",{type:"button",class:"hs-tooltip-toggle size-[38px] inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[e("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),e("circle",{cx:"9",cy:"7",r:"4"}),e("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),e("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]),e("span",{class:"hs-tooltip-content hs-tooltip-shown:opacity-100 hs-tooltip-shown:visible opacity-0 inline-block absolute invisible z-20 py-1.5 px-2.5 bg-gray-900 text-xs text-white rounded-lg whitespace-nowrap dark:bg-neutral-700",role:"tooltip"}," Users ")])],-1),E=e("div",{class:"hs-tooltip [--placement:right] inline-block"},[e("button",{type:"button",class:"hs-tooltip-toggle size-[38px] inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[e("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"}),e("path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0"})]),e("span",{class:"hs-tooltip-content hs-tooltip-shown:opacity-100 hs-tooltip-shown:visible opacity-0 inline-block absolute invisible z-20 py-1.5 px-2.5 bg-gray-900 text-xs text-white rounded-lg whitespace-nowrap dark:bg-neutral-700",role:"tooltip"}," Notifications ")])],-1),O={class:"relative h-screen w-full"},U={class:"py-10 lg:py-14"},q={class:"max-w-4xl px-4 sm:px-6 lg:px-8 mx-auto text-center"},A=e("h1",{class:"text-3xl font-bold text-gray-800 sm:text-4xl dark:text-white"}," Расписание НТГСПИ ",-1),G=e("p",{class:"mt-3 text-gray-600 dark:text-neutral-400"}," Онлайн веб конструктор ",-1),I={class:"w-full py-3 border"};function K(o,s,g,k,c,t){const r=d("Link"),l=d("Repeater");return n(),a(p,null,[e("div",R,[e("div",D,[e("div",F,[u(r,{class:"flex-none text-xl font-semibold",href:"/","aria-label":"Brand"},{default:b(()=>[J]),_:1})]),V,Z,E])]),e("div",O,[e("div",U,[e("div",q,[A,G,e("div",null,[u(l,null,{block:b(({block:i,index:x})=>[e("div",I,f(t.weekDays[x]),1)]),_:1}),e("button",{onClick:s[0]||(s[0]=(...i)=>t.saveBlocks&&t.saveBlocks(...i)),type:"button",class:"hidden py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-gray-200 text-gray-500 hover:border-blue-600 hover:text-blue-600 focus:outline-none focus:border-blue-600 focus:text-blue-600 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-neutral-400 dark:hover:text-blue-500 dark:hover:border-blue-600 dark:focus:text-blue-500 dark:focus:border-blue-600"}," Сохранить ")])])])])],64)}const T=h(N,[["render",K]]);export{T as default}; diff --git a/public/build/assets/Error-BEX6897l.css b/public/build/assets/Error-BEX6897l.css deleted file mode 100644 index df39a45..0000000 --- a/public/build/assets/Error-BEX6897l.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes fade-cd8c7245{0%{opacity:0}to{opacity:1}}.fade-enter-active[data-v-cd8c7245],.fade-leave-active[data-v-cd8c7245]{transition:all .3s ease}.fade-enter-from[data-v-cd8c7245],.fade-leave-to[data-v-cd8c7245]{opacity:0}@keyframes grow-progress-cd8c7245{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#progress[data-v-cd8c7245]{height:2px;background:#26acb8;z-index:10000;transform-origin:0 50%;animation:grow-progress-cd8c7245 auto linear;animation-timeline:scroll()}.active[data-v-cd8c7245]{color:#00f!important}.example-initial-animation[data-v-cd8c7245]{animation:initial-animation-cd8c7245 2s ease}@keyframes initial-animation-cd8c7245{0%{transform:rotate(0)}50%{transform:rotate(360deg)}to{transform:rotate(0)}} diff --git a/public/build/assets/Error-BYb2LDW7.css b/public/build/assets/Error-BYb2LDW7.css new file mode 100644 index 0000000..01c5839 --- /dev/null +++ b/public/build/assets/Error-BYb2LDW7.css @@ -0,0 +1 @@ +@keyframes fade-56dd7ff7{0%{opacity:0}to{opacity:1}}.fade-enter-active[data-v-56dd7ff7],.fade-leave-active[data-v-56dd7ff7]{transition:all .3s ease}.fade-enter-from[data-v-56dd7ff7],.fade-leave-to[data-v-56dd7ff7]{opacity:0}@keyframes grow-progress-56dd7ff7{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#progress[data-v-56dd7ff7]{height:2px;background:#26acb8;z-index:10000;transform-origin:0 50%;animation:grow-progress-56dd7ff7 auto linear;animation-timeline:scroll()}.active[data-v-56dd7ff7]{color:#00f!important}.example-initial-animation[data-v-56dd7ff7]{animation:initial-animation-56dd7ff7 2s ease}@keyframes initial-animation-56dd7ff7{0%{transform:rotate(0)}50%{transform:rotate(360deg)}to{transform:rotate(0)}} diff --git a/public/build/assets/Error-CtcsmYYB.js b/public/build/assets/Error-CtcsmYYB.js deleted file mode 100644 index cb358f3..0000000 --- a/public/build/assets/Error-CtcsmYYB.js +++ /dev/null @@ -1 +0,0 @@ -import{r as o,o as l,c as d,a as s,w as p,b as e,t as n,g as m,F as _,z as x,A as h}from"./app-DmJ8GS-7.js";import"./v3-rkPj73qv.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */const f={},a=t=>(x("data-v-cd8c7245"),t=t(),h(),t),g=a(()=>e("meta",{name:"description",content:"Your page description"},null,-1)),w={class:"max-w-[50rem] flex flex-col mx-auto size-full"},b={class:"mt-[67px]",id:"content"},v={class:"text-center py-10 px-4 sm:px-6 lg:px-8"},y={class:"block text-7xl font-bold text-gray-800 sm:text-9xl"},k=a(()=>e("p",{class:"mt-3 text-gray-600"},"Упс! Что-то пошло не так.",-1)),C={class:"text-gray-600"},N={class:"mt-5 flex flex-col justify-center items-center gap-2 sm:flex-row sm:gap-3"},$=["href"],B=a(()=>e("svg",{class:"flex-shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m15 18-6-6 6-6"})],-1));function F(t,I,S,j,z,D){const r=o("Head"),i=o("MainNavbar"),c=o("ClientFooterDown");return l(),d(_,null,[s(r,null,{default:p(()=>[e("title",null,"Ошибка "+n(t.title),1),g]),_:1}),s(i,{sections:t.$page.props.navigation},null,8,["sections"]),e("div",w,[e("main",b,[e("div",v,[e("h1",y,n(t.title),1),k,e("p",C,n(t.description),1),e("div",N,[e("a",{href:t.route("index"),class:"w-full sm:w-auto py-3 px-4 inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none"},[B,m(" На домашнюю страницу ")],8,$)])])])]),s(c)],64)}const T=u(f,[["render",F],["__scopeId","data-v-cd8c7245"]]);export{T as default}; diff --git a/public/build/assets/Error-DEpOi8Yy.js b/public/build/assets/Error-DEpOi8Yy.js new file mode 100644 index 0000000..7851aa6 --- /dev/null +++ b/public/build/assets/Error-DEpOi8Yy.js @@ -0,0 +1 @@ +import{z as d,r as s,c as p,a as n,w as c,b as e,t as r,g as m,F as f,o as x}from"./app-C722ecVx.js";import"./v3-918lQ39M.js";import"./SearchModal-72Hbiqqz.js";import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */import{M as g}from"./MainPageNavbar-DcM2ZJ6Y.js";const _=d({components:{MainPageNavBar:g}}),w={class:"max-w-[50rem] flex flex-col mx-auto size-full"},h={class:"mt-[67px]",id:"content"},b={class:"text-center py-10 px-4 sm:px-6 lg:px-8"},v={class:"block text-7xl font-bold text-gray-800 sm:text-9xl"},y={class:"text-gray-600"},k={class:"mt-5 flex flex-col justify-center items-center gap-2 sm:flex-row sm:gap-3"},B=["href"];function C(o,t,N,$,F,M){const a=s("Head"),i=s("MainPageNavBar"),l=s("ClientFooterDown");return x(),p(f,null,[n(a,null,{default:c(()=>[e("title",null,"Ошибка "+r(o.title),1),t[0]||(t[0]=e("meta",{name:"description",content:"Your page description"},null,-1))]),_:1}),n(i,{class:"border-b",sections:o.$page.props.navigation},null,8,["sections"]),e("div",w,[e("main",h,[e("div",b,[e("h1",v,r(o.title),1),t[2]||(t[2]=e("p",{class:"mt-3 text-gray-600"},"Упс! Что-то пошло не так.",-1)),e("p",y,r(o.description),1),e("div",k,[e("a",{href:o.route("index"),class:"w-full sm:w-auto py-3 px-4 inline-flex justify-center items-center gap-x-2 text-sm font-semibold rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none"},t[1]||(t[1]=[e("svg",{class:"flex-shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m15 18-6-6 6-6"})],-1),m(" На домашнюю страницу ")]),8,B)])])])]),n(l)],64)}const H=u(_,[["render",C],["__scopeId","data-v-56dd7ff7"]]);export{H as default}; diff --git a/public/build/assets/EventBadgeBuilder-BM5JLHrZ.js b/public/build/assets/EventBadgeBuilder-BM5JLHrZ.js new file mode 100644 index 0000000..08621e0 --- /dev/null +++ b/public/build/assets/EventBadgeBuilder-BM5JLHrZ.js @@ -0,0 +1 @@ +import{i,o as l,c,g as m,t as g,b as a,l as p,f as h,d as k,e as y,k as B,F as b}from"./app-C722ecVx.js";import"./SearchModal-72Hbiqqz.js";import{S as x,C as v}from"./SortingByFilter-Bz0ugPNO.js";import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={name:"TagBadge",components:{Link:i},data(){return{}},methods:{clearFilter(){let r=new URL(window.location.href);const e=[];for(const[n]of r.searchParams)n.startsWith(this.filter.param)&&e.push(n);e.forEach(n=>r.searchParams.delete(n));let t=r.toString();this.$inertia.visit(t,{method:"get"})}},props:{filter:{type:Object}}},w={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 ps-3 pe-2 rounded-full text-xs font-medium bg-blue-100 text-blue-800"};function C(r,e,t,n,d,s){return this.filter.value!==null?(l(),c("span",w,[m(g(t.filter.value.length>1?"Тэг: "+t.filter.value.length+" значений":"#"+JSON.parse(t.filter.content[t.filter.value].data.name).ru)+" ",1),a("button",{onClick:e[0]||(e[0]=p((...o)=>s.clearFilter&&s.clearFilter(...o),["prevent"])),type:"button",class:"shrink-0 size-4 inline-flex items-center justify-center rounded-full hover:bg-blue-200 focus:outline-none focus:bg-blue-200 focus:text-blue-500"},e[1]||(e[1]=[a("span",{class:"sr-only"},"Remove badge",-1),a("svg",{class:"shrink-0 size-3",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[a("path",{d:"M18 6 6 18"}),a("path",{d:"m6 6 12 12"})],-1)]))])):h("",!0)}const S=u(_,[["render",C]]),F={name:"EventBadgeBuilder",components:{Link:i,SearchBadge:x,CategoryBadge:v,TagBadge:S},data(){return{}},methods:{getComponent(r){return{search:"SearchBadge",category:"CategoryBadge",tag:"TagBadge"}[r]||null}},props:{filters:{type:Object}}};function T(r,e,t,n,d,s){return l(!0),c(b,null,k(t.filters,(o,f)=>(l(),y(B(s.getComponent(o.type)),{key:f,filter:o},null,8,["filter"]))),128)}const P=u(F,[["render",T]]);export{P}; diff --git a/public/build/assets/EventBuilder-24hBVivW.js b/public/build/assets/EventBuilder-24hBVivW.js new file mode 100644 index 0000000..6bf4a26 --- /dev/null +++ b/public/build/assets/EventBuilder-24hBVivW.js @@ -0,0 +1 @@ +import{i as m,o as n,c as a,b as p,g,t as d,l as u,d as B,e as h,k as f,F as x}from"./app-C722ecVx.js";import"./SearchModal-72Hbiqqz.js";import{_ as i}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{F as _,I as b,P as v,H as $,a as P,S as I,V as L,T as w,b as T,c as y,d as C}from"./PostItemBlock-BZ4FcbP2.js";import{C as E}from"./ClientImageSlider-DIxDD91b.js";const S={name:"EventBackButton",components:{Link:m},data(){return{}},methods:{textLimit(t,e){if(t.length>e){let o;return o=t.substring(0,e),o+"..."}return t},back(){this.$page.props.urlPrev!=="empty"&&this.$inertia.visit(this.$page.props.urlPrev)}},props:{title:{type:String}}};function F(t,e,o,l,c,s){return n(),a("a",{onClick:e[0]||(e[0]=u((...r)=>this.back&&this.back(...r),["prevent"])),class:"inline-flex items-center gap-x-1.5 text-sm text-gray-600 decoration-2 hover:underline dark:text-blue-500",href:"#"},[e[1]||(e[1]=p("svg",{class:"flex-shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[p("path",{d:"m15 18-6-6 6-6"})],-1)),g(" "+d(o.title),1)])}const G=i(S,[["render",F]]),V={name:"TitleEvent",components:{Link:m},data(){return{}},methods:{textLimit(t,e){if(t.length>e){let o;return o=t.substring(0,e),o+"..."}return t}},props:{header:{type:String}}},H={class:"text-brand-primary text-2xl mb-3 mt-2 md:text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"};function M(t,e,o,l,c,s){return n(),a("h1",H,d(o.header),1)}const J=i(V,[["render",M]]),j={name:"EventBuilder",components:{FileBlock:_,ImageBlock:b,ClientImageSlider:E,ParagraphBlock:v,HeadingBlock:$,PersonBlock:P,StepperBlock:I,VideoBlock:L,TabBlock:w,PostListBlock:T,PageItemBlock:y,PostItemBlock:C},methods:{getComponent(t){return{heading:"HeadingBlock",paragraph:"ParagraphBlock",images:"ClientImageSlider",image:"ImageBlock",files:"FileBlock",person:"PersonBlock",stepper:"StepperBlock",video:"VideoBlock",tabs:"TabBlock",postsList:"PostListBlock",postItem:"PostItemBlock",pageItem:"PageItemBlock"}[t]||null}},props:{blocks:{type:Object}}};function D(t,e,o,l,c,s){return n(!0),a(x,null,B(o.blocks,(r,k)=>(n(),h(f(s.getComponent(r.type)),{key:k,block:r},null,8,["block"]))),128)}const K=i(j,[["render",D]]);export{K as E,J as T,G as a}; diff --git a/public/build/assets/FacultyBuilder-DSUoeSuY.js b/public/build/assets/FacultyBuilder-DSUoeSuY.js new file mode 100644 index 0000000..deb76bd --- /dev/null +++ b/public/build/assets/FacultyBuilder-DSUoeSuY.js @@ -0,0 +1 @@ +import{s as f}from"./SearchModal-72Hbiqqz.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as r,b as e,t as d,r as x,a as v,F as p,d as m,g as _,n as $,j as h,i as k,h as y,e as B,w as P,f as C,k as j}from"./app-C722ecVx.js";import{C as H}from"./ClientImageSlider-DIxDD91b.js";import{F as w}from"./v3-918lQ39M.js";import{P as L}from"./PageTabBuilder-CRT8Vrz4.js";const S={name:"HeadingBlock",methods:{generateSlug:function(s){return f(s,{lower:!0,strict:!0,locale:"ru"})}},props:{block:{type:Object}}},V={class:"md:font-bold md:text-xl text-lg font-medium text-gray-800"};function z(s,t,l,u,o,i){return n(),r("div",null,[e("h2",V,d(l.block.data.content),1)])}const F=g(S,[["render",z]]),T={name:"ParagraphBlock",methods:{wrapTables(s){if(s.type==="paragraph"&&s.data&&s.data.content){const t=s.data.content.replace(/]*)>([\s\S]*?)<\/table>/g,(l,u,o)=>`
${o}
`);return{...s,data:{...s.data,content:t}}}return s}},props:{block:{type:Object}}},I=["innerHTML"];function M(s,t,l,u,o,i){return n(),r("div",{class:"text-sm text-gray-600 leading-6 md:text-[16px] md:text-[#374151] md:leading-8 md:font-light paragraph-container",innerHTML:i.wrapTables(l.block).data.content},null,8,I)}const O=g(T,[["render",M]]),Z={name:"ImageBlock",components:{FsLightbox:w},data(){return{toggler:!1,domainPath:null}},methods:{generateSlug:function(s){return f(s,{lower:!0,strict:!0,locale:"ru"})}},mounted(){this.domainPath=window.location.origin},props:{block:{type:Object}}},N=["src"];function A(s,t,l,u,o,i){const c=x("FsLightbox");return n(),r(p,null,[e("div",null,[e("img",{onClick:t[0]||(t[0]=a=>o.toggler=!o.toggler),loading:"lazy",class:"mx-auto object-cover rounded-md hover:opacity-95 hover:duration-200 transition",src:"/storage/"+l.block.data.url,alt:""},null,8,N)]),v(c,{class:"",toggler:o.toggler,sources:[o.domainPath+"/storage/"+l.block.data.url]},null,8,["toggler","sources"])],64)}const D=g(Z,[["render",A]]),E={name:"FileBlock",components:{FsLightbox:w},data(){return{toggler:!1,domainPath:null}},methods:{generateSlug:function(s){return f(s,{lower:!0,strict:!0,locale:"ru"})}},mounted(){this.domainPath=window.location.origin},props:{block:{type:Object}}},Y={class:""},q=["href"],G={class:"flex border rounded-lg px-4 py-2 items-center justify-between duration-300 hover:bg-gray-100"},J={class:"flex items-center"};function K(s,t,l,u,o,i){return n(!0),r(p,null,m(l.block.data.file,c=>(n(),r("div",Y,[e("a",{class:"",href:"/storage/"+c.path,download:"",type:"button"},[e("div",G,[e("div",J,[t[0]||(t[0]=e("div",{class:"w-[30px] h-[30px] bg-black flex justify-center items-center rounded-md mr-2"},[e("svg",{width:"17",height:"17",viewBox:"0 0 17 17",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M15.9375 12.2188H12.75C12.4682 12.2188 12.198 12.1068 11.9987 11.9076C11.7994 11.7083 11.6875 11.438 11.6875 11.1562V5.84375C11.6875 5.56196 11.7994 5.29171 11.9987 5.09245C12.198 4.89319 12.4682 4.78125 12.75 4.78125H15.9375V5.84375H12.75V11.1562H15.9375V12.2188ZM9.5625 12.2188H7.4375C7.15571 12.2188 6.88546 12.1068 6.6862 11.9076C6.48694 11.7083 6.375 11.438 6.375 11.1562V5.84375C6.375 5.56196 6.48694 5.29171 6.6862 5.09245C6.88546 4.89319 7.15571 4.78125 7.4375 4.78125H9.5625C9.84429 4.78125 10.1145 4.89319 10.3138 5.09245C10.5131 5.29171 10.625 5.56196 10.625 5.84375V11.1562C10.625 11.438 10.5131 11.7083 10.3138 11.9076C10.1145 12.1068 9.84429 12.2188 9.5625 12.2188ZM7.4375 5.84375V11.1562H9.5625V5.84375H7.4375ZM3.1875 12.2188H1.0625V4.78125H3.1875C3.75087 4.78195 4.29096 5.00606 4.68933 5.40442C5.08769 5.80279 5.3118 6.34288 5.3125 6.90625V10.0938C5.3118 10.6571 5.08769 11.1972 4.68933 11.5956C4.29096 11.9939 3.75087 12.218 3.1875 12.2188ZM2.125 11.1562H3.1875C3.46929 11.1562 3.73954 11.0443 3.9388 10.8451C4.13806 10.6458 4.25 10.3755 4.25 10.0938V6.90625C4.25 6.62446 4.13806 6.35421 3.9388 6.15495C3.73954 5.95569 3.46929 5.84375 3.1875 5.84375H2.125V11.1562Z",fill:"#F8F8F8"})])],-1)),e("div",null,d(c.title),1)])])],8,q)]))),256)}const Q=g(E,[["render",K]]),R={name:"PersonBlock",components:{FsLightbox:w},data(){return{toggler:!1,domainPath:null}},methods:{generateSlug:function(s){return f(s,{lower:!0,strict:!0,locale:"ru"})}},mounted(){this.domainPath=window.location.origin},props:{block:{type:Object}}},U={class:"w-full rounded-xl mb-4 p-4 md:p-6 bg-white border border-gray-200 dark:bg-slate-900 dark:border-gray-700"},W={class:"flex items-center gap-x-4"},X=["src"],ee={class:"grow"},te={class:"font-medium text-gray-800 hover:text-gray-500"},se={class:"text-xs text-gray-500 mt-2"};function oe(s,t,l,u,o,i){const c=x("FsLightbox");return n(),r(p,null,[e("div",U,[e("div",W,[e("img",{onClick:t[0]||(t[0]=a=>o.toggler=!o.toggler),loading:"lazy",class:"rounded-xl w-[150px]",src:"/storage/"+l.block.data.photo,alt:"Image Description"},null,8,X),e("div",ee,[e("p",te,d(l.block.data.name),1),(n(!0),r(p,null,m(l.block.data.info,a=>(n(),r("p",se,d(a.column)+": "+d(a.content),1))),256))])])]),v(c,{class:"",toggler:o.toggler,sources:[o.domainPath+"/storage/"+l.block.data.photo]},null,8,["toggler","sources"])],64)}const le=g(R,[["render",oe]]),ne={name:"StepperBlock",components:{FsLightbox:w},data(){return{toggler:!1,domainPath:null}},methods:{generateSlug:function(s){return f(s,{lower:!0,strict:!0,locale:"ru"})}},mounted(){this.domainPath=window.location.origin},props:{block:{type:Object}}},re={class:"flex gap-x-3"},ae={class:"w-16 text-end min-w-[4rem]"},ie={class:"text-xs text-gray-500"},ce={class:"grow max-w-[70%] pt-0.5 pb-8 overflow-wrap break-words"},de={class:"flex gap-x-1.5 font-semibold text-gray-800"},ue=["innerHTML"];function ge(s,t,l,u,o,i){return n(),r("div",null,[(n(!0),r(p,null,m(l.block.data.steps,(c,a)=>(n(),r("div",re,[e("div",ae,[e("span",ie,d(l.block.data.step_name)+" "+d(a+1),1)]),t[0]||(t[0]=e("div",{class:"relative last:after:hidden after:absolute after:top-7 after:bottom-0 after:start-3.5 after:w-px after:-translate-x-[0.5px] after:bg-gray-200"},[e("div",{class:"relative z-10 size-7 flex justify-center items-center"},[e("div",{class:"size-2 rounded-full bg-primaryBlue"})])],-1)),e("div",ce,[e("h3",de,d(c.title),1),e("p",{class:"mt-1 text-sm text-gray-600 step-content",innerHTML:c.content},null,8,ue)])]))),256))])}const pe=g(ne,[["render",ge]]),me={name:"VideoBlock",data(){return{toggler:!1,domainPath:null}},methods:{},mounted(){this.domainPath=window.location.origin},props:{block:{type:Object}}},he={class:"h-full w-full rounded-lg",controls:""},fe=["src","type"],xe={class:"mt-3 text-sm text-center text-gray-500 dark:text-neutral-500"};function be(s,t,l,u,o,i){return n(),r(p,null,[e("video",he,[e("source",{src:o.domainPath+"/storage/"+l.block.data.path,type:l.block.data.mime},null,8,fe),t[0]||(t[0]=_(" Your browser does not support the video tag. "))]),e("figcaption",xe,d(l.block.data.title),1)],64)}const _e=g(me,[["render",be]]),ve={name:"TabBlock",components:{PageTabBuilder:L},data(){return{activeTab:0}},methods:{generateSlug:function(s){return f(s,{lower:!0,strict:!0,locale:"ru"})}},mounted(){this.domainPath=window.location.origin},props:{block:{type:Object}}},we={class:""},ke={class:"-mb-0.5 flex justify-center gap-x-2","aria-label":"Tabs",role:"tablist","aria-orientation":"horizontal"},ye=["onClick","id","data-hs-tab","aria-controls"],$e={class:"mt-3"},Be=["id","aria-labelledby"];function Pe(s,t,l,u,o,i){const c=x("PageTabBuilder");return n(),r(p,null,[e("div",we,[e("nav",ke,[(n(!0),r(p,null,m(l.block.data.tab,(a,b)=>(n(),r("button",{type:"button",class:$(["hs-tab-active:bg-gray-100 rounded-md hs-tab-active:text-gray-700 py-1.5 px-3 inline-flex items-center gap-x-2 border-b-2 border-transparent text-sm whitespace-nowrap text-gray-500 focus:outline-none disabled:opacity-50 disabled:pointer-events-none",o.activeTab===b?"active":""]),onClick:xt=>o.activeTab=b,id:i.generateSlug(a.title)+"-item","data-hs-tab":"#"+i.generateSlug(a.title),"aria-selected":"false","aria-controls":i.generateSlug(a.title),role:"tab"},d(a.title),11,ye))),256))])]),e("div",$e,[(n(!0),r(p,null,m(l.block.data.tab,(a,b)=>(n(),r("div",{id:i.generateSlug(a.title),class:$(o.activeTab===b?"":"hidden"),role:"tabpanel","aria-labelledby":i.generateSlug(a.title)+"-item"},[v(c,{blocks:a.content},null,8,["blocks"])],10,Be))),256))])],64)}const Ce=g(ve,[["render",Pe]]),je={name:"PostListBlock",components:{axios:h,Link:k},data(){return{posts:null,loading:!0}},methods:{getPosts(){h.get(route("client.widget.post.index"),{params:{count:this.block.data.count,category:this.block.data.category}}).then(s=>{this.posts=s.data,this.loading=!1}).catch(s=>{console.error("Ошибка:",s),this.loading=!1})}},mounted(){this.getPosts()},props:{block:{type:Object}}},He={class:"w-full px-4 py-5 sm:px-6 lg:px-8 lg:py-7 mx-auto"},Le={key:0,class:"flex flex-col space-y-4"},Se={key:1,class:"grid lg:grid-cols-1 lg:gap-y-16 gap-10"},Ve={class:"flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-5"},ze={class:"shrink-0 relative rounded-xl overflow-hidden w-full sm:w-56 h-44"},Fe=["src"],Te={class:"grow"},Ie={class:"text-xl font-semibold text-gray-800 group-hover:text-gray-600"},Me={class:"flex justify-center"},Oe=["href"];function Ze(s,t,l,u,o,i){const c=x("Link");return n(),r("div",He,[o.loading?(n(),r("div",Le,t[0]||(t[0]=[y('

',3)]))):(n(),r("div",Se,[(n(!0),r(p,null,m(o.posts.data,a=>(n(),B(c,{key:a.id,class:"group block rounded-xl overflow-hidden focus:outline-none",href:s.route("client.post.show",a.slug)},{default:P(()=>[e("div",Ve,[e("div",ze,[e("img",{class:"group-hover:scale-105 group-focus:scale-105 transition-transform duration-500 ease-in-out size-full absolute top-0 start-0 object-cover rounded-xl",src:a.preview?"storage/images/"+a.preview:"/img/thumbnail-1.png"},null,8,Fe)]),e("div",Te,[e("h3",Ie,d(a.title),1),t[1]||(t[1]=e("p",{class:"mt-3 text-gray-600"}," Produce professional, reliable streams easily leveraging Preline's innovative broadcast studio ",-1)),t[2]||(t[2]=e("p",{class:"mt-4 inline-flex items-center gap-x-1 text-sm text-primaryBlue decoration-2 group-hover:underline group-focus:underline font-medium"},[_(" Читать далее "),e("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1))])])]),_:2},1032,["href"]))),128)),e("div",Me,[e("a",{href:s.route("client.post.index",{category:l.block.data.category}),class:"group inline-flex items-center gap-x-1 text-sm font-semibold text-[#1A5AAF]"},t[3]||(t[3]=[_(" Все новости "),e("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})],-1)]),8,Oe)])]))])}const Ne=g(je,[["render",Ze]]),Ae={name:"PageItemBlock",components:{axios:h,Link:k},data(){return{page:null,breadcrumbs:null,loading:!0}},methods:{getPage(s){h.get(route("client.widget.page.single",s)).then(t=>{this.page=t.data.data.page,this.breadcrumbs=t.data.data.breadcrumbs,this.loading=!1}).catch(t=>{console.error("Ошибка:",t),this.loading=!1})}},mounted(){this.getPage(this.block.data.page)},props:{block:{type:Object}}},De={key:0,class:"flex flex-col space-y-4"},Ee={key:1,class:"w-full px-2 sm:px-3 lg:px-4mx-auto"},Ye=["href"],qe={class:"p-4 md:p-5"},Ge={class:"flex items-center gap-x-5"},Je={class:"grow"},Ke={key:0,class:"flex items-center whitespace-nowrap"},Qe={class:"inline-flex items-center"},Re={class:"flex items-center text-sm text-gray-500 hover:text-blue-600 focus:outline-none focus:text-blue-600",href:"#"},Ue={class:"inline-flex items-center"},We={class:"flex items-center text-sm text-gray-500 hover:text-blue-600 focus:outline-none focus:text-blue-600",href:"#"},Xe={class:"inline-flex items-center"},et={class:"flex items-center text-sm text-gray-500 hover:text-blue-600 focus:outline-none focus:text-blue-600",href:"#"},tt={class:"mt-1 group-hover:text-blue-600 font-semibold text-gray-700"};function st(s,t,l,u,o,i){return o.loading?(n(),r("div",De,t[0]||(t[0]=[y('

',1)]))):(n(),r("div",Ee,[e("a",{class:"group flex flex-col bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition",href:o.page.is_url?o.page.path:s.route("page.view",o.page.path)+"/"},[e("div",qe,[e("div",Ge,[t[3]||(t[3]=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"mt-1 shrink-0 size-7 text-gray-600"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"})],-1)),e("div",Je,[o.breadcrumbs?(n(),r("ol",Ke,[e("li",Qe,[e("span",Re,d(o.breadcrumbs.mainSection),1),t[1]||(t[1]=e("svg",{class:"shrink-0 mx-2 size-4 text-gray-400",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})],-1))]),e("li",Ue,[e("span",We,d(o.breadcrumbs.mainSection),1),t[2]||(t[2]=e("svg",{class:"shrink-0 mx-2 size-4 text-gray-400",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})],-1))]),e("li",Xe,[e("span",et,d(o.breadcrumbs.page),1)])])):C("",!0),e("h3",tt,d(o.page.title),1)])])])],8,Ye)]))}const ot=g(Ae,[["render",st]]),lt={name:"PostListBlock",components:{axios:h,Link:k},data(){return{post:null,loading:!0}},methods:{getPost(s){h.get(route("client.widget.post.single",s),{params:{count:this.block.data.count,category:this.block.data.category}}).then(t=>{this.post=t.data,this.loading=!1}).catch(t=>{console.error("Ошибка:",t),this.loading=!1})}},mounted(){this.getPost(this.block.data.post)},props:{block:{type:Object}}},nt={class:"w-full px-4 py-5 sm:px-6 lg:px-8 lg:py-7 mx-auto"},rt={key:0,class:"flex flex-col space-y-4"},at={key:1,class:"grid lg:grid-cols-1 lg:gap-y-16 gap-10"},it={class:"flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-5"},ct={class:"shrink-0 relative rounded-xl overflow-hidden w-full sm:w-56 h-44"},dt=["src"],ut={class:"grow"},gt={class:"text-xl font-semibold text-gray-800 group-hover:text-gray-600"};function pt(s,t,l,u,o,i){const c=x("Link");return n(),r("div",nt,[o.loading?(n(),r("div",rt,t[0]||(t[0]=[y('

',1)]))):(n(),r("div",at,[v(c,{class:"group block rounded-xl overflow-hidden focus:outline-none",href:s.route("client.post.show",o.post.data.slug)},{default:P(()=>[e("div",it,[e("div",ct,[e("img",{class:"group-hover:scale-105 group-focus:scale-105 transition-transform duration-500 ease-in-out size-full absolute top-0 start-0 object-cover rounded-xl",src:o.post.data.preview?"storage/images/"+o.post.data.preview:"/img/thumbnail-1.png"},null,8,dt)]),e("div",ut,[e("h3",gt,d(o.post.data.title),1),t[1]||(t[1]=e("p",{class:"mt-3 text-gray-600"}," Produce professional, reliable streams easily leveraging Preline's innovative broadcast studio ",-1)),t[2]||(t[2]=e("p",{class:"mt-4 inline-flex items-center gap-x-1 text-sm text-primaryBlue decoration-2 group-hover:underline group-focus:underline font-medium"},[_(" Читать далее "),e("svg",{class:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1))])])]),_:1},8,["href"])]))])}const mt=g(lt,[["render",pt]]),ht={name:"FacultyBuilder",components:{FileBlock:Q,ImageBlock:D,ClientImageSlider:H,ParagraphBlock:O,HeadingBlock:F,PersonBlock:le,StepperBlock:pe,VideoBlock:_e,TabBlock:Ce,PostListBlock:Ne,PageItemBlock:ot,PostItemBlock:mt},methods:{getComponent(s){return{heading:"HeadingBlock",paragraph:"ParagraphBlock",images:"ClientImageSlider",image:"ImageBlock",files:"FileBlock",person:"PersonBlock",stepper:"StepperBlock",video:"VideoBlock",tabs:"TabBlock",postsList:"PostListBlock",postItem:"PostItemBlock",pageItem:"PageItemBlock"}[s]||null}},props:{blocks:{type:Object}}};function ft(s,t,l,u,o,i){return n(!0),r(p,null,m(l.blocks,(c,a)=>(n(),B(j(i.getComponent(c.type)),{key:a,block:c},null,8,["block"]))),128)}const $t=g(ht,[["render",ft]]);export{$t as F}; diff --git a/public/build/assets/PostBuilder-omupKiP1.css b/public/build/assets/FacultyBuilder-omupKiP1.css similarity index 100% rename from public/build/assets/PostBuilder-omupKiP1.css rename to public/build/assets/FacultyBuilder-omupKiP1.css diff --git a/public/build/assets/Index-0pIUSqcu.js b/public/build/assets/Index-0pIUSqcu.js new file mode 100644 index 0000000..6f83166 --- /dev/null +++ b/public/build/assets/Index-0pIUSqcu.js @@ -0,0 +1 @@ +import{M as f}from"./MainNavbar-CK8Gfm-M.js";import{i as h,Z as _,r as n,c,a,w as r,b as e,F as p,d as b,o as d,e as v,t as i}from"./app-C722ecVx.js";import{F as y}from"./v3-918lQ39M.js";import{C as w}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as k}from"./ClientFooterDown-nb4a-O5q.js";import{A as C,a as F,b as B}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as M,a as P}from"./ClientPostSearch-kaUIQH-M.js";import{C as I}from"./ClientPost-BxLMuODS.js";import{C as N}from"./ClientEventSelectDate-C1YRbWa1.js";import{M as D}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */import"./SortingByFilter-Bz0ugPNO.js";const L={name:"Index",components:{MainPageNavBar:D,ClientEventSelectDate:N,AdminIndexHeaderTitle:C,AdminIndexHeader:A,AdminIndexFilter:F,AdminIndexSearch:B,ClientFooterDown:k,ClientScrollTimeline:w,ClientPostFilter:M,Link:h,MainNavbar:f,FsLightbox:y,Head:_,ClientPost:I,ClientPostSearch:P},props:{posts:{type:Array}},methods:{},mounted(){}},S={class:"flex flex-col h-screen"},E={class:"flex-grow"},j={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},z={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},T={class:"container px-8 mx-auto xl:px-5 max-w-screen-md"},V={class:"my-10 sm:my-14"},W={class:"grow"},Y={class:"flex flex-col h-full"},Z={class:"mb-3"},q={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-[12px] text-gray-600"},G={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-xs font-medium bg-[#E9F2FE] text-blue-600"},J={class:"text-lg sm:text-2xl font-semibold text-gray-800 group-hover:text-blue-600"},K={class:"mt-2 text-gray-600"},O={class:"mt-10 flex items-center justify-center"},Q={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"};function R(m,t,s,U,X,$){const x=n("Head"),g=n("MainPageNavBar"),l=n("Link"),u=n("ClientFooterDown");return d(),c(p,null,[a(x,null,{default:r(()=>t[0]||(t[0]=[e("title",null,"Мероприятия",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),a(g,{class:"border-b",sections:m.$page.props.navigation},null,8,["sections"]),e("div",S,[e("main",E,[e("div",j,[e("div",z,[e("div",null,[t[3]||(t[3]=e("div",{class:"space-y-5 md:space-y-4"},[e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Заметки библиотеки"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")])],-1)),e("div",T,[e("div",V,[(d(!0),c(p,null,b(s.posts.data,o=>(d(),v(l,{href:m.route("client.library.news.show",o.id),class:"group sm:flex rounded-xl mb-4"},{default:r(()=>[e("div",W,[e("div",Y,[e("div",Z,[e("p",q,i(o.created_at),1),e("p",G,i(o.category),1)]),e("h3",J,i(o.title),1),e("p",K,i(o.preview_text),1)])])]),_:2},1032,["href"]))),256)),e("div",O,[e("nav",Q,[a(l,{as:"button",href:s.posts.links.prev,disabled:s.posts.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>t[1]||(t[1]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),e("span",null,"Предыдущая",-1)])),_:1},8,["href","disabled"]),a(l,{as:"button",href:s.posts.links.next,disabled:s.posts.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>t[2]||(t[2]=[e("span",null,"Следующая",-1),e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])),_:1},8,["href","disabled"])])])])])])])])]),a(u)])],64)}const ue=H(L,[["render",R]]);export{ue as default}; diff --git a/public/build/assets/Index-60UNYBj2.css b/public/build/assets/Index-60UNYBj2.css deleted file mode 100644 index 35300a5..0000000 --- a/public/build/assets/Index-60UNYBj2.css +++ /dev/null @@ -1 +0,0 @@ -.fade-enter-active[data-v-1fd6ceca],.fade-leave-active[data-v-1fd6ceca]{transition:all .5s ease}.fade-enter-from[data-v-1fd6ceca],.fade-leave-to[data-v-1fd6ceca]{opacity:0;transform:translateY(30px)}.gg-enter-active[data-v-1fd6ceca],.gg-leave-active[data-v-1fd6ceca]{transition:all .5s ease}.gg-enter-from[data-v-1fd6ceca],.gg-leave-to[data-v-1fd6ceca]{opacity:0;transform:translateY(30px)} diff --git a/public/build/assets/Index-B47eOOAZ.js b/public/build/assets/Index-B47eOOAZ.js new file mode 100644 index 0000000..a7b4042 --- /dev/null +++ b/public/build/assets/Index-B47eOOAZ.js @@ -0,0 +1 @@ +import{M as _}from"./MainNavbar-CK8Gfm-M.js";import{i as h,Z as f,r as s,c as i,a,w as l,b as e,F as d,d as v,o as n,e as w,t as m}from"./app-C722ecVx.js";import{F as b}from"./v3-918lQ39M.js";import{C as y}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as k}from"./ClientFooterDown-nb4a-O5q.js";import{A as C,a as F,b as B}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as I,a as M}from"./ClientPostSearch-kaUIQH-M.js";import{C as N}from"./ClientPost-BxLMuODS.js";import{M as P}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */import"./SortingByFilter-Bz0ugPNO.js";const L={name:"Index",components:{MainPageNavBar:P,AdminIndexHeaderTitle:C,AdminIndexHeader:A,AdminIndexFilter:F,AdminIndexSearch:B,ClientFooterDown:k,ClientScrollTimeline:y,ClientPostFilter:I,Link:h,MainNavbar:_,FsLightbox:b,Head:f,ClientPost:N,ClientPostSearch:M},data(){return{}},props:{faculties:{type:Array}},methods:{},mounted(){}},D={class:"flex flex-col h-screen"},S={class:"flex-grow"},$={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},T={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},j={class:"space-y-5 md:space-y-4"},V={class:"space-y-5 md:space-y-4"},z={class:"max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto"},E={class:"grid sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-3 gap-3 sm:gap-6"},W={class:"p-4 md:p-5"},Y={class:"flex justify-between items-center gap-x-3"},Z={class:"grow"},q={class:"group-hover:text-blue-600 font-semibold text-gray-800"},G={class:"text-sm text-gray-500"};function J(r,t,c,K,O,Q){const p=s("Head"),x=s("MainPageNavBar"),g=s("Link"),u=s("ClientFooterDown");return n(),i(d,null,[a(p,null,{default:l(()=>t[0]||(t[0]=[e("title",null,"Факультеты",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),a(x,{class:"border-b",sections:r.$page.props.navigation},null,8,["sections"]),e("div",D,[e("main",S,[e("div",$,[e("div",T,[e("div",null,[e("div",j,[e("div",V,[e("div",z,[t[2]||(t[2]=e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Факультеты и кафедры"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")],-1)),e("div",E,[(n(!0),i(d,null,v(c.faculties.data,o=>(n(),w(g,{href:r.route("client.faculty.show",o.slug),class:"group flex flex-col bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition"},{default:l(()=>[e("div",W,[e("div",Y,[e("div",Z,[e("h3",q,m(o.shortTitle),1),e("p",G,m(o.title),1)]),t[1]||(t[1]=e("div",null,[e("svg",{class:"shrink-0 size-5 text-gray-800",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1))])])]),_:2},1032,["href"]))),256))])])])])])])])]),a(u)])],64)}const ce=H(L,[["render",J]]);export{ce as default}; diff --git a/public/build/assets/Index-BObb92Rk.js b/public/build/assets/Index-BObb92Rk.js new file mode 100644 index 0000000..69022db --- /dev/null +++ b/public/build/assets/Index-BObb92Rk.js @@ -0,0 +1 @@ +import{M as f}from"./MainNavbar-CK8Gfm-M.js";import{C as y}from"./ClientFooterDown-nb4a-O5q.js";import{B as w,_ as k}from"./SearchModal-72Hbiqqz.js";import{i as _,r as i,c as s,a as n,b as e,m as B,p as M,x as I,l as C,h as N,w as F,y as j,F as r,o as a,d,g as D,t as h}from"./app-C722ecVx.js";import{M as V}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */const z={name:"Index",data(){return{searchInput:this.searchRequest}},components:{BaseIcon:w,MainPageNavBar:V,ClientFooterDown:y,MainNavbar:f,Link:_},props:["educationalGroups","mainSections","searchRequest","navigation"],methods:{search:k.debounce(function(){this.$inertia.reload({method:"get",data:{search:this.searchInput},preserveState:!0,replace:!0})},300)}},P={class:"flex flex-col h-screen"},T={class:"flex-grow"},q={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},K={class:"w-full min-w-0 mt-4 px-1 md:px-6"},L={class:"relative overflow-hidden"},R={class:"max-w-[85rem] mx-auto px-4 sm:px-6 lg:px-8 py-10 sm:pb-12 sm:py-5"},E={class:"text-center"},G={class:"mt-7 sm:mt-12 mx-auto max-w-xl relative space-y-4"},H={class:"relative z-10 space-x-3 p-3 bg-white border rounded-lg shadow-lg shadow-gray-100"},U={class:"flex justify-between"},$={class:"flex w-full"},A={class:""},J={class:"grid grid-cols-2 gap-3"},O={type:"button",class:"flex w-full py-2 px-4 items-center gap-x-2 text-xs font-medium rounded-lg border border-gray-200 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none"},Q={class:"mx-auto max-w-2xl hs-accordion-group grid grid-cols-1 lg:grid-cols-2 gap-3"},W={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 inline-flex justify-between items-center gap-x-3 w-full font-semibold text-start text-gray-800 py-4 px-5 hover:text-gray-500 disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-gray-200 dark:hover:text-gray-400 dark:focus:outline-none dark:focus:text-gray-400","aria-controls":"hs-basic-active-bordered-collapse-one"},X={id:"hs-basic-active-bordered-collapse-one",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300","aria-labelledby":"hs-active-bordered-heading-one"},Y={class:"pb-4 px-5 grid gap-3 grid-cols-1"},Z=["href"];function ee(u,t,x,te,l,c){const b=i("MainPageNavBar"),m=i("BaseIcon"),v=i("ClientFooterDown");return a(),s(r,null,[n(b,{class:"border-b",sections:u.$page.props.navigation},null,8,["sections"]),e("div",P,[e("main",T,[e("div",q,[e("article",K,[e("div",L,[e("div",R,[e("div",E,[t[6]||(t[6]=e("h1",{class:"text-2xl sm:text-4xl font-bold text-gray-800 dark:text-gray-200"}," Расписание занятий ",-1)),t[7]||(t[7]=e("div",{class:"text-center"},[e("p",{class:"mt-3 text-gray-600 dark:text-gray-400"}," Просто введите название группы ")],-1)),e("div",G,[e("form",null,[e("div",H,[e("div",U,[e("div",$,[t[3]||(t[3]=e("label",{for:"hs-search-article-1",class:"block text-sm text-gray-700 font-medium dark:text-white"},[e("span",{class:"sr-only"},"Поиск")],-1)),B(e("input",{onKeydown:t[0]||(t[0]=I(C(()=>{},["prevent"]),["enter"])),autocomplete:"off","onUpdate:modelValue":t[1]||(t[1]=o=>l.searchInput=o),onInput:t[2]||(t[2]=(...o)=>c.search&&c.search(...o)),type:"search",id:"hs-search-article-1",class:"py-2.5 px-4 block w-full border-transparent rounded-lg",placeholder:"Поиск"},null,544),[[M,l.searchInput]])])])])]),e("div",A,[e("div",J,[e("button",O,[n(m,{name:"heart",class:"shrink-0 size-4"}),t[4]||(t[4]=e("span",null,"Избранные расписания",-1))]),t[5]||(t[5]=N('',1))])])])])])]),e("div",Q,[n(j,{name:"fade"},{default:F(()=>[(a(!0),s(r,null,d(x.educationalGroups.data,o=>(a(),s("div",{key:o.id,class:"hs-accordion hs-accordion-active:border-gray-200 bg-white border-b dark:hs-accordion-active:border-gray-700 dark:bg-gray-800 dark:border-transparent",id:"hs-active-bordered-heading-one"},[e("button",W,[D(h(o.title)+" ",1),t[8]||(t[8]=e("svg",{class:"hs-accordion-active:hidden block w-3.5 h-3.5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M5 12h14"}),e("path",{d:"M12 5v14"})],-1)),t[9]||(t[9]=e("svg",{class:"hs-accordion-active:block hidden w-3.5 h-3.5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M5 12h14"})],-1))]),e("div",X,[e("div",Y,[(a(!0),s(r,null,d(o.schedules,p=>(a(),s(r,{key:p.id},[(a(!0),s(r,null,d(p.file,g=>(a(),s("a",{href:"storage/"+g.path,target:"_blank",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-gray-200 bg-white text-gray-500 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-800 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600"},h(g.title),9,Z))),256))],64))),128))])])]))),128))]),_:1})])])])]),n(v)])],64)}const le=S(z,[["render",ee],["__scopeId","data-v-a071b57e"]]);export{le as default}; diff --git a/public/build/assets/Index-BSr3Ofja.js b/public/build/assets/Index-BSr3Ofja.js deleted file mode 100644 index 7df2937..0000000 --- a/public/build/assets/Index-BSr3Ofja.js +++ /dev/null @@ -1 +0,0 @@ -import{M as A}from"./MainNavbar-CBx37KIe.js";import{i as b,k as w,v as O,o as n,c as l,b as e,j as y,F as f,d as p,t as v,r as u,a as h,p as S,q as I,h as k,Z as M,w as $,e as T,g as z}from"./app-DmJ8GS-7.js";import{F as D}from"./v3-rkPj73qv.js";import{C as N}from"./ClientScrollTimeline-zadrTdrA.js";import{B as x,C as R}from"./ClientFooterDown-D8UuGhzW.js";import{A as V,a as H,b as q}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A as Y}from"./AdminIndexHeader-CAfP1jQ8.js";import{S as F,b as E,c as Z,T as G,d as J,C as K,a as Q}from"./ClientPostSearch-D0YX2x3W.js";import{C as W}from"./ClientPost-BP_ZUrbH.js";import{_ as C}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */const X={name:"LevelEduFilter",components:{BaseIcon:x,Link:b,SearchBadge:F,CategoryBadge:E},data(){return{levelEdu:this.level_filter.value||""}},methods:{filter:C.debounce(function(){let i=new URL(window.location.href);i.searchParams.delete("page"),i.searchParams.delete("level");let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0,data:{level:this.levelEdu}})},500),clearFilter(){let i=new URL(window.location.href);i.searchParams.delete("level");let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0})}},props:{levels:{type:Object},level_filter:{type:Object}}},ee=["value"];function te(i,t,r,g,d,o){return w((n(),l("select",{onChange:t[1]||(t[1]=(...a)=>o.filter&&o.filter(...a)),"onUpdate:modelValue":t[2]||(t[2]=a=>d.levelEdu=a),class:"py-3 px-4 pe-9 block w-full md:w-1/2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none"},[e("option",{onClick:t[0]||(t[0]=y((...a)=>o.clearFilter&&o.clearFilter(...a),["prevent"])),selected:"",value:""},"Все"),(n(!0),l(f,null,p(r.levels,(a,s)=>(n(),l("option",{value:s},v(a),9,ee))),256))],544)),[[O,d.levelEdu]])}const ie=_(X,[["render",te]]),re={name:"FormEducationalFilter",components:{BaseIcon:x,Link:b,SearchBadge:F,CategoryBadge:E},data(){return{formEdu:this.formEdu_filter.value||[]}},methods:{filter:C.debounce(function(){let i=new URL(window.location.href);i.searchParams.delete("page"),i.searchParams.delete("form");let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0,data:{form:this.formEdu}})},500),clearFilter(){let i=new URL(window.location.href);i.searchParams.delete("form"),this.formEdu=[],this.searchTerm="";let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0})}},computed:{},props:{forms:{type:Object},formEdu_filter:{type:Object}}},oe={class:"min-w-[12rem] py-1 space-y-3"},se=e("span",null,"Очистить",-1),ne={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},le={class:"flex flex-col ml-3"},ae=["value","id"],de=["for"];function ce(i,t,r,g,d,o){const a=u("BaseIcon");return n(),l("div",oe,[e("button",{onClick:t[0]||(t[0]=y((...s)=>o.clearFilter&&o.clearFilter(...s),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[h(a,{class:"w-4 h-4",name:"delete"}),se]),e("div",ne,[e("div",null,[e("div",le,[(n(!0),l(f,null,p(r.forms,(s,c)=>(n(),l("div",null,[w(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>d.formEdu=m),value:c,onChange:t[2]||(t[2]=(...m)=>o.filter&&o.filter(...m)),type:"radio",class:"shrink-0 mt-0.5 border-gray-200 rounded-full text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp-tag"+c},null,40,ae),[[S,d.formEdu]]),e("label",{for:"inp-tag"+c,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},v(s),9,de)]))),256))])])])])}const ue=_(re,[["render",ce]]),he={name:"BudgetFilter",components:{BaseIcon:x,Link:b,SearchBadge:F,CategoryBadge:E},data(){return{budgetEdu:this.budget_filter.value||[]}},methods:{filter:C.debounce(function(){let i=new URL(window.location.href);i.searchParams.delete("page"),i.searchParams.delete("budget");let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0,data:{budget:this.budgetEdu}})},500),clearFilter(){let i=new URL(window.location.href);i.searchParams.delete("budget"),this.budgetEdu=[],this.searchTerm="";let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0})}},computed:{},props:{budgets:{type:Object},budget_filter:{type:Object}}},me={class:"min-w-[12rem] py-1 space-y-3"},fe=e("span",null,"Очистить",-1),ge={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},pe={class:"flex flex-col ml-3"},ve=["value","id"],_e=["for"];function be(i,t,r,g,d,o){const a=u("BaseIcon");return n(),l("div",me,[e("button",{onClick:t[0]||(t[0]=y((...s)=>o.clearFilter&&o.clearFilter(...s),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[h(a,{class:"w-4 h-4",name:"delete"}),fe]),e("div",ge,[e("div",null,[e("div",pe,[(n(!0),l(f,null,p(r.budgets,(s,c)=>(n(),l("div",null,[w(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>d.budgetEdu=m),value:c,onChange:t[2]||(t[2]=(...m)=>o.filter&&o.filter(...m)),type:"radio",class:"shrink-0 mt-0.5 border-gray-200 rounded-full text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp-tag"+c},null,40,ve),[[S,d.budgetEdu]]),e("label",{for:"inp-tag"+c,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},v(s),9,_e)]))),256))])])])])}const xe=_(he,[["render",be]]),we={name:"DirectionFilter",components:{BaseIcon:x,Link:b,SearchBadge:F,CategoryBadge:E},data(){return{direction:this.direction_filter.value||[],tag_slug:[],searchTerm:""}},methods:{filter:C.debounce(function(){let i=new URL(window.location.href);i.searchParams.delete("page"),i.searchParams.delete("direction[]");let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0,data:{direction:this.direction}})},500),clearFilter(){let i=new URL(window.location.href);i.searchParams.delete("direction[]"),this.direction=[],this.searchTerm="";let t=i.toString();this.$inertia.visit(t,{method:"get",preserveState:!0})}},computed:{},props:{direction_studies:{type:Object},direction_filter:{type:Object}}},ye={class:"min-w-[12rem] py-1 space-y-3"},ke=e("span",null,"Очистить",-1),Fe={class:"divide-y divide-gray-200 dark:divide-gray-700 max-h-[30vh] overflow-y-auto"},Ee={class:"flex flex-col ml-3"},Ce=["value","id"],je=["for"];function Be(i,t,r,g,d,o){const a=u("BaseIcon");return n(),l("div",ye,[e("button",{onClick:t[0]||(t[0]=y((...s)=>o.clearFilter&&o.clearFilter(...s),["prevent"])),class:"text-gray-500 text-sm flex gap-x-1 items-center hover:text-gray-700"},[h(a,{class:"w-4 h-4",name:"delete"}),ke]),e("div",Fe,[e("div",null,[e("div",Ee,[(n(!0),l(f,null,p(r.direction_studies,s=>(n(),l("div",{key:s.id},[w(e("input",{"onUpdate:modelValue":t[1]||(t[1]=c=>d.direction=c),value:s.slug,onChange:t[2]||(t[2]=(...c)=>o.filter&&o.filter(...c)),type:"checkbox",class:"shrink-0 mt-0.5 border-gray-200 rounded text-blue-600 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none",id:"inp"+s.id},null,40,Ce),[[I,d.direction]]),e("label",{for:"inp"+s.id,class:"text-sm text-gray-500 ms-3 dark:text-neutral-400"},v(s.name),9,je)]))),128))])])])])}const $e=_(we,[["render",Be]]),Se={name:"ClientProgramFilter",components:{DirectionFilter:$e,FormEducationalFilter:ue,BudgetFilter:xe,SortingByFilter:Z,TagFilter:G,CategoryFilter:J,BaseIcon:x},data(){return{}},props:{forms_educational:{type:Object},budget_filter:{type:Object},direction_filter:{type:Object},formEdu_filter:{type:Object},types_budget:{type:Object},direction_studies:{type:Object}}},Le=e("div",{class:""},[e("button",{type:"button",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-offcanvas-example","data-hs-overlay":"#hs-offcanvas-example"},[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"})])])],-1),Ue={id:"hs-offcanvas-example",class:"hs-overlay hs-overlay-open:translate-x-0 hidden -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-e overflow-auto",role:"dialog",tabindex:"-1","aria-labelledby":"hs-offcanvas-example-label"},Pe=k('

Фильтры

',1),Ae={class:"p-4"},Oe={class:"hs-accordion-group"},Ie=["id"],Me=k('',1),Te=["aria-labelledby"],ze=["id"],De=k('',1),Ne=["aria-labelledby"],Re=["id"],Ve=k('',1),He=["aria-labelledby"];function qe(i,t,r,g,d,o){const a=u("FormEducationalFilter"),s=u("BudgetFilter"),c=u("DirectionFilter");return n(),l(f,null,[Le,e("div",Ue,[Pe,e("div",Ae,[e("div",Oe,[e("div",{class:"hs-accordion",id:"id"+r.formEdu_filter.type},[Me,e("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+r.formEdu_filter.type},[h(a,{forms:r.forms_educational,formEdu_filter:r.formEdu_filter},null,8,["forms","formEdu_filter"])],8,Te)],8,Ie),e("div",{class:"hs-accordion",id:"id"+r.budget_filter.type},[De,e("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+r.formEdu_filter.type},[h(s,{budgets:r.types_budget,budget_filter:r.budget_filter},null,8,["budgets","budget_filter"])],8,Ne)],8,ze),e("div",{class:"hs-accordion",id:"id"+r.direction_filter.type},[Ve,e("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+r.direction_filter.type},[h(c,{direction_filter:r.direction_filter,direction_studies:r.direction_studies},null,8,["direction_filter","direction_studies"])],8,He)],8,Re)])])])],64)}const Ye=_(Se,[["render",qe]]),Ze={name:"Index",components:{ClientProgramFilter:Ye,LevelEduFilter:ie,AdminIndexHeaderTitle:V,AdminIndexHeader:Y,AdminIndexFilter:H,AdminIndexSearch:q,ClientFooterDown:R,ClientScrollTimeline:N,ClientPostFilter:K,Link:b,MainNavbar:A,FsLightbox:D,Head:M,ClientPost:W,ClientPostSearch:Q},data(){return{}},props:{campaignName:{type:String},levelsEducational:{type:Array},naprs:{type:Array},filters:{type:Array},formsEdu:{type:Array},budgetEdu:{type:Array},direction_studies:{type:Array}},methods:{transformToColumns(i){return((g,d)=>g.reduce((o,a,s)=>s%d?o:[...o,g.slice(s,s+d)],[]))(i,Math.ceil(i.length/2)).reverse()},textLimit(i,t){if(i.length>t){let r;return r=i.substring(0,t),r+"..."}return i}},mounted(){}},Ge=e("title",null,"Приемная компания",-1),Je=e("meta",{name:"description",content:"Your page description"},null,-1),Ke={class:"flex flex-col h-screen justify-between"},Qe={class:"mb-auto"},We={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:py-10"},Xe={class:"w-100"},et={class:"space-y-5 md:space-y-4"},tt={class:"text-brand-primary text-center mb-3 mt-2 text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"},it={class:"space-y-5 md:space-y-10"},rt={class:"my-10 flex items-center justify-center gap-x-2"},ot={class:"container mx-auto xl:px-5 py-5 lg:py-4"},st={class:"w-full mx-auto gap-x3 flex flex-wrap lg:justify-center"},nt={class:"flex flex-col"},lt={style:{height:"max-content"},class:"px-4"},at={class:"text-brand-primary mb-2 mt-2 text-lg font-semibold upper tracking-tight dark:text-white lg:text-md lg:leading-tight"};function dt(i,t,r,g,d,o){const a=u("Head"),s=u("MainNavbar"),c=u("LevelEduFilter"),m=u("ClientProgramFilter"),L=u("Link"),U=u("ClientFooterDown");return n(),l(f,null,[h(a,null,{default:$(()=>[Ge,Je]),_:1}),e("div",Ke,[h(s,{class:"border-b",sections:i.$page.props.navigation},null,8,["sections"]),e("main",Qe,[e("div",We,[e("div",Xe,[e("div",null,[e("div",et,[e("h1",tt,v(this.campaignName),1),e("div",it,[e("div",null,[e("div",rt,[h(c,{levels:r.levelsEducational,level_filter:r.filters.level_filter},null,8,["levels","level_filter"]),h(m,{budget_filter:r.filters.budget_filter,direction_filter:r.filters.direction_filter,formEdu_filter:r.filters.formEdu_filter,types_budget:r.budgetEdu,direction_studies:r.direction_studies,forms_educational:r.formsEdu},null,8,["budget_filter","direction_filter","formEdu_filter","types_budget","direction_studies","forms_educational"])]),e("div",ot,[e("div",st,[(n(!0),l(f,null,p(o.transformToColumns(this.naprs.data),P=>(n(),l("div",nt,[(n(!0),l(f,null,p(P,B=>(n(),l("div",lt,[e("h1",at,v(B.name),1),(n(!0),l(f,null,p(B.programs,j=>(n(),T(L,{key:j.id,class:"block text-[#1E57A3] hover:text-blue-600 duration-200 text-sm underline underline-offset-2 py-1",href:i.route("client.program.show",j)},{default:$(()=>[z(v(j.name),1)]),_:2},1032,["href"]))),128))]))),256))]))),256))])])])])])])])])]),h(U)])],64)}const yt=_(Ze,[["render",dt]]);export{yt as default}; diff --git a/public/build/assets/Index-BpW1Qnki.css b/public/build/assets/Index-BpW1Qnki.css new file mode 100644 index 0000000..0bbb251 --- /dev/null +++ b/public/build/assets/Index-BpW1Qnki.css @@ -0,0 +1 @@ +.fade-enter-active[data-v-a071b57e],.fade-leave-active[data-v-a071b57e]{transition:all .5s ease}.fade-enter-from[data-v-a071b57e],.fade-leave-to[data-v-a071b57e]{opacity:0;transform:translateY(30px)}.gg-enter-active[data-v-a071b57e],.gg-leave-active[data-v-a071b57e]{transition:all .5s ease}.gg-enter-from[data-v-a071b57e],.gg-leave-to[data-v-a071b57e]{opacity:0;transform:translateY(30px)} diff --git a/public/build/assets/Index-BxW_8zad.js b/public/build/assets/Index-BxW_8zad.js deleted file mode 100644 index 8af3fd4..0000000 --- a/public/build/assets/Index-BxW_8zad.js +++ /dev/null @@ -1 +0,0 @@ -import{M as _}from"./MainNavbar-CBx37KIe.js";import{i as h,Z as u,r as t,o,c as r,a as s,w as i,b as e,F as d,d as g,e as f,t as w}from"./app-DmJ8GS-7.js";import{F as v}from"./v3-rkPj73qv.js";import{C as b}from"./ClientScrollTimeline-zadrTdrA.js";import{C as y}from"./ClientFooterDown-D8UuGhzW.js";import{A as k,a as C,b as F}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as I,a as B}from"./ClientPostSearch-D0YX2x3W.js";import{C as H}from"./ClientPost-BP_ZUrbH.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const N={name:"Index",components:{AdminIndexHeaderTitle:k,AdminIndexHeader:A,AdminIndexFilter:C,AdminIndexSearch:F,ClientFooterDown:y,ClientScrollTimeline:b,ClientPostFilter:I,Link:h,MainNavbar:_,FsLightbox:v,Head:u,ClientPost:H,ClientPostSearch:B},data(){return{}},props:{journals:{type:Array}},methods:{},mounted(){}},D=e("title",null,"Научные периодические издания НТГСПИ",-1),M=e("meta",{name:"description",content:"Your page description"},null,-1),S={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},$={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},j={class:"space-y-5 md:space-y-4"},P={class:"space-y-5 md:space-y-4"},T={class:"max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto"},V=e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Научные периодические издания НТГСПИ"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")],-1),z={class:"grid sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-3 gap-3 sm:gap-6"},E={class:"p-4 md:p-5 w-full"},J={class:"flex justify-between items-center gap-x-3"},W={class:"grow"},Y={class:"group-hover:text-blue-600 font-semibold text-gray-800"},Z=e("div",null,[e("svg",{class:"shrink-0 size-5 text-gray-800",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1);function q(n,G,l,K,O,Q){const c=t("Head"),m=t("MainNavbar"),p=t("Link"),x=t("ClientFooterDown");return o(),r(d,null,[s(c,null,{default:i(()=>[D,M]),_:1}),s(m,{class:"border-b",sections:n.$page.props.navigation},null,8,["sections"]),e("div",S,[e("div",$,[e("div",null,[e("div",j,[e("div",P,[e("div",T,[V,e("div",z,[(o(!0),r(d,null,g(l.journals.data,a=>(o(),f(p,{href:n.route("client.academicJournals.show",a.slug),class:"group flex items-center bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition"},{default:i(()=>[e("div",E,[e("div",J,[e("div",W,[e("h3",Y,w(a.title),1)]),Z])])]),_:2},1032,["href"]))),256))])])])])])])]),s(x)],64)}const le=L(N,[["render",q]]);export{le as default}; diff --git a/public/build/assets/Index-C9Qd-Rb0.js b/public/build/assets/Index-C9Qd-Rb0.js deleted file mode 100644 index 1a18ecb..0000000 --- a/public/build/assets/Index-C9Qd-Rb0.js +++ /dev/null @@ -1 +0,0 @@ -import{M as C}from"./MainNavbar-CBx37KIe.js";import{i as x,o as l,c,b as e,k as F,v as S,r as n,a as r,g as $,t as a,f as B,F as p,h as D,Z as j,w as g,d as A,e as I}from"./app-DmJ8GS-7.js";import{F as E}from"./v3-rkPj73qv.js";import{C as M}from"./ClientScrollTimeline-zadrTdrA.js";import{B as b,C as O}from"./ClientFooterDown-D8UuGhzW.js";import{A as L,a as N,b as H}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A as z}from"./AdminIndexHeader-CAfP1jQ8.js";import{S as P,b as T,c as V,T as U,d as R,C as G,a as Y}from"./ClientPostSearch-D0YX2x3W.js";import{C as Z}from"./ClientPost-BP_ZUrbH.js";import{C as q}from"./ClientEventSelectDate-DjTuDVF3.js";import{_ as J}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */const K={name:"IsOnlineFilter",components:{BaseIcon:b,Link:x,SearchBadge:P,CategoryBadge:T},data(){return{is_online:this.is_online_filter.value||"all"}},methods:{filter:J.debounce(function(){let o=new URL(window.location.href);o.searchParams.delete("page"),o.searchParams.delete("is_online");let s=o.toString();this.$inertia.visit(s,{method:"get",preserveState:!0,data:{is_online:this.is_online}})},500),clearFilter(){let o=new URL(window.location.href);o.searchParams.delete("sort"),this.tag_slug=[],this.searchTerm="";let s=o.toString();this.$inertia.visit(s,{method:"get",preserveState:!0})}},props:{is_online_filter:{type:Object}}},Q={class:"min-w-[12rem] py-1 space-y-3"},W=e("h3",{class:"font-medium text-gray-900 text-sm mb-2"},"Сортировать по онлайн статусу",-1),X=e("option",{value:"all"},"Все",-1),ee=e("option",{value:"online"},"Только онлайн",-1),te=e("option",{value:"offline"},"Только офлайн",-1),oe=[X,ee,te];function se(o,s,t,f,d,h){return l(),c("div",Q,[W,e("div",null,[F(e("select",{onChange:s[0]||(s[0]=(...i)=>h.filter&&h.filter(...i)),"onUpdate:modelValue":s[1]||(s[1]=i=>d.is_online=i),class:"py-2 px-3 pe-9 block w-full border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-400 dark:placeholder-neutral-500 dark:focus:ring-neutral-600"},oe,544),[[S,d.is_online]])])])}const ne=u(K,[["render",se]]),ie={name:"ClientEventFilter",components:{IsOnlineFilter:ne,SortingByFilter:V,TagFilter:U,CategoryFilter:R,BaseIcon:b},data(){return{}},props:{categories:{type:Object},category_filter:{type:Object},sortingBy_filter:{type:Object},is_online_filter:{type:Object}}},re=e("div",{class:""},[e("button",{type:"button",class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"hs-offcanvas-example","data-hs-overlay":"#hs-offcanvas-example"},[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"})])])],-1),ae={id:"hs-offcanvas-example",class:"hs-overlay hs-overlay-open:translate-x-0 hidden -translate-x-full fixed top-0 start-0 transition-all duration-300 transform h-full max-w-xs w-full z-[80] bg-white border-e overflow-auto",role:"dialog",tabindex:"-1","aria-labelledby":"hs-offcanvas-example-label"},le=D('

Фильтры

',1),ce={class:"p-4"},de={class:"hs-accordion-group"},he=["id"],_e={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 py-3 inline-flex items-center gap-x-3 w-full font-semibold text-start text-gray-800 hover:text-gray-500 focus:outline-none focus:text-gray-500 rounded-lg disabled:opacity-50 disabled:pointer-events-none","aria-expanded":"false","aria-controls":"hs-basic-with-arrow-collapse-two"},me=e("svg",{class:"hs-accordion-active:hidden block size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m6 9 6 6 6-6"})],-1),pe=e("svg",{class:"hs-accordion-active:block hidden size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m18 15-6-6-6 6"})],-1),ue={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-md text-xs font-medium border border-gray-200 bg-white text-gray-800 shadow-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-white"},fe=["aria-labelledby"];function ge(o,s,t,f,d,h){const i=n("IsOnlineFilter"),m=n("CategoryFilter");return l(),c(p,null,[re,e("div",ae,[le,e("div",ce,[r(i,{is_online_filter:t.is_online_filter},null,8,["is_online_filter"]),e("div",de,[e("div",{class:"hs-accordion",id:"id"+t.category_filter.type},[e("button",_e,[me,pe,$(" Категории "),t.category_filter.value?(l(),c("span",ue,a(t.category_filter.value.length),1)):B("",!0)]),e("div",{id:"hs-basic-with-arrow-collapse-two",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300",role:"region","aria-labelledby":"id"+t.category_filter.type},[r(m,{categories:t.categories,category_filter:t.category_filter},null,8,["categories","category_filter"])],8,fe)],8,he)])])])],64)}const xe=u(ie,[["render",ge]]),be={name:"Index",components:{ClientEventFilter:xe,ClientEventSelectDate:q,AdminIndexHeaderTitle:L,AdminIndexHeader:z,AdminIndexFilter:N,AdminIndexSearch:H,ClientFooterDown:O,ClientScrollTimeline:M,ClientPostFilter:G,Link:x,MainNavbar:C,FsLightbox:E,Head:j,ClientPost:Z,ClientPostSearch:Y},props:{events:{type:Array},currentDate:{type:String},eventDates:{type:Array},navigation:{type:Array},filters:{type:Array},categories:{type:Array}},methods:{}},ye=e("title",null,"Мероприятия",-1),ve=e("meta",{name:"description",content:"Your page description"},null,-1),we={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},ke={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},Ce={class:"space-y-5 md:space-y-4"},Fe={class:"flex items-center w-full justify-center"},Se=e("h1",{class:"block text-brand-primary text-center mb-3 mt-2 mr-4 text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"}," Мероприятия НТГСПИ ",-1),$e={class:"my-10 justify-center flex gap-x-3 items-center"},Be=e("h3",{class:"font-light text-xl"},"Мероприятия на ",-1),De={class:"shadow-sm w-[35px]"},je=e("div",{class:"block w-[35px] h-[8px] bg-red-400 rounded-t"},null,-1),Ae={class:"block w-[35px] h-[27px] bg-white text-center font-medium"},Ie={class:"font-light text-xl"},Ee={class:"space-y-5 md:space-y-4"},Me={class:"grid gap-y-10 mt-10"},Oe={class:"grow"},Le={class:"flex flex-col h-full"},Ne={class:"mb-3"},He={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-[12px] text-gray-600"},ze={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-xs font-medium bg-[#E9F2FE] text-blue-600"},Pe={class:"text-lg sm:text-2xl font-semibold text-gray-800 group-hover:text-blue-600"},Te=e("p",{class:"mt-2 text-gray-600"}," Great news we're eager to share. ",-1);function Ve(o,s,t,f,d,h){const i=n("Head"),m=n("MainNavbar"),y=n("ClientEventFilter"),v=n("ClientEventSelectDate"),w=n("Link"),k=n("ClientFooterDown");return l(),c(p,null,[r(i,null,{default:g(()=>[ye,ve]),_:1}),r(m,{class:"border-b",sections:o.$page.props.navigation},null,8,["sections"]),e("div",we,[e("div",ke,[e("div",null,[e("div",Ce,[e("div",Fe,[Se,r(y,{is_online_filter:t.filters.is_online_filter,categories:this.categories,category_filter:t.filters.category_filter,"sorting-by_filter":t.filters.sortingBy_filter},null,8,["is_online_filter","categories","category_filter","sorting-by_filter"])]),e("div",$e,[Be,e("div",De,[je,e("div",Ae,a(t.currentDate.day),1)]),e("h3",Ie,a(t.currentDate.month),1)]),e("div",Ee,[e("div",null,[r(v,{"current-date":t.currentDate.fullDate,dates:t.eventDates},null,8,["current-date","dates"])])])]),e("div",Me,[(l(!0),c(p,null,A(t.events.data,_=>(l(),I(w,{class:"group sm:flex rounded-xl",href:o.route("client.event.show",_.slug)},{default:g(()=>[e("div",Oe,[e("div",Le,[e("div",Ne,[e("p",He,a(_.event_time_start),1),e("p",ze,a(_.category),1)]),e("h3",Pe,a(_.title),1),Te])])]),_:2},1032,["href"]))),256))])])])]),r(k)],64)}const ot=u(be,[["render",Ve]]);export{ot as default}; diff --git a/public/build/assets/Index-CDF7lRLV.js b/public/build/assets/Index-CDF7lRLV.js new file mode 100644 index 0000000..d09cf34 --- /dev/null +++ b/public/build/assets/Index-CDF7lRLV.js @@ -0,0 +1 @@ +import{i as A,Z as E,r as c,c as s,a as u,w as m,b as t,n as w,F as l,d as p,o as n,g as b,e as C,t as g}from"./app-C722ecVx.js";import{F}from"./v3-918lQ39M.js";import{C as B}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as I}from"./ClientFooterDown-nb4a-O5q.js";import{A as L,a as N,b as P}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A as T}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as j,a as H}from"./ClientPostSearch-kaUIQH-M.js";import{C as M}from"./ClientPost-BxLMuODS.js";import{C as S}from"./ClientImageSlider-DIxDD91b.js";import{M as D}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";import"./SortingByFilter-Bz0ugPNO.js";const V={name:"Index",components:{MainPageNavBar:D,ClientImageSlider:S,AdminIndexHeaderTitle:L,AdminIndexHeader:T,AdminIndexFilter:N,AdminIndexSearch:P,ClientFooterDown:I,ClientScrollTimeline:B,ClientPostFilter:j,Link:A,FsLightbox:F,Head:E,ClientPost:M,ClientPostSearch:H},data(){return{direction_id:this.filters.dir_id}},props:{directionAdditionalEducations:{type:Object},additionalEducations:{type:Object},filters:{type:Object}},methods:{transformToColumns(e){return((x,f)=>x.reduce((d,v,a)=>a%f?d:[...d,x.slice(a,a+f)],[]))(e,Math.ceil(e.length/2)).reverse()},textLimit(e,i){if(e.length>i){let r;return r=e.substring(0,i),r+"..."}return e}},mounted(){}},$={class:"flex flex-col h-screen"},Y={class:"flex-grow"},Z={class:"relative mb-auto mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:py-10"},q={class:"w-100"},z={class:"space-y-5 md:space-y-4"},G={class:"space-y-5 md:space-y-4"},J={class:""},K={class:"-mb-0.5 flex justify-center space-x-6 flex-wrap"},Q={class:"container mx-auto xl:px-5 py-5 lg:py-4"},R={class:"w-full mx-auto gap-x3 flex flex-wrap lg:justify-center"},U={class:"flex flex-col"},W={style:{height:"max-content"},class:"px-2"},X={class:"text-brand-primary mb-2 mt-2 text-lg font-semibold upper tracking-tight dark:text-white lg:text-md lg:leading-tight"};function tt(e,i,r,x,f,d){const v=c("Head"),a=c("MainPageNavBar"),h=c("Link"),k=c("ClientFooterDown");return n(),s(l,null,[u(v,null,{default:m(()=>i[0]||(i[0]=[t("title",null,"Дополнительное образование",-1),t("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),u(a,{class:"border-b",sections:e.$page.props.navigation},null,8,["sections"]),t("div",$,[t("main",Y,[t("div",Z,[t("div",q,[t("div",null,[t("div",z,[i[2]||(i[2]=t("h1",{class:"text-brand-primary text-center mb-3 mt-2 text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"}," Дополнительное образование ",-1)),t("div",G,[t("div",null,[t("div",J,[t("nav",K,[u(h,{class:w([{"border-blue-500 text-blue-600":this.direction_id===null,"text-gray-500 border-transparent":this.direction_id!==null},"py-2 px-1 inline-flex items-center gap-2 border-b text-sm whitespace-nowrap hover:text-blue-600 focus:outline-none focus:text-blue-600"]),href:e.route("client.additionalEducation.index")},{default:m(()=>i[1]||(i[1]=[b(" Все программы ")])),_:1},8,["class","href"]),(n(!0),s(l,null,p(r.directionAdditionalEducations.data,o=>(n(),C(h,{class:w([{"border-blue-500 text-blue-600":o.id==this.filters.dir_id,"text-gray-500 border-transparent":o.id!=this.direction_id},"py-2 px-1 inline-flex items-center gap-2 border-b text-sm whitespace-nowrap hover:text-blue-600 focus:outline-none focus:text-blue-600"]),href:e.route("client.additionalEducation.index",{dir_id:o.id})},{default:m(()=>[b(g(o.title),1)]),_:2},1032,["class","href"]))),256))])]),t("div",Q,[t("div",R,[(n(!0),s(l,null,p(d.transformToColumns(this.additionalEducations.data),o=>(n(),s("div",U,[(n(!0),s(l,null,p(o,y=>(n(),s("div",W,[t("h1",X,g(y.title),1),(n(!0),s(l,null,p(y.additionalEducations,_=>(n(),C(h,{key:_.id,class:"block text-[#1E57A3] hover:text-blue-600 duration-200 text-sm underline underline-offset-2 py-1",href:e.route("client.additionalEducation.show",_)},{default:m(()=>[b(g(_.title),1)]),_:2},1032,["href"]))),128))]))),256))]))),256))])])])])])])])])]),u(k)])],64)}const xt=O(V,[["render",tt]]);export{xt as default}; diff --git a/public/build/assets/Index-CELtmekm.js b/public/build/assets/Index-CELtmekm.js deleted file mode 100644 index c6963a7..0000000 --- a/public/build/assets/Index-CELtmekm.js +++ /dev/null @@ -1 +0,0 @@ -import{M as w}from"./MainNavbar-CBx37KIe.js";import{C as f}from"./ClientFooterDown-D8UuGhzW.js";import{_ as b}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{i as _,r as p,o as s,c as r,a as i,b as e,k,s as y,x as C,j as M,w as I,y as B,F as c,h as N,d as u,g as S,t as g,z as j,A as D}from"./app-DmJ8GS-7.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */const V={name:"Index",data(){return{searchInput:this.searchRequest}},components:{ClientFooterDown:f,MainNavbar:w,Link:_},props:["educationalGroups","mainSections","searchRequest","navigation"],methods:{search:b.debounce(function(){this.$inertia.reload({method:"get",data:{search:this.searchInput},preserveState:!0,replace:!0})},300)}},d=o=>(j("data-v-1fd6ceca"),o=o(),D(),o),L={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},T={class:"w-full min-w-0 mt-4 px-1 md:px-6"},q={class:"relative overflow-hidden"},z={class:"max-w-[85rem] mx-auto px-4 sm:px-6 lg:px-8 py-10 sm:pb-24 sm:py-5"},K={class:"text-center"},R=d(()=>e("h1",{class:"text-2xl sm:text-4xl font-bold text-gray-800 dark:text-gray-200"}," Расписание занятий ",-1)),A=d(()=>e("div",{class:"text-center"},[e("p",{class:"mt-3 text-gray-600 dark:text-gray-400"}," Просто введите название группы ")],-1)),E={class:"mt-7 sm:mt-12 mx-auto max-w-xl relative"},G={class:"relative z-10 space-x-3 p-3 bg-white border rounded-lg shadow-lg shadow-gray-100"},U={class:"flex justify-between"},$={class:"flex w-full"},H=d(()=>e("label",{for:"hs-search-article-1",class:"block text-sm text-gray-700 font-medium dark:text-white"},[e("span",{class:"sr-only"},"Поиск")],-1)),J=N('',2),O={class:"mx-auto max-w-2xl hs-accordion-group grid grid-cols-1 lg:grid-cols-2 gap-3"},P={class:"hs-accordion-toggle hs-accordion-active:text-blue-600 inline-flex justify-between items-center gap-x-3 w-full font-semibold text-start text-gray-800 py-4 px-5 hover:text-gray-500 disabled:opacity-50 disabled:pointer-events-none dark:hs-accordion-active:text-blue-500 dark:text-gray-200 dark:hover:text-gray-400 dark:focus:outline-none dark:focus:text-gray-400","aria-controls":"hs-basic-active-bordered-collapse-one"},Q=d(()=>e("svg",{class:"hs-accordion-active:hidden block w-3.5 h-3.5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M5 12h14"}),e("path",{d:"M12 5v14"})],-1)),W=d(()=>e("svg",{class:"hs-accordion-active:block hidden w-3.5 h-3.5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M5 12h14"})],-1)),X={id:"hs-basic-active-bordered-collapse-one",class:"hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300","aria-labelledby":"hs-active-bordered-heading-one"},Y={class:"pb-4 px-5 grid gap-3 grid-cols-1"},Z=["href"];function ee(o,a,x,te,l,h){const v=p("MainNavbar"),m=p("ClientFooterDown");return s(),r(c,null,[i(v,{class:"border-b",sections:o.$page.props.navigation},null,8,["sections"]),e("div",L,[e("article",T,[e("div",q,[e("div",z,[e("div",K,[R,A,e("div",E,[e("form",null,[e("div",G,[e("div",U,[e("div",$,[H,k(e("input",{onKeydown:a[0]||(a[0]=C(M(()=>{},["prevent"]),["enter"])),autocomplete:"off","onUpdate:modelValue":a[1]||(a[1]=t=>l.searchInput=t),onInput:a[2]||(a[2]=(...t)=>h.search&&h.search(...t)),type:"search",id:"hs-search-article-1",class:"py-2.5 px-4 block w-full border-transparent rounded-lg",placeholder:"Поиск"},null,544),[[y,l.searchInput]])])])])]),J])])])]),e("div",O,[i(B,{name:"fade"},{default:I(()=>[(s(!0),r(c,null,u(x.educationalGroups.data,t=>(s(),r("div",{key:t.id,class:"hs-accordion hs-accordion-active:border-gray-200 bg-white border-b dark:hs-accordion-active:border-gray-700 dark:bg-gray-800 dark:border-transparent",id:"hs-active-bordered-heading-one"},[e("button",P,[S(g(t.title)+" ",1),Q,W]),e("div",X,[e("div",Y,[(s(!0),r(c,null,u(t.schedules,n=>(s(),r("a",{key:n.id,target:"_blank",href:o.route("client.schedule.show",n.id),class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-gray-200 bg-white text-gray-500 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-slate-900 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-800 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600"},g(n.title),9,Z))),128))])])]))),128))]),_:1})])])]),i(m,{style:{"margin-top":"300px"}})],64)}const ie=F(V,[["render",ee],["__scopeId","data-v-1fd6ceca"]]);export{ie as default}; diff --git a/public/build/assets/Index-CF8vFi4d.js b/public/build/assets/Index-CF8vFi4d.js new file mode 100644 index 0000000..0b34628 --- /dev/null +++ b/public/build/assets/Index-CF8vFi4d.js @@ -0,0 +1 @@ +import{M as f}from"./MainNavbar-CK8Gfm-M.js";import{i as h,Z as b,r as a,c,a as n,w as r,b as e,F as x,d as _,o as d,e as v,t as i}from"./app-C722ecVx.js";import{F as y}from"./v3-918lQ39M.js";import{C as w}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as k}from"./ClientFooterDown-nb4a-O5q.js";import{A as C,a as F,b as B}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as M}from"./ClientEventSelectDate-C1YRbWa1.js";import{M as I}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */const D={name:"Index",components:{MainPageNavBar:I,ClientEventSelectDate:M,AdminIndexHeaderTitle:C,AdminIndexHeader:A,AdminIndexFilter:F,AdminIndexSearch:B,ClientFooterDown:k,ClientScrollTimeline:w,Link:h,MainNavbar:f,FsLightbox:y,Head:b},props:{exhibitions:{type:Array}},methods:{},mounted(){}},H={class:"flex flex-col h-screen"},L={class:"flex-grow"},E={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},P={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},S={class:"container px-8 mx-auto xl:px-5 max-w-screen-md"},j={class:"my-10 sm:my-14"},z={class:"grow"},T={class:"flex flex-col h-full"},V={class:"mb-3"},W={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-[12px] text-gray-600"},Y={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-xs font-medium bg-[#E9F2FE] text-blue-600"},Z={class:"text-lg sm:text-2xl font-semibold text-gray-800 group-hover:text-blue-600"},q={class:"mt-2 text-gray-600"},G={class:"mt-10 flex items-center justify-center"},J={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"};function K(m,t,s,O,Q,R){const p=a("Head"),g=a("MainPageNavBar"),l=a("Link"),u=a("ClientFooterDown");return d(),c(x,null,[n(p,null,{default:r(()=>t[0]||(t[0]=[e("title",null,"Виртуальные выставки",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),n(g,{class:"border-b",sections:m.$page.props.navigation},null,8,["sections"]),e("div",H,[e("main",L,[e("div",E,[e("div",P,[e("div",null,[t[3]||(t[3]=e("div",{class:"space-y-5 md:space-y-4"},[e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Виртуальные выставки"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")])],-1)),e("div",S,[e("div",j,[(d(!0),c(x,null,_(s.exhibitions.data,o=>(d(),v(l,{href:m.route("client.library.exhibition.show",o.id),class:"group sm:flex rounded-xl mb-4"},{default:r(()=>[e("div",z,[e("div",T,[e("div",V,[e("p",W,i(o.created_at),1),e("p",Y,i(o.category),1)]),e("h3",Z,i(o.title),1),e("p",q,i(o.preview_text),1)])])]),_:2},1032,["href"]))),256)),e("div",G,[e("nav",J,[n(l,{as:"button",href:s.exhibitions.links.prev,disabled:s.exhibitions.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>t[1]||(t[1]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),e("span",null,"Предыдущая",-1)])),_:1},8,["href","disabled"]),n(l,{as:"button",href:s.exhibitions.links.next,disabled:s.exhibitions.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>t[2]||(t[2]=[e("span",null,"Следующая",-1),e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])),_:1},8,["href","disabled"])])])])])])])])]),n(u)])],64)}const de=N(D,[["render",K]]);export{de as default}; diff --git a/public/build/assets/Index-CWftrfJ1.js b/public/build/assets/Index-CWftrfJ1.js new file mode 100644 index 0000000..e1436f4 --- /dev/null +++ b/public/build/assets/Index-CWftrfJ1.js @@ -0,0 +1 @@ +import{M as P}from"./MainNavbar-CK8Gfm-M.js";import{i as k,Z as F,r as o,c as n,a as l,w as h,b as e,t as f,F as c,d as p,o as i,e as E,g as w}from"./app-C722ecVx.js";import{F as L}from"./v3-918lQ39M.js";import{C as B}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as N}from"./ClientFooterDown-nb4a-O5q.js";import{A as T,a as M,b as I}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A as H}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as S,a as D}from"./ClientPostSearch-kaUIQH-M.js";import{C as V}from"./ClientPost-BxLMuODS.js";import{C as j,L as G}from"./ClientProgramFilter-B5Vv3QDu.js";import{P as R,d as Y,c as Z,a as q,b as J}from"./PostGallery-B_nOxnzS.js";import{P as K}from"./PostBuilder-B7-qAkNW.js";import{M as O}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */import"./SortingByFilter-Bz0ugPNO.js";import"./PostItemBlock-BZ4FcbP2.js";import"./PageTabBuilder-CRT8Vrz4.js";import"./ClientImageSlider-DIxDD91b.js";const U={name:"Index",components:{MainPageNavBar:O,PostGallery:R,PostBuilder:K,PostTitle:Y,PostBackButton:Z,PostTimeRead:q,PostAuthorsList:J,ClientProgramFilter:j,LevelEduFilter:G,AdminIndexHeaderTitle:T,AdminIndexHeader:H,AdminIndexFilter:M,AdminIndexSearch:I,ClientFooterDown:N,ClientScrollTimeline:B,ClientPostFilter:S,Link:k,MainNavbar:P,FsLightbox:L,Head:F,ClientPost:V,ClientPostSearch:D},data(){return{}},props:{campaignName:{type:String},levelsEducational:{type:Array},naprs:{type:Array},filters:{type:Array},formsEdu:{type:Array},budgetEdu:{type:Array},direction_studies:{type:Array}},methods:{transformToColumns(r){return((m,u)=>m.reduce((d,x,a)=>a%u?d:[...d,m.slice(a,a+u)],[]))(r,Math.ceil(r.length/2)).reverse()},textLimit(r,s){if(r.length>s){let t;return t=r.substring(0,s),t+"..."}return r}},mounted(){}},W={class:"flex flex-col h-screen"},X={class:"flex-grow"},z={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:py-10"},$={class:"w-100"},ee={class:"space-y-5 md:space-y-4"},te={class:"text-brand-primary text-center mb-3 mt-2 text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"},re={class:"space-y-5 md:space-y-10"},ie={class:"my-10 flex items-center justify-center gap-x-2"},se={class:"container mx-auto xl:px-5 py-5 lg:py-4"},oe={class:"w-full mx-auto gap-x3 flex flex-wrap lg:justify-center"},ne={class:"flex flex-col"},ae={style:{height:"max-content"},class:"px-4"},le={class:"text-brand-primary mb-2 mt-2 text-lg font-semibold upper tracking-tight dark:text-white lg:text-md lg:leading-tight"};function de(r,s,t,m,u,d){const x=o("Head"),a=o("MainPageNavBar"),y=o("LevelEduFilter"),v=o("ClientProgramFilter"),b=o("Link"),C=o("ClientFooterDown");return i(),n(c,null,[l(x,null,{default:h(()=>s[0]||(s[0]=[e("title",null,"Приемная компания",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),l(a,{class:"border-b",sections:r.$page.props.navigation},null,8,["sections"]),e("div",W,[e("main",X,[e("div",z,[e("div",$,[e("div",null,[e("div",ee,[e("h1",te,f(this.campaignName),1),e("div",re,[e("div",null,[e("div",ie,[l(y,{levels:t.levelsEducational,level_filter:t.filters.level_filter},null,8,["levels","level_filter"]),l(v,{budget_filter:t.filters.budget_filter,direction_filter:t.filters.direction_filter,formEdu_filter:t.filters.formEdu_filter,types_budget:t.budgetEdu,direction_studies:t.direction_studies,forms_educational:t.formsEdu},null,8,["budget_filter","direction_filter","formEdu_filter","types_budget","direction_studies","forms_educational"])]),e("div",se,[e("div",oe,[(i(!0),n(c,null,p(d.transformToColumns(this.naprs.data),A=>(i(),n("div",ne,[(i(!0),n(c,null,p(A,g=>(i(),n("div",ae,[e("h1",le,f(g.name),1),(i(!0),n(c,null,p(g.programs,_=>(i(),E(b,{key:_.id,class:"block text-[#1E57A3] hover:text-blue-600 duration-200 text-sm underline underline-offset-2 py-1",href:r.route("client.program.show",_)},{default:h(()=>[w(f(_.name),1)]),_:2},1032,["href"]))),128))]))),256))]))),256))])])])])])])])])]),l(C)])],64)}const Be=Q(U,[["render",de]]);export{Be as default}; diff --git a/public/build/assets/Index-CpIWHl0m.js b/public/build/assets/Index-CpIWHl0m.js new file mode 100644 index 0000000..9faf3d7 --- /dev/null +++ b/public/build/assets/Index-CpIWHl0m.js @@ -0,0 +1 @@ +import{M as y}from"./MainNavbar-CK8Gfm-M.js";import{i as h,Z as b,r as t,c as p,a as o,w as r,b as e,F as m,d as k,o as a,e as w}from"./app-C722ecVx.js";import{F as C}from"./v3-918lQ39M.js";import{C as P}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as A}from"./ClientFooterDown-nb4a-O5q.js";import{A as B,a as F,b as I}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A as H}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as M,a as $}from"./ClientPostSearch-kaUIQH-M.js";import{C as N}from"./ClientPost-BxLMuODS.js";import{E,a as L,T as S}from"./EventBuilder-24hBVivW.js";import{M as T}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */import"./SortingByFilter-Bz0ugPNO.js";import"./PostItemBlock-BZ4FcbP2.js";import"./PageTabBuilder-CRT8Vrz4.js";import"./ClientImageSlider-DIxDD91b.js";const D={name:"Index",components:{MainPageNavBar:T,EventBuilder:E,EventBackButton:L,TitleEvent:S,AdminIndexHeaderTitle:B,AdminIndexHeader:H,AdminIndexFilter:F,AdminIndexSearch:I,ClientFooterDown:A,ClientScrollTimeline:P,ClientPostFilter:M,Link:h,MainNavbar:y,FsLightbox:C,Head:b,ClientPost:N,ClientPostSearch:$},data(){return{}},props:{posts:{type:Array},filters:{type:Array},categories:{type:Array},navigation:{type:Array}},methods:{},mounted(){}},z={class:"flex flex-col h-screen"},V={class:"flex-grow"},Y={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},Z={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},q={class:"space-y-5 md:space-y-4"},G={class:"space-y-5 md:space-y-4"},J={class:"container px-8 mx-auto xl:px-5 max-w-screen-lg py-5 lg:py-8"},K={class:"mt-10 grid gap-10 md:grid-cols-2 lg:gap-10 xl:grid-cols-3"},O={class:"mt-10 flex items-center justify-center"},Q={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"};function R(n,s,i,U,W,X){const c=t("Head"),u=t("MainPageNavBar"),g=t("ClientPostSearch"),x=t("ClientPostFilter"),f=t("AdminIndexHeader"),_=t("ClientPost"),l=t("Link"),v=t("ClientFooterDown");return a(),p(m,null,[o(c,null,{default:r(()=>s[0]||(s[0]=[e("title",null,"Новости",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),o(u,{class:"border-b",sections:n.$page.props.navigation},null,8,["sections"]),e("div",z,[e("main",V,[e("div",Y,[e("div",Z,[e("div",null,[o(f,null,{default:r(()=>[o(g),o(x,{items:i.categories},null,8,["items"])]),_:1}),e("div",q,[e("div",G,[e("div",null,[e("div",J,[e("div",K,[(a(!0),p(m,null,k(i.posts.data,d=>(a(),w(_,{key:d.id,post:d},null,8,["post"]))),128))]),e("div",O,[e("nav",Q,[o(l,{as:"button",href:n.$props.posts.links.prev,disabled:n.$props.posts.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>s[1]||(s[1]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),e("span",null,"Предыдущая",-1)])),_:1},8,["href","disabled"]),o(l,{as:"button",href:n.$props.posts.links.next,disabled:n.$props.posts.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>s[2]||(s[2]=[e("span",null,"Следующая",-1),e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])),_:1},8,["href","disabled"])])])])])])])])])])]),o(v)])],64)}const ve=j(D,[["render",R]]);export{ve as default}; diff --git a/public/build/assets/Index-DCU8aojf.js b/public/build/assets/Index-DCU8aojf.js deleted file mode 100644 index ad45028..0000000 --- a/public/build/assets/Index-DCU8aojf.js +++ /dev/null @@ -1 +0,0 @@ -import{M as _}from"./MainNavbar-CBx37KIe.js";import{i as h,Z as u,r as t,o,c as i,a as s,w as r,b as e,F as d,d as g,e as f,t as v}from"./app-DmJ8GS-7.js";import{F as w}from"./v3-rkPj73qv.js";import{C as b}from"./ClientScrollTimeline-zadrTdrA.js";import{C as y}from"./ClientFooterDown-D8UuGhzW.js";import{A as k,a as C,b as F}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as I,a as B}from"./ClientPostSearch-D0YX2x3W.js";import{C as H}from"./ClientPost-BP_ZUrbH.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const N={name:"Index",components:{AdminIndexHeaderTitle:k,AdminIndexHeader:A,AdminIndexFilter:C,AdminIndexSearch:F,ClientFooterDown:y,ClientScrollTimeline:b,ClientPostFilter:I,Link:h,MainNavbar:_,FsLightbox:w,Head:u,ClientPost:H,ClientPostSearch:B},data(){return{}},props:{divisions:{type:Array}},methods:{},mounted(){}},D=e("title",null,"Подразделения института",-1),M=e("meta",{name:"description",content:"Your page description"},null,-1),S={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},$={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},P={class:"space-y-5 md:space-y-4"},j={class:"space-y-5 md:space-y-4"},T={class:"max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto"},V=e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Подразделения института"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")],-1),z={class:"grid sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-3 gap-3 sm:gap-6"},E={class:"p-4 md:p-5 w-full"},W={class:"flex justify-between items-center gap-x-3"},Y={class:"grow"},Z={class:"group-hover:text-blue-600 font-semibold text-gray-800"},q=e("div",null,[e("svg",{class:"shrink-0 size-5 text-gray-800",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1);function G(n,J,l,K,O,Q){const c=t("Head"),m=t("MainNavbar"),p=t("Link"),x=t("ClientFooterDown");return o(),i(d,null,[s(c,null,{default:r(()=>[D,M]),_:1}),s(m,{class:"border-b",sections:n.$page.props.navigation},null,8,["sections"]),e("div",S,[e("div",$,[e("div",null,[e("div",P,[e("div",j,[e("div",T,[V,e("div",z,[(o(!0),i(d,null,g(l.divisions.data,a=>(o(),f(p,{href:n.route("client.division.show",a.slug),class:"group flex items-center bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition"},{default:r(()=>[e("div",E,[e("div",W,[e("div",Y,[e("h3",Z,v(a.title),1)]),q])])]),_:2},1032,["href"]))),256))])])])])])])]),s(x)],64)}const le=L(N,[["render",G]]);export{le as default}; diff --git a/public/build/assets/Index-DL2A2p-j.js b/public/build/assets/Index-DL2A2p-j.js deleted file mode 100644 index 2735db9..0000000 --- a/public/build/assets/Index-DL2A2p-j.js +++ /dev/null @@ -1 +0,0 @@ -import{M as A}from"./MainNavbar-CBx37KIe.js";import{i as E,Z as F,r as c,o as n,c as i,a as u,w as m,b as t,n as w,F as r,d as p,g as b,e as C,t as g}from"./app-DmJ8GS-7.js";import{F as L}from"./v3-rkPj73qv.js";import{C as I}from"./ClientScrollTimeline-zadrTdrA.js";import{C as N}from"./ClientFooterDown-D8UuGhzW.js";import{A as T,a as j,b as H}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A as M}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as B,a as D}from"./ClientPostSearch-D0YX2x3W.js";import{C as S}from"./ClientPost-BP_ZUrbH.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const P={name:"Index",components:{AdminIndexHeaderTitle:T,AdminIndexHeader:M,AdminIndexFilter:j,AdminIndexSearch:H,ClientFooterDown:N,ClientScrollTimeline:I,ClientPostFilter:B,Link:E,MainNavbar:A,FsLightbox:L,Head:F,ClientPost:S,ClientPostSearch:D},data(){return{direction_id:this.filters.dir_id}},props:{directionAdditionalEducations:{type:Object},additionalEducations:{type:Object},filters:{type:Object}},methods:{transformToColumns(e){return((x,h)=>x.reduce((d,y,a)=>a%h?d:[...d,x.slice(a,a+h)],[]))(e,Math.ceil(e.length/2)).reverse()},textLimit(e,l){if(e.length>l){let o;return o=e.substring(0,l),o+"..."}return e}},mounted(){}},V=t("title",null,"Дополнительное образование",-1),$=t("meta",{name:"description",content:"Your page description"},null,-1),Y={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:py-10"},Z={class:"w-100"},q={class:"space-y-5 md:space-y-4"},z=t("h1",{class:"text-brand-primary text-center mb-3 mt-2 text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"}," Дополнительное образование ",-1),G={class:"space-y-5 md:space-y-4"},J={class:""},K={class:"-mb-0.5 flex justify-center space-x-6 flex-wrap"},Q={class:"container mx-auto xl:px-5 py-5 lg:py-4"},R={class:"w-full mx-auto gap-x3 flex flex-wrap lg:justify-center"},U={class:"flex flex-col"},W={style:{height:"max-content"},class:"px-2"},X={class:"text-brand-primary mb-2 mt-2 text-lg font-semibold upper tracking-tight dark:text-white lg:text-md lg:leading-tight"};function tt(e,l,o,x,h,d){const y=c("Head"),a=c("MainNavbar"),_=c("Link"),k=c("ClientFooterDown");return n(),i(r,null,[u(y,null,{default:m(()=>[V,$]),_:1}),u(a,{class:"border-b",sections:e.$page.props.navigation},null,8,["sections"]),t("div",Y,[t("div",Z,[t("div",null,[t("div",q,[z,t("div",G,[t("div",null,[t("div",J,[t("nav",K,[u(_,{class:w([{"border-blue-500 text-blue-600":this.direction_id===null,"text-gray-500 border-transparent":this.direction_id!==null},"py-2 px-1 inline-flex items-center gap-2 border-b text-sm whitespace-nowrap hover:text-blue-600 focus:outline-none focus:text-blue-600"]),href:e.route("client.additionalEducation.index")},{default:m(()=>[b(" Все программы ")]),_:1},8,["class","href"]),(n(!0),i(r,null,p(o.directionAdditionalEducations.data,s=>(n(),C(_,{class:w([{"border-blue-500 text-blue-600":s.id==this.filters.dir_id,"text-gray-500 border-transparent":s.id!=this.direction_id},"py-2 px-1 inline-flex items-center gap-2 border-b text-sm whitespace-nowrap hover:text-blue-600 focus:outline-none focus:text-blue-600"]),href:e.route("client.additionalEducation.index",{dir_id:s.id})},{default:m(()=>[b(g(s.title),1)]),_:2},1032,["class","href"]))),256))])]),t("div",Q,[t("div",R,[(n(!0),i(r,null,p(d.transformToColumns(this.additionalEducations.data),s=>(n(),i("div",U,[(n(!0),i(r,null,p(s,v=>(n(),i("div",W,[t("h1",X,g(v.title),1),(n(!0),i(r,null,p(v.additionalEducations,f=>(n(),C(_,{key:f.id,class:"block text-[#1E57A3] hover:text-blue-600 duration-200 text-sm underline underline-offset-2 py-1",href:e.route("client.additionalEducation.show",f)},{default:m(()=>[b(g(f.title),1)]),_:2},1032,["href"]))),128))]))),256))]))),256))])])])])])])])]),u(k)],64)}const pt=O(P,[["render",tt]]);export{pt as default}; diff --git a/public/build/assets/Index-DTMqMZkE.js b/public/build/assets/Index-DTMqMZkE.js deleted file mode 100644 index 2d69a04..0000000 --- a/public/build/assets/Index-DTMqMZkE.js +++ /dev/null @@ -1 +0,0 @@ -import{M as h}from"./MainNavbar-CBx37KIe.js";import{i as u,Z as g,r as e,o,c as i,a as n,w as r,b as t,F as l,d as f,e as v,t as d}from"./app-DmJ8GS-7.js";import{F as w}from"./v3-rkPj73qv.js";import{C as b}from"./ClientScrollTimeline-zadrTdrA.js";import{C as y}from"./ClientFooterDown-D8UuGhzW.js";import{A as k,a as C,b as F}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as I,a as B}from"./ClientPostSearch-D0YX2x3W.js";import{C as H}from"./ClientPost-BP_ZUrbH.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const N={name:"Index",components:{AdminIndexHeaderTitle:k,AdminIndexHeader:A,AdminIndexFilter:C,AdminIndexSearch:F,ClientFooterDown:y,ClientScrollTimeline:b,ClientPostFilter:I,Link:u,MainNavbar:h,FsLightbox:w,Head:g,ClientPost:H,ClientPostSearch:B},data(){return{}},props:{faculties:{type:Array}},methods:{},mounted(){}},D=t("title",null,"Факультеты",-1),M=t("meta",{name:"description",content:"Your page description"},null,-1),S={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},$={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},P={class:"space-y-5 md:space-y-4"},T={class:"space-y-5 md:space-y-4"},j={class:"max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto"},V=t("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[t("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Факультеты и кафедры"),t("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")],-1),z={class:"grid sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-3 gap-3 sm:gap-6"},E={class:"p-4 md:p-5"},W={class:"flex justify-between items-center gap-x-3"},Y={class:"grow"},Z={class:"group-hover:text-blue-600 font-semibold text-gray-800"},q={class:"text-sm text-gray-500"},G=t("div",null,[t("svg",{class:"shrink-0 size-5 text-gray-800",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])],-1);function J(a,K,c,O,Q,R){const m=e("Head"),p=e("MainNavbar"),x=e("Link"),_=e("ClientFooterDown");return o(),i(l,null,[n(m,null,{default:r(()=>[D,M]),_:1}),n(p,{class:"border-b",sections:a.$page.props.navigation},null,8,["sections"]),t("div",S,[t("div",$,[t("div",null,[t("div",P,[t("div",T,[t("div",j,[V,t("div",z,[(o(!0),i(l,null,f(c.faculties.data,s=>(o(),v(x,{href:a.route("client.faculty.show",s.slug),class:"group flex flex-col bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition"},{default:r(()=>[t("div",E,[t("div",W,[t("div",Y,[t("h3",Z,d(s.shortTitle),1),t("p",q,d(s.title),1)]),G])])]),_:2},1032,["href"]))),256))])])])])])])]),n(_)],64)}const ct=L(N,[["render",J]]);export{ct as default}; diff --git a/public/build/assets/Index-DZwEz3HL.js b/public/build/assets/Index-DZwEz3HL.js deleted file mode 100644 index 5e737ec..0000000 --- a/public/build/assets/Index-DZwEz3HL.js +++ /dev/null @@ -1 +0,0 @@ -import{M as u}from"./MainNavbar-CBx37KIe.js";import{i as h,Z as g,r as n,o as l,c,a as o,w as a,b as e,F as m,d as f,e as b,t as r}from"./app-DmJ8GS-7.js";import{F as v}from"./v3-rkPj73qv.js";import{C as y}from"./ClientScrollTimeline-zadrTdrA.js";import{C as w}from"./ClientFooterDown-D8UuGhzW.js";import{A as k,a as C,b as F}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as B,a as I}from"./ClientPostSearch-D0YX2x3W.js";import{C as D}from"./ClientPost-BP_ZUrbH.js";import{C as H}from"./ClientEventSelectDate-DjTuDVF3.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const M={name:"Index",components:{ClientEventSelectDate:H,AdminIndexHeaderTitle:k,AdminIndexHeader:A,AdminIndexFilter:C,AdminIndexSearch:F,ClientFooterDown:w,ClientScrollTimeline:y,ClientPostFilter:B,Link:h,MainNavbar:u,FsLightbox:v,Head:g,ClientPost:D,ClientPostSearch:I},props:{posts:{type:Array}},methods:{},mounted(){}},N=e("title",null,"Мероприятия",-1),S=e("meta",{name:"description",content:"Your page description"},null,-1),E={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},P={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},j=e("div",{class:"space-y-5 md:space-y-4"},[e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Заметки библиотеки"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")])],-1),z={class:"container px-8 mx-auto xl:px-5 max-w-screen-md"},T={class:"my-10 sm:my-14"},V={class:"grow"},W={class:"flex flex-col h-full"},Y={class:"mb-3"},Z={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-[12px] text-gray-600"},q={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-xs font-medium bg-[#E9F2FE] text-blue-600"},G={class:"text-lg sm:text-2xl font-semibold text-gray-800 group-hover:text-blue-600"},J={class:"mt-2 text-gray-600"},K={class:"mt-10 flex items-center justify-center"},O={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"},Q=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),R=e("span",null,"Предыдущая",-1),U=e("span",null,"Следующая",-1),X=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1);function $(d,ee,t,te,se,oe){const p=n("Head"),x=n("MainNavbar"),i=n("Link"),_=n("ClientFooterDown");return l(),c(m,null,[o(p,null,{default:a(()=>[N,S]),_:1}),o(x,{class:"border-b",sections:d.$page.props.navigation},null,8,["sections"]),e("div",E,[e("div",P,[e("div",null,[j,e("div",z,[e("div",T,[(l(!0),c(m,null,f(t.posts.data,s=>(l(),b(i,{href:d.route("client.library.news.show",s.id),class:"group sm:flex rounded-xl mb-4"},{default:a(()=>[e("div",V,[e("div",W,[e("div",Y,[e("p",Z,r(s.created_at),1),e("p",q,r(s.category),1)]),e("h3",G,r(s.title),1),e("p",J,r(s.preview_text),1)])])]),_:2},1032,["href"]))),256)),e("div",K,[e("nav",O,[o(i,{as:"button",href:t.posts.links.prev,disabled:t.posts.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:a(()=>[Q,R]),_:1},8,["href","disabled"]),o(i,{as:"button",href:t.posts.links.next,disabled:t.posts.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:a(()=>[U,X]),_:1},8,["href","disabled"])])])])])])])]),o(_)],64)}const ge=L(M,[["render",$]]);export{ge as default}; diff --git a/public/build/assets/Index-DfP-Vjcn.js b/public/build/assets/Index-DfP-Vjcn.js new file mode 100644 index 0000000..51f184d --- /dev/null +++ b/public/build/assets/Index-DfP-Vjcn.js @@ -0,0 +1 @@ +import{M as h}from"./MainNavbar-CK8Gfm-M.js";import{i as y,Z as v,r as n,c,a as o,w as d,b as t,t as i,F as m,d as b,o as a,e as C}from"./app-C722ecVx.js";import{F as w}from"./v3-918lQ39M.js";import{C as D}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as F}from"./ClientFooterDown-nb4a-O5q.js";import{A as k,a as A,b as E}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A as B}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as S,a as I}from"./ClientPostSearch-kaUIQH-M.js";import{C as M}from"./ClientPost-BxLMuODS.js";import{C as N}from"./ClientEventSelectDate-C1YRbWa1.js";import{C as P}from"./ClientEventFilter-Cuc7FfCA.js";import{M as H}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */import"./SortingByFilter-Bz0ugPNO.js";const j={name:"Index",components:{MainPageNavBar:H,ClientEventFilter:P,ClientEventSelectDate:N,AdminIndexHeaderTitle:k,AdminIndexHeader:B,AdminIndexFilter:A,AdminIndexSearch:E,ClientFooterDown:F,ClientScrollTimeline:D,ClientPostFilter:S,Link:y,MainNavbar:h,FsLightbox:w,Head:v,ClientPost:M,ClientPostSearch:I},props:{events:{type:Array},currentDate:{type:String},eventDates:{type:Array},navigation:{type:Array},filters:{type:Array},categories:{type:Array}},methods:{}},T={class:"flex flex-col h-screen"},V={class:"flex-grow"},G={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},Y={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},Z={class:"space-y-5 md:space-y-4"},q={class:"flex items-center w-full justify-center"},z={class:"my-10 justify-center flex gap-x-3 items-center"},J={class:"shadow-sm w-[35px]"},K={class:"block w-[35px] h-[27px] bg-white text-center font-medium"},O={class:"font-light text-xl"},Q={class:"space-y-5 md:space-y-4"},R={class:"grid gap-y-10 mt-10"},U={class:"grow"},W={class:"flex flex-col h-full"},X={class:"mb-3"},$={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-[12px] text-gray-600"},tt={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-xs font-medium bg-[#E9F2FE] text-blue-600"},et={class:"text-lg sm:text-2xl font-semibold text-gray-800 group-hover:text-blue-600"};function st(l,e,s,nt,ot,it){const p=n("Head"),x=n("MainPageNavBar"),_=n("ClientEventFilter"),f=n("ClientEventSelectDate"),g=n("Link"),u=n("ClientFooterDown");return a(),c(m,null,[o(p,null,{default:d(()=>e[0]||(e[0]=[t("title",null,"Мероприятия",-1),t("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),o(x,{class:"border-b",sections:l.$page.props.navigation},null,8,["sections"]),t("div",T,[t("main",V,[t("div",G,[t("div",Y,[t("div",null,[t("div",Z,[t("div",q,[e[1]||(e[1]=t("h1",{class:"block text-brand-primary text-center mb-3 mt-2 mr-4 text-3xl font-semibold tracking-tight dark:text-white lg:text-[40px] lg:leading-tight"}," Мероприятия НТГСПИ ",-1)),o(_,{is_online_filter:s.filters.is_online_filter,categories:this.categories,category_filter:s.filters.category_filter,"sorting-by_filter":s.filters.sortingBy_filter},null,8,["is_online_filter","categories","category_filter","sorting-by_filter"])]),t("div",z,[e[3]||(e[3]=t("h3",{class:"font-light text-xl"},"Мероприятия на ",-1)),t("div",J,[e[2]||(e[2]=t("div",{class:"block w-[35px] h-[8px] bg-red-400 rounded-t"},null,-1)),t("div",K,i(s.currentDate.day),1)]),t("h3",O,i(s.currentDate.month),1)]),t("div",Q,[t("div",null,[o(f,{"current-date":s.currentDate.fullDate,dates:s.eventDates},null,8,["current-date","dates"])])])]),t("div",R,[(a(!0),c(m,null,b(s.events.data,r=>(a(),C(g,{class:"group sm:flex rounded-xl",href:l.route("client.event.show",r.slug)},{default:d(()=>[t("div",U,[t("div",W,[t("div",X,[t("p",$,i(r.event_time_start),1),t("p",tt,i(r.category),1)]),t("h3",et,i(r.title),1),e[4]||(e[4]=t("p",{class:"mt-2 text-gray-600"}," Great news we're eager to share. ",-1))])])]),_:2},1032,["href"]))),256))])])])])]),o(u)])],64)}const Ct=L(j,[["render",st]]);export{Ct as default}; diff --git a/public/build/assets/Index-GwKNct3l.js b/public/build/assets/Index-GwKNct3l.js deleted file mode 100644 index 16aaa62..0000000 --- a/public/build/assets/Index-GwKNct3l.js +++ /dev/null @@ -1 +0,0 @@ -import{M as h}from"./MainNavbar-CBx37KIe.js";import{i as u,Z as g,r as n,o as d,c,a as o,w as a,b as e,F as m,d as b,e as f,t as r}from"./app-DmJ8GS-7.js";import{F as v}from"./v3-rkPj73qv.js";import{C as y}from"./ClientScrollTimeline-zadrTdrA.js";import{C as w}from"./ClientFooterDown-D8UuGhzW.js";import{A as k,a as C,b as F}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as B}from"./ClientEventSelectDate-DjTuDVF3.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const D={name:"Index",components:{ClientEventSelectDate:B,AdminIndexHeaderTitle:k,AdminIndexHeader:A,AdminIndexFilter:C,AdminIndexSearch:F,ClientFooterDown:w,ClientScrollTimeline:y,Link:u,MainNavbar:h,FsLightbox:v,Head:g},props:{exhibitions:{type:Array}},methods:{},mounted(){}},H=e("title",null,"Виртуальные выставки",-1),L=e("meta",{name:"description",content:"Your page description"},null,-1),M={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},N={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},E=e("div",{class:"space-y-5 md:space-y-4"},[e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Виртуальные выставки"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")])],-1),S={class:"container px-8 mx-auto xl:px-5 max-w-screen-md"},j={class:"my-10 sm:my-14"},z={class:"grow"},T={class:"flex flex-col h-full"},V={class:"mb-3"},P={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-[12px] text-gray-600"},W={class:"inline-flex items-center gap-1.5 py-1.5 px-3 rounded-md text-xs font-medium bg-[#E9F2FE] text-blue-600"},Y={class:"text-lg sm:text-2xl font-semibold text-gray-800 group-hover:text-blue-600"},Z={class:"mt-2 text-gray-600"},q={class:"mt-10 flex items-center justify-center"},G={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"},J=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),K=e("span",null,"Предыдущая",-1),O=e("span",null,"Следующая",-1),Q=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1);function R(l,U,t,X,$,ee){const x=n("Head"),p=n("MainNavbar"),i=n("Link"),_=n("ClientFooterDown");return d(),c(m,null,[o(x,null,{default:a(()=>[H,L]),_:1}),o(p,{class:"border-b",sections:l.$page.props.navigation},null,8,["sections"]),e("div",M,[e("div",N,[e("div",null,[E,e("div",S,[e("div",j,[(d(!0),c(m,null,b(t.exhibitions.data,s=>(d(),f(i,{href:l.route("client.library.exhibition.show",s.id),class:"group sm:flex rounded-xl mb-4"},{default:a(()=>[e("div",z,[e("div",T,[e("div",V,[e("p",P,r(s.created_at),1),e("p",W,r(s.category),1)]),e("h3",Y,r(s.title),1),e("p",Z,r(s.preview_text),1)])])]),_:2},1032,["href"]))),256)),e("div",q,[e("nav",G,[o(i,{as:"button",href:t.exhibitions.links.prev,disabled:t.exhibitions.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:a(()=>[J,K]),_:1},8,["href","disabled"]),o(i,{as:"button",href:t.exhibitions.links.next,disabled:t.exhibitions.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:a(()=>[O,Q]),_:1},8,["href","disabled"])])])])])])])]),o(_)],64)}const xe=I(D,[["render",R]]);export{xe as default}; diff --git a/public/build/assets/Index-X1osOsx5.js b/public/build/assets/Index-X1osOsx5.js deleted file mode 100644 index 94929e5..0000000 --- a/public/build/assets/Index-X1osOsx5.js +++ /dev/null @@ -1 +0,0 @@ -import{M as f}from"./MainNavbar-CBx37KIe.js";import{i as y,Z as b,r as t,o as r,c as d,a as o,w as n,b as e,F as p,d as v,e as k}from"./app-DmJ8GS-7.js";import{F as w}from"./v3-rkPj73qv.js";import{C}from"./ClientScrollTimeline-zadrTdrA.js";import{C as A}from"./ClientFooterDown-D8UuGhzW.js";import{A as F,a as P,b as I}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A as H}from"./AdminIndexHeader-CAfP1jQ8.js";import{C as $,a as B}from"./ClientPostSearch-D0YX2x3W.js";import{C as L}from"./ClientPost-BP_ZUrbH.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";/* empty css */const N={name:"Index",components:{AdminIndexHeaderTitle:F,AdminIndexHeader:H,AdminIndexFilter:P,AdminIndexSearch:I,ClientFooterDown:A,ClientScrollTimeline:C,ClientPostFilter:$,Link:y,MainNavbar:f,FsLightbox:w,Head:b,ClientPost:L,ClientPostSearch:B},data(){return{}},props:{posts:{type:Array},filters:{type:Array},categories:{type:Array},navigation:{type:Array}},methods:{},mounted(){}},S=e("title",null,"Новости",-1),j=e("meta",{name:"description",content:"Your page description"},null,-1),D={class:"relative mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},z={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},T={class:"space-y-5 md:space-y-4"},V={class:"space-y-5 md:space-y-4"},E={class:"container px-8 mx-auto xl:px-5 max-w-screen-lg py-5 lg:py-8"},Y={class:"mt-10 grid gap-10 md:grid-cols-2 lg:gap-10 xl:grid-cols-3"},Z={class:"mt-10 flex items-center justify-center"},q={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"},G=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),J=e("span",null,"Предыдущая",-1),K=e("span",null,"Следующая",-1),O=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1);function Q(s,R,a,U,W,X){const c=t("Head"),m=t("MainNavbar"),_=t("ClientPostSearch"),u=t("ClientPostFilter"),g=t("AdminIndexHeader"),x=t("ClientPost"),i=t("Link"),h=t("ClientFooterDown");return r(),d(p,null,[o(c,null,{default:n(()=>[S,j]),_:1}),o(m,{class:"border-b",sections:s.$page.props.navigation},null,8,["sections"]),e("div",D,[e("div",z,[e("div",null,[o(g,null,{default:n(()=>[o(_),o(u,{items:a.categories},null,8,["items"])]),_:1}),e("div",T,[e("div",V,[e("div",null,[e("div",E,[e("div",Y,[(r(!0),d(p,null,v(a.posts.data,l=>(r(),k(x,{key:l.id,post:l},null,8,["post"]))),128))]),e("div",Z,[e("nav",q,[o(i,{as:"button",href:s.$props.posts.links.prev,disabled:s.$props.posts.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:n(()=>[G,J]),_:1},8,["href","disabled"]),o(i,{as:"button",href:s.$props.posts.links.next,disabled:s.$props.posts.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:n(()=>[K,O]),_:1},8,["href","disabled"])])])])])])])])])]),o(h)],64)}const me=M(N,[["render",Q]]);export{me as default}; diff --git a/public/build/assets/Index-e0jWn0vJ.js b/public/build/assets/Index-e0jWn0vJ.js deleted file mode 100644 index eeb8b37..0000000 --- a/public/build/assets/Index-e0jWn0vJ.js +++ /dev/null @@ -1 +0,0 @@ -import{M as S}from"./MainNavbar-CBx37KIe.js";import{i as u,o as i,c,g as M,t as b,b as e,j as A,f as y,d as v,e as k,l as I,F as g,Z as L,r as n,a as o,w as m}from"./app-DmJ8GS-7.js";import{F as N}from"./v3-rkPj73qv.js";import{C as O}from"./ClientScrollTimeline-zadrTdrA.js";import{C as H}from"./ClientFooterDown-D8UuGhzW.js";import{A as T,a as $,b as D}from"./AdminIndexHeaderTitle-D8ksOx2b.js";import{A as z}from"./AdminIndexHeader-CAfP1jQ8.js";import{S as V,b as E,C as R,a as U}from"./ClientPostSearch-D0YX2x3W.js";import{C as J}from"./ClientPost-BP_ZUrbH.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */const W={name:"TagBadge",components:{Link:u},data(){return{}},methods:{clearFilter(){let s=new URL(window.location.href);const r=[];for(const[a]of s.searchParams)a.startsWith(this.filter.param)&&r.push(a);r.forEach(a=>s.searchParams.delete(a));let t=s.toString();this.$inertia.visit(t,{method:"get"})}},props:{filter:{type:Object}}},Y={key:0,class:"inline-flex items-center gap-x-1.5 py-1.5 ps-3 pe-2 rounded-full text-xs font-medium bg-blue-100 text-blue-800"},Z=e("span",{class:"sr-only"},"Remove badge",-1),q=e("svg",{class:"shrink-0 size-3",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M18 6 6 18"}),e("path",{d:"m6 6 12 12"})],-1),G=[Z,q];function K(s,r,t,a,_,d){return this.filter.value!==null?(i(),c("span",Y,[M(b(t.filter.value.length>1?"Тэг: "+t.filter.value.length+" значений":"#"+JSON.parse(t.filter.content[t.filter.value].data.name).ru)+" ",1),e("button",{onClick:r[0]||(r[0]=A((...l)=>d.clearFilter&&d.clearFilter(...l),["prevent"])),type:"button",class:"shrink-0 size-4 inline-flex items-center justify-center rounded-full hover:bg-blue-200 focus:outline-none focus:bg-blue-200 focus:text-blue-500"},G)])):y("",!0)}const Q=f(W,[["render",K]]),X={name:"EventBadgeBuilder",components:{Link:u,SearchBadge:V,CategoryBadge:E,TagBadge:Q},data(){return{}},methods:{getComponent(s){return{search:"SearchBadge",category:"CategoryBadge",tag:"TagBadge"}[s]||null}},props:{filters:{type:Object}}};function ee(s,r,t,a,_,d){return i(!0),c(g,null,v(t.filters,(l,p)=>(i(),k(I(d.getComponent(l.type)),{key:p,filter:l},null,8,["filter"]))),128)}const te=f(X,[["render",ee]]),se={name:"Index",components:{PostBadge:te,AdminIndexHeaderTitle:T,AdminIndexHeader:z,AdminIndexFilter:$,AdminIndexSearch:D,ClientFooterDown:H,ClientScrollTimeline:O,ClientPostFilter:R,Link:u,MainNavbar:S,FsLightbox:N,Head:L,ClientPost:J,ClientPostSearch:U},data(){return{}},props:{posts:{type:Object},filters:{type:Object},categories:{type:Object},tags:{type:Object},navigation:{type:Object}},methods:{},mounted(){}},ne=e("title",null,"Новости",-1),oe=e("meta",{name:"description",content:"Your page description"},null,-1),re={class:"relative mx-auto mt-[67px] max-w-screen-xl py-10 md:flex md:flex-row md:py-10"},ae={class:"pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},ie=e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Новости НТГСПИ"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"Узнайте последние новости любимого вуза")],-1),le={class:"px-6"},de={key:0,class:"text-sm text-gray-500 mb-4"},ce={class:"flex-wrap flex gap-3 md:items-center"},me={class:"space-y-5 md:space-y-4"},pe={class:"space-y-5 md:space-y-4"},ge={class:"container px-4 mx-auto xl:px-5 max-w-screen-lg py-5 lg:py-8"},ue={class:"mt-10 grid gap-10 md:grid-cols-2 lg:gap-10 xl:grid-cols-3"},fe={class:"mt-10 flex items-center justify-center"},_e={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"},he=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),xe=e("span",null,"Предыдущая",-1),be=e("span",null,"Следующая",-1),ye=e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1);function ve(s,r,t,a,_,d){const l=n("Head"),p=n("MainNavbar"),w=n("ClientPostSearch"),C=n("ClientPostFilter"),B=n("AdminIndexHeader"),P=n("PostBadge"),F=n("ClientPost"),h=n("Link"),j=n("ClientFooterDown");return i(),c(g,null,[o(l,null,{default:m(()=>[ne,oe]),_:1}),o(p,{class:"border-b",sections:s.$page.props.navigation},null,8,["sections"]),e("div",re,[e("div",ae,[ie,e("div",null,[o(B,null,{default:m(()=>[o(w,{search_filter:this.filters.search_filter},null,8,["search_filter"]),o(C,{"sorting-by_filter":this.filters.sortingBy_filter,category_filter:this.filters.category_filter,tag_filter:this.filters.tag_filter,tags:t.tags,items:t.categories},null,8,["sorting-by_filter","category_filter","tag_filter","tags","items"])]),_:1}),e("div",le,[t.filters.category_filter.value||t.filters.tag_filter.value||t.filters.search_filter.value?(i(),c("h3",de,"Найдено новостей: "+b(t.posts.meta.total),1)):y("",!0),e("div",ce,[o(P,{filters:this.filters},null,8,["filters"])])]),e("div",me,[e("div",pe,[e("div",null,[e("div",ge,[e("div",ue,[(i(!0),c(g,null,v(t.posts.data,x=>(i(),k(F,{key:x.id,post:x},null,8,["post"]))),128))]),e("div",fe,[e("nav",_e,[o(h,{as:"button",href:t.posts.links.prev,disabled:s.$props.posts.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:m(()=>[he,xe]),_:1},8,["href","disabled"]),o(h,{as:"button",href:t.posts.links.next,disabled:s.$props.posts.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:m(()=>[be,ye]),_:1},8,["href","disabled"])])])])])])])])])]),o(j)],64)}const Ne=f(se,[["render",ve]]);export{Ne as default}; diff --git a/public/build/assets/Index-ef4nYZDY.js b/public/build/assets/Index-ef4nYZDY.js new file mode 100644 index 0000000..a220c9f --- /dev/null +++ b/public/build/assets/Index-ef4nYZDY.js @@ -0,0 +1 @@ +import{M as b}from"./MainNavbar-CK8Gfm-M.js";import{i as v,Z as w,r as s,c as l,a as o,w as r,b as t,t as k,f as C,F as m,d as P,o as n,e as B}from"./app-C722ecVx.js";import{F}from"./v3-918lQ39M.js";import{C as j}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as A}from"./ClientFooterDown-nb4a-O5q.js";import{A as I,a as H,b as M}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A as N}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as S,a as L}from"./ClientPostSearch-kaUIQH-M.js";import{C as O}from"./ClientPost-BxLMuODS.js";import{P as D}from"./EventBadgeBuilder-BM5JLHrZ.js";import{M as V}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as z}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";/* empty css */import"./SortingByFilter-Bz0ugPNO.js";const T={name:"Index",components:{MainPageNavBar:V,PostBadge:D,AdminIndexHeaderTitle:I,AdminIndexHeader:N,AdminIndexFilter:H,AdminIndexSearch:M,ClientFooterDown:A,ClientScrollTimeline:j,ClientPostFilter:S,Link:v,MainNavbar:b,FsLightbox:F,Head:w,ClientPost:O,ClientPostSearch:L},data(){return{}},props:{posts:{type:Object},filters:{type:Object},categories:{type:Object},tags:{type:Object},navigation:{type:Object}},methods:{},mounted(){}},E={class:"flex flex-col h-screen"},Y={class:"flex-grow"},Z={class:"relative mx-auto mt-[67px] max-w-screen-xl py-10 md:flex md:flex-row md:py-10"},q={class:"pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},G={class:"px-6"},J={key:0,class:"text-sm text-gray-500 mb-4"},K={class:"flex-wrap flex gap-3 md:items-center"},Q={class:"space-y-5 md:space-y-4"},R={class:"space-y-5 md:space-y-4"},U={class:"container px-4 mx-auto xl:px-5 max-w-screen-lg py-5 lg:py-8"},W={class:"mt-10 grid gap-10 md:grid-cols-2 lg:gap-10 xl:grid-cols-3"},X={class:"mt-10 flex items-center justify-center"},$={class:"isolate inline-flex -space-x-px rounded-md shadow-sm","aria-label":"Pagination"};function tt(i,a,e,et,st,ot){const p=s("Head"),g=s("MainPageNavBar"),f=s("ClientPostSearch"),x=s("ClientPostFilter"),_=s("AdminIndexHeader"),u=s("PostBadge"),h=s("ClientPost"),d=s("Link"),y=s("ClientFooterDown");return n(),l(m,null,[o(p,null,{default:r(()=>a[0]||(a[0]=[t("title",null,"Новости",-1),t("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),o(g,{class:"border-b",sections:i.$page.props.navigation},null,8,["sections"]),t("div",E,[t("main",Y,[t("div",Z,[t("div",q,[a[3]||(a[3]=t("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[t("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Новости НТГСПИ"),t("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"Узнайте последние новости любимого вуза")],-1)),t("div",null,[o(_,null,{default:r(()=>[o(f,{search_filter:this.filters.search_filter},null,8,["search_filter"]),o(x,{"sorting-by_filter":this.filters.sortingBy_filter,category_filter:this.filters.category_filter,tag_filter:this.filters.tag_filter,tags:e.tags,items:e.categories},null,8,["sorting-by_filter","category_filter","tag_filter","tags","items"])]),_:1}),t("div",G,[e.filters.category_filter.value||e.filters.tag_filter.value||e.filters.search_filter.value?(n(),l("h3",J,"Найдено новостей: "+k(e.posts.meta.total),1)):C("",!0),t("div",K,[o(u,{filters:this.filters},null,8,["filters"])])]),t("div",Q,[t("div",R,[t("div",null,[t("div",U,[t("div",W,[(n(!0),l(m,null,P(e.posts.data,c=>(n(),B(h,{key:c.id,post:c},null,8,["post"]))),128))]),t("div",X,[t("nav",$,[o(d,{as:"button",href:e.posts.links.prev,disabled:i.$props.posts.links.prev===null,class:"relative inline-flex items-center gap-1 rounded-l-md border border-gray-300 bg-white px-3 py-2 pr-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>a[1]||(a[1]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1),t("span",null,"Предыдущая",-1)])),_:1},8,["href","disabled"]),o(d,{as:"button",href:e.posts.links.next,disabled:i.$props.posts.links.next===null,class:"relative inline-flex items-center gap-1 rounded-r-md border border-gray-300 bg-white px-3 py-2 pl-4 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20 disabled:pointer-events-none disabled:opacity-40 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300"},{default:r(()=>a[2]||(a[2]=[t("span",null,"Следующая",-1),t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",class:"h-3 w-3"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])),_:1},8,["href","disabled"])])])])])])])])])])]),o(y)])],64)}const yt=z(T,[["render",tt]]);export{yt as default}; diff --git a/public/build/assets/Index-j8hrNASs.js b/public/build/assets/Index-j8hrNASs.js new file mode 100644 index 0000000..3402535 --- /dev/null +++ b/public/build/assets/Index-j8hrNASs.js @@ -0,0 +1 @@ +import{i as g,Z as _,r as o,c as r,a as s,w as i,b as e,F as l,d as h,o as a,e as f,t as v}from"./app-C722ecVx.js";import{F as w}from"./v3-918lQ39M.js";import{C as b}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as y}from"./ClientFooterDown-nb4a-O5q.js";import{A as k,a as C,b as F}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A as B}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as A,a as I}from"./ClientPostSearch-kaUIQH-M.js";import{C as P}from"./ClientPost-BxLMuODS.js";import{M as H}from"./MainPageNavbar-DcM2ZJ6Y.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./SearchModal-72Hbiqqz.js";import"./SortingByFilter-Bz0ugPNO.js";const N={name:"Index",components:{MainPageNavBar:H,AdminIndexHeaderTitle:k,AdminIndexHeader:B,AdminIndexFilter:C,AdminIndexSearch:F,ClientFooterDown:y,ClientScrollTimeline:b,ClientPostFilter:A,Link:g,FsLightbox:w,Head:_,ClientPost:P,ClientPostSearch:I},data(){return{}},props:{journals:{type:Array}},methods:{},mounted(){}},j={class:"flex flex-col h-screen"},D={class:"flex-grow"},M={class:"relative mb-auto mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},S={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},$={class:"space-y-5 md:space-y-4"},T={class:"space-y-5 md:space-y-4"},V={class:"max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto"},q={class:"grid sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-3 gap-3 sm:gap-6"},z={class:"p-4 md:p-5 w-full"},E={class:"flex justify-between items-center gap-x-3"},J={class:"grow"},W={class:"group-hover:text-blue-600 font-semibold text-gray-800"};function Y(n,t,d,Z,G,K){const m=o("Head"),c=o("MainPageNavBar"),p=o("Link"),x=o("ClientFooterDown");return a(),r(l,null,[s(m,null,{default:i(()=>t[0]||(t[0]=[e("title",null,"Научные периодические издания НТГСПИ",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),s(c,{class:"border-b",sections:n.$page.props.navigation},null,8,["sections"]),e("div",j,[e("main",D,[e("div",M,[e("div",S,[e("div",null,[e("div",$,[e("div",T,[e("div",V,[t[2]||(t[2]=e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Научные периодические издания НТГСПИ"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")],-1)),e("div",q,[(a(!0),r(l,null,h(d.journals.data,u=>(a(),f(p,{href:n.route("client.academicJournals.show","aliqua-dolor-vel"),class:"group flex items-center bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition"},{default:i(()=>[e("div",z,[e("div",E,[e("div",J,[e("h3",W,v(u.title),1)]),t[1]||(t[1]=e("div",null,[e("svg",{class:"shrink-0 size-5 text-gray-800",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1))])])]),_:2},1032,["href"]))),256))])])])])])])])]),s(x)])],64)}const ie=L(N,[["render",Y]]);export{ie as default}; diff --git a/public/build/assets/Index-zJjBH80s.js b/public/build/assets/Index-zJjBH80s.js new file mode 100644 index 0000000..0b75b9d --- /dev/null +++ b/public/build/assets/Index-zJjBH80s.js @@ -0,0 +1 @@ +import{i as u,Z as _,r as s,c as r,a as o,w as l,b as e,F as d,d as h,o as n,e as f,t as v}from"./app-C722ecVx.js";import"./SearchModal-72Hbiqqz.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */import{F as b}from"./v3-918lQ39M.js";import{C as y}from"./ClientScrollTimeline-CBg4yF9s.js";import{C as k}from"./ClientFooterDown-nb4a-O5q.js";import{A as C,a as F,b as B}from"./AdminIndexHeaderTitle-CKMXllEx.js";import{A}from"./AdminIndexHeader-CZHN_Vzm.js";import{C as I,a as P}from"./ClientPostSearch-kaUIQH-M.js";import{C as H}from"./ClientPost-BxLMuODS.js";import{M as L}from"./MainPageNavbar-DcM2ZJ6Y.js";import"./SortingByFilter-Bz0ugPNO.js";const N={name:"Index",components:{MainPageNavBar:L,AdminIndexHeaderTitle:C,AdminIndexHeader:A,AdminIndexFilter:F,AdminIndexSearch:B,ClientFooterDown:k,ClientScrollTimeline:y,ClientPostFilter:I,Link:u,FsLightbox:b,Head:_,ClientPost:H,ClientPostSearch:P},data(){return{}},props:{divisions:{type:Array}},methods:{},mounted(){}},D={class:"flex flex-col h-screen"},M={class:"flex-grow"},S={class:"relative mb-auto mx-auto mt-[67px] max-w-screen-xl px-4 py-10 md:flex md:flex-row md:py-10"},$={class:"px-4 pt-6 lg:pt-10 pb-12 sm:px-6 lg:px-8 mx-auto"},j={class:"space-y-5 md:space-y-4"},T={class:"space-y-5 md:space-y-4"},V={class:"max-w-[85rem] px-4 py-10 sm:px-6 lg:px-8 lg:py-14 mx-auto"},z={class:"grid sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-3 gap-3 sm:gap-6"},E={class:"p-4 md:p-5 w-full"},W={class:"flex justify-between items-center gap-x-3"},Y={class:"grow"},Z={class:"group-hover:text-blue-600 font-semibold text-gray-800"};function q(a,t,m,G,J,K){const c=s("Head"),p=s("MainPageNavBar"),x=s("Link"),g=s("ClientFooterDown");return n(),r(d,null,[o(c,null,{default:l(()=>t[0]||(t[0]=[e("title",null,"Подразделения института",-1),e("meta",{name:"description",content:"Your page description"},null,-1)])),_:1}),o(p,{class:"border-b",sections:a.$page.props.navigation},null,8,["sections"]),e("div",D,[e("main",M,[e("div",S,[e("div",$,[e("div",null,[e("div",j,[e("div",T,[e("div",V,[t[2]||(t[2]=e("div",{class:"max-w-2xl text-center mx-auto mb-10 lg:mb-14"},[e("h2",{class:"text-2xl font-bold md:text-4xl md:leading-tight dark:text-white"},"Подразделения института"),e("p",{class:"mt-1 text-gray-600 dark:text-neutral-400"},"We've helped some great companies brand, design and get to market.")],-1)),e("div",z,[(n(!0),r(d,null,h(m.divisions.data,i=>(n(),f(x,{href:a.route("client.division.show",i.slug),class:"group flex items-center bg-white border shadow-sm rounded-xl hover:shadow-md focus:outline-none focus:shadow-md transition"},{default:l(()=>[e("div",E,[e("div",W,[e("div",Y,[e("h3",Z,v(i.title),1)]),t[1]||(t[1]=e("div",null,[e("svg",{class:"shrink-0 size-5 text-gray-800",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"m9 18 6-6-6-6"})])],-1))])])]),_:2},1032,["href"]))),256))])])])])])])])]),o(g)])],64)}const le=w(N,[["render",q]]);export{le as default}; diff --git a/public/build/assets/Main-Bjz75kgy.js b/public/build/assets/Main-Bjz75kgy.js new file mode 100644 index 0000000..96ec424 --- /dev/null +++ b/public/build/assets/Main-Bjz75kgy.js @@ -0,0 +1 @@ +var C=Object.defineProperty;var D=(n,e,a)=>e in n?C(n,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[e]=a;var s=(n,e,a)=>D(n,typeof e!="symbol"?e+"":e,a);import{i as k,o as i,c,b as t,F as x,d as h,n as I,t as o,A as N,f as E,Z as P,r as g,a as _,w as b,g as A,h as M,e as R}from"./app-C722ecVx.js";import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{C as F}from"./ClientFooterDown-nb4a-O5q.js";import{M as G}from"./MainPageNavbar-DcM2ZJ6Y.js";import{C as L}from"./ClientPost-BxLMuODS.js";import"./SearchModal-72Hbiqqz.js";const $={name:"slider",components:{Link:k},props:{slidersCarousel:{type:Object}},data(){return{currentIndex:0,percentage:0,intervalId:null}},methods:{next(){this.currentIndex=(this.currentIndex+1)%this.slidersCarousel.data.length,this.resetTimer()},prev(){this.currentIndex=(this.currentIndex-1+this.slidersCarousel.data.length)%this.slidersCarousel.data.length,this.resetTimer()},progressStatus(){this.percentage>=100?(this.resetTimer(),this.next()):this.percentage++},startTimer(){this.intervalId=setInterval(this.progressStatus,60)},stopTimer(){clearInterval(this.intervalId)},resetTimer(){this.percentage=0,this.stopTimer(),this.startTimer()}},mounted(){this.$emit("slider-mounted",this.$refs.sliderRef),this.startTimer()}},j={ref:"sliderRef",class:"relative z-0 min-h-[calc(100vh)] items-center"},B={class:"absolute -z-10 h-full w-full before:absolute before:z-10 before:h-full before:w-full before:bg-black/30"},H=["src"],U={class:"text-brand-primary mb-3 mt-2 text-3xl font-semibold tracking-tight text-white lg:text-5xl lg:leading-tight"},z={class:"mt-8 flex space-x-3 text-gray-500 mb-8"},V={class:"flex flex-col gap-3 md:flex-row md:items-center"},Y={class:"flex gap-3"},J={class:"text-gray-100 line-clamp-3"},K={href:"/author/erika-oliver"},Z=["href"],Q={key:0,class:"mx-auto max-w-screen-md px-5"},W={class:"mt-8 text-gray-500 text-white absolute bottom-[100px]"},q={class:""},X={class:"flex space-x-3 items-center justify-between"},tt={class:"flex space-x-3 w-[100px] items-center font-semibold text-xl"},et={class:"flex w-full h-1 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100"};function st(n,e,a,v,d,m){return i(),c("div",j,[t("div",B,[(i(!0),c(x,null,h(a.slidersCarousel.data,(r,p)=>(i(),c("img",{alt:"Thumbnail",loading:"eager",decoding:"async","data-nimg":"fill",class:I(["object-cover brightness-[0.7] transition-opacity duration-1000",{"opacity-1":d.currentIndex===p,"opacity-0":d.currentIndex!==p}]),sizes:"100vw",key:p,src:"/storage/"+r.image,style:{position:"absolute",height:"100%",width:"100%",inset:"0px",color:"transparent"}},null,10,H))),128))]),(i(!0),c(x,null,h(a.slidersCarousel.data,(r,p)=>(i(),c("div",{class:I([{block:d.currentIndex===p,hidden:d.currentIndex!==p},"mx-auto max-w-screen-md px-5 pt-[150px] pb-0"]),key:p},[t("h1",U,o(r.title),1),t("div",z,[t("div",V,[t("div",Y,[t("p",J,[t("a",K,o(r.content),1)])])])]),t("a",{href:r.link,class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-semibold rounded-lg border border-white text-white hover:border-white/70 hover:text-white/70 disabled:opacity-50 disabled:pointer-events-none"},o(r.link_text),9,Z)],2))),128)),a.slidersCarousel.data.length>=2?(i(),c("div",Q,[t("div",W,[t("div",q,[t("div",X,[t("button",{onClick:e[0]||(e[0]=(...r)=>m.prev&&m.prev(...r)),class:"bg-gray-200 w-8 h-8 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},e[2]||(e[2]=[t("svg",{class:"w-4 h-4 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])),t("div",tt,[t("span",null,o(this.currentIndex+1),1),t("div",et,[t("div",{class:"flex flex-col justify-center rounded-full overflow-hidden bg-blue-600 text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500 my-slider-progress-bar",style:N({width:`${d.percentage}%`})},null,4)]),t("span",null,o(a.slidersCarousel.data.length),1)]),t("button",{onClick:e[1]||(e[1]=(...r)=>m.next&&m.next(...r)),class:"bg-gray-200 w-8 h-8 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},e[3]||(e[3]=[t("svg",{class:"w-4 h-4 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 19l7-7-7-7"})],-1)]))])])])])):E("",!0)],512)}const lt=f($,[["render",st]]),ot={name:"TestTimer",data(){return{percentage:0,intervalId:null}},methods:{progressStatus(){this.percentage>=100?this.resetTimer():this.percentage++},startTimer(){this.intervalId=setInterval(this.progressStatus,60)},stopTimer(){clearInterval(this.intervalId)},resetTimer(){this.percentage=0,this.stopTimer(),this.startTimer()}},mounted(){this.startTimer()}},rt={class:"flex w-full h-1 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100"};function it(n,e,a,v,d,m){return i(),c("div",rt,[t("div",{class:"flex flex-col justify-center rounded-full overflow-hidden bg-blue-600 text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500",style:N({width:`${d.percentage}%`})},null,4)])}const nt=f(ot,[["render",it]]),at={name:"sliderSecond",components:{TestTimer:nt},data(){return{photos:[{url:"https://www.ntspi.ru/upload/iblock/d6b/z1xKGOXRrLE.jpg",title:"Студенты ФППО провели занятия для педклассов школ города",description:"«Учителем быть престижно!» Под таким девизом в течение трех дней (6, 7 и 10 июня) на факультете психолого-педагогического образования студенты группы Нт-203о ППП (психологический клуб «Форсайт») под руководством Марины Вячеславовны Манаковой проводили познавательные мероприятие для педагогических классов школ города (№№ 61, 44, 75/42)"},{url:"https://www.ntspi.ru/upload/iblock/eaf/IMG_8259.jpg",title:"Интеллектуальный турнир «Моя страна – моя Россия» для педагогических классов города!",description:"11 июня в читальном зале НТГСПИ на базе педагогических классов школ города (№№ 44, 75/42, 61) студенты СГФ под руководством декана Ирины Викторовны Даренской и заместителя декана Анны Саввишны Аникиной провели интеллектуальный турнир в соревновательном формате «Моя страна – моя Россия!»"},{url:"https://www.ntspi.ru/upload/iblock/ee6/DSC01893.JPG",title:"Филологи 20 лет спустя",description:"Спустя 20 лет на ФФМК встретились выпускники 2004 г. специальности «Русский язык и литература». Приятным и волнительным для филологов было возвращение на свой «третий этаж», ставший родным за пять лет обучения в вузе. Самый трогательный момент − встреча с дорогими преподавателями, которые за прошедшие годы совсем не изменились."},{url:"https://www.ntspi.ru/upload/iblock/f04/2.jpg",title:"Старт целины Штаба СО НТ – 2024",description:"7 мая в Городском дворце молодежи состоятся творческий старт сезона 2024 года студенческих отрядов города Нижний Тагил. Зажигательные, яркие, творческие бойцы отрядов показали свои выступления в преддверии старта сезона! Выступления отрядов, среди которых были и строительные, и педагогические, проводники и социальные отряды, были энергичными и фантастическими: торжественный выход с флагами отрядов, выступления по профилю работы, поразили выступления смешанных составов!"},{url:"https://www.ntspi.ru/upload/iblock/fc9/p-dIqCDymRY.jpg",title:"Студенты ФСБЖ – участники летней оздоровительной кампании – 2024",description:"3 июня студенты 3 курса факультета спорта и безопасности жизнедеятельности приняли участие в открытии лагеря с дневным пребыванием «Лето НТ» под девизом «Быть в движении!» Для 75 мальчишек и девчонок была подготовлена и проведена насыщенная интересными событиями программа. Открытие лагеря было посвящено Международному Дню защиты детей, где дети приняли участие в концертно-игровой программе «Планета детства»."}],currentIndex:0,percentage:0,intervalId:null}},methods:{next(){this.currentIndex=(this.currentIndex+1)%this.photos.length,this.resetTimer()},prev(){this.currentIndex=(this.currentIndex-1+this.photos.length)%this.photos.length,this.resetTimer()},progressStatus(){this.percentage>=100?(this.resetTimer(),this.next()):this.percentage++},startTimer(){this.intervalId=setInterval(this.progressStatus,60)},stopTimer(){clearInterval(this.intervalId)},resetTimer(){this.percentage=0,this.stopTimer(),this.startTimer()}},mounted(){this.startTimer()}},dt={class:"z-0 min-h-[calc(100vh-10vh)] items-center"},ct={class:"flex items-center pt-[150px] px-20"},pt={class:"text-brand-primary mb-3 mt-2 text-3xl font-semibold tracking-tight text-black lg:text-5xl lg:leading-tight"},ut={class:"mt-8 flex space-x-3 text-gray-500"},mt={class:"flex flex-col gap-3 md:flex-row md:items-center"},xt={class:"flex gap-3"},ht={class:"text-black"},gt={href:"/author/erika-oliver"},_t=["src"],bt={class:"mx-auto max-w-screen-md px-5"},ft={class:"mt-8 text-gray-500"},vt={class:"flex space-x-3 items-center justify-between"},wt={class:"flex space-x-3 w-[100px] items-center font-semibold text-xl"},It={class:"flex w-full h-1 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100"},yt={class:"space-x-2"};function At(n,e,a,v,d,m){return i(),c("div",dt,[t("div",ct,[(i(!0),c(x,null,h(d.photos,(r,p)=>(i(),c("div",{class:I([{block:d.currentIndex===p,hidden:d.currentIndex!==p},"mx-auto max-w-screen-md px-5 pb-0"]),key:p},[t("h1",pt,o(r.title),1),t("div",ut,[t("div",mt,[t("div",xt,[t("p",ht,[t("a",gt,o(r.description),1)])])])])],2))),128)),(i(!0),c(x,null,h(d.photos,(r,p)=>(i(),c("img",{alt:"Thumbnail",loading:"eager",decoding:"async","data-nimg":"fill",class:I(["w-[500px] h-[500px] brightness-[0.7] object-cover transition-opacity duration-1000 rounded-full",{block:d.currentIndex===p,hidden:d.currentIndex!==p}]),sizes:"100vw",key:p,src:r.url,style:{color:"transparent"}},null,10,_t))),128))]),t("div",bt,[t("div",ft,[t("div",vt,[t("div",wt,[t("span",null,o(this.currentIndex+1),1),t("div",It,[t("div",{class:"flex flex-col justify-center rounded-full overflow-hidden bg-blue-600 text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500 my-slider-progress-bar",style:N({width:`${d.percentage}%`})},null,4)]),t("span",null,o(d.photos.length),1)]),t("div",yt,[t("button",{onClick:e[0]||(e[0]=(...r)=>m.prev&&m.prev(...r)),class:"bg-gray-200 w-10 h-10 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},e[2]||(e[2]=[t("svg",{class:"w-6 h-6 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])),t("button",{onClick:e[1]||(e[1]=(...r)=>m.next&&m.next(...r)),class:"bg-gray-200 w-10 h-10 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},e[3]||(e[3]=[t("svg",{class:"w-6 h-6 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 19l7-7-7-7"})],-1)]))])])])])])}const Rt=f(at,[["render",At]]);class l{static fromName(e){return this[e]||null}getName(){return this.name}}s(l,"PREPARATION_OF_QUALIFIED_WORKERS",{value:1,label:"Подготовка квалифицированных рабочих, служащих",color:"info",name:"PREPARATION_OF_QUALIFIED_WORKERS",type_label:"Среднее образование"}),s(l,"MIDDLE_LEVEL_SPECIALIST_TRAINING",{value:2,label:"Среднее профессиональное образование",color:"primary",name:"MIDDLE_LEVEL_SPECIALIST_TRAINING",type_label:"Среднее образование"}),s(l,"BACHELOR",{value:3,label:"Бакалавриат",color:"success",name:"BACHELOR",type_label:"Высшее образование"}),s(l,"MASTER",{value:4,label:"Магистратура",color:"success",name:"MASTER",type_label:"Высшее образование"}),s(l,"SPECIALIST",{value:5,label:"Специалитет",color:"warning",name:"SPECIALIST",type_label:"Высшее образование"}),s(l,"POSTGRADUATE",{value:6,label:"Аспирантура",color:"warning",name:"POSTGRADUATE",type_label:"Высшее образование"}),s(l,"ADJUNCTURE",{value:7,label:"Адъюнктура",color:"secondary",name:"ADJUNCTURE"}),s(l,"RESIDENCY",{value:8,label:"Ординатура",color:"secondary",name:"RESIDENCY"}),s(l,"INTERNSHIP",{value:9,label:"Ассистентура - стажировка",color:"light",name:"INTERNSHIP"}),s(l,"PROFESSIONAL_TRAINING",{value:10,label:"Профессиональная подготовка по профессиям рабочих, должностям служащих",color:"info",name:"PROFESSIONAL_TRAINING"}),s(l,"RETRAINING",{value:11,label:"Переподготовка рабочих, служащих",color:"danger",name:"RETRAINING"}),s(l,"ADVANCED_TRAINING",{value:12,label:"Повышение квалификации рабочих, служащих",color:"success",name:"ADVANCED_TRAINING"}),s(l,"ADDITIONAL_GENERAL_DEVELOPMENT_PROGRAM",{value:13,label:"Дополнительная общеразвивающая программа",color:"info",name:"ADDITIONAL_GENERAL_DEVELOPMENT_PROGRAM"}),s(l,"ADDITIONAL_PREPROFESSIONAL_PROGRAM",{value:14,label:"Дополнительная предпрофессиональная программа",color:"info",name:"ADDITIONAL_PREPROFESSIONAL_PROGRAM"}),s(l,"ADDITIONAL_PREPROFESSIONAL_ART_PROGRAM",{value:15,label:"Дополнительная предпрофессиональная программа в сфере искусств",color:"info",name:"ADDITIONAL_PREPROFESSIONAL_ART_PROGRAM"}),s(l,"PROFESSIONAL_ADVANCEMENT",{value:16,label:"Повышение квалификации",color:"success",name:"PROFESSIONAL_ADVANCEMENT"}),s(l,"PROFESSIONAL_RETRAINING",{value:17,label:"Профессиональная переподготовка",color:"danger",name:"PROFESSIONAL_RETRAINING"}),s(l,"PRESCHOOL_EDUCATION",{value:18,label:"Дошкольное образование",color:"success",name:"PRESCHOOL_EDUCATION"}),s(l,"PRIMARY_GENERAL_EDUCATION",{value:19,label:"Начальное общее образование",color:"success",name:"PRIMARY_GENERAL_EDUCATION"}),s(l,"BASIC_GENERAL_EDUCATION",{value:20,label:"Основное общее образование",color:"success",name:"BASIC_GENERAL_EDUCATION"}),s(l,"SECONDARY_GENERAL_EDUCATION",{value:21,label:"Среднее общее образование",color:"success",name:"SECONDARY_GENERAL_EDUCATION"}),s(l,"INTERNSHIP_PROGRAM",{value:22,label:"Интернатура",color:"light",name:"INTERNSHIP_PROGRAM"}),s(l,"ADDITIONAL_PREPROFESSIONAL_SPORT_PROGRAM",{value:23,label:"Дополнительная предпрофессиональная программа в сфере физической культуры и спорта",color:"info",name:"ADDITIONAL_PREPROFESSIONAL_SPORT_PROGRAM"}),s(l,"BASIC_HIGHER_EDUCATION",{value:24,label:"Базовое высшее образование",color:"success",name:"BASIC_HIGHER_EDUCATION"}),s(l,"SPECIALIZED_HIGHER_EDUCATION",{value:25,label:"Специализированное высшее образование",color:"success",name:"SPECIALIZED_HIGHER_EDUCATION"});const Et={name:"BaseMetaHead",data(){return{}},methods:{},props:{title:{type:String},description:{type:String},robots:{type:Array},og_title:{type:String},og_description:{type:String},og_image:{type:String}}};function Nt(n,e,a,v,d,m){return null}const kt=f(Et,[["render",Nt]]),Tt={name:"Main",computed:{LevelEducational(){return l}},data(){return{sliderRef:null}},props:{posts:{type:Object},events:{type:Object},sliders:{type:Object},educations:{type:Object},icons:{type:String}},components:{BaseMetaHead:kt,ClientPost:L,MainPageNavBar:G,ClientFooterDown:F,ClientMainSlider:lt,ClientMainSliderSecond:Rt,Head:P,Link:k},methods:{setSliderRef(n){this.sliderRef=n}}},St={class:"max-w-screen-xl w-full mx-auto px-4 py-3 pb-10"},Ot={class:"grid gap-10 pb-10 md:grid-cols-2 lg:gap-10 xl:grid-cols-3"},Ct={class:"flex justify-center"},Dt=["href"],Pt={class:"max-w-[85rem] pb-10 sm:px-6 lg:px-8 lg:pb-14 mx-auto"},Mt={class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6"},Ft={class:"aspect-w-16 aspect-h-10"},Gt={class:"w-full h-[250px] object-cover rounded-xl bg-[#F8F9FB]"},Lt={class:"flex flex-col px-5 py-5 w-full h-full"},$t={class:"flex flex-col gap-3 mb-4"},jt={class:"gap-3 flex items-center"},Bt={class:"shadow-sm"},Ht={class:"block w-[35px] h-[27px] bg-white rounded-b text-center font-medium"},Ut={class:"block first-letter:uppercase"},zt={class:"flex"},Vt={class:"bg-[#E9F2FE] text-sm text-blue-600 px-2 py-1 rounded block"},Yt={class:"flex gap-2"},Jt={key:0,class:"bg-[#E9F2FE] text-sm text-blue-600 px-2 py-1 rounded block"},Kt={key:1},Zt={class:"bg-[#E9F2FE] text-sm text-blue-600 px-2 py-1 rounded block"},Qt={class:"mt-5 text-xl text-gray-800"},Wt={class:"flex justify-center"},qt={class:"w-full mx-auto"},Xt={class:"grid sm:grid-cols-2 lg:grid-cols-2 gap-6"},te={class:"group flex flex-col h-full bg-white hover:opacity-70 hover:border-secondDarkBlue duration-300 border border-gray-200 shadow-sm rounded-xl"},ee={class:"p-4 md:p-6"},se={class:"block mb-1 text-xs font-semibold uppercase text-blue-600"},le={class:"text-3xl font-semibold text-gray-800"},oe={class:"mt-auto p-4 md:p-6 grid grid-cols-2 lg:grid-cols-3 sm:space-y-0"},re={class:"pb-4"},ie={class:"text-2xl font-semibold text-blue-600"},ne={class:"pb-4"},ae={class:"text-2xl font-semibold text-blue-600"},de={class:"pb-4"},ce={class:"text-2xl font-semibold text-blue-600"},pe={class:"pb-4"},ue={class:"text-2xl font-semibold text-blue-600"},me={class:"pb-4"},xe={class:"text-2xl font-semibold text-blue-600"},he={class:"group flex flex-col h-full bg-white hover:opacity-70 hover:border-secondDarkBlue duration-300 border border-gray-200 shadow-sm rounded-xl"},ge={class:"mt-auto p-4 md:p-6 grid grid-cols-2 lg:grid-cols-3 sm:space-y-0 space-y-3"},_e={class:"pb-4"},be={class:"text-2xl font-semibold text-blue-600"},fe={class:"pb-4"},ve={class:"text-2xl font-semibold text-blue-600"};function we(n,e,a,v,d,m){const r=g("Head"),p=g("MainPageNavBar"),T=g("ClientMainSlider"),S=g("ClientPost"),w=g("Link"),O=g("ClientFooterDown");return i(),c(x,null,[_(r,null,{default:b(()=>e[0]||(e[0]=[t("title",null,"Главная",-1),t("meta",{name:"description",content:"Your page description"},null,-1),t("meta",{name:"robots",content:"index, follow"},null,-1),t("meta",{property:"og:title",content:"Заголовок страницы"},null,-1),t("meta",{property:"og:description",content:"Описание страницы"},null,-1),t("meta",{property:"og:image",content:"URL_изображения"},null,-1)])),_:1}),_(p,{sections:n.$page.props.navigation,"slider-ref":d.sliderRef},null,8,["sections","slider-ref"]),_(T,{onSliderMounted:m.setSliderRef,slidersCarousel:a.sliders},null,8,["onSliderMounted","slidersCarousel"]),t("section",St,[e[14]||(e[14]=t("h2",{class:"text-brand-primary my-6 md:mb-[50px] md:mt-[80px] text-2xl font-semibold tracking-tight text-black lg:text-[32px] lg:leading-tight"},"Последние новости",-1)),t("div",Ot,[(i(!0),c(x,null,h(a.posts.data,u=>(i(),R(S,{key:u.id,post:u},null,8,["post"]))),128))]),t("div",Ct,[t("a",{href:n.route("client.post.index"),class:"group mt-3 inline-flex items-center gap-x-1 text-sm font-semibold text-primaryBlue"},e[1]||(e[1]=[A(" Все новости "),t("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})],-1)]),8,Dt)]),e[15]||(e[15]=t("h2",{class:"text-brand-primary my-6 md:mb-[50px] md:mt-[80px] text-2xl font-semibold tracking-tight text-black lg:text-[32px] lg:leading-tight"},"Мероприятия",-1)),t("div",Pt,[t("div",Mt,[(i(!0),c(x,null,h(a.events.data,u=>(i(),R(w,{class:"group hover:bg-gray-100 rounded-xl p-5 transition-all",href:n.route("client.event.show",u.slug)},{default:b(()=>[t("div",Ft,[t("div",Gt,[t("div",Lt,[t("div",$t,[t("div",jt,[t("div",Bt,[e[2]||(e[2]=t("div",{class:"block w-[35px] h-[8px] bg-red-400 rounded-t"},null,-1)),t("div",Ht,o(u.event_date_start.day),1)]),t("span",Ut,o(u.event_date_start.month),1),t("div",zt,[t("span",Vt,"Начало - "+o(u.event_date_start.time),1)])])]),t("div",Yt,[u.is_online===1?(i(),c("span",Jt,"Онлайн")):E("",!0),u.is_online===0?(i(),c("div",Kt,[t("span",Zt,o(u.address),1)])):E("",!0)])])])]),t("h3",Qt,o(u.title),1),e[3]||(e[3]=t("p",{class:"mt-3 inline-flex items-center gap-x-1 text-sm font-semibold text-gray-800"},[A(" Перейти "),t("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])],-1))]),_:2},1032,["href"]))),256))])]),t("div",Wt,[_(w,{href:n.route("client.event.index"),class:"group mt-3 inline-flex items-center gap-x-1 text-sm font-semibold text-[#1A5AAF]"},{default:b(()=>e[4]||(e[4]=[A(" Все мероприятия "),t("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})],-1)])),_:1},8,["href"])]),e[16]||(e[16]=t("h2",{class:"text-brand-primary my-10 md:mb-[50px] md:mt-[80px] text-2xl font-semibold tracking-tight text-black lg:text-[32px] lg:leading-tight"},"Образование",-1)),t("div",qt,[t("div",Xt,[(i(!0),c(x,null,h(a.educations.admission_campaign,(u,y)=>(i(),R(w,{href:n.route("client.program.index",{level:m.LevelEducational[y].name})},{default:b(()=>[t("div",te,[t("div",ee,[t("span",se,o(m.LevelEducational[y].type_label),1),t("h3",le,o(m.LevelEducational[y].label),1),e[5]||(e[5]=t("p",{class:"mt-3 text-gray-500"}," Построй свою индивидуальную траекторию ",-1))]),t("div",oe,[t("div",re,[t("p",ie,o(u.total_programs),1),e[6]||(e[6]=t("p",{class:"mt-1 text-sm text-gray-500"},"Программ",-1))]),t("div",ne,[t("p",ae,o(u.places.och_count),1),e[7]||(e[7]=t("p",{class:"mt-1 text-sm text-gray-500"},"Очных",-1))]),t("div",de,[t("p",ce,o(u.places.zaoch_count),1),e[8]||(e[8]=t("p",{class:"mt-1 text-sm text-gray-500"},"Заочных",-1))]),t("div",pe,[t("p",ue,o(u.places.budget_places),1),e[9]||(e[9]=t("p",{class:"mt-1 text-sm text-gray-500"},"Бюджетных",-1))]),t("div",me,[t("p",xe,o(u.places.non_budget_places),1),e[10]||(e[10]=t("p",{class:"mt-1 text-sm text-gray-500"},"Платных",-1))])])])]),_:2},1032,["href"]))),256)),_(w,{href:n.route("client.additionalEducation.index")},{default:b(()=>[t("div",he,[e[13]||(e[13]=t("div",{class:"p-4 md:p-6"},[t("span",{class:"block mb-1 text-xs font-semibold uppercase text-blue-600"}," Доп. образование "),t("h3",{class:"text-3xl font-semibold text-gray-800"}," Дополнительное образование "),t("p",{class:"mt-3 text-gray-500"}," Построй свою индивидуальную траекторию ")],-1)),t("div",ge,[t("div",_e,[t("p",be,o(a.educations.additional_education.educations_count),1),e[11]||(e[11]=t("p",{class:"mt-1 text-sm text-gray-500"},"Программ",-1))]),t("div",fe,[t("p",ve,o(a.educations.additional_education.categories_count),1),e[12]||(e[12]=t("p",{class:"mt-1 text-sm text-gray-500"},"Направлений",-1))])])])]),_:1},8,["href"])])])]),e[17]||(e[17]=M('

Контакты

Главный корпус

622031, Нижний Тагил, Красногвардейская 57

Свяжитесь с нами

+7(906)-802-55-59

ntgspi@yandex.ru

Приемная комиссия

Расписание

Понедельник - Пятница с 08.30 до 17.00

Ответственный секретарь приемной комиссии

+7(906)-802-55-59

ntgspi@yandex.ru

Полезное

Главный корпус

Понедельник - Пятница
с 08.30 до 17.00

Ответственный секретарь
приемной комиссии

+7(906)-802-55-59

ntgspi@yandex.ru

',1)),_(O)],64)}const Te=f(Tt,[["render",we]]);export{Te as default}; diff --git a/public/build/assets/Main-CATIDXPU.js b/public/build/assets/Main-CATIDXPU.js deleted file mode 100644 index 496171a..0000000 --- a/public/build/assets/Main-CATIDXPU.js +++ /dev/null @@ -1 +0,0 @@ -import{i as I,o as s,c as n,b as t,F as x,d as f,n as _,t as i,B as y,f as w,Z as F,r as m,a as p,w as u,g as k,h as B,e as C}from"./app-DmJ8GS-7.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{C as S}from"./ClientFooterDown-D8UuGhzW.js";import{M as E}from"./MainPageNavbar-D4wqwiWH.js";import{C as M}from"./ClientPost-BP_ZUrbH.js";import"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";const z={name:"slider",components:{Link:I},props:{slidersCarousel:{type:Object}},data(){return{currentIndex:0,percentage:0,intervalId:null}},methods:{next(){this.currentIndex=(this.currentIndex+1)%this.slidersCarousel.data.length,this.resetTimer()},prev(){this.currentIndex=(this.currentIndex-1+this.slidersCarousel.data.length)%this.slidersCarousel.data.length,this.resetTimer()},progressStatus(){this.percentage>=100?(this.resetTimer(),this.next()):this.percentage++},startTimer(){this.intervalId=setInterval(this.progressStatus,60)},stopTimer(){clearInterval(this.intervalId)},resetTimer(){this.percentage=0,this.stopTimer(),this.startTimer()}},mounted(){this.startTimer()}},A={class:"relative z-0 min-h-[calc(100vh)] items-center"},L={class:"absolute -z-10 h-full w-full before:absolute before:z-10 before:h-full before:w-full before:bg-black/30"},N=["src"],D={class:"text-brand-primary mb-3 mt-2 text-3xl font-semibold tracking-tight text-white lg:text-5xl lg:leading-tight"},P={class:"mt-8 flex space-x-3 text-gray-500 mb-8"},O={class:"flex flex-col gap-3 md:flex-row md:items-center"},V={class:"flex gap-3"},R={class:"text-gray-100 line-clamp-3"},G={href:"/author/erika-oliver"},H=["href"],Y={key:0,class:"mx-auto max-w-screen-md px-5"},q={class:"mt-8 text-gray-500 text-white absolute bottom-[100px]"},J={class:""},K={class:"flex space-x-3 items-center justify-between"},X=t("svg",{class:"w-4 h-4 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1),Z=[X],Q={class:"flex space-x-3 w-[100px] items-center font-semibold text-xl"},U={class:"flex w-full h-1 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100"},W=t("svg",{class:"w-4 h-4 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 19l7-7-7-7"})],-1),tt=[W];function et(a,d,r,b,o,c){return s(),n("div",A,[t("div",L,[(s(!0),n(x,null,f(r.slidersCarousel.data,(e,l)=>(s(),n("img",{alt:"Thumbnail",loading:"eager",decoding:"async","data-nimg":"fill",class:_(["object-cover brightness-[0.7] transition-opacity duration-1000",{"opacity-1":o.currentIndex===l,"opacity-0":o.currentIndex!==l}]),sizes:"100vw",key:l,src:"/storage/"+e.image,style:{position:"absolute",height:"100%",width:"100%",inset:"0px",color:"transparent"}},null,10,N))),128))]),(s(!0),n(x,null,f(r.slidersCarousel.data,(e,l)=>(s(),n("div",{class:_([{block:o.currentIndex===l,hidden:o.currentIndex!==l},"mx-auto max-w-screen-md px-5 pt-[150px] pb-0"]),key:l},[t("h1",D,i(e.title),1),t("div",P,[t("div",O,[t("div",V,[t("p",R,[t("a",G,i(e.content),1)])])])]),t("a",{href:e.link,class:"py-3 px-4 inline-flex items-center gap-x-2 text-sm font-semibold rounded-lg border border-white text-white hover:border-white/70 hover:text-white/70 disabled:opacity-50 disabled:pointer-events-none"},i(e.link_text),9,H)],2))),128)),r.slidersCarousel.data.length>=2?(s(),n("div",Y,[t("div",q,[t("div",J,[t("div",K,[t("button",{onClick:d[0]||(d[0]=(...e)=>c.prev&&c.prev(...e)),class:"bg-gray-200 w-8 h-8 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},Z),t("div",Q,[t("span",null,i(this.currentIndex+1),1),t("div",U,[t("div",{class:"flex flex-col justify-center rounded-full overflow-hidden bg-blue-600 text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500 my-slider-progress-bar",style:y({width:`${o.percentage}%`})},null,4)]),t("span",null,i(r.slidersCarousel.data.length),1)]),t("button",{onClick:d[1]||(d[1]=(...e)=>c.next&&c.next(...e)),class:"bg-gray-200 w-8 h-8 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},tt)])])])])):w("",!0)])}const st=v(z,[["render",et]]),ot={name:"TestTimer",data(){return{percentage:0,intervalId:null}},methods:{progressStatus(){this.percentage>=100?this.resetTimer():this.percentage++},startTimer(){this.intervalId=setInterval(this.progressStatus,60)},stopTimer(){clearInterval(this.intervalId)},resetTimer(){this.percentage=0,this.stopTimer(),this.startTimer()}},mounted(){this.startTimer()}},lt={class:"flex w-full h-1 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100"};function nt(a,d,r,b,o,c){return s(),n("div",lt,[t("div",{class:"flex flex-col justify-center rounded-full overflow-hidden bg-blue-600 text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500",style:y({width:`${o.percentage}%`})},null,4)])}const it=v(ot,[["render",nt]]),rt={name:"sliderSecond",components:{TestTimer:it},data(){return{photos:[{url:"https://www.ntspi.ru/upload/iblock/d6b/z1xKGOXRrLE.jpg",title:"Студенты ФППО провели занятия для педклассов школ города",description:"«Учителем быть престижно!» Под таким девизом в течение трех дней (6, 7 и 10 июня) на факультете психолого-педагогического образования студенты группы Нт-203о ППП (психологический клуб «Форсайт») под руководством Марины Вячеславовны Манаковой проводили познавательные мероприятие для педагогических классов школ города (№№ 61, 44, 75/42)"},{url:"https://www.ntspi.ru/upload/iblock/eaf/IMG_8259.jpg",title:"Интеллектуальный турнир «Моя страна – моя Россия» для педагогических классов города!",description:"11 июня в читальном зале НТГСПИ на базе педагогических классов школ города (№№ 44, 75/42, 61) студенты СГФ под руководством декана Ирины Викторовны Даренской и заместителя декана Анны Саввишны Аникиной провели интеллектуальный турнир в соревновательном формате «Моя страна – моя Россия!»"},{url:"https://www.ntspi.ru/upload/iblock/ee6/DSC01893.JPG",title:"Филологи 20 лет спустя",description:"Спустя 20 лет на ФФМК встретились выпускники 2004 г. специальности «Русский язык и литература». Приятным и волнительным для филологов было возвращение на свой «третий этаж», ставший родным за пять лет обучения в вузе. Самый трогательный момент − встреча с дорогими преподавателями, которые за прошедшие годы совсем не изменились."},{url:"https://www.ntspi.ru/upload/iblock/f04/2.jpg",title:"Старт целины Штаба СО НТ – 2024",description:"7 мая в Городском дворце молодежи состоятся творческий старт сезона 2024 года студенческих отрядов города Нижний Тагил. Зажигательные, яркие, творческие бойцы отрядов показали свои выступления в преддверии старта сезона! Выступления отрядов, среди которых были и строительные, и педагогические, проводники и социальные отряды, были энергичными и фантастическими: торжественный выход с флагами отрядов, выступления по профилю работы, поразили выступления смешанных составов!"},{url:"https://www.ntspi.ru/upload/iblock/fc9/p-dIqCDymRY.jpg",title:"Студенты ФСБЖ – участники летней оздоровительной кампании – 2024",description:"3 июня студенты 3 курса факультета спорта и безопасности жизнедеятельности приняли участие в открытии лагеря с дневным пребыванием «Лето НТ» под девизом «Быть в движении!» Для 75 мальчишек и девчонок была подготовлена и проведена насыщенная интересными событиями программа. Открытие лагеря было посвящено Международному Дню защиты детей, где дети приняли участие в концертно-игровой программе «Планета детства»."}],currentIndex:0,percentage:0,intervalId:null}},methods:{next(){this.currentIndex=(this.currentIndex+1)%this.photos.length,this.resetTimer()},prev(){this.currentIndex=(this.currentIndex-1+this.photos.length)%this.photos.length,this.resetTimer()},progressStatus(){this.percentage>=100?(this.resetTimer(),this.next()):this.percentage++},startTimer(){this.intervalId=setInterval(this.progressStatus,60)},stopTimer(){clearInterval(this.intervalId)},resetTimer(){this.percentage=0,this.stopTimer(),this.startTimer()}},mounted(){this.startTimer()}},at={class:"z-0 min-h-[calc(100vh-10vh)] items-center"},dt={class:"flex items-center pt-[150px] px-20"},ct={class:"text-brand-primary mb-3 mt-2 text-3xl font-semibold tracking-tight text-black lg:text-5xl lg:leading-tight"},ht={class:"mt-8 flex space-x-3 text-gray-500"},pt={class:"flex flex-col gap-3 md:flex-row md:items-center"},ut={class:"flex gap-3"},xt={class:"text-black"},gt={href:"/author/erika-oliver"},mt=["src"],ft={class:"mx-auto max-w-screen-md px-5"},_t={class:"mt-8 text-gray-500"},vt={class:"flex space-x-3 items-center justify-between"},bt={class:"flex space-x-3 w-[100px] items-center font-semibold text-xl"},wt={class:"flex w-full h-1 bg-gray-200 rounded-full overflow-hidden dark:bg-neutral-700",role:"progressbar","aria-valuenow":"25","aria-valuemin":"0","aria-valuemax":"100"},kt={class:"space-x-2"},yt=t("svg",{class:"w-6 h-6 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1),Ct=[yt],It=t("svg",{class:"w-6 h-6 mx-auto my-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 19l7-7-7-7"})],-1),jt=[It];function Tt(a,d,r,b,o,c){return s(),n("div",at,[t("div",dt,[(s(!0),n(x,null,f(o.photos,(e,l)=>(s(),n("div",{class:_([{block:o.currentIndex===l,hidden:o.currentIndex!==l},"mx-auto max-w-screen-md px-5 pb-0"]),key:l},[t("h1",ct,i(e.title),1),t("div",ht,[t("div",pt,[t("div",ut,[t("p",xt,[t("a",gt,i(e.description),1)])])])])],2))),128)),(s(!0),n(x,null,f(o.photos,(e,l)=>(s(),n("img",{alt:"Thumbnail",loading:"eager",decoding:"async","data-nimg":"fill",class:_(["w-[500px] h-[500px] brightness-[0.7] object-cover transition-opacity duration-1000 rounded-full",{block:o.currentIndex===l,hidden:o.currentIndex!==l}]),sizes:"100vw",key:l,src:e.url,style:{color:"transparent"}},null,10,mt))),128))]),t("div",ft,[t("div",_t,[t("div",vt,[t("div",bt,[t("span",null,i(this.currentIndex+1),1),t("div",wt,[t("div",{class:"flex flex-col justify-center rounded-full overflow-hidden bg-blue-600 text-xs text-white text-center whitespace-nowrap transition duration-500 dark:bg-blue-500 my-slider-progress-bar",style:y({width:`${o.percentage}%`})},null,4)]),t("span",null,i(o.photos.length),1)]),t("div",kt,[t("button",{onClick:d[0]||(d[0]=(...e)=>c.prev&&c.prev(...e)),class:"bg-gray-200 w-10 h-10 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},Ct),t("button",{onClick:d[1]||(d[1]=(...e)=>c.next&&c.next(...e)),class:"bg-gray-200 w-10 h-10 hover:bg-gray-300 text-gray-800 font-bold rounded-full"},jt)])])])])])}const $t=v(rt,[["render",Tt]]),Ft={name:"Main",data(){return{}},props:{posts:{type:Object},events:{type:Object},sliders:{type:Object},additional_educations:{type:Object},icons:{type:String}},components:{ClientPost:M,MainPageNavBar:E,ClientFooterDown:S,ClientMainSlider:st,ClientMainSliderSecond:$t,Head:F,Link:I},methods:{}},Bt=t("title",null,"Главная",-1),St=t("meta",{name:"description",content:"Your page description"},null,-1),Et={class:"max-w-screen-xl w-full mx-auto px-4 py-3 pb-10"},Mt=t("h2",{class:"text-brand-primary my-6 md:mb-[50px] md:mt-[80px] text-2xl font-semibold tracking-tight text-black lg:text-[32px] lg:leading-tight"},"Последние новости",-1),zt={class:"grid gap-10 pb-10 md:grid-cols-2 lg:gap-10 xl:grid-cols-3"},At={class:"flex justify-center"},Lt=["href"],Nt=t("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})],-1),Dt=t("h2",{class:"text-brand-primary my-6 md:mb-[50px] md:mt-[80px] text-2xl font-semibold tracking-tight text-black lg:text-[32px] lg:leading-tight"},"Мероприятия",-1),Pt={class:"max-w-[85rem] pb-10 sm:px-6 lg:px-8 lg:pb-14 mx-auto"},Ot={class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6"},Vt={class:"aspect-w-16 aspect-h-10"},Rt={class:"w-full h-[250px] object-cover rounded-xl bg-[#F8F9FB]"},Gt={class:"flex flex-col px-5 py-5 w-full h-full"},Ht={class:"flex flex-col gap-3 mb-4"},Yt={class:"gap-3 flex items-center"},qt={class:"shadow-sm"},Jt=t("div",{class:"block w-[35px] h-[8px] bg-red-400 rounded-t"},null,-1),Kt={class:"block w-[35px] h-[27px] bg-white rounded-b text-center font-medium"},Xt={class:"block first-letter:uppercase"},Zt={class:"flex"},Qt={class:"bg-[#E9F2FE] text-sm text-blue-600 px-2 py-1 rounded block"},Ut={class:"flex gap-2"},Wt={key:0,class:"bg-[#E9F2FE] text-sm text-blue-600 px-2 py-1 rounded block"},te={key:1},ee={class:"bg-[#E9F2FE] text-sm text-blue-600 px-2 py-1 rounded block"},se={class:"mt-5 text-xl text-gray-800"},oe=t("p",{class:"mt-3 inline-flex items-center gap-x-1 text-sm font-semibold text-gray-800"},[k(" Перейти "),t("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])],-1),le={class:"flex justify-center"},ne=t("svg",{class:"flex-shrink-0 size-4 transition ease-in-out group-hover:translate-x-1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})],-1),ie=t("h2",{class:"text-brand-primary my-10 md:mb-[50px] md:mt-[80px] text-2xl font-semibold tracking-tight text-black lg:text-[32px] lg:leading-tight"},"Образование",-1),re={class:"grid gap-10 md:grid-cols-1 lg:gap-10 xl:grid-cols-2"},ae=t("div",{class:"w-full bg-[#E9F2FE] hover:opacity-70 duration-300 rounded group px-10 py-8"},[t("h3",{class:"my-3 flex justify-between items-center gap-x-1 text-2xl font-semibold text-gray-800"},[t("span",{class:""},"Бакалавриат"),t("svg",{class:"flex-shrink-0 size-9 transition ease-in-out duration-300 group-hover:translate-x-2",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])]),t("p",{class:"font-thin"},"Построй свою индивидуальную траекторию"),t("div",{class:"flex mt-[100px] gap-x-4"},[t("div",{class:""},[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")]),t("div",null,[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")]),t("div",null,[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")])])],-1),de=t("div",{class:"w-full bg-[#F5F5F5] hover:opacity-70 duration-300 rounded group px-10 py-8"},[t("h3",{class:"my-3 flex justify-between items-center gap-x-1 text-2xl font-semibold text-gray-800"},[t("span",{class:""},"Магистратура"),t("svg",{class:"flex-shrink-0 size-9 transition ease-in-out duration-300 group-hover:translate-x-2",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])]),t("p",{class:"font-thin"},"Построй свою индивидуальную траекторию"),t("div",{class:"flex mt-[100px] gap-x-4"},[t("div",{class:""},[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")]),t("div",null,[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")]),t("div",null,[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")])])],-1),ce={class:"w-full bg-[#F5F5F5] hover:opacity-70 duration-300 rounded group px-10 py-8"},he=t("h3",{class:"my-3 flex justify-between items-center gap-x-1 text-2xl font-semibold text-gray-800"},[t("span",{class:""},"Дополнительное образование"),t("svg",{class:"flex-shrink-0 size-9 transition ease-in-out duration-300 group-hover:translate-x-2",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])],-1),pe=t("p",{class:"font-thin"},"Построй свою индивидуальную траекторию",-1),ue={class:"flex mt-[100px] gap-x-4"},xe={class:""},ge={class:"block text-xl font-semibold"},me=t("span",{class:"block"},"Программ",-1),fe={class:"block text-xl font-semibold"},_e=t("span",{class:"block"},"Направлений",-1),ve=t("div",{class:"w-full bg-[#E9F2FE] hover:opacity-70 duration-300 rounded group px-10 py-8"},[t("h3",{class:"my-3 flex justify-between items-center gap-x-1 text-2xl font-semibold text-gray-800"},[t("span",{class:""},"Среднее профессиональное"),t("svg",{class:"flex-shrink-0 size-9 transition duration-300 ease-in-out group-hover:translate-x-2",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"m9 18 6-6-6-6"})])]),t("p",{class:"font-thin"},"Построй свою индивидуальную траекторию"),t("div",{class:"flex mt-[100px] gap-x-4"},[t("div",{class:""},[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")]),t("div",null,[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")]),t("div",null,[t("span",{class:"block text-xl font-semibold"},"30"),t("span",{class:"block"},"Программ")])])],-1),be=B('

Контакты

Главный корпус

622031, Нижний Тагил, Красногвардейская 57

Свяжитесь с нами

+7(906)-802-55-59

ntgspi@yandex.ru

Приемная комиссия

Расписание

Понедельник - Пятница с 08.30 до 17.00

Ответственный секретарь приемной комиссии

+7(906)-802-55-59

ntgspi@yandex.ru

Полезное

Главный корпус

Понедельник - Пятница
с 08.30 до 17.00

Ответственный секретарь
приемной комиссии

+7(906)-802-55-59

ntgspi@yandex.ru

',1);function we(a,d,r,b,o,c){const e=m("Head"),l=m("MainPageNavBar"),j=m("ClientMainSlider"),T=m("ClientPost"),g=m("Link"),$=m("ClientFooterDown");return s(),n(x,null,[p(e,null,{default:u(()=>[Bt,St]),_:1}),p(l,{sections:a.$page.props.navigation},null,8,["sections"]),p(j,{slidersCarousel:r.sliders,class:""},null,8,["slidersCarousel"]),t("section",Et,[Mt,t("div",zt,[(s(!0),n(x,null,f(r.posts.data,h=>(s(),C(T,{key:h.id,post:h},null,8,["post"]))),128))]),t("div",At,[t("a",{href:a.route("client.post.index"),class:"group mt-3 inline-flex items-center gap-x-1 text-sm font-semibold text-primaryBlue"},[k(" Все новости "),Nt],8,Lt)]),Dt,t("div",Pt,[t("div",Ot,[(s(!0),n(x,null,f(r.events.data,h=>(s(),C(g,{class:"group hover:bg-gray-100 rounded-xl p-5 transition-all",href:a.route("client.event.show",h.slug)},{default:u(()=>[t("div",Vt,[t("div",Rt,[t("div",Gt,[t("div",Ht,[t("div",Yt,[t("div",qt,[Jt,t("div",Kt,i(h.event_date_start.day),1)]),t("span",Xt,i(h.event_date_start.month),1),t("div",Zt,[t("span",Qt,"Начало - "+i(h.event_date_start.time),1)])])]),t("div",Ut,[h.is_online===1?(s(),n("span",Wt,"Онлайн")):w("",!0),h.is_online===0?(s(),n("div",te,[t("span",ee,i(h.address),1)])):w("",!0)])])])]),t("h3",se,i(h.title),1),oe]),_:2},1032,["href"]))),256))])]),t("div",le,[p(g,{href:a.route("client.event.index"),class:"group mt-3 inline-flex items-center gap-x-1 text-sm font-semibold text-[#1A5AAF]"},{default:u(()=>[k(" Все мероприятия "),ne]),_:1},8,["href"])]),ie,t("div",re,[p(g,{href:a.route("client.program.index",{level:"BACHELOR"})},{default:u(()=>[ae]),_:1},8,["href"]),p(g,{href:a.route("client.program.index",{level:"MASTER"})},{default:u(()=>[de]),_:1},8,["href"]),p(g,{href:a.route("client.additionalEducation.index")},{default:u(()=>[t("div",ce,[he,pe,t("div",ue,[t("div",xe,[t("span",ge,i(r.additional_educations.educations_count),1),me]),t("div",null,[t("span",fe,i(r.additional_educations.categories_count),1),_e])])])]),_:1},8,["href"]),p(g,{href:a.route("client.program.index",{level:"MIDDLE_LEVEL_SPECIALIST_TRAINING"})},{default:u(()=>[ve]),_:1},8,["href"])])]),be,p($)],64)}const $e=v(Ft,[["render",we]]);export{$e as default}; diff --git a/public/build/assets/MainNavbar-CBx37KIe.js b/public/build/assets/MainNavbar-CBx37KIe.js deleted file mode 100644 index 5db9455..0000000 --- a/public/build/assets/MainNavbar-CBx37KIe.js +++ /dev/null @@ -1 +0,0 @@ -import{i as y,r as i,o as a,c as o,b as e,a as l,w as _,F as r,d as u,t as f,n as w,h as k,z as S,A as B}from"./app-DmJ8GS-7.js";import{C as M}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{S as N,M as j,B as z}from"./ClientFooterDown-D8UuGhzW.js";/* empty css */import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const I={name:"MainNavBar",props:{sections:{type:Object}},data(){return{}},components:{SearchModal:N,MobileNavbar:j,BaseIcon:z,ClientGlobalSearch:M,Link:y},methods:{isSameRoute(t){if(t===this.$page.props.ziggy.location)return!0;const d=this.$page.props.ziggy.location,c=this.$page.props.ziggy.url+"/"+t;return d===c},hasActivePage(t){if(t.pages)return t.pages.some(d=>this.isSameRoute(d.path));if(t.subSections)return t.subSections.some(d=>this.hasActivePage(d))}}},n=t=>(S("data-v-dc2022ad"),t=t(),B(),t),L={class:"flex duration-500 fixed top-0 left-0 right-0 flex-wrap lg:justify-start lg:flex-nowrap z-50 w-full text-sm py-3 lg:py-0 header-filter"},R={class:"max-w-screen-xl w-full mx-auto px-4 py-3","aria-label":"Global"},$={class:"relative lg:flex lg:items-center lg:justify-between"},A={class:"flex items-center justify-between"},V=n(()=>e("img",{class:"max-w-[300px]",src:"/logos/ntspi-logo.svg",alt:""},null,-1)),D=k('
',1),F={id:"navbar-collapse-with-animation",class:"hs-collapse hidden overflow-hidden transition-all duration-300 basis-full grow lg:block"},G={class:"overflow-hidden overflow-y-auto max-h-[75vh] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300"},P={class:"flex flex-col gap-x-0 mt-5 md:flex-row md:items-center md:justify-end md:gap-x-7 md:mt-0 md:ps-7 md:divide-y-0 md:divide-solid"},E={type:"button",class:"active:text-blue-600 flex items-center w-full text-black hover:text-gray-300 font-medium"},O={class:"hs-dropdown-menu transition-opacity duration-150 md:duration-500 hs-dropdown-open:opacity-100 opacity-0 w-full hidden z-10 top-full start-0 min-w-[15rem] bg-white md:shadow-2xl rounded-lg py-2 md:p-4 before:absolute before:-top-5 before:start-0 before:w-full before:h-5"},U={class:"grid px-5 grid-cols-1 md:grid-cols-10"},q={class:"flex flex-col py-6 px-3 md:px-6"},H={class:"space-y-4"},J={class:"flex items-center mb-2 gap-x-2"},K={class:"text-xs font-bold uppercase text-gray-800"},Q=["href"],T={class:"grow"},W={href:"#",class:"hover:opacity-70 py-3 className"},X=n(()=>e("span",{class:"md:hidden"},"Режим для слабовидящих",-1)),Y=n(()=>e("span",{class:"md:hidden text-black"},"Расписание",-1)),Z={class:"hover:opacity-70 py-3 cursor-pointer","data-hs-overlay":"#hs-full-screen-modal-below-md"},ee=n(()=>e("span",{class:"md:hidden text-black"},"Поиск",-1));function te(t,d,c,se,ae,v){const b=i("Link"),h=i("BaseIcon"),x=i("MobileNavbar"),g=i("SearchModal");return a(),o(r,null,[e("header",L,[e("nav",R,[e("div",$,[e("div",A,[l(b,{class:"flex-none text-xl font-semibold",href:"/","aria-label":"Brand"},{default:_(()=>[V]),_:1}),D]),e("div",F,[e("div",G,[e("div",P,[(a(!0),o(r,null,u(this.sections.data,p=>(a(),o("div",{key:p.id,class:"hs-dropdown [--strategy:static] md:[--strategy:absolute] [--adaptive:none] md:[--trigger:hover] py-3 md:py-6"},[e("button",E,f(p.title),1),e("div",O,[e("div",U,[(a(!0),o(r,null,u(p.subSections,m=>(a(),o("div",{key:m.id,class:"md:col-span-3"},[e("div",q,[e("div",H,[e("div",J,[e("span",K,f(m.title),1)]),(a(!0),o(r,null,u(m.pages,s=>(a(),o("a",{key:s.id,class:w([{"text-secondDarkBlue hover:text-gray-800 font-semibold ":v.isSameRoute(s.path),"text-gray-800 hover:text-gray-500":!v.isSameRoute(s.path)},"flex items-center gap-x-2"]),href:s.is_url?s.path:t.route("page.view",s.path)+"/"},[e("div",T,[e("p",null,f(s.title),1)])],10,Q))),128))])])]))),128))])])]))),128)),e("a",W,[l(h,{name:"eye",class:"w-6 h-6 duration-300 md:block hidden"}),X]),l(b,{href:t.route("client.schedule"),class:"hover:opacity-70 py-3"},{default:_(()=>[l(h,{name:"schedule",class:"w-6 h-6 text-black md:block hidden"}),Y]),_:1},8,["href"]),e("a",Z,[l(h,{name:"search",class:"w-6 h-6 text-black md:block hidden"}),ee])])])])])])]),l(x,{sections:c.sections},null,8,["sections"]),l(g,{open_id:"hs-full-screen-modal-below-md"})],64)}const ne=C(I,[["render",te],["__scopeId","data-v-dc2022ad"]]);export{ne as M}; diff --git a/public/build/assets/MainNavbar-CK8Gfm-M.js b/public/build/assets/MainNavbar-CK8Gfm-M.js new file mode 100644 index 0000000..c9342e9 --- /dev/null +++ b/public/build/assets/MainNavbar-CK8Gfm-M.js @@ -0,0 +1 @@ +import{i as y,r as d,o,c as l,b as e,a as r,w as v,h as w,F as i,d as m,t as u,n as _}from"./app-C722ecVx.js";import{S as k,M as S,B,C as M}from"./SearchModal-72Hbiqqz.js";/* empty css */import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={name:"MainNavBar",props:{sections:{type:Object}},data(){return{}},components:{SearchModal:k,MobileNavbar:S,BaseIcon:B,ClientGlobalSearch:M,Link:y},methods:{isSameRoute(s){if(s===this.$page.props.ziggy.location)return!0;const t=this.$page.props.ziggy.location,n=this.$page.props.ziggy.url+"/"+s;return t===n},hasActivePage(s){if(s.pages)return s.pages.some(t=>this.isSameRoute(t.path));if(s.subSections)return s.subSections.some(t=>this.hasActivePage(t))}}},C={class:"flex duration-500 fixed top-0 left-0 right-0 flex-wrap lg:justify-start lg:flex-nowrap z-50 w-full text-sm py-3 lg:py-0 header-filter"},z={class:"max-w-screen-xl w-full mx-auto px-4 py-3","aria-label":"Global"},L={class:"relative lg:flex lg:items-center lg:justify-between"},I={class:"flex items-center justify-between"},R={id:"navbar-collapse-with-animation",class:"hs-collapse hidden overflow-hidden transition-all duration-300 basis-full grow lg:block"},$={class:"overflow-hidden overflow-y-auto max-h-[75vh] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300"},V={class:"flex flex-col gap-x-0 mt-5 md:flex-row md:items-center md:justify-end md:gap-x-7 md:mt-0 md:ps-7 md:divide-y-0 md:divide-solid"},A={type:"button",class:"active:text-blue-600 flex items-center w-full text-black hover:text-gray-300 font-medium"},D={class:"hs-dropdown-menu transition-opacity duration-150 md:duration-500 hs-dropdown-open:opacity-100 opacity-0 w-full hidden z-10 top-full start-0 min-w-[15rem] bg-white md:shadow-2xl rounded-lg py-2 md:p-4 before:absolute before:-top-5 before:start-0 before:w-full before:h-5"},F={class:"grid px-5 grid-cols-1 md:grid-cols-10"},G={class:"flex flex-col py-6 px-3 md:px-6"},P={class:"space-y-4"},E={class:"flex items-center mb-2 gap-x-2"},O={class:"text-xs font-bold uppercase text-gray-800"},U=["href"],q={class:"grow"},H={href:"#",class:"hover:opacity-70 py-3 className"},J={class:"hover:opacity-70 py-3 cursor-pointer","data-hs-overlay":"#hs-full-screen-modal-below-md"};function K(s,t,n,Q,T,f){const b=d("Link"),c=d("BaseIcon"),x=d("MobileNavbar"),g=d("SearchModal");return o(),l(i,null,[e("header",C,[e("nav",z,[e("div",L,[e("div",I,[r(b,{class:"flex-none text-xl font-semibold",href:"/","aria-label":"Brand"},{default:v(()=>t[0]||(t[0]=[e("img",{class:"max-w-[300px]",src:"/logos/ntspi-logo.svg",alt:""},null,-1)])),_:1}),t[1]||(t[1]=w('
',1))]),e("div",R,[e("div",$,[e("div",V,[(o(!0),l(i,null,m(this.sections.data,h=>(o(),l("div",{key:h.id,class:"hs-dropdown [--strategy:static] md:[--strategy:absolute] [--adaptive:none] md:[--trigger:hover] py-3 md:py-6"},[e("button",A,u(h.title),1),e("div",D,[e("div",F,[(o(!0),l(i,null,m(h.subSections,p=>(o(),l("div",{key:p.id,class:"md:col-span-3"},[e("div",G,[e("div",P,[e("div",E,[e("span",O,u(p.title),1)]),(o(!0),l(i,null,m(p.pages,a=>(o(),l("a",{key:a.id,class:_([{"text-secondDarkBlue hover:text-gray-800 font-semibold ":f.isSameRoute(a.path),"text-gray-800 hover:text-gray-500":!f.isSameRoute(a.path)},"flex items-center gap-x-2"]),href:a.is_url?a.path:s.route("page.view",a.path)+"/"},[e("div",q,[e("p",null,u(a.title),1)])],10,U))),128))])])]))),128))])])]))),128)),e("a",H,[r(c,{name:"eye",class:"w-6 h-6 duration-300 md:block hidden"}),t[2]||(t[2]=e("span",{class:"md:hidden"},"Режим для слабовидящих",-1))]),r(b,{href:s.route("client.schedule"),class:"hover:opacity-70 py-3"},{default:v(()=>[r(c,{name:"schedule",class:"w-6 h-6 text-black md:block hidden"}),t[3]||(t[3]=e("span",{class:"md:hidden text-black"},"Расписание",-1))]),_:1},8,["href"]),e("a",J,[r(c,{name:"search",class:"w-6 h-6 text-black md:block hidden"}),t[4]||(t[4]=e("span",{class:"md:hidden text-black"},"Поиск",-1))])])])])])])]),r(x,{sections:n.sections},null,8,["sections"]),r(g,{open_id:"hs-full-screen-modal-below-md"})],64)}const ee=N(j,[["render",K],["__scopeId","data-v-dc2022ad"]]);export{ee as M}; diff --git a/public/build/assets/MainPageNavbar-eem4WBYW.css b/public/build/assets/MainPageNavbar-CC0e5dc9.css similarity index 54% rename from public/build/assets/MainPageNavbar-eem4WBYW.css rename to public/build/assets/MainPageNavbar-CC0e5dc9.css index 84e0b9f..99f039f 100644 --- a/public/build/assets/MainPageNavbar-eem4WBYW.css +++ b/public/build/assets/MainPageNavbar-CC0e5dc9.css @@ -1 +1 @@ -.header-filter[data-v-9053d4b2]{transition:all .3s;-webkit-backdrop-filter:saturate(180%) blur(7px);backdrop-filter:saturate(180%) blur(7px)} +.header-filter[data-v-9905b1e8]{transition:all .3s;-webkit-backdrop-filter:saturate(180%) blur(7px);backdrop-filter:saturate(180%) blur(7px)} diff --git a/public/build/assets/MainPageNavbar-D4wqwiWH.js b/public/build/assets/MainPageNavbar-D4wqwiWH.js deleted file mode 100644 index e554bf4..0000000 --- a/public/build/assets/MainPageNavbar-D4wqwiWH.js +++ /dev/null @@ -1,104 +0,0 @@ -import{bJ as qe,i as He,r as fe,o as N,c as T,b as g,n as M,F as ie,d as me,g as Ce,t as pe,a as ge,w as ze,B as Fe,z as je,A as De,h as Pe}from"./app-DmJ8GS-7.js";import{C as Ne}from"./SearchModal.vue_vue_type_style_index_0_scoped_a4fc4416_lang-CbsljUTZ.js";import{S as Te,M as Me,B as Ge}from"./ClientFooterDown-D8UuGhzW.js";import{_ as Re}from"./_plugin-vue_export-helper-DlAUqK2U.js";var Le={exports:{}};/*! - * Button visually impaired - v1.0.0 https://bvi.isvek.ru - * Copyright 2014-2021 Oleg Korotenko . - * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) - */(function(L,R){(function(I,J){L.exports=J()})(qe,function(){function I(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable})),t.push.apply(t,n)}return t}function J(a){for(var e=1;ea.length)&&(e=a.length);for(var t=0,n=new Array(e);t=0;--v){var l=this.tryEntries[v],B=l.completion;if(l.tryLoc==="root")return c("end");if(l.tryLoc<=this.prev){var O=S.call(l,"catchLoc"),F=S.call(l,"finallyLoc");if(O&&F){if(this.prev=0;--c){var v=this.tryEntries[c];if(v.tryLoc<=this.prev&&S.call(v,"finallyLoc")&&this.prev=0;--i){var c=this.tryEntries[i];if(c.finallyLoc===r)return this.complete(c.completion,c.afterLoc),de(c),p}},catch:function(r){for(var i=this.tryEntries.length-1;i>=0;--i){var c=this.tryEntries[i];if(c.tryLoc===r){var v=c.completion;if(v.type==="throw"){var l=v.arg;de(c)}return l}}throw new Error("illegal catch attempt")},delegateYield:function(r,i,c){return this.delegate={iterator:he(r),resultName:i,nextLoc:c},this.method==="next"&&(this.arg=n),p}},t}({});try{regeneratorRuntime=e}catch{(typeof globalThis>"u"?"undefined":E(globalThis))==="object"?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}})(),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach(function(a){a.hasOwnProperty("prepend")||Object.defineProperty(a,"prepend",{configurable:!0,enumerable:!0,writable:!0,value:function(){var e=Array.prototype.slice.call(arguments),t=document.createDocumentFragment();e.forEach(function(n){var s=n instanceof Node;t.appendChild(s?n:document.createTextNode(String(n)))}),this.insertBefore(t,this.firstChild)}})}),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach);var A=function(a){switch(a){case"on":case"true":case"1":return!0;default:return!1}},j=function(a,e,t){for(typeof e=="string"&&(e=document.createElement(e)),a.appendChild(e).className=t;a.firstChild!==e;)e.appendChild(a.firstChild)},oe=function(a){var e=document.createDocumentFragment();if(a){for(;a.firstChild;){var t=a.removeChild(a.firstChild);e.appendChild(t)}a.parentNode.replaceChild(e,a)}},Y=function(a,e){Object.keys(a).forEach(function(t){typeof e=="function"&&e(t)})},ae=function(a,e){Array.from(a).forEach(function(t){typeof e=="function"&&e(t)})},V=function(){return window.speechSynthesis},y=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",t=new Date,n=t.getTime();n+=864e5,t.setTime(n),document.cookie="bvi_".concat(a,"=").concat(e,";path=/;expires=").concat(t.toUTCString(),";domain=").concat(location.host)},k=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";a="bvi_".concat(a,"=");for(var e=decodeURIComponent(document.cookie),t=e.split(";"),n=0;n0&&arguments[0]!==void 0?arguments[0]:"";document.cookie="bvi_".concat(a,"=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat(location.host)},be={"ru-RU":{text:{fontSize:"Размер шрифта",siteColors:"Цвета сайта",images:"Изображения",speech:"Синтез речи",settings:"Настройки",regularVersionOfTheSite:"Обычная версия сайта",letterSpacing:"Межбуквенное расстояние",normal:"Стандартный",average:"Средний",big:"Большой",lineHeight:"Межстрочный интервал",font:"Шрифт",arial:"Без засечек",times:"С засечками",builtElements:"Встроенные элементы (Видео, карты и тд.)",on:"Включить",off:"Выключить",reset:"Сбросить настройки",plural_0:"пиксель",plural_1:"пекселя",plural_2:"пикселей"},voice:{fontSizePlus:"Размер шрифта увели́чен",fontSizeMinus:"Размер шрифта уме́ньшен",siteColorBlackOnWhite:"Цвет сайта черным по белому",siteColorWhiteOnBlack:"Цвет сайта белым по черному",siteColorDarkBlueOnBlue:"Цвет сайта тёмно-синим по голубому",siteColorBeigeBrown:"Цвет сайта кори́чневым по бе́жевому",siteColorGreenOnDarkBrown:"Цвет сайта зеленым по тёмно-коричневому",imagesOn:"Изображения включены",imagesOFF:"Изображения выключены",imagesGrayscale:"Изображения чёрно-белые",speechOn:"Синтез речи включён",speechOff:"Синтез речи вы́ключен",lineHeightNormal:"Межстрочный интервал стандартный",lineHeightAverage:"Межстрочный интервал средний",lineHeightBig:"Межстрочный интервал большой",LetterSpacingNormal:"Интервал между буквами стандартный",LetterSpacingAverage:"Интервал между буквами средний",LetterSpacingBig:"Интервал между буквами большой",fontArial:"Шрифт без засечек",fontTimes:"Шрифт с засечками",builtElementsOn:"Встроенные элементы включены",builtElementsOFF:"Встроенные элементы выключены",resetSettings:"Установлены настройки по умолча́нию",panelShow:"Панель открыта",panelHide:"Панель скрыта",panelOn:"Версия сайта для слабови́дящий",panelOff:"Обычная версия сайта"}},"en-US":{text:{fontSize:"Font size",siteColors:"Site colors",images:"Images",speech:"Speech synthesis",settings:"Settings",regularVersionOfTheSite:"Regular version Of The site",letterSpacing:"Letter spacing",normal:"Single",average:"One and a half",big:"Double",lineHeight:"Line spacing",font:"Font",arial:"Sans Serif - Arial",times:"Serif - Times New Roman",builtElements:"Include inline elements (Videos, maps, etc.)",on:"Enable",off:"Disabled",reset:"Reset settings",plural_0:"pixel",plural_1:"pixels",plural_2:"pixels"},voice:{fontSizePlus:"Font size increased",fontSizeMinus:"Font size reduced",siteColorBlackOnWhite:"Site color black on white",siteColorWhiteOnBlack:"Site color white on black",siteColorDarkBlueOnBlue:"Site color dark blue on cyan",siteColorBeigeBrown:"SiteColorBeigeBrown",siteColorGreenOnDarkBrown:"Site color green on dark brown",imagesOn:"Images enable",imagesOFF:"Images disabled",imagesGrayscale:"Images gray scale",speechOn:"Synthesis speech enable",speechOff:"Synthesis speech disabled",lineHeightNormal:"Line spacing single",lineHeightAverage:"Line spacing one and a half",lineHeightBig:"Line spacing double",LetterSpacingNormal:"Letter spacing single",LetterSpacingAverage:"Letter spacing one and a half",LetterSpacingBig:"Letter spacing letter double",fontArial:"Sans Serif - Arial",fontTimes:"Serif - Times New Roman",builtElementsOn:"Include inline elements are enabled",builtElementsOFF:"Include inline elements are disabled",resetSettings:"Default settings have been set",panelShow:"Panel show",panelHide:"Panel hide",panelOn:"Site version for visually impaired",panelOff:"Regular version of the site"}}},Be=function(){function a(e){Z(this,a),this._config=e}return X(a,[{key:"t",value:function(e){return be[this._config.lang].text[e]}},{key:"v",value:function(e){return be[this._config.lang].voice[e]}}]),a}(),ye={target:".bvi-open",fontSize:16,theme:"white",images:"grayscale",letterSpacing:"normal",lineHeight:"normal",speech:!0,fontFamily:"arial",builtElements:!1,panelFixed:!0,panelHide:!1,reload:!1,lang:"ru-RU"},Ee={target:"string",fontSize:"number",theme:"string",images:"(string|boolean)",letterSpacing:"string",lineHeight:"string",speech:"boolean",fontFamily:"string",builtElements:"boolean",panelFixed:"boolean",panelHide:"boolean",reload:"boolean",lang:"string"},Oe={target:"",fontSize:"(^[1-9]$|^[1-3][0-9]?$|^39$)",theme:"(white|black|blue|brown|green)",images:"(true|false|grayscale)",letterSpacing:"(normal|average|big)",lineHeight:"(normal|average|big)",speech:"(true|false)",fontFamily:"(arial|times)",builtElements:"(true|false)",panelFixed:"(true|false)",panelHide:"(true|false)",reload:"(true|false)",lang:"(ru-RU|en-US)"};return{Bvi:function(){function a(e){Z(this,a),this._config=this._getConfig(e),this._elements=document.querySelectorAll(this._config.target),this._i18n=new Be({lang:this._config.lang}),this._addEventListeners(),this._init(),console.log("Bvi console: ready Button visually impaired v1.0.0")}return X(a,[{key:"_init",value:function(){Y(this._config,function(e){k(e)===void 0&&se("panelActive")}),A(k("panelActive"))?(this._set(),this._getPanel(),this._addEventListenersPanel(),this._images(),this._speechPlayer(),"speechSynthesis"in window&&A(k("speech"))&&setInterval(function(){if(V().pending===!1){var e=document.querySelectorAll(".bvi-speech-play"),t=document.querySelectorAll(".bvi-speech-pause"),n=document.querySelectorAll(".bvi-speech-resume"),s=document.querySelectorAll(".bvi-speech-stop"),S=function(o,_){o.forEach(function(f){return _(f)})};S(e,function(o){return o.classList.remove("disabled")}),S(t,function(o){return o.classList.add("disabled")}),S(n,function(o){return o.classList.add("disabled")}),S(s,function(o){return o.classList.add("disabled")})}},1e3)):this._remove()}},{key:"_addEventListeners",value:function(){var e=this;if(!this._elements)return!1;this._elements.forEach(function(t){t.addEventListener("click",function(n){n.preventDefault(),Y(e._config,function(s){return y(s,e._config[s])}),y("panelActive",!0),e._init(),e._speech("".concat(e._i18n.v("panelOn")))})})}},{key:"_addEventListenersPanel",value:function(){var e=this,t={fontSizeMinus:document.querySelector(".bvi-fontSize-minus"),fontSizePlus:document.querySelector(".bvi-fontSize-plus"),themeWhite:document.querySelector(".bvi-theme-white"),themeBlack:document.querySelector(".bvi-theme-black"),themeBlue:document.querySelector(".bvi-theme-blue"),themeBrown:document.querySelector(".bvi-theme-brown"),themeGreen:document.querySelector(".bvi-theme-green"),imagesOn:document.querySelector(".bvi-images-on"),imagesOff:document.querySelector(".bvi-images-off"),imagesGrayscale:document.querySelector(".bvi-images-grayscale"),speechOn:document.querySelector(".bvi-speech-on"),speechOff:document.querySelector(".bvi-speech-off"),lineHeightNormal:document.querySelector(".bvi-line-height-normal"),lineHeightAverage:document.querySelector(".bvi-line-height-average"),lineHeightBig:document.querySelector(".bvi-line-height-big"),letterSpacingNormal:document.querySelector(".bvi-letter-spacing-normal"),letterSpacingAverage:document.querySelector(".bvi-letter-spacing-average"),letterSpacingBig:document.querySelector(".bvi-letter-spacing-big"),fontFamilyArial:document.querySelector(".bvi-font-family-arial"),fontFamilyTimes:document.querySelector(".bvi-font-family-times"),builtElementsOn:document.querySelector(".bvi-built-elements-on"),builtElementsOff:document.querySelector(".bvi-built-elements-off"),reset:document.querySelector(".bvi-reset"),links:document.querySelectorAll(".bvi-link"),modal:document.querySelector(".bvi-modal")},n=function(o){var _,f=function(m,d){var u=typeof Symbol<"u"&&m[Symbol.iterator]||m["@@iterator"];if(!u){if(Array.isArray(m)||(u=function(p,D){if(p){if(typeof p=="string")return W(p,D);var x=Object.prototype.toString.call(p).slice(8,-1);return x==="Object"&&p.constructor&&(x=p.constructor.name),x==="Map"||x==="Set"?Array.from(p):x==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x)?W(p,D):void 0}}(m))||d){u&&(m=u);var h=0,b=function(){};return{s:b,n:function(){return h>=m.length?{done:!0}:{done:!1,value:m[h++]}},e:function(p){throw p},f:b}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var q,C=!0,H=!1;return{s:function(){u=u.call(m)},n:function(){var p=u.next();return C=p.done,p},e:function(p){H=!0,q=p},f:function(){try{C||u.return==null||u.return()}finally{if(H)throw q}}}}(o.parentNode.children);try{for(f.s();!(_=f.n()).done;)_.value.classList.remove("active")}catch(m){f.e(m)}finally{f.f()}o.classList.add("active")},s=function(o,_){o.addEventListener("click",function(f){f.preventDefault(),typeof _=="function"&&_(f)})},S=function(){document.querySelectorAll(".bvi-link").forEach(function(o){o.classList.remove("active")}),Y(e._config,function(o){if(o==="theme"){var _=k(o);document.querySelector(".bvi-theme-".concat(_)).classList.add("active")}if(o==="images"){var f=k(o)==="grayscale"?"grayscale":A(k(o))?"on":"off";document.querySelector(".bvi-images-".concat(f)).classList.add("active")}if(o==="speech"){var m=A(k(o))?"on":"off";document.querySelector(".bvi-speech-".concat(m)).classList.add("active")}if(o==="lineHeight"){var d=k(o);document.querySelector(".bvi-line-height-".concat(d)).classList.add("active")}if(o==="letterSpacing"){var u=k(o);document.querySelector(".bvi-letter-spacing-".concat(u)).classList.add("active")}if(o==="fontFamily"){var h=k(o);document.querySelector(".bvi-font-family-".concat(h)).classList.add("active")}if(o==="builtElements"){var b=A(k(o))?"on":"off";document.querySelector(".bvi-built-elements-".concat(b)).classList.add("active")}})};S(),s(t.fontSizeMinus,function(){var o=parseFloat(k("fontSize"))-1;o!==0&&(e._setAttrDataBviBody("fontSize",o),y("fontSize",o),e._speech("".concat(e._i18n.v("fontSizeMinus"))),n(t.fontSizeMinus))}),s(t.fontSizePlus,function(){var o=parseFloat(k("fontSize"))+1;o!==40&&(e._setAttrDataBviBody("fontSize",o),y("fontSize",o),e._speech("".concat(e._i18n.v("fontSizePlus"))),n(t.fontSizePlus))}),s(t.themeWhite,function(){e._setAttrDataBviBody("theme","white"),y("theme","white"),e._speech("".concat(e._i18n.v("siteColorBlackOnWhite"))),n(t.themeWhite)}),s(t.themeBlack,function(){e._setAttrDataBviBody("theme","black"),y("theme","black"),e._speech("".concat(e._i18n.v("siteColorWhiteOnBlack"))),n(t.themeBlack)}),s(t.themeBlue,function(){e._setAttrDataBviBody("theme","blue"),y("theme","blue"),e._speech("".concat(e._i18n.v("siteColorDarkBlueOnBlue"))),n(t.themeBlue)}),s(t.themeBrown,function(){e._setAttrDataBviBody("theme","brown"),y("theme","brown"),e._speech("".concat(e._i18n.v("siteColorBeigeBrown"))),n(t.themeBrown)}),s(t.themeGreen,function(){e._setAttrDataBviBody("theme","green"),y("theme","green"),e._speech("".concat(e._i18n.v("siteColorGreenOnDarkBrown"))),n(t.themeGreen)}),s(t.imagesOn,function(){e._setAttrDataBviBody("images","true"),y("images","true"),e._speech("".concat(e._i18n.v("imagesOn"))),n(t.imagesOn)}),s(t.imagesOff,function(){e._setAttrDataBviBody("images","false"),y("images","false"),e._speech("".concat(e._i18n.v("imagesOFF"))),n(t.imagesOff)}),s(t.imagesGrayscale,function(){e._setAttrDataBviBody("images","grayscale"),y("images","grayscale"),e._speech("".concat(e._i18n.v("imagesGrayscale"))),n(t.imagesGrayscale)}),s(t.speechOn,function(){e._setAttrDataBviBody("speech","true"),y("speech","true"),e._speech("".concat(e._i18n.v("speechOn"))),n(t.speechOn),e._speechPlayer()}),s(t.speechOff,function(){e._speech("".concat(e._i18n.v("speechOff"))),e._setAttrDataBviBody("speech","false"),y("speech","false"),n(t.speechOff),e._speechPlayer()}),s(t.lineHeightNormal,function(){e._setAttrDataBviBody("lineHeight","normal"),y("lineHeight","normal"),e._speech("".concat(e._i18n.v("lineHeightNormal"))),n(t.lineHeightNormal)}),s(t.lineHeightAverage,function(){e._setAttrDataBviBody("lineHeight","average"),y("lineHeight","average"),e._speech("".concat(e._i18n.v("lineHeightAverage"))),n(t.lineHeightAverage)}),s(t.lineHeightBig,function(){e._setAttrDataBviBody("lineHeight","big"),y("lineHeight","big"),e._speech("".concat(e._i18n.v("lineHeightBig"))),n(t.lineHeightBig)}),s(t.letterSpacingNormal,function(){e._setAttrDataBviBody("letterSpacing","normal"),y("letterSpacing","normal"),e._speech("".concat(e._i18n.v("LetterSpacingNormal"))),n(t.letterSpacingNormal)}),s(t.letterSpacingAverage,function(){e._setAttrDataBviBody("letterSpacing","average"),y("letterSpacing","average"),e._speech("".concat(e._i18n.v("LetterSpacingAverage"))),n(t.letterSpacingAverage)}),s(t.letterSpacingBig,function(){e._setAttrDataBviBody("letterSpacing","big"),y("letterSpacing","big"),e._speech("".concat(e._i18n.v("LetterSpacingBig"))),n(t.letterSpacingBig)}),s(t.fontFamilyArial,function(){e._setAttrDataBviBody("fontFamily","arial"),y("fontFamily","arial"),e._speech("".concat(e._i18n.v("fontArial"))),n(t.fontFamilyArial)}),s(t.fontFamilyTimes,function(){e._setAttrDataBviBody("fontFamily","times"),y("fontFamily","times"),e._speech("".concat(e._i18n.v("fontTimes"))),n(t.fontFamilyTimes)}),s(t.builtElementsOn,function(){e._setAttrDataBviBody("builtElements","true"),y("builtElements","true"),e._speech("".concat(e._i18n.v("builtElementsOn"))),n(t.builtElementsOn)}),s(t.builtElementsOff,function(){e._setAttrDataBviBody("builtElements","false"),y("builtElements","false"),e._speech("".concat(e._i18n.v("builtElementsOFF"))),n(t.builtElementsOff)}),s(t.reset,function(){e._speech("".concat(e._i18n.v("resetSettings"))),Y(e._config,function(o){e._setAttrDataBviBody(o,e._config[o]),y(o,e._config[o]),S()})}),ae(t.links,function(o){s(o,function(_){var f=_.target.getAttribute("data-bvi");f==="close"&&(e._setAttrDataBviBody("panelActive","false"),y("panelActive","false"),e._init()),f==="modal"&&(document.body.style.overflow="hidden",document.body.classList.add("bvi-noscroll"),t.modal.classList.toggle("show")),f==="modal-close"&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show")),f==="panel-hide"&&(document.querySelector(".bvi-panel").classList.add("bvi-panel-hide"),document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-hide"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-show"),y("panelHide","true"),e._speech("".concat(e._i18n.v("panelHide")))),f==="panel-show"&&(document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-show"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-hide"),document.querySelector(".bvi-panel").classList.remove("bvi-panel-hide"),y("panelHide","false"),e._speech("".concat(e._i18n.v("panelShow"))))})}),s(t.modal,function(o){o.target.contains(t.modal)&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show"))})}},{key:"_getPanel",value:function(){var e=function(){var o=window.pageYOffset!==void 0?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;A(k("panelFixed"))&&(o>200?document.querySelector(".bvi-panel").classList.add("bvi-fixed-top"):document.querySelector(".bvi-panel").classList.remove("bvi-fixed-top"))},t=A(k("panelHide"))?" bvi-panel-hide":"",n=A(k("panelHide"))?"bvi-show":" bvi-hide",s=` -
-
-
-
`).concat(this._i18n.t("fontSize"),`
- А- - А+ -
-
-
`).concat(this._i18n.t("siteColors"),`
- Ц - Ц - Ц - Ц - Ц -
-
-
`).concat(this._i18n.t("images"),`
- - - - - - - - - -
-
-
`).concat(this._i18n.t("speech"),`
- - - - - - -
-
-
`).concat(this._i18n.t("settings"),`
- - - - - `).concat(this._i18n.t("regularVersionOfTheSite"),` - - - - -
-
-
-
-
-
-
`).concat(this._i18n.t("settings"),`
- × -
- - -
-
-
-
`),S='')+'';window.addEventListener("scroll",e),document.querySelector(".bvi-body").insertAdjacentHTML("beforebegin",s),document.querySelector(".bvi-body").insertAdjacentHTML("afterbegin",S),e()}},{key:"_set",value:function(){var e=this;document.body.classList.add("bvi-active"),j(document.body,"div","bvi-body"),Y(this._config,function(t){return e._setAttrDataBviBody(t,k(t))}),ae(this._elements,function(t){return t.style.display="none"}),document.querySelectorAll("img").forEach(function(t){t.classList.contains("bvi-img")&&t.classList.remove("bvi-img")}),document.querySelectorAll("body *").forEach(function(t){t.classList.contains("bvi-background-image")&&t.classList.remove("bvi-background-image")})}},{key:"_remove",value:function(){var e=document.querySelector(".bvi-panel"),t=document.querySelector(".bvi-body"),n=document.querySelector(".bvi-link-fixed-top");e&&e.remove(),t&&oe(t),n&&n.remove(),this._speech("".concat(this._i18n.v("panelOff"))),document.body.classList.remove("bvi-active"),ae(this._elements,function(s){return s.style.display=""}),A(k("reload"))&&document.location.reload(),Y(this._config,function(s){se(s)}),this._speechPlayer(),se("panelActive")}},{key:"_images",value:function(){document.querySelectorAll("img").forEach(function(e){e.classList.contains("bvi-no-style")||e.classList.add("bvi-img")}),document.querySelectorAll(".bvi-body *").forEach(function(e){var t=getComputedStyle(e);t.backgroundImage==="none"||t.background==="none"||e.classList.contains("bvi-no-style")||e.classList.add("bvi-background-image")})}},{key:"_getConfig",value:function(e){e=J(J({},ye),e);var t={};for(var n in ye)t[n]=e[n];return function(s,S,o){Object.keys(S).forEach(function(_){var f,m=S[_],d=s[_],u=d&&(f=d)&&E(f)==="object"&&f.nodeType!==void 0?"element":function(h){return h==null?"".concat(h):{}.toString.call(h).match(/\s([a-z]+)/i)[1].toLowerCase()}(d);if(!new RegExp(m).test(u))throw new TypeError('Bvi console: Опция "'.concat(_,'" предоставленный тип "').concat(u,'", ожидаемый тип "').concat(m,'".'))}),Object.keys(o).forEach(function(_){var f=o[_],m=s[_];if(!new RegExp(f).test(m))throw new TypeError('Bvi console: Опция "'.concat(_,'" параметр "').concat(m,'", ожидаемый параметр "').concat(f,'".'))})}(t,Ee,Oe),t}},{key:"_setAttrDataBviBody",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";document.querySelector(".bvi-body").setAttribute("data-bvi-".concat(e),t)}},{key:"_speechPlayer",value:function(){var e=this,t=document.querySelectorAll(".bvi-speech-text"),n=document.querySelectorAll(".bvi-speech-link"),s=document.querySelectorAll(".bvi-speech");if("speechSynthesis"in window&&A(k("speech"))){if(s){t&&t.forEach(function(d){return oe(d)}),n&&n.forEach(function(d){return d.remove()}),s.forEach(function(d,u){var h="bvi-speech-text-id-".concat(u+1);j(d,"div","bvi-speech-text ".concat(h)),d.insertAdjacentHTML("afterbegin",` - `)});var S=document.querySelectorAll(".bvi-speech-play"),o=document.querySelectorAll(".bvi-speech-pause"),_=document.querySelectorAll(".bvi-speech-resume"),f=document.querySelectorAll(".bvi-speech-stop"),m=function(d,u){d.forEach(function(h){h.addEventListener("click",function(b){if(b.preventDefault(),typeof u=="function")return u(h,b)},!1)})};m(S,function(d,u){var h=u.target,b=h.parentNode.nextElementSibling,q=u.target.closest(".bvi-speech-link"),C=document.querySelectorAll(".bvi-speech-play"),H=document.querySelectorAll(".bvi-speech-pause"),p=document.querySelectorAll(".bvi-speech-resume"),D=document.querySelectorAll(".bvi-speech-stop");e._speech(b.textContent,b,!0),C.forEach(function(x){return x.classList.remove("disabled")}),H.forEach(function(x){return x.classList.add("disabled")}),p.forEach(function(x){return x.classList.add("disabled")}),D.forEach(function(x){return x.classList.add("disabled")}),h.classList.add("disabled"),q.querySelector(".bvi-speech-pause").classList.remove("disabled"),q.querySelector(".bvi-speech-stop").classList.remove("disabled")}),m(o,function(d,u){var h=u.target,b=u.target.closest(".bvi-speech-link");h.classList.add("disabled"),b.querySelector(".bvi-speech-resume").classList.remove("disabled"),V().pause()}),m(_,function(d,u){var h=u.target,b=u.target.closest(".bvi-speech-link");h.classList.add("disabled"),b.querySelector(".bvi-speech-pause").classList.remove("disabled"),V().resume()}),m(f,function(d,u){var h=u.target,b=u.target.closest(".bvi-speech-link");h.classList.add("disabled"),b.querySelector(".bvi-speech-pause").classList.add("disabled"),b.querySelector(".bvi-speech-play").classList.remove("disabled"),V().cancel()})}}else t&&t.forEach(function(d){return oe(d)}),n&&n.forEach(function(d){return d.remove()})}},{key:"_speech",value:function(e,t){var n=this,s=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if("speechSynthesis"in window&&A(k("speech"))){V().cancel();for(var S=function(u,h){u=String(u),h=Number(h)>>>0;var b=u.slice(0,h+1).search(/\S+$/),q=u.slice(h).search(/\s/);return q<0?u.slice(b):u.slice(b,q+h)},o=120,_=new RegExp("^[\\s\\S]{"+Math.floor(o/2)+","+o+"}[.!?,]{1}|^[\\s\\S]{1,"+o+"}$|^[\\s\\S]{1,"+o+"} "),f=[],m=e,d=V().getVoices();m.length>0;)f.push(m.match(_)[0]),m=m.substring(f[f.length-1].length);f.forEach(function(u){var h=new SpeechSynthesisUtterance(u.trim());h.volume=1,h.rate=1,h.pitch=1,h.lang=n._config.lang;for(var b=0;b]+>)*$1(<[^>]+>)*)"),D=new RegExp("("+p+")","gi");H=(H=H.replace(D,"$1")).replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1$2$4"),t.innerHTML=H},h.onend=function(q){t.classList.remove("bvi-highlighting");var C=t.textContent;C=C.replace(/($1<\/mark>)/,"$1"),t.innerHTML=C}),V().speak(h)})}}}]),a}()}})})(Le);var Ie=Le.exports;const Ve={name:"MainPageNavBar",props:{sections:{type:Object}},data(){return{scrollPosition:0,headerFilter:!1,underSliderHeader:!1}},components:{SearchModal:Te,MobileNavbar:Me,BaseIcon:Ge,ClientGlobalSearch:Ne,Link:He},methods:{isSameRoute(L){if(L===this.$page.props.ziggy.location)return!0;const R=this.$page.props.ziggy.location,I=this.$page.props.ziggy.url+"/"+L;return R===I?(console.log(L),!0):!1},hasActivePage(L){if(L.pages)return L.pages.some(R=>this.isSameRoute(R.path));if(L.subSections)return L.subSections.some(R=>this.hasActivePage(R))},handleScroll(){this.underSliderHeader=window.pageYOffset>window.innerHeight*100/100-50,this.scrollPosition=window.pageYOffset,this.headerFilter=this.scrollPosition>90},toggleHeaderFilter(){this.scrollPosition<90&&(this.headerFilter=!this.headerFilter)}},mounted(){window.addEventListener("scroll",this.handleScroll),window.addEventListener("scroll",this.checkSlider),new Ie.Bvi({target:".className",fontSize:24,theme:"black",speech:!1})},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll),window.removeEventListener("scroll",this.checkSlider)}},Q=L=>(je("data-v-9053d4b2"),L=L(),De(),L),Ue={class:"max-w-screen-xl w-full mx-auto px-4 py-3","aria-label":"Global"},We={class:"relative lg:flex md:items-center md:justify-between"},Ye={class:"flex items-center justify-between"},$e={class:"flex-none text-xl font-semibold dark:text-white dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600",href:"/","aria-label":"Brand"},Je=["src"],Ze={class:"lg:hidden"},Ke=Pe('',2),Qe=[Ke],Xe={id:"navbar-collapse-with-animation",class:"hs-collapse hidden overflow-hidden transition-all duration-300 basis-full grow lg:block"},et={class:"overflow-hidden overflow-y-auto max-h-[75vh] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-slate-700 dark:[&::-webkit-scrollbar-thumb]:bg-slate-500"},tt={class:"flex flex-col gap-x-0 mt-5 md:flex-row md:items-center md:justify-end md:gap-x-7 md:mt-0 md:ps-7 md:divide-y-0 md:divide-solid dark:divide-gray-700"},it=Q(()=>g("svg",{class:"flex-shrink-0 ms-2 w-4 h-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[g("path",{d:"m6 9 6 6 6-6"})],-1)),nt={class:"hs-dropdown-menu transition-opacity duration-150 md:duration-500 hs-dropdown-open:opacity-100 opacity-0 w-full hidden z-10 top-full start-0 min-w-[15rem] bg-white md:shadow-2xl rounded-lg py-2 md:p-4 before:absolute before:-top-5 before:start-0 before:w-full before:h-5"},rt={class:"grid px-5 grid-cols-1 md:grid-cols-10"},ot={class:"flex flex-col py-4 px-3 md:px-6"},at={class:"space-y-4"},st={class:"flex items-center mb-2 gap-x-2"},lt={class:"text-xs font-bold uppercase text-gray-800 dark:text-gray-200"},ct=["href"],dt={class:"grow"},ut={href:"#",class:"hover:opacity-70 py-3 className"},ht=Q(()=>g("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"},null,-1)),vt=Q(()=>g("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"},null,-1)),ft=[ht,vt],mt=Q(()=>g("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5m-9-6h.008v.008H12v-.008zM12 15h.008v.008H12V15zm0 2.25h.008v.008H12v-.008zM9.75 15h.008v.008H9.75V15zm0 2.25h.008v.008H9.75v-.008zM7.5 15h.008v.008H7.5V15zm0 2.25h.008v.008H7.5v-.008zm6.75-4.5h.008v.008h-.008v-.008zm0 2.25h.008v.008h-.008V15zm0 2.25h.008v.008h-.008v-.008zm2.25-4.5h.008v.008H16.5v-.008zm0 2.25h.008v.008H16.5V15z"},null,-1)),pt=[mt],gt={class:"hover:opacity-70 py-3 cursor-pointer","data-hs-overlay":"#open-search-modal"},bt=Q(()=>g("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"},null,-1)),yt=[bt];function _t(L,R,I,J,E,Z){const ne=fe("Link"),X=fe("MobileNavbar"),re=fe("SearchModal");return N(),T(ie,null,[g("header",{style:Fe(E.underSliderHeader?"background: hsla(0,0%,100%,.6)":""),class:M([{"header-filter":E.headerFilter},"flex duration-500 fixed top-0 left-0 right-0 flex-wrap md:justify-start md:flex-nowrap z-50 w-full text-sm py-3 md:py-0"])},[g("nav",Ue,[g("div",We,[g("div",Ye,[g("a",$e,[g("img",{class:"max-w-[300px]",src:E.underSliderHeader?"/logos/ntspi-logo.svg":"/logos/white_ntspi_logo.svg",alt:""},null,8,Je)]),g("div",Ze,[g("button",{class:M([E.underSliderHeader?"text-black":"text-white","flex justify-center items-center w-9 h-9 text-sm font-semibold rounded-lg border border-gray-200 hover:bg-gray-100 hover:text-gray-800 disabled:opacity-50 disabled:pointer-events-none"]),type:"button","aria-haspopup":"dialog","aria-expanded":"false","aria-controls":"open-mobile-nav","data-hs-overlay":"#open-mobile-nav"},Qe,2)])]),g("div",Xe,[g("div",et,[g("div",tt,[(N(!0),T(ie,null,me(this.sections.data,W=>(N(),T("div",{key:W.id,class:"hs-dropdown [--strategy:static] md:[--strategy:absolute] [--adaptive:none] md:[--trigger:hover] py-3 md:py-6"},[g("button",{type:"button",class:M([E.underSliderHeader?"text-black":"text-white","duration-300 flex items-center w-full hover:text-primaryBlue font-medium hs-dropdown-open:mb-4 md:hs-dropdown-open:mb-0"])},[Ce(pe(W.title)+" ",1),it],2),g("div",nt,[g("div",rt,[(N(!0),T(ie,null,me(W.subSections,A=>(N(),T("div",{key:A.id,class:"md:col-span-3"},[g("div",ot,[g("div",at,[g("div",st,[g("span",lt,pe(A.title),1)]),(N(!0),T(ie,null,me(A.pages,j=>(N(),T("a",{key:j.id,class:M([{"text-[#135aae] hover:text-gray-800 font-semibold ":Z.isSameRoute(j.path),"text-gray-800 hover:text-[#2C6288]":!Z.isSameRoute(j.path)},"flex items-center gap-x-2"]),href:j.is_url?j.path:L.route("page.view",j.path)+"/"},[g("div",dt,[g("p",null,pe(j.title),1)])],10,ct))),128))])])]))),128))])])]))),128)),g("a",ut,[(N(),T("svg",{class:M([E.underSliderHeader?"text-black":"text-white","w-6 h-6 duration-300 md:block hidden"]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},ft,2)),g("span",{class:M([E.underSliderHeader?"text-black":"text-white","md:hidden"])},"Режим для слабовидящих",2)]),ge(ne,{href:L.route("client.schedule"),class:"hover:opacity-70 py-3"},{default:ze(()=>[(N(),T("svg",{class:M([E.underSliderHeader?"text-black":"text-white","w-6 h-6 duration-300 md:block hidden"]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},pt,2)),g("span",{class:M([E.underSliderHeader?"text-black":"text-white","md:hidden"])},"Расписание",2)]),_:1},8,["href"]),g("a",gt,[(N(),T("svg",{class:M([E.underSliderHeader?"text-black":"text-white","w-6 h-6 duration-300 md:block hidden"]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},yt,2)),g("span",{class:M([E.underSliderHeader?"text-black":"text-white","md:hidden"])},"Поиск",2)])])])])])])],6),ge(X,{sections:I.sections},null,8,["sections"]),ge(re,{open_id:"open-search-modal"})],64)}const Lt=Re(Ve,[["render",_t],["__scopeId","data-v-9053d4b2"]]);export{Lt as M}; diff --git a/public/build/assets/MainPageNavbar-DcM2ZJ6Y.js b/public/build/assets/MainPageNavbar-DcM2ZJ6Y.js new file mode 100644 index 0000000..318439a --- /dev/null +++ b/public/build/assets/MainPageNavbar-DcM2ZJ6Y.js @@ -0,0 +1,104 @@ +import{bT as Ae,i as qe,r as ve,o as M,c as R,b as g,n as G,h as He,F as te,d as fe,g as Ce,t as me,a as pe,w as ze,A as je}from"./app-C722ecVx.js";import{S as Fe,M as De,B as Ne,C as Pe}from"./SearchModal-72Hbiqqz.js";import{_ as Te}from"./_plugin-vue_export-helper-DlAUqK2U.js";var xe={exports:{}};/*! + * Button visually impaired - v1.0.0 https://bvi.isvek.ru + * Copyright 2014-2021 Oleg Korotenko . + * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) + */(function(B,k){(function(F,V){B.exports=V()})(Ae,function(){function F(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable})),t.push.apply(t,n)}return t}function V(a){for(var e=1;ea.length)&&(e=a.length);for(var t=0,n=new Array(e);t=0;--v){var l=this.tryEntries[v],E=l.completion;if(l.tryLoc==="root")return c("end");if(l.tryLoc<=this.prev){var A=_.call(l,"catchLoc"),D=_.call(l,"finallyLoc");if(A&&D){if(this.prev=0;--c){var v=this.tryEntries[c];if(v.tryLoc<=this.prev&&_.call(v,"finallyLoc")&&this.prev=0;--i){var c=this.tryEntries[i];if(c.finallyLoc===r)return this.complete(c.completion,c.afterLoc),ce(c),p}},catch:function(r){for(var i=this.tryEntries.length-1;i>=0;--i){var c=this.tryEntries[i];if(c.tryLoc===r){var v=c.completion;if(v.type==="throw"){var l=v.arg;ce(c)}return l}}throw new Error("illegal catch attempt")},delegateYield:function(r,i,c){return this.delegate={iterator:de(r),resultName:i,nextLoc:c},this.method==="next"&&(this.arg=n),p}},t}({});try{regeneratorRuntime=e}catch{(typeof globalThis>"u"?"undefined":O(globalThis))==="object"?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}})(),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach(function(a){a.hasOwnProperty("prepend")||Object.defineProperty(a,"prepend",{configurable:!0,enumerable:!0,writable:!0,value:function(){var e=Array.prototype.slice.call(arguments),t=document.createDocumentFragment();e.forEach(function(n){var s=n instanceof Node;t.appendChild(s?n:document.createTextNode(String(n)))}),this.insertBefore(t,this.firstChild)}})}),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach);var q=function(a){switch(a){case"on":case"true":case"1":return!0;default:return!1}},N=function(a,e,t){for(typeof e=="string"&&(e=document.createElement(e)),a.appendChild(e).className=t;a.firstChild!==e;)e.appendChild(a.firstChild)},re=function(a){var e=document.createDocumentFragment();if(a){for(;a.firstChild;){var t=a.removeChild(a.firstChild);e.appendChild(t)}a.parentNode.replaceChild(e,a)}},Y=function(a,e){Object.keys(a).forEach(function(t){typeof e=="function"&&e(t)})},oe=function(a,e){Array.from(a).forEach(function(t){typeof e=="function"&&e(t)})},U=function(){return window.speechSynthesis},y=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",t=new Date,n=t.getTime();n+=864e5,t.setTime(n),document.cookie="bvi_".concat(a,"=").concat(e,";path=/;expires=").concat(t.toUTCString(),";domain=").concat(location.host)},x=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";a="bvi_".concat(a,"=");for(var e=decodeURIComponent(document.cookie),t=e.split(";"),n=0;n0&&arguments[0]!==void 0?arguments[0]:"";document.cookie="bvi_".concat(a,"=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat(location.host)},ge={"ru-RU":{text:{fontSize:"Размер шрифта",siteColors:"Цвета сайта",images:"Изображения",speech:"Синтез речи",settings:"Настройки",regularVersionOfTheSite:"Обычная версия сайта",letterSpacing:"Межбуквенное расстояние",normal:"Стандартный",average:"Средний",big:"Большой",lineHeight:"Межстрочный интервал",font:"Шрифт",arial:"Без засечек",times:"С засечками",builtElements:"Встроенные элементы (Видео, карты и тд.)",on:"Включить",off:"Выключить",reset:"Сбросить настройки",plural_0:"пиксель",plural_1:"пекселя",plural_2:"пикселей"},voice:{fontSizePlus:"Размер шрифта увели́чен",fontSizeMinus:"Размер шрифта уме́ньшен",siteColorBlackOnWhite:"Цвет сайта черным по белому",siteColorWhiteOnBlack:"Цвет сайта белым по черному",siteColorDarkBlueOnBlue:"Цвет сайта тёмно-синим по голубому",siteColorBeigeBrown:"Цвет сайта кори́чневым по бе́жевому",siteColorGreenOnDarkBrown:"Цвет сайта зеленым по тёмно-коричневому",imagesOn:"Изображения включены",imagesOFF:"Изображения выключены",imagesGrayscale:"Изображения чёрно-белые",speechOn:"Синтез речи включён",speechOff:"Синтез речи вы́ключен",lineHeightNormal:"Межстрочный интервал стандартный",lineHeightAverage:"Межстрочный интервал средний",lineHeightBig:"Межстрочный интервал большой",LetterSpacingNormal:"Интервал между буквами стандартный",LetterSpacingAverage:"Интервал между буквами средний",LetterSpacingBig:"Интервал между буквами большой",fontArial:"Шрифт без засечек",fontTimes:"Шрифт с засечками",builtElementsOn:"Встроенные элементы включены",builtElementsOFF:"Встроенные элементы выключены",resetSettings:"Установлены настройки по умолча́нию",panelShow:"Панель открыта",panelHide:"Панель скрыта",panelOn:"Версия сайта для слабови́дящий",panelOff:"Обычная версия сайта"}},"en-US":{text:{fontSize:"Font size",siteColors:"Site colors",images:"Images",speech:"Speech synthesis",settings:"Settings",regularVersionOfTheSite:"Regular version Of The site",letterSpacing:"Letter spacing",normal:"Single",average:"One and a half",big:"Double",lineHeight:"Line spacing",font:"Font",arial:"Sans Serif - Arial",times:"Serif - Times New Roman",builtElements:"Include inline elements (Videos, maps, etc.)",on:"Enable",off:"Disabled",reset:"Reset settings",plural_0:"pixel",plural_1:"pixels",plural_2:"pixels"},voice:{fontSizePlus:"Font size increased",fontSizeMinus:"Font size reduced",siteColorBlackOnWhite:"Site color black on white",siteColorWhiteOnBlack:"Site color white on black",siteColorDarkBlueOnBlue:"Site color dark blue on cyan",siteColorBeigeBrown:"SiteColorBeigeBrown",siteColorGreenOnDarkBrown:"Site color green on dark brown",imagesOn:"Images enable",imagesOFF:"Images disabled",imagesGrayscale:"Images gray scale",speechOn:"Synthesis speech enable",speechOff:"Synthesis speech disabled",lineHeightNormal:"Line spacing single",lineHeightAverage:"Line spacing one and a half",lineHeightBig:"Line spacing double",LetterSpacingNormal:"Letter spacing single",LetterSpacingAverage:"Letter spacing one and a half",LetterSpacingBig:"Letter spacing letter double",fontArial:"Sans Serif - Arial",fontTimes:"Serif - Times New Roman",builtElementsOn:"Include inline elements are enabled",builtElementsOFF:"Include inline elements are disabled",resetSettings:"Default settings have been set",panelShow:"Panel show",panelHide:"Panel hide",panelOn:"Site version for visually impaired",panelOff:"Regular version of the site"}}},Le=function(){function a(e){J(this,a),this._config=e}return Q(a,[{key:"t",value:function(e){return ge[this._config.lang].text[e]}},{key:"v",value:function(e){return ge[this._config.lang].voice[e]}}]),a}(),be={target:".bvi-open",fontSize:16,theme:"white",images:"grayscale",letterSpacing:"normal",lineHeight:"normal",speech:!0,fontFamily:"arial",builtElements:!1,panelFixed:!0,panelHide:!1,reload:!1,lang:"ru-RU"},Be={target:"string",fontSize:"number",theme:"string",images:"(string|boolean)",letterSpacing:"string",lineHeight:"string",speech:"boolean",fontFamily:"string",builtElements:"boolean",panelFixed:"boolean",panelHide:"boolean",reload:"boolean",lang:"string"},Ee={target:"",fontSize:"(^[1-9]$|^[1-3][0-9]?$|^39$)",theme:"(white|black|blue|brown|green)",images:"(true|false|grayscale)",letterSpacing:"(normal|average|big)",lineHeight:"(normal|average|big)",speech:"(true|false)",fontFamily:"(arial|times)",builtElements:"(true|false)",panelFixed:"(true|false)",panelHide:"(true|false)",reload:"(true|false)",lang:"(ru-RU|en-US)"};return{Bvi:function(){function a(e){J(this,a),this._config=this._getConfig(e),this._elements=document.querySelectorAll(this._config.target),this._i18n=new Le({lang:this._config.lang}),this._addEventListeners(),this._init(),console.log("Bvi console: ready Button visually impaired v1.0.0")}return Q(a,[{key:"_init",value:function(){Y(this._config,function(e){x(e)===void 0&&ae("panelActive")}),q(x("panelActive"))?(this._set(),this._getPanel(),this._addEventListenersPanel(),this._images(),this._speechPlayer(),"speechSynthesis"in window&&q(x("speech"))&&setInterval(function(){if(U().pending===!1){var e=document.querySelectorAll(".bvi-speech-play"),t=document.querySelectorAll(".bvi-speech-pause"),n=document.querySelectorAll(".bvi-speech-resume"),s=document.querySelectorAll(".bvi-speech-stop"),_=function(o,w){o.forEach(function(f){return w(f)})};_(e,function(o){return o.classList.remove("disabled")}),_(t,function(o){return o.classList.add("disabled")}),_(n,function(o){return o.classList.add("disabled")}),_(s,function(o){return o.classList.add("disabled")})}},1e3)):this._remove()}},{key:"_addEventListeners",value:function(){var e=this;if(!this._elements)return!1;this._elements.forEach(function(t){t.addEventListener("click",function(n){n.preventDefault(),Y(e._config,function(s){return y(s,e._config[s])}),y("panelActive",!0),e._init(),e._speech("".concat(e._i18n.v("panelOn")))})})}},{key:"_addEventListenersPanel",value:function(){var e=this,t={fontSizeMinus:document.querySelector(".bvi-fontSize-minus"),fontSizePlus:document.querySelector(".bvi-fontSize-plus"),themeWhite:document.querySelector(".bvi-theme-white"),themeBlack:document.querySelector(".bvi-theme-black"),themeBlue:document.querySelector(".bvi-theme-blue"),themeBrown:document.querySelector(".bvi-theme-brown"),themeGreen:document.querySelector(".bvi-theme-green"),imagesOn:document.querySelector(".bvi-images-on"),imagesOff:document.querySelector(".bvi-images-off"),imagesGrayscale:document.querySelector(".bvi-images-grayscale"),speechOn:document.querySelector(".bvi-speech-on"),speechOff:document.querySelector(".bvi-speech-off"),lineHeightNormal:document.querySelector(".bvi-line-height-normal"),lineHeightAverage:document.querySelector(".bvi-line-height-average"),lineHeightBig:document.querySelector(".bvi-line-height-big"),letterSpacingNormal:document.querySelector(".bvi-letter-spacing-normal"),letterSpacingAverage:document.querySelector(".bvi-letter-spacing-average"),letterSpacingBig:document.querySelector(".bvi-letter-spacing-big"),fontFamilyArial:document.querySelector(".bvi-font-family-arial"),fontFamilyTimes:document.querySelector(".bvi-font-family-times"),builtElementsOn:document.querySelector(".bvi-built-elements-on"),builtElementsOff:document.querySelector(".bvi-built-elements-off"),reset:document.querySelector(".bvi-reset"),links:document.querySelectorAll(".bvi-link"),modal:document.querySelector(".bvi-modal")},n=function(o){var w,f=function(m,u){var d=typeof Symbol<"u"&&m[Symbol.iterator]||m["@@iterator"];if(!d){if(Array.isArray(m)||(d=function(p,P){if(p){if(typeof p=="string")return $(p,P);var L=Object.prototype.toString.call(p).slice(8,-1);return L==="Object"&&p.constructor&&(L=p.constructor.name),L==="Map"||L==="Set"?Array.from(p):L==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(L)?$(p,P):void 0}}(m))||u){d&&(m=d);var h=0,b=function(){};return{s:b,n:function(){return h>=m.length?{done:!0}:{done:!1,value:m[h++]}},e:function(p){throw p},f:b}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var H,z=!0,C=!1;return{s:function(){d=d.call(m)},n:function(){var p=d.next();return z=p.done,p},e:function(p){C=!0,H=p},f:function(){try{z||d.return==null||d.return()}finally{if(C)throw H}}}}(o.parentNode.children);try{for(f.s();!(w=f.n()).done;)w.value.classList.remove("active")}catch(m){f.e(m)}finally{f.f()}o.classList.add("active")},s=function(o,w){o.addEventListener("click",function(f){f.preventDefault(),typeof w=="function"&&w(f)})},_=function(){document.querySelectorAll(".bvi-link").forEach(function(o){o.classList.remove("active")}),Y(e._config,function(o){if(o==="theme"){var w=x(o);document.querySelector(".bvi-theme-".concat(w)).classList.add("active")}if(o==="images"){var f=x(o)==="grayscale"?"grayscale":q(x(o))?"on":"off";document.querySelector(".bvi-images-".concat(f)).classList.add("active")}if(o==="speech"){var m=q(x(o))?"on":"off";document.querySelector(".bvi-speech-".concat(m)).classList.add("active")}if(o==="lineHeight"){var u=x(o);document.querySelector(".bvi-line-height-".concat(u)).classList.add("active")}if(o==="letterSpacing"){var d=x(o);document.querySelector(".bvi-letter-spacing-".concat(d)).classList.add("active")}if(o==="fontFamily"){var h=x(o);document.querySelector(".bvi-font-family-".concat(h)).classList.add("active")}if(o==="builtElements"){var b=q(x(o))?"on":"off";document.querySelector(".bvi-built-elements-".concat(b)).classList.add("active")}})};_(),s(t.fontSizeMinus,function(){var o=parseFloat(x("fontSize"))-1;o!==0&&(e._setAttrDataBviBody("fontSize",o),y("fontSize",o),e._speech("".concat(e._i18n.v("fontSizeMinus"))),n(t.fontSizeMinus))}),s(t.fontSizePlus,function(){var o=parseFloat(x("fontSize"))+1;o!==40&&(e._setAttrDataBviBody("fontSize",o),y("fontSize",o),e._speech("".concat(e._i18n.v("fontSizePlus"))),n(t.fontSizePlus))}),s(t.themeWhite,function(){e._setAttrDataBviBody("theme","white"),y("theme","white"),e._speech("".concat(e._i18n.v("siteColorBlackOnWhite"))),n(t.themeWhite)}),s(t.themeBlack,function(){e._setAttrDataBviBody("theme","black"),y("theme","black"),e._speech("".concat(e._i18n.v("siteColorWhiteOnBlack"))),n(t.themeBlack)}),s(t.themeBlue,function(){e._setAttrDataBviBody("theme","blue"),y("theme","blue"),e._speech("".concat(e._i18n.v("siteColorDarkBlueOnBlue"))),n(t.themeBlue)}),s(t.themeBrown,function(){e._setAttrDataBviBody("theme","brown"),y("theme","brown"),e._speech("".concat(e._i18n.v("siteColorBeigeBrown"))),n(t.themeBrown)}),s(t.themeGreen,function(){e._setAttrDataBviBody("theme","green"),y("theme","green"),e._speech("".concat(e._i18n.v("siteColorGreenOnDarkBrown"))),n(t.themeGreen)}),s(t.imagesOn,function(){e._setAttrDataBviBody("images","true"),y("images","true"),e._speech("".concat(e._i18n.v("imagesOn"))),n(t.imagesOn)}),s(t.imagesOff,function(){e._setAttrDataBviBody("images","false"),y("images","false"),e._speech("".concat(e._i18n.v("imagesOFF"))),n(t.imagesOff)}),s(t.imagesGrayscale,function(){e._setAttrDataBviBody("images","grayscale"),y("images","grayscale"),e._speech("".concat(e._i18n.v("imagesGrayscale"))),n(t.imagesGrayscale)}),s(t.speechOn,function(){e._setAttrDataBviBody("speech","true"),y("speech","true"),e._speech("".concat(e._i18n.v("speechOn"))),n(t.speechOn),e._speechPlayer()}),s(t.speechOff,function(){e._speech("".concat(e._i18n.v("speechOff"))),e._setAttrDataBviBody("speech","false"),y("speech","false"),n(t.speechOff),e._speechPlayer()}),s(t.lineHeightNormal,function(){e._setAttrDataBviBody("lineHeight","normal"),y("lineHeight","normal"),e._speech("".concat(e._i18n.v("lineHeightNormal"))),n(t.lineHeightNormal)}),s(t.lineHeightAverage,function(){e._setAttrDataBviBody("lineHeight","average"),y("lineHeight","average"),e._speech("".concat(e._i18n.v("lineHeightAverage"))),n(t.lineHeightAverage)}),s(t.lineHeightBig,function(){e._setAttrDataBviBody("lineHeight","big"),y("lineHeight","big"),e._speech("".concat(e._i18n.v("lineHeightBig"))),n(t.lineHeightBig)}),s(t.letterSpacingNormal,function(){e._setAttrDataBviBody("letterSpacing","normal"),y("letterSpacing","normal"),e._speech("".concat(e._i18n.v("LetterSpacingNormal"))),n(t.letterSpacingNormal)}),s(t.letterSpacingAverage,function(){e._setAttrDataBviBody("letterSpacing","average"),y("letterSpacing","average"),e._speech("".concat(e._i18n.v("LetterSpacingAverage"))),n(t.letterSpacingAverage)}),s(t.letterSpacingBig,function(){e._setAttrDataBviBody("letterSpacing","big"),y("letterSpacing","big"),e._speech("".concat(e._i18n.v("LetterSpacingBig"))),n(t.letterSpacingBig)}),s(t.fontFamilyArial,function(){e._setAttrDataBviBody("fontFamily","arial"),y("fontFamily","arial"),e._speech("".concat(e._i18n.v("fontArial"))),n(t.fontFamilyArial)}),s(t.fontFamilyTimes,function(){e._setAttrDataBviBody("fontFamily","times"),y("fontFamily","times"),e._speech("".concat(e._i18n.v("fontTimes"))),n(t.fontFamilyTimes)}),s(t.builtElementsOn,function(){e._setAttrDataBviBody("builtElements","true"),y("builtElements","true"),e._speech("".concat(e._i18n.v("builtElementsOn"))),n(t.builtElementsOn)}),s(t.builtElementsOff,function(){e._setAttrDataBviBody("builtElements","false"),y("builtElements","false"),e._speech("".concat(e._i18n.v("builtElementsOFF"))),n(t.builtElementsOff)}),s(t.reset,function(){e._speech("".concat(e._i18n.v("resetSettings"))),Y(e._config,function(o){e._setAttrDataBviBody(o,e._config[o]),y(o,e._config[o]),_()})}),oe(t.links,function(o){s(o,function(w){var f=w.target.getAttribute("data-bvi");f==="close"&&(e._setAttrDataBviBody("panelActive","false"),y("panelActive","false"),e._init()),f==="modal"&&(document.body.style.overflow="hidden",document.body.classList.add("bvi-noscroll"),t.modal.classList.toggle("show")),f==="modal-close"&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show")),f==="panel-hide"&&(document.querySelector(".bvi-panel").classList.add("bvi-panel-hide"),document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-hide"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-show"),y("panelHide","true"),e._speech("".concat(e._i18n.v("panelHide")))),f==="panel-show"&&(document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-show"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-hide"),document.querySelector(".bvi-panel").classList.remove("bvi-panel-hide"),y("panelHide","false"),e._speech("".concat(e._i18n.v("panelShow"))))})}),s(t.modal,function(o){o.target.contains(t.modal)&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show"))})}},{key:"_getPanel",value:function(){var e=function(){var o=window.pageYOffset!==void 0?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;q(x("panelFixed"))&&(o>200?document.querySelector(".bvi-panel").classList.add("bvi-fixed-top"):document.querySelector(".bvi-panel").classList.remove("bvi-fixed-top"))},t=q(x("panelHide"))?" bvi-panel-hide":"",n=q(x("panelHide"))?"bvi-show":" bvi-hide",s=` +
+
+
+
`).concat(this._i18n.t("fontSize"),`
+ А- + А+ +
+
+
`).concat(this._i18n.t("siteColors"),`
+ Ц + Ц + Ц + Ц + Ц +
+
+
`).concat(this._i18n.t("images"),`
+ + + + + + + + + +
+
+
`).concat(this._i18n.t("speech"),`
+ + + + + + +
+
+
`).concat(this._i18n.t("settings"),`
+ + + + + `).concat(this._i18n.t("regularVersionOfTheSite"),` + + + + +
+
+
+
+
+
+
`).concat(this._i18n.t("settings"),`
+ × +
+ + +
+
+
+
`),_='')+'';window.addEventListener("scroll",e),document.querySelector(".bvi-body").insertAdjacentHTML("beforebegin",s),document.querySelector(".bvi-body").insertAdjacentHTML("afterbegin",_),e()}},{key:"_set",value:function(){var e=this;document.body.classList.add("bvi-active"),N(document.body,"div","bvi-body"),Y(this._config,function(t){return e._setAttrDataBviBody(t,x(t))}),oe(this._elements,function(t){return t.style.display="none"}),document.querySelectorAll("img").forEach(function(t){t.classList.contains("bvi-img")&&t.classList.remove("bvi-img")}),document.querySelectorAll("body *").forEach(function(t){t.classList.contains("bvi-background-image")&&t.classList.remove("bvi-background-image")})}},{key:"_remove",value:function(){var e=document.querySelector(".bvi-panel"),t=document.querySelector(".bvi-body"),n=document.querySelector(".bvi-link-fixed-top");e&&e.remove(),t&&re(t),n&&n.remove(),this._speech("".concat(this._i18n.v("panelOff"))),document.body.classList.remove("bvi-active"),oe(this._elements,function(s){return s.style.display=""}),q(x("reload"))&&document.location.reload(),Y(this._config,function(s){ae(s)}),this._speechPlayer(),ae("panelActive")}},{key:"_images",value:function(){document.querySelectorAll("img").forEach(function(e){e.classList.contains("bvi-no-style")||e.classList.add("bvi-img")}),document.querySelectorAll(".bvi-body *").forEach(function(e){var t=getComputedStyle(e);t.backgroundImage==="none"||t.background==="none"||e.classList.contains("bvi-no-style")||e.classList.add("bvi-background-image")})}},{key:"_getConfig",value:function(e){e=V(V({},be),e);var t={};for(var n in be)t[n]=e[n];return function(s,_,o){Object.keys(_).forEach(function(w){var f,m=_[w],u=s[w],d=u&&(f=u)&&O(f)==="object"&&f.nodeType!==void 0?"element":function(h){return h==null?"".concat(h):{}.toString.call(h).match(/\s([a-z]+)/i)[1].toLowerCase()}(u);if(!new RegExp(m).test(d))throw new TypeError('Bvi console: Опция "'.concat(w,'" предоставленный тип "').concat(d,'", ожидаемый тип "').concat(m,'".'))}),Object.keys(o).forEach(function(w){var f=o[w],m=s[w];if(!new RegExp(f).test(m))throw new TypeError('Bvi console: Опция "'.concat(w,'" параметр "').concat(m,'", ожидаемый параметр "').concat(f,'".'))})}(t,Be,Ee),t}},{key:"_setAttrDataBviBody",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";document.querySelector(".bvi-body").setAttribute("data-bvi-".concat(e),t)}},{key:"_speechPlayer",value:function(){var e=this,t=document.querySelectorAll(".bvi-speech-text"),n=document.querySelectorAll(".bvi-speech-link"),s=document.querySelectorAll(".bvi-speech");if("speechSynthesis"in window&&q(x("speech"))){if(s){t&&t.forEach(function(u){return re(u)}),n&&n.forEach(function(u){return u.remove()}),s.forEach(function(u,d){var h="bvi-speech-text-id-".concat(d+1);N(u,"div","bvi-speech-text ".concat(h)),u.insertAdjacentHTML("afterbegin",` + `)});var _=document.querySelectorAll(".bvi-speech-play"),o=document.querySelectorAll(".bvi-speech-pause"),w=document.querySelectorAll(".bvi-speech-resume"),f=document.querySelectorAll(".bvi-speech-stop"),m=function(u,d){u.forEach(function(h){h.addEventListener("click",function(b){if(b.preventDefault(),typeof d=="function")return d(h,b)},!1)})};m(_,function(u,d){var h=d.target,b=h.parentNode.nextElementSibling,H=d.target.closest(".bvi-speech-link"),z=document.querySelectorAll(".bvi-speech-play"),C=document.querySelectorAll(".bvi-speech-pause"),p=document.querySelectorAll(".bvi-speech-resume"),P=document.querySelectorAll(".bvi-speech-stop");e._speech(b.textContent,b,!0),z.forEach(function(L){return L.classList.remove("disabled")}),C.forEach(function(L){return L.classList.add("disabled")}),p.forEach(function(L){return L.classList.add("disabled")}),P.forEach(function(L){return L.classList.add("disabled")}),h.classList.add("disabled"),H.querySelector(".bvi-speech-pause").classList.remove("disabled"),H.querySelector(".bvi-speech-stop").classList.remove("disabled")}),m(o,function(u,d){var h=d.target,b=d.target.closest(".bvi-speech-link");h.classList.add("disabled"),b.querySelector(".bvi-speech-resume").classList.remove("disabled"),U().pause()}),m(w,function(u,d){var h=d.target,b=d.target.closest(".bvi-speech-link");h.classList.add("disabled"),b.querySelector(".bvi-speech-pause").classList.remove("disabled"),U().resume()}),m(f,function(u,d){var h=d.target,b=d.target.closest(".bvi-speech-link");h.classList.add("disabled"),b.querySelector(".bvi-speech-pause").classList.add("disabled"),b.querySelector(".bvi-speech-play").classList.remove("disabled"),U().cancel()})}}else t&&t.forEach(function(u){return re(u)}),n&&n.forEach(function(u){return u.remove()})}},{key:"_speech",value:function(e,t){var n=this,s=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if("speechSynthesis"in window&&q(x("speech"))){U().cancel();for(var _=function(d,h){d=String(d),h=Number(h)>>>0;var b=d.slice(0,h+1).search(/\S+$/),H=d.slice(h).search(/\s/);return H<0?d.slice(b):d.slice(b,H+h)},o=120,w=new RegExp("^[\\s\\S]{"+Math.floor(o/2)+","+o+"}[.!?,]{1}|^[\\s\\S]{1,"+o+"}$|^[\\s\\S]{1,"+o+"} "),f=[],m=e,u=U().getVoices();m.length>0;)f.push(m.match(w)[0]),m=m.substring(f[f.length-1].length);f.forEach(function(d){var h=new SpeechSynthesisUtterance(d.trim());h.volume=1,h.rate=1,h.pitch=1,h.lang=n._config.lang;for(var b=0;b]+>)*$1(<[^>]+>)*)"),P=new RegExp("("+p+")","gi");C=(C=C.replace(P,"$1")).replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1$2$4"),t.innerHTML=C},h.onend=function(H){t.classList.remove("bvi-highlighting");var z=t.textContent;z=z.replace(/($1<\/mark>)/,"$1"),t.innerHTML=z}),U().speak(h)})}}}]),a}()}})})(xe);var Me=xe.exports;const Re={name:"MainPageNavBar",components:{SearchModal:Fe,MobileNavbar:De,BaseIcon:Ne,ClientGlobalSearch:Pe,Link:qe},props:{sections:{type:Object},sliderRef:{type:HTMLDivElement,default:!0}},data(){return{scrollPosition:0,headerFilter:!1,underSliderHeader:this.sliderRef,bvi:null}},methods:{isSameRoute(B){if(B===this.$page.props.ziggy.location)return!0;const k=this.$page.props.ziggy.location,F=this.$page.props.ziggy.url+"/"+B;return k===F},hasActivePage(B){if(B.pages)return B.pages.some(k=>this.isSameRoute(k.path));if(B.subSections)return B.subSections.some(k=>this.hasActivePage(k))},handleScroll(){if(typeof this.sliderRef=="object"){const B=this.sliderRef;this.underSliderHeader=B.getBoundingClientRect().bottom<50,this.scrollPosition=window.pageYOffset,this.headerFilter=this.scrollPosition>90}else this.headerFilter=!0},getCookie(B){let k=document.cookie.split(";");for(let F=0;F