Changes
This commit is contained in:
@@ -28,7 +28,6 @@ export default {
|
||||
pageItem: () => import('@/Components/BuilderUi/Pages/Blocks/PageItemBlock.vue'),
|
||||
customForm: () => import('@/Components/BuilderUi/Pages/Blocks/FormBlock.vue')
|
||||
};
|
||||
|
||||
return defineAsyncComponent(componentMap[type] || null);
|
||||
},
|
||||
},
|
||||
|
||||
@@ -9,52 +9,28 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeadingBlock from "@/Components/BuilderUi/Events/Blocks/HeadingBlock.vue";
|
||||
import ParagraphBlock from "@/Components/BuilderUi/Events/Blocks/ParagraphBlock.vue";
|
||||
import ClientImageSlider from "@/Components/ClientImageSlider.vue";
|
||||
import ImageBlock from "@/Components/BuilderUi/Events/Blocks/ImageBlock.vue";
|
||||
import FileBlock from "@/Components/BuilderUi/Events/Blocks/FileBlock.vue";
|
||||
import PersonBlock from "@/Components/BuilderUi/Events/Blocks/PersonBlock.vue";
|
||||
import StepperBlock from "@/Components/BuilderUi/Events/Blocks/StepperBlock.vue";
|
||||
import VideoBlock from "@/Components/BuilderUi/Events/Blocks/VideoBlock.vue";
|
||||
import TabBlock from "@/Components/BuilderUi/Events/Blocks/TabBlock.vue";
|
||||
import PostListBlock from "@/Components/BuilderUi/Events/Blocks/PostListBlock.vue";
|
||||
import PageItemBlock from "@/Components/BuilderUi/Events/Blocks/PageItemBlock.vue";
|
||||
import PostItemBlock from "@/Components/BuilderUi/Events/Blocks/PostItemBlock.vue";
|
||||
|
||||
import {defineAsyncComponent} from "vue";
|
||||
|
||||
export default {
|
||||
name: "PostBuilder",
|
||||
components: {
|
||||
FileBlock,
|
||||
ImageBlock,
|
||||
ClientImageSlider,
|
||||
ParagraphBlock,
|
||||
HeadingBlock,
|
||||
PersonBlock,
|
||||
StepperBlock,
|
||||
VideoBlock,
|
||||
TabBlock,
|
||||
PostListBlock,
|
||||
PageItemBlock,
|
||||
PostItemBlock},
|
||||
methods: {
|
||||
getComponent(type) {
|
||||
const componentMap = {
|
||||
heading: 'HeadingBlock',
|
||||
paragraph: 'ParagraphBlock',
|
||||
images: 'ClientImageSlider',
|
||||
image: 'ImageBlock',
|
||||
files: 'FileBlock',
|
||||
person: 'PersonBlock',
|
||||
stepper: 'StepperBlock',
|
||||
video: 'VideoBlock',
|
||||
tabs: 'TabBlock',
|
||||
postsList: 'PostListBlock',
|
||||
postItem: 'PostItemBlock',
|
||||
pageItem: 'PageItemBlock',
|
||||
|
||||
heading: () => import('@/Components/BuilderUi/Posts/Blocks/HeadingBlock.vue'),
|
||||
paragraph: () => import('@/Components/BuilderUi/Posts/Blocks/ParagraphBlock.vue'),
|
||||
images: () => import('@/Components/ClientImageSlider.vue'),
|
||||
image: () => import('@/Components/BuilderUi/Posts/Blocks/ImageBlock.vue'),
|
||||
files: () => import('@/Components/BuilderUi/Posts/Blocks/FileBlock.vue'),
|
||||
person: () => import('@/Components/BuilderUi/Posts/Blocks/PersonBlock.vue'),
|
||||
stepper: () => import('@/Components/BuilderUi/Posts/Blocks/StepperBlock.vue'),
|
||||
video: () => import('@/Components/BuilderUi/Posts/Blocks/VideoBlock.vue'),
|
||||
tabs: () => import('@/Components/BuilderUi/Posts/Blocks/TabBlock.vue'),
|
||||
postsList: () => import('@/Components/BuilderUi/Posts/Blocks/PostListBlock.vue'),
|
||||
postItem: () => import('@/Components/BuilderUi/Posts/Blocks/PageItemBlock.vue'),
|
||||
pageItem: () => import('@/Components/BuilderUi/Posts/Blocks/PostItemBlock.vue'),
|
||||
};
|
||||
return componentMap[type] || null;
|
||||
return defineAsyncComponent(componentMap[type] || null);
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
<template>
|
||||
|
||||
|
||||
<div id="open-mobile-nav" class="hs-overlay hs-overlay-open 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 z-[80] bg-white border-e" role="dialog" tabindex="-1" aria-labelledby="open-mobile-nav-label">
|
||||
<div class="flex justify-between items-center py-3 px-4 border-b">
|
||||
<img class="max-w-[75px] p-2"
|
||||
@@ -109,10 +107,9 @@
|
||||
<script>
|
||||
|
||||
import {Link} from "@inertiajs/vue3";
|
||||
import axios from "axios";
|
||||
import ClientGlobalSearch from "@/Components/ClientGlobalSearch.vue";
|
||||
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
|
||||
import jsonIcons from "@/Components/other/icons.json";
|
||||
import {defineAsyncComponent} from "vue";
|
||||
|
||||
|
||||
export default {
|
||||
@@ -130,7 +127,9 @@ export default {
|
||||
},
|
||||
components: {
|
||||
BaseIcon,
|
||||
ClientGlobalSearch,
|
||||
ClientGlobalSearch: defineAsyncComponent(() =>
|
||||
import('@/Components/ClientGlobalSearch.vue')
|
||||
),
|
||||
Link,
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -4,36 +4,40 @@
|
||||
<meta name="description" content="Your page description">
|
||||
</Head>
|
||||
|
||||
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
|
||||
|
||||
<div class="flex flex-col h-screen justify-between">
|
||||
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
|
||||
<div class="max-w-[50rem] flex flex-col mx-auto size-full">
|
||||
<!-- ========== HEADER ========== -->
|
||||
<!-- ========== END HEADER ========== -->
|
||||
|
||||
|
||||
<div class="max-w-[50rem] flex flex-col mx-auto size-full">
|
||||
<!-- ========== HEADER ========== -->
|
||||
<!-- ========== END HEADER ========== -->
|
||||
|
||||
<!-- ========== MAIN CONTENT ========== -->
|
||||
<main class="mt-[67px]" id="content">
|
||||
<div class="text-center py-10 px-4 sm:px-6 lg:px-8">
|
||||
<h1 class="block text-7xl font-bold text-gray-800 sm:text-9xl">{{ title }}</h1>
|
||||
<p class="mt-3 text-gray-600">Упс! Что-то пошло не так.</p>
|
||||
<p class="text-gray-600">{{ description }}</p>
|
||||
<div class="mt-5 flex flex-col justify-center items-center gap-2 sm:flex-row sm:gap-3">
|
||||
<a :href="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" href="../examples.html">
|
||||
<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"><path d="m15 18-6-6 6-6"/></svg>
|
||||
На домашнюю страницу
|
||||
</a>
|
||||
<!-- ========== MAIN CONTENT ========== -->
|
||||
<main class="my-auto" id="content">
|
||||
<div class="text-center py-10 px-4 sm:px-6 lg:px-8">
|
||||
<h1 class="block text-7xl font-bold text-gray-800 sm:text-9xl">{{ title }}</h1>
|
||||
<p class="text-gray-600">{{ description }}</p>
|
||||
<div class="mt-5 flex flex-col justify-center items-center gap-2 sm:flex-row sm:gap-3">
|
||||
<a :href="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" href="../examples.html">
|
||||
<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"><path d="m15 18-6-6 6-6"/></svg>
|
||||
На домашнюю страницу
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
<!-- ========== FOOTER ========== -->
|
||||
<!-- ========== FOOTER ========== -->
|
||||
|
||||
<!-- ========== END FOOTER ========== -->
|
||||
<!-- ========== END FOOTER ========== -->
|
||||
</div>
|
||||
|
||||
<ClientFooterDown />
|
||||
</div>
|
||||
|
||||
<ClientFooterDown />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +56,29 @@ import {defineComponent} from "vue";
|
||||
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
|
||||
|
||||
export default defineComponent({
|
||||
components: {MainPageNavBar}
|
||||
components: {ClientFooterDown, MainPageNavBar},
|
||||
props: {
|
||||
status: Number,
|
||||
},
|
||||
computed: {
|
||||
title() {
|
||||
return {
|
||||
503: '503',
|
||||
500: '500',
|
||||
404: '404',
|
||||
403: '403',
|
||||
}[this.status]
|
||||
},
|
||||
description() {
|
||||
return {
|
||||
503: 'Простите, мы проводим технические работы на странице.',
|
||||
500: 'Упс, проблема на стороне сервера. Мы уже решаем проблему!',
|
||||
404: 'Упс, страница не найдена!',
|
||||
403: 'Извините, у вас нет доступа к этой секции.',
|
||||
}[this.status]
|
||||
},
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user