diff --git a/app/Filament/Components/Forms/ItemForm/Pages/ContentBuilderItem.php b/app/Filament/Components/Forms/ItemForm/Pages/ContentBuilderItem.php
index ccdad15..b5cea3a 100644
--- a/app/Filament/Components/Forms/ItemForm/Pages/ContentBuilderItem.php
+++ b/app/Filament/Components/Forms/ItemForm/Pages/ContentBuilderItem.php
@@ -6,6 +6,7 @@ use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Helpers\ByteConverter;
use App\Models\Category;
+use App\Models\ContactWidget;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\PageReferenceList;
@@ -407,6 +408,13 @@ class ContentBuilderItem
->searchable()
->required(),
])->label('Ресурсы'),
+ Builder\Block::make('contact')
+ ->schema([
+ Select::make('contact')
+ ->options(ContactWidget::query()->where('is_active', true)->pluck('title', 'slug'))
+ ->searchable()
+ ->required(),
+ ])->label('Контакты'),
])
->collapsed()
->blockNumbers(false)
diff --git a/app/Http/Controllers/ClientWidgetContactController.php b/app/Http/Controllers/ClientWidgetContactController.php
new file mode 100644
index 0000000..7727195
--- /dev/null
+++ b/app/Http/Controllers/ClientWidgetContactController.php
@@ -0,0 +1,16 @@
+where('slug', $slug)->first());
+ }
+}
diff --git a/app/Http/Resources/ClientContactWidgetResource.php b/app/Http/Resources/ClientContactWidgetResource.php
new file mode 100644
index 0000000..1477d59
--- /dev/null
+++ b/app/Http/Resources/ClientContactWidgetResource.php
@@ -0,0 +1,19 @@
+
+ */
+ public function toArray(Request $request): array
+ {
+ return parent::toArray($request);
+ }
+}
diff --git a/resources/js/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue b/resources/js/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue
index 41b1390..17256e1 100644
--- a/resources/js/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue
+++ b/resources/js/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue
@@ -41,6 +41,7 @@ export default {
pageItem: () => import('@/Components/BuilderUi/Pages/Blocks/PageItemBlock.vue'),
customForm: () => import('@/Components/BuilderUi/Pages/Blocks/FormBlock.vue'),
pageResourceList: () => import('@/Components/BuilderUi/Pages/Blocks/PageResourceList.vue'),
+ contact: () => import('@/Components/BaseComponents/BaseBuilderUi/Blocks/Contacts/ContactSectionBlock.vue'),
};
// Создайте массив промисов для загрузки всех компонентов
@@ -66,6 +67,7 @@ export default {
pageItem: () => import('@/Components/BuilderUi/Pages/Blocks/PageItemBlock.vue'),
customForm: () => import('@/Components/BuilderUi/Pages/Blocks/FormBlock.vue'),
pageResourceList: () => import('@/Components/BuilderUi/Pages/Blocks/PageResourceList.vue'),
+ contact: () => import('@/Components/BaseComponents/BaseBuilderUi/Blocks/Contacts/ContactSectionBlock.vue'),
};
return defineAsyncComponent(componentMap[type] || null);
},
diff --git a/resources/js/Components/BaseComponents/BaseBuilderUi/Blocks/Contacts/ContactGroup.vue b/resources/js/Components/BaseComponents/BaseBuilderUi/Blocks/Contacts/ContactGroup.vue
new file mode 100644
index 0000000..ed0d882
--- /dev/null
+++ b/resources/js/Components/BaseComponents/BaseBuilderUi/Blocks/Contacts/ContactGroup.vue
@@ -0,0 +1,37 @@
+
+
+
+ {{ detail.content }}
+
+
+ {{ detail.content }}
+
+ {{ title }}
+ {{ item.header }}
+
We've helped some great companies brand, design and get to market.
+We've helped some great companies brand, design and get to market.
We've helped some great companies brand, design and get to market.
+Список структурных и административных отделов НТГСПИ
We've helped some great companies brand, design and get to market.
+Информация о наших факультетах и кафедрах
{{ educations.additional_education.educations_count }}
Программ
@@ -167,58 +167,7 @@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
-