This commit is contained in:
f4ilji
2024-11-01 00:38:22 +05:00
parent cf5ef14736
commit db9849e3f4
97 changed files with 4207 additions and 906 deletions
+1 -1
View File
@@ -20,7 +20,7 @@
</template>
<script>
import { debounce } from "lodash/function.js";
import { debounce } from "lodash";
export default {
name: "AdminIndexSearch",
@@ -115,7 +115,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -93,7 +93,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -62,7 +62,6 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import CategoryFilter from "@/Components/BuilderUi/Events/Filters/CategoryFilter.vue";
import TagFilter from "@/Components/BuilderUi/Events/Filters/TagFilter.vue";
@@ -26,7 +26,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "BudgetFilter",
components: {
@@ -26,7 +26,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "CategoryFilter",
components: {
@@ -26,7 +26,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "FormEducationalFilter",
components: {
@@ -10,7 +10,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "LevelEduFilter",
components: {
@@ -17,7 +17,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "SortingByFilter",
components: {
@@ -137,7 +137,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -93,7 +93,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -115,7 +115,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -93,7 +93,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -1,5 +1,5 @@
<template>
<span v-if="this.filter.value !== null" 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">
<span v-if="filter.value !== null" 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">
{{ (filter.value.length > 1) ? filter.value.length + ' категории' : filter.content[filter.value[0]].data.title }}
<button @click.prevent="clearFilter" 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">
<span class="sr-only">Remove badge</span>
@@ -1,5 +1,5 @@
<template>
<span v-if="this.filter.value !== null" 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">
<span v-if="filter.value !== null" 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">
Поиск: {{ filter.value }}
<button @click.prevent="clearFilter" 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">
<span class="sr-only">Remove badge</span>
@@ -1,5 +1,5 @@
<template>
<span v-if="this.filter.value !== null" 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">
<span v-if="filter.value !== null" 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">
{{ (filter.value.length > 1) ? 'Тэг: ' + filter.value.length + ' значений' : '#' + JSON.parse(filter.content[filter.value].data.name).ru }}
<button @click.prevent="clearFilter" 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">
<span class="sr-only">Remove badge</span>
@@ -1,6 +1,6 @@
<template>
<Link :href="route(this.link)" class="inline-flex items-center gap-x-1.5 text-sm text-gray-600 decoration-2 hover:underline dark:text-blue-500">
<Link :href="route(link)" class="inline-flex items-center gap-x-1.5 text-sm text-gray-600 decoration-2 hover:underline dark:text-blue-500">
<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>
{{ title }}
</Link>
@@ -44,7 +44,7 @@
</Link>
</li>
<li class="text-sm">
<Link :href="this.$inertia.page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<Link :href="$page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -74,7 +74,7 @@
</Link>
</li>
<li class="text-sm">
<Link :href="this.$inertia.page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<Link :href="$page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -115,7 +115,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -94,7 +94,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -27,7 +27,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "CategoryFilter",
components: {
@@ -19,7 +19,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "IsOnlineFilter",
components: {
@@ -2,7 +2,7 @@
<div class="min-w-[12rem] py-1 space-y-3">
<h3 class="font-medium text-gray-900 text-sm mb-2">Сортировать по</h3>
<div>
<select @change="filter" v-model="sortOrder" 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">
<select @change="filter()" v-model="sortOrder" 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">
<option value="desc">Дате (Сначала новые)</option>
<option value="asc">Дате (Сначала старые)</option>
</select>
@@ -17,7 +17,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "SortingByFilter",
components: {
@@ -27,7 +27,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "TagFilter",
components: {
@@ -115,7 +115,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -93,7 +93,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -11,36 +11,36 @@
</Link>
</li>
<li v-if="breadcrumbs.mainSection" class="text-sm">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSectionClick(this.breadcrumbs.mainSection)">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSectionClick(breadcrumbs.mainSection)">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.mainSection.data.title, 25) }}
{{ textLimit(breadcrumbs.mainSection.data.title, 25) }}
</span>
</li>
<li v-if="breadcrumbs.subSection" class="text-sm">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSubSectionClick(this.breadcrumbs.mainSection, this.breadcrumbs.subSection)">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSubSectionClick(breadcrumbs.mainSection, breadcrumbs.subSection)">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.subSection.data.title, 25) }}
{{ textLimit(breadcrumbs.subSection.data.title, 25) }}
</span>
</li>
<li class="text-sm">
<Link :href="route('page.view', this.breadcrumbs.page.data.path)" class="flex items-center text-gray-500 hover:text-primaryBlue">
<Link :href="route('page.view', breadcrumbs.page.data.path)" class="flex items-center text-gray-500 hover:text-primaryBlue">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.page.data.title, 25) }}
{{ textLimit(breadcrumbs.page.data.title, 25) }}
</Link>
</li>
</ol>
@@ -52,14 +52,14 @@
</Link>
</li>
<li class="text-sm">
<Link :href="route('page.view', this.breadcrumbs.page.data.path)" class="flex items-center text-gray-500 hover:text-primaryBlue">
<Link :href="route('page.view', breadcrumbs.page.data.path)" class="flex items-center text-gray-500 hover:text-primaryBlue">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.page.data.title, 25) }}
{{ textLimit(breadcrumbs.page.data.title, 25) }}
</Link>
</li>
</ol>
@@ -93,7 +93,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -1,12 +1,12 @@
<template>
<div class="sticky top-[100px] hidden h-[calc(100vh-121px)] max-w-[20%] min-w-[20%] md:flex md:shrink-0 md:flex-col md:justify-between">
<nav v-if="this.subSectionPages"
<nav v-if="subSectionPages"
class="styled-scrollbar flex h-[calc(100vh-200px)] flex-col overflow-y-scroll pr-2 pb-4">
<div class="text-gray-1000 mb-2 text-md font-medium">{{ currentSection }}</div>
<div class="flex gap-x-1">
<ul class="px-0.5 last-of-type:mb-0 mb-8">
<li v-for="page in this.subSectionPages.data" :key="page.id" class="my-1.5 flex">
<li v-for="page in subSectionPages.data" :key="page.id" class="my-1.5 flex">
<a :class="{'text-white font-semibold bg-primaryBlue': isSameRoute(page.path), 'text-gray-600 hover:text-[#2C6288]': !isSameRoute(page.path) }"
:href="(page.is_url) ? page.path : route('page.view', page.path) + '/'"
class="relative duration-300 flex gap-x-1 w-full rounded-md cursor-pointer items-center px-2 py-1 text-left text-sm">
@@ -1,5 +1,5 @@
<template>
<span v-if="this.filter.value !== null" 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">
<span v-if="filter.value !== null" 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">
Поиск: {{ filter.value }}
<button @click.prevent="clearFilter" 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">
<span class="sr-only">Remove badge</span>
@@ -27,7 +27,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "CategoryFilter",
components: {
@@ -17,7 +17,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "SortingByFilter",
components: {
@@ -27,7 +27,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "TagFilter",
components: {
@@ -11,25 +11,25 @@
</Link>
</li>
<li v-if="breadcrumbs.mainSection" class="text-sm">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSectionClick(this.breadcrumbs.mainSection)">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSectionClick(breadcrumbs.mainSection)">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.mainSection.data.title, 25) }}
{{ textLimit(breadcrumbs.mainSection.data.title, 25) }}
</span>
</li>
<li v-if="breadcrumbs.subSection" class="text-sm">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSubSectionClick(this.breadcrumbs.mainSection, this.breadcrumbs.subSection)">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSubSectionClick(breadcrumbs.mainSection, breadcrumbs.subSection)">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.subSection.data.title, 25) }}
{{ textLimit(breadcrumbs.subSection.data.title, 25) }}
</span>
</li>
<li class="text-sm">
@@ -1,6 +1,6 @@
<template>
<Link :href="route(this.link)" class="inline-flex items-center gap-x-1.5 text-sm text-gray-600 decoration-2 hover:underline dark:text-blue-500">
<Link :href="route(link)" class="inline-flex items-center gap-x-1.5 text-sm text-gray-600 decoration-2 hover:underline dark:text-blue-500">
<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>
{{ title }}
</Link>
@@ -11,25 +11,25 @@
</Link>
</li>
<li v-if="breadcrumbs.mainSection" class="text-sm">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSectionClick(this.breadcrumbs.mainSection)">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSectionClick(breadcrumbs.mainSection)">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.mainSection.data.title, 25) }}
{{ textLimit(breadcrumbs.mainSection.data.title, 25) }}
</span>
</li>
<li v-if="breadcrumbs.subSection" class="text-sm">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSubSectionClick(this.breadcrumbs.mainSection, this.breadcrumbs.subSection)">
<span class="flex items-center text-gray-500 hover:text-primaryBlue cursor-pointer" @click.prevent="handleSubSectionClick(breadcrumbs.mainSection, breadcrumbs.subSection)">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 1L10.6869 7.16086C10.8637 7.35239 10.8637 7.64761 10.6869 7.83914L5 14"
stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
{{ textLimit(this.breadcrumbs.subSection.data.title, 25) }}
{{ textLimit(breadcrumbs.subSection.data.title, 25) }}
</span>
</li>
<li class="text-sm">
@@ -43,8 +43,9 @@
{{ textLimit('Новости', 30) }}
</Link>
</li>
<li class="text-sm">
<Link :href="this.$inertia.page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<Link :href="$page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<svg class="flex-shrink-0 mx-2 overflow-visible h-2.5 w-2.5 text-gray-400"
width="16" height="16"
viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -80,7 +81,7 @@
</Link>
</li>
<li class="text-sm">
<Link :href="this.$inertia.page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
<Link :href="$inertia.page.props.ziggy.location" class="flex items-center text-gray-500 hover:text-blue-600">
{{ postTitle }}
</Link>
</li>
@@ -90,7 +91,6 @@
</div>
</div>
</template>
<script>
@@ -115,7 +115,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -191,6 +194,7 @@ export default {
props: {
breadcrumbs: {
type: Object,
default: () => ({}), // Default to an empty object
},
postTitle: {
type: String,
@@ -77,7 +77,7 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import CategoryFilter from "@/Components/BuilderUi/Events/Filters/CategoryFilter.vue";
import TagFilter from "@/Components/BuilderUi/Events/Filters/TagFilter.vue";
@@ -26,7 +26,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "BudgetFilter",
components: {
@@ -26,7 +26,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "DirectionFilter",
components: {
@@ -26,7 +26,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "FormEducationalFilter",
components: {
@@ -10,7 +10,8 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "LevelEduFilter",
components: {
@@ -17,7 +17,7 @@ import slugify from "slugify";
import SearchBadge from "@/Components/BuilderUi/Events/Badges/SearchBadge.vue";
import CategoryBadge from "@/Components/BuilderUi/Events/Badges/CategoryBadge.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "SortingByFilter",
components: {
@@ -115,7 +115,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -93,7 +93,10 @@ export default {
return text
},
isMobileDevice() {
return window.innerWidth < 1024; // Задайте порог для мобильных устройств
if (typeof window !== 'undefined') {
return window.innerWidth < 1024; // Проверка на мобильные устройства
}
return false; // По умолчанию возвращаем false, когда не в браузере
},
handleSectionClick(breadcrumb) {
if (this.isMobileDevice()) {
@@ -50,7 +50,6 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import CategoryFilter from "@/Components/BuilderUi/Events/Filters/CategoryFilter.vue";
import TagFilter from "@/Components/BuilderUi/Events/Filters/TagFilter.vue";
@@ -54,7 +54,7 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
import {Link} from "@inertiajs/vue3";
import {Inertia} from "@inertiajs/inertia";
import ResultList from "@/Components/Search/ResultList.vue";
+15 -8
View File
@@ -40,11 +40,11 @@
</button>
<div class="flex space-x-3 w-[100px] items-center font-semibold text-xl">
<span>{{ this.currentIndex + 1 }}</span>
<div 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">
<span>{{ currentIndex + 1 }}</span>
<div 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">
<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="{ 'width': `${percentage}%` }"></div>
</div>
<span> {{ slidersCarousel.data.length }}</span>
<span>{{ slidersCarousel.data.length }}</span>
</div>
<button @click="next" class="bg-gray-200 w-8 h-8 hover:bg-gray-300 text-gray-800 font-bold rounded-full">
@@ -65,6 +65,7 @@ export default {
props: {
slidersCarousel: {
type: Object,
required: true, // Убедитесь, что пропс передан
},
},
data() {
@@ -77,17 +78,21 @@ export default {
},
computed: {
totalSlides() {
return this.slidersCarousel.data.length;
return this.slidersCarousel && this.slidersCarousel.data ? this.slidersCarousel.data.length : 0;
},
},
methods: {
next() {
this.currentIndex = (this.currentIndex + 1) % this.totalSlides;
this.resetTimer();
if (this.totalSlides > 0) {
this.currentIndex = (this.currentIndex + 1) % this.totalSlides;
this.resetTimer();
}
},
prev() {
this.currentIndex = (this.currentIndex - 1 + this.totalSlides) % this.totalSlides;
this.resetTimer();
if (this.totalSlides > 0) {
this.currentIndex = (this.currentIndex - 1 + this.totalSlides) % this.totalSlides;
this.resetTimer();
}
},
progressStatus() {
if (this.percentage >= 100) {
@@ -133,3 +138,5 @@ export default {
transform: translateY(30px);
}
</style>
Найти еще
+1 -1
View File
@@ -99,7 +99,7 @@ export default {
props: {
post: {
type: Array,
type: Object,
},
},
}
@@ -66,7 +66,6 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import CategoryFilter from "@/Components/BuilderUi/Events/Filters/CategoryFilter.vue";
import TagFilter from "@/Components/BuilderUi/Events/Filters/TagFilter.vue";
+1 -1
View File
@@ -20,7 +20,7 @@
</template>
<script>
import { debounce } from "lodash/function.js";
import { debounce } from "lodash";
export default {
name: "AdminIndexSearch",
@@ -77,7 +77,7 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import CategoryFilter from "@/Components/BuilderUi/Events/Filters/CategoryFilter.vue";
import TagFilter from "@/Components/BuilderUi/Events/Filters/TagFilter.vue";
@@ -20,7 +20,7 @@
</template>
<script>
import { debounce } from "lodash/function.js";
import { debounce } from "lodash";
export default {
name: "AdminIndexSearch",
@@ -14,15 +14,15 @@
import {Link} from "@inertiajs/vue3";
import axios from "axios";
import ClientGlobalSearch from "@/Components/ClientGlobalSearch.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import {defineAsyncComponent} from "vue";
export default {
name: 'SearchModal',
props: {
open_id: {
type: Object,
type: String,
}
},
@@ -31,7 +31,9 @@ export default {
},
components: {
BaseIcon,
ClientGlobalSearch,
ClientGlobalSearch: defineAsyncComponent(() =>
import('@/Components/ClientGlobalSearch.vue')
),
Link,
},
methods: {
@@ -14,7 +14,7 @@
</template>
<script>
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
export default {
name: "CategorySearchList",
+46 -43
View File
@@ -5,59 +5,63 @@
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">
<div
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">
<template v-for="section in this.sections.data" :key="section.id">
<div
:id="'nav-section-' + section.slug"
class="hs-dropdown [--strategy:static] md:[--strategy:absolute] [--adaptive:none] md:[--trigger:hover] py-3 md:py-6">
<button
:id="'nav-section-btn-' + section.slug"
type="button" :class="!underSliderHeader ? 'text-white' : 'text-black'"
class="duration-300 flex items-center w-full hover:text-primaryBlue font-medium hs-dropdown-open:mb-4 md:hs-dropdown-open:mb-0">
{{ section.title }}
<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">
<path d="m6 9 6 6 6-6"/>
</svg>
</button>
<template v-if="sections && sections.data">
<template v-for="section in sections.data" :key="section.id">
<div
:id="'nav-section-menu-' + section.slug"
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">
<div class="grid px-5 grid-cols-1 md:grid-cols-10">
:id="'nav-section-' + section.slug"
class="hs-dropdown [--strategy:static] md:[--strategy:absolute] [--adaptive:none] md:[--trigger:hover] py-3 md:py-6">
<button
:id="'nav-section-btn-' + section.slug"
type="button"
:class="!underSliderHeader ? 'text-white' : 'text-black'"
class="duration-300 flex items-center w-full hover:text-primaryBlue font-medium hs-dropdown-open:mb-4 md:hs-dropdown-open:mb-0">
{{ section.title }}
<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">
<path d="m6 9 6 6 6-6"/>
</svg>
</button>
<div
:id="'nav-section-menu-' + section.slug"
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">
<div class="grid px-5 grid-cols-1 md:grid-cols-10">
<template v-for="subsection in section.subSections" :key="subsection.id">
<div :id="'nav-sub-section-block-' + subsection.slug" class="md:col-span-3">
<div class="flex flex-col py-4 px-3 md:px-6">
<div class="space-y-4">
<div class="flex items-center mb-2 gap-x-2">
<span
:id="'nav-sub-section-title-' + subsection.slug"
class="text-xs font-bold uppercase text-gray-800 dark:text-gray-200">
{{ subsection.title }}
</span>
<template v-for="subsection in section.subSections" :key="subsection.id">
<div :id="'nav-sub-section-block-' + subsection.slug" class="md:col-span-3">
<div class="flex flex-col py-4 px-3 md:px-6">
<div class="space-y-4">
<div class="flex items-center mb-2 gap-x-2">
<span
:id="'nav-sub-section-title-' + subsection.slug"
class="text-xs font-bold uppercase text-gray-800 dark:text-gray-200">
{{ subsection.title }}
</span>
</div>
<template v-for="page in subsection.pages" :key="page.id">
<a
:class="{ 'text-[#135aae] hover:text-gray-800 font-semibold': isSameRoute(page.path), 'text-gray-800 hover:text-[#2C6288]': !isSameRoute(page.path) }"
class="flex items-center gap-x-2"
:href="(page.is_url) ? page.path : route('page.view', page.path) + '/'">
<div class="grow">
<p>{{ page.title }}</p>
</div>
</a>
</template>
</div>
<template v-for="page in subsection.pages" :key="page.id">
<a :class="{'text-[#135aae] hover:text-gray-800 font-semibold ' : isSameRoute(page.path), 'text-gray-800 hover:text-[#2C6288]' : !isSameRoute(page.path) }"
class="flex items-center gap-x-2"
:href="(page.is_url) ? page.path : route('page.view', page.path) + '/'">
<div class="grow">
<p>{{ page.title }}</p>
</div>
</a>
</template>
</div>
</div>
</div>
</template>
</template>
</div>
</div>
</div>
</div>
</template>
</template>
<a href="#" class="hover:opacity-70 py-3 className">
<svg :class="!underSliderHeader ? 'text-white' : 'text-black'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
stroke="currentColor"
@@ -111,7 +115,6 @@ export default {
type: Object,
},
underSliderHeader: {
type: HTMLDivElement,
}
},
+4 -2
View File
@@ -123,10 +123,10 @@
import {Link} from "@inertiajs/vue3";
import axios from "axios";
import ClientGlobalSearch from "@/Components/ClientGlobalSearch.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import MobileNavbar from "@/Navbars/MobileNavbar.vue";
import SearchModal from "@/Components/Modals/SearchModal.vue";
import {defineAsyncComponent} from "vue";
export default {
@@ -144,7 +144,9 @@ export default {
SearchModal,
MobileNavbar,
BaseIcon,
ClientGlobalSearch,
ClientGlobalSearch: defineAsyncComponent(() =>
import('@/Components/ClientGlobalSearch.vue')
),
Link,
},
methods: {
+13 -26
View File
@@ -38,14 +38,13 @@
</div>
</div>
<div>
<DesktopNavBar :sections="sections" :under-slider-header="underSliderHeader" />
<DesktopNavBar v-if="sections" :sections="sections" :under-slider-header="underSliderHeader" />
</div>
</div>
</nav>
</header>
<MobileNavbar :sections="sections" />
<MobileNavbar v-if="sections" :sections="sections" />
<SearchModal open_id="open-search-modal" />
@@ -57,7 +56,7 @@
import {Link} from "@inertiajs/vue3";
import axios from "axios";
import ClientGlobalSearch from "@/Components/ClientGlobalSearch.vue";
import * as isvek from "bvi"
// import * as isvek from "bvi"
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
import MobileNavbar from "@/Navbars/MobileNavbar.vue";
import SearchModal from "@/Components/Modals/SearchModal.vue";
@@ -79,7 +78,6 @@ export default {
type: Object,
},
sliderRef: {
type: HTMLDivElement,
default: true
},
},
@@ -123,15 +121,6 @@ export default {
return section.subSections.some(subSection => this.hasActivePage(subSection));
}
// // Проверяем наличие активной страницы в подсекциях
// const hasActiveInSubSections = section.subSections && section.subSections.some(subSection => this.hasActivePage(subSection));
//
// console.log(hasActiveInSubSections)
//
//
// return hasActiveInPages || hasActiveInSubSections;
},
handleScroll() {
@@ -159,21 +148,19 @@ export default {
},
mounted() {
window.addEventListener('scroll', this.handleScroll)
window.addEventListener('scroll', this.checkSlider)
if (this.getCookie('bvi_panelActive') === null) {
this.bvi = new isvek.Bvi({
target: '.className',
fontSize: 24,
theme: 'black',
speech: false,
reload: true,
//...etc
});
}
// if (this.getCookie('bvi_panelActive') === null) {
// this.bvi = new isvek.Bvi({
// target: '.className',
// fontSize: 24,
// theme: 'black',
// speech: false,
// reload: true,
// //...etc
// });
// }
},
beforeDestroy() {
window.removeEventListener('scroll', this.handleScroll)
window.removeEventListener('scroll', this.checkSlider)
},
computed: {
currentLogo() {
@@ -127,13 +127,13 @@ export default {
</div>
<div class="px-2 mx-auto">
<div class="flex-wrap flex gap-3 md:items-center">
<ProgramBadge :filters="this.filters" />
<ProgramBadge :filters="filters" />
</div>
</div>
</div>
<div class="container py-5 lg:py-4">
<div class="w-full mx-auto flex flex-wrap lg:justify-between">
<template v-for="educations in transformToColumns(this.additionalEducations.data)">
<template v-for="educations in transformToColumns(additionalEducations.data)">
<div class="flex flex-col">
<template v-for="education in educations">
<div style="height: max-content" class="px-2">
@@ -164,7 +164,7 @@ export default {
<div>
<h2 class="text-xl font-bold md:text-2xl">О программе</h2>
<div class="py-4 px-5">
<ProgramBuilder :blocks="this.additionalEducation.data.content" />
<ProgramBuilder :blocks="additionalEducation.data.content" />
</div>
</div>
<!-- End Icon Blocks -->
@@ -10,13 +10,13 @@
<div 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">
<PageSubSectionLinks :sub-section-pages="subSectionPages" :current-section="page.data.section"/>
<PageNavigateLinks :header-navs="this.headerNavs"/>
<PageNavigateLinks :header-navs="headerNavs"/>
<div class="w-full min-w-0 mt-1 max-w-6xl px-1 md:px-6" style="">
<div class="space-y-5 md:space-y-5">
<PageBreadcrumbs :breadcrumbs="breadcrumbs" :page-title="page.data.title"/>
<PageTitle :header="page.data.title"/>
<div id="page-area" class="space-y-4">
<PageBuilder :blocks="this.page.data.content"/>
<PageBuilder :blocks="page.data.content"/>
</div>
</div>
</div>
@@ -11,12 +11,12 @@
<div class="w-full h-[67px] pointer-events-none fixed" id="visor"></div>
<div class="sticky top-[110px] hidden h-[calc(100vh-110px)] max-w-[20%] md:flex md:shrink-0 md:flex-col md:justify-between">
<nav v-if="this.departments"
<nav v-if="departments"
class="styled-scrollbar flex h-[calc(100vh-200px)] flex-col overflow-y-scroll pr-2 pb-4">
<div class="text-gray-1000 mb-2 text-md font-medium">Кафедры факультета - {{ department.data.faculty.abbreviation }}</div>
<div class="flex gap-x-1">
<ul class="px-0.5 last-of-type:mb-0 mb-8">
<li v-for="depart in this.departments.data" :key="department.id" class="my-1.5 flex">
<li v-for="depart in departments.data" :key="department.id" class="my-1.5 flex">
<a :class="{'text-white hover:text-gray-200 font-semibold bg-[#135aae]': isSameRoute(route('client.department.show', { facultySlug: department.data.faculty.slug, departmentSlug: depart.slug })), 'text-gray-600 hover:text-[#2C6288]': !isSameRoute(route('client.department.show', { facultySlug: department.data.faculty.slug, departmentSlug: depart.slug })) }"
:href="route('client.department.show', { facultySlug: department.data.faculty.slug, departmentSlug: depart.slug }) + '/'"
class="relative duration-300 flex w-full rounded-md cursor-pointer items-center px-2 py-1 text-left text-sm">{{
@@ -34,27 +34,27 @@
<div class="text-gray-1000 mb-2 text-md font-medium">На этой странице</div>
<ul class="styled-scrollbar max-h-[70vh] space-y-1.5 overflow-y-auto py-2 text-sm">
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'workers', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'workers' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'workers', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'workers' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#workers">Сотрудники кафедры</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'teachers', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'teachers' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'teachers', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'teachers' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#teachers">Преподаватели кафедры</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'external-teachers', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'external-teachers' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'external-teachers', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'external-teachers' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#external-teachers">Внешние совместители</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'programs', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'programs' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'programs', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'programs' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#programs">Программы</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'description', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'description' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'description', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'description' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#description">Описание</a>
</li>
@@ -126,7 +126,7 @@
<div class="space-y-3 md:space-y-4">
<DepartmentBuilder :blocks="this.department.data.content "/>
<DepartmentBuilder :blocks="department.data.content "/>
</div>
</div>
+4 -4
View File
@@ -14,12 +14,12 @@
<div class="w-full h-[67px] fixed pointer-events-none" id="visor"></div>
<div class="sticky top-[110px] hidden h-[calc(100vh-110px)] max-w-[20%] md:flex md:shrink-0 md:flex-col md:justify-between">
<nav v-if="this.divisions"
<nav v-if="divisions"
class="styled-scrollbar flex h-[calc(100vh-200px)] flex-col overflow-y-scroll pr-2 pb-4">
<div class="text-gray-1000 mb-2 text-md font-medium">Подразделения</div>
<div class="flex gap-x-1">
<ul class="px-0.5 last-of-type:mb-0 mb-8">
<li v-for="division in this.divisions.data" :key="division.id" class="my-1.5 flex">
<li v-for="division in divisions.data" :key="division.id" class="my-1.5 flex">
<a :class="{'text-white hover:text-gray-200 font-semibold bg-[#135aae]': isSameRoute(route('client.division.show', division.slug)), 'text-gray-600 hover:text-[#2C6288]': !isSameRoute(route('client.division.show', division.id)) }"
:href="route('client.division.show', division.slug) + '/'"
class="relative duration-300 flex w-full rounded-md cursor-pointer items-center px-2 py-1 text-left text-sm">{{
@@ -37,12 +37,12 @@
<div class="text-gray-1000 mb-2 text-md font-medium">На этой странице</div>
<ul class="styled-scrollbar max-h-[70vh] space-y-1.5 overflow-y-auto py-2 text-sm">
<li v-if="division.data.workers.length > 0" class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'persons', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'persons' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'persons', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'persons' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#persons">Состав</a>
</li>
<li v-if="division.data.description.length > 0" class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'description', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'description' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'description', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'description' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#description">Описание</a>
</li>
+3 -3
View File
@@ -37,7 +37,7 @@ export default {
},
props: {
events: {
type: Array,
type: Object,
},
currentDate: {
type: String,
@@ -46,7 +46,7 @@ export default {
type: Array,
},
navigation: {
type: Array,
type: Object,
},
filters: {
type: Array,
@@ -83,7 +83,7 @@ export default {
<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">
Мероприятия НТГСПИ
</h1>
<ClientEventFilter :is_online_filter="filters.is_online_filter" :categories="this.categories" :category_filter="filters.category_filter" :sorting-by_filter="filters.sortingBy_filter" />
<ClientEventFilter :is_online_filter="filters.is_online_filter" :categories="categories" :category_filter="filters.category_filter" :sorting-by_filter="filters.sortingBy_filter" />
</div>
+4 -9
View File
@@ -1,7 +1,6 @@
<script>
import MainNavbar from "@/Navbars/MainNavbar.vue";
import {Head, Link} from "@inertiajs/vue3";
import FsLightbox from "fslightbox-vue/v3";
import ClientScrollTimeline from "@/Components/ClientScrollTimeline.vue";
import ClientFooterDown from "@/Components/ClientFooterDown.vue";
import ClientImageSlider from "@/Components/ClientImageSlider.vue";
@@ -9,7 +8,6 @@ import EventBackButton from "@/Components/BuilderUi/Events/EventBackButton.vue";
import TitleEvent from "@/Components/BuilderUi/Events/TitleEvent.vue";
import PostBuilder from "@/Components/BuilderUi/Posts/PostBuilder.vue";
import EventBuilder from "@/Components/BuilderUi/Events/EventBuilder.vue";
import EventtBuilder from "@/Components/BuilderUi/Events/EventBuilder.vue";
import ClientEventSelectDate from "@/Components/ClientEventSelectDate.vue";
import ClientEventFilter from "@/Components/ClientEventFilter.vue";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
@@ -22,25 +20,22 @@ export default {
EventItemBreadcrumbs,
MainPageNavBar,
ClientEventFilter, ClientEventSelectDate,
EventtBuilder,
EventBuilder,
PostBuilder,
TitleEvent,
EventBackButton,
ClientImageSlider, ClientFooterDown, ClientScrollTimeline, Link, MainNavbar, FsLightbox, Head},
ClientImageSlider, ClientFooterDown, ClientScrollTimeline, Link, MainNavbar, Head},
data() {
return {
blocks: this.event.data.content,
}
},
props: {
event: {
type: Array,
type: Object,
},
navigation: {
type: Array,
type: Object,
},
breadcrumbs: {
type: Object
@@ -101,7 +96,7 @@ export default {
</div>
<div class="space-y-3 md:space-y-4">
<EventBuilder :blocks="this.blocks"/>
<EventBuilder :blocks="event.data.content"/>
</div>
+6 -6
View File
@@ -16,12 +16,12 @@
<div class="sticky top-[110px] hidden h-[calc(100vh-110px)] max-w-[20%] md:flex md:shrink-0 md:flex-col md:justify-between">
<nav v-if="this.faculties"
<nav v-if="faculties"
class="styled-scrollbar flex h-[calc(100vh-200px)] flex-col overflow-y-scroll pr-2 pb-4">
<div class="text-gray-1000 mb-2 text-md font-medium">Факультеты</div>
<div class="flex gap-x-1">
<ul class="px-0.5 last-of-type:mb-0 mb-8">
<li v-for="faculty in this.faculties.data" :key="faculty.id" class="my-1.5 flex">
<li v-for="faculty in faculties.data" :key="faculty.id" class="my-1.5 flex">
<a :class="{'text-white hover:text-gray-200 font-semibold bg-[#135aae]': isSameRoute(route('client.faculty.show', faculty.slug)), 'text-gray-600 hover:text-[#2C6288]': !isSameRoute(route('client.faculty.show', faculty.id)) }"
:href="route('client.faculty.show', faculty.slug) + '/'"
class="relative duration-300 flex w-full rounded-md cursor-pointer items-center px-2 py-1 text-left text-sm">{{
@@ -39,17 +39,17 @@
<div class="text-gray-1000 mb-2 text-md font-medium">На этой странице</div>
<ul class="styled-scrollbar max-h-[70vh] space-y-1.5 overflow-y-auto py-2 text-sm">
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'persons', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'persons' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'persons', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'persons' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#persons">Состав</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'department', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'department' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'department', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'department' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#department">Кафедры факультета</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'description', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'description' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'description', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'description' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#description">Описание</a>
</li>
@@ -124,7 +124,7 @@
<div class="space-y-3 md:space-y-4">
<FacultyBuilder :blocks="this.faculty.data.content "/>
<FacultyBuilder :blocks="faculty.data.content "/>
</div>
</div>
@@ -81,7 +81,7 @@ export default {
</div>
<template v-for="block in this.blocks" :key="block.id">
<template v-for="block in blocks" :key="block.id">
<div v-if="block.type === 'heading'">
<h2 class="font-bold text-xl">{{ block.data.content }}</h2>
</div>
@@ -158,7 +158,7 @@ export default {
</div>
<template v-for="block in this.blocks" :key="block.id">
<template v-for="block in blocks" :key="block.id">
<div v-if="block.type === 'heading'">
<h2 class="font-bold text-xl">{{ block.data.content }}</h2>
</div>
@@ -84,7 +84,7 @@ export default {
</div>
<template v-for="block in this.blocks" :key="block.id">
<template v-for="block in blocks" :key="block.id">
<div v-if="block.type === 'heading'">
<h2 class="font-bold text-xl">{{ block.data.content }}</h2>
</div>
+10 -14
View File
@@ -4,10 +4,6 @@
<meta name="description" content="Your page description">
</Head>
<div class="flex flex-col h-screen">
<MainPageNavBar class="border-b" :sections="$page.props.navigation"></MainPageNavBar>
@@ -22,60 +18,60 @@
<div class="text-gray-1000 mb-2 text-md font-medium">На этой странице</div>
<ul class="styled-scrollbar max-h-[70vh] space-y-1.5 overflow-y-auto py-2 text-sm">
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'education', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'education' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'education', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'education' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#education">Образование
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'awards', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'awards' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'awards', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'awards' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#awards">Награды</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'professionalRetraining', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'professionalRetraining' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'professionalRetraining', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'professionalRetraining' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#professionalRetraining">Профессиональная переподготовка
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'professionalDevelopment', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'professionalDevelopment' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'professionalDevelopment', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'professionalDevelopment' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#professionalDevelopment">Повышение квалификации
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'professDisciplines', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'professDisciplines' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'professDisciplines', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'professDisciplines' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#professDisciplines">Преподаваемые дисциплины
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'workExperience', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'workExperience' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'workExperience', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'workExperience' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#workExperience">Стаж работы
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'attendedConferences', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'attendedConferences' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'attendedConferences', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'attendedConferences' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#attendedConferences">Участие в конференциях
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'participationScienceProjects', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'participationScienceProjects' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'participationScienceProjects', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'participationScienceProjects' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#participationScienceProjects">Участие в научных проектах
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'publications', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'publications' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'publications', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'publications' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#publications">Публикации
</a>
</li>
<li class="anchor-li">
<a :class="{ 'translate-x-2 text-[#135aae]' : this.currentNavSection === 'other', 'bg-transperant text-gray-600 hover:text-gray-900' : this.currentNavSection !== 'other' }"
<a :class="{ 'translate-x-2 text-[#135aae]' : currentNavSection === 'other', 'bg-transperant text-gray-600 hover:text-gray-900' : currentNavSection !== 'other' }"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
href="#other">Другое
</a>
+4 -4
View File
@@ -43,7 +43,7 @@ export default {
type: Object,
},
filters: {
type: Object,
type: Array,
},
categories: {
type: Object,
@@ -84,15 +84,15 @@ export default {
<NewsBreadcrumbs :breadcrumbs="breadcrumbs" class="px-5" />
<div>
<AdminIndexHeader>
<ClientPostSearch :search_filter="this.filters.search_filter" />
<ClientPostFilter :sorting-by_filter="this.filters.sortingBy_filter" :category_filter="this.filters.category_filter" :tag_filter="this.filters.tag_filter" :tags="tags" :items="categories"/>
<ClientPostSearch :search_filter="filters.search_filter" />
<ClientPostFilter :sorting-by_filter="filters.sortingBy_filter" :category_filter="filters.category_filter" :tag_filter="filters.tag_filter" :tags="tags" :items="categories"/>
</AdminIndexHeader>
<div class="px-6">
<h3 v-if="filters.category_filter.value || filters.tag_filter.value || filters.search_filter.value" class="text-sm text-gray-500 mb-4">Найдено новостей: {{ posts.meta.total }}</h3>
<div class="flex-wrap flex gap-3 md:items-center">
<PostBadge :filters="this.filters" />
<PostBadge v-if="filters.length > 0" :filters="filters" />
</div>
</div>
+3 -3
View File
@@ -56,7 +56,7 @@ export default {
default: ''
},
breadcrumbs: {
type: Object
type: Object,
}
},
mounted() {
@@ -95,9 +95,9 @@ export default {
</div>
</div>
</div>
<PostBuilder :blocks="this.blocks"/>
<PostBuilder :blocks="blocks"/>
<div>
<PostGallery :title="post.data.title" :images="post.data.gallery"/>
<PostGallery v-if="post.data.gallery.length > 1" :title="post.data.title" :images="post.data.gallery"/>
</div>
<div>
<a :href="route('client.post.index', { 'tag[]': tag.slug })" v-for="tag in post.data.tags" class="m-1 inline-flex items-center gap-1.5 py-2 px-3 rounded-full text-sm bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 dark:bg-neutral-800 dark:text-neutral-200 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" href="#">
+3 -3
View File
@@ -152,7 +152,7 @@ export default {
<template v-for="contest in admissionPlan.contests">
<div class="border rounded my-2 py-1">
<span class="text-gray-500 text-[14px]">{{ (contest.form_education === '1') ? 'Очная форма обучения' : 'Заочная форма обучения' }}</span>
<p v-for="place in contest.places" class="mt-1 text-gray-600">{{ place.count }} мест <span class="text-gray-400 text-[12px]">{{ this.formsEdu[place.form_budget] }}</span></p>
<p v-for="place in contest.places" class="mt-1 text-gray-600">{{ place.count }} мест <span class="text-gray-400 text-[12px]">{{ formsEdu[place.form_budget] }}</span></p>
</div>
</template>
</template>
@@ -201,7 +201,7 @@ export default {
</button>
<div id="hs-basic-bordered-collapse-two" class="hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300" aria-labelledby="hs-bordered-heading-two">
<div class="pb-4 px-5">
<template v-for="block in this.program.data.about_program" :key="block.id">
<template v-for="block in program.data.about_program" :key="block.id">
<!-- <div v-if="block.type === 'image'">-->
<!-- <figure :class="block.data.withBackground ? 'bg-gray-100 rounded-lg' : ''">-->
<!-- <img loading="lazy" @click="openEditorImagesOnSlide(block.slideNumber)"-->
@@ -326,7 +326,7 @@ export default {
</button>
<div id="hs-basic-bordered-collapse-three" class="hs-accordion-content hidden w-full overflow-hidden transition-[height] duration-300" aria-labelledby="hs-bordered-heading-three">
<div class="pb-4 px-5">
<template v-for="block in this.program.data.program_features" :key="block.id">
<template v-for="block in program.data.program_features" :key="block.id">
<!-- <div v-if="block.type === 'image'">-->
<!-- <figure :class="block.data.withBackground ? 'bg-gray-100 rounded-lg' : ''">-->
<!-- <img loading="lazy" @click="openEditorImagesOnSlide(block.slideNumber)"-->
@@ -1,7 +1,7 @@
<script>
import MainNavbar from "@/Navbars/MainNavbar.vue";
import ClientFooterDown from "@/Components/ClientFooterDown.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
import {Link} from "@inertiajs/vue3";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
import BaseIcon from "@/Components/BaseComponents/BaseIcon.vue";
+4 -4
View File
@@ -1,7 +1,7 @@
<script>
import MainNavbar from "@/Navbars/MainNavbar.vue";
import ClientFooterDown from "@/Components/ClientFooterDown.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
import {Link} from "@inertiajs/vue3";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
@@ -134,7 +134,7 @@ export default {
<template v-for="(lesson, index) in getDayOfWeek.scheduleDay.form">
<tr>
<td class="border text-center">{{ index + 1 }}</td>
<td class="border text-center">{{ this.timeSchedules[index] }}</td>
<td class="border text-center">{{ timeSchedules[index] }}</td>
<td class="text-center border">
<template v-for="lesson_info in lesson">
<div class="flex items-stretch justify-center">
@@ -176,7 +176,7 @@ export default {
<table class="border-collapse border w-full mb-4">
<tbody>
<tr>
<td class="text-center" rowspan="9" width="30px">{{ this.weekday[index] }}</td>
<td class="text-center" rowspan="9" width="30px">{{ weekday[index] }}</td>
</tr>
<tr>
<td class="text-center border px-3">#</td>
@@ -186,7 +186,7 @@ export default {
<template v-for="(lesson, index) in day.form">
<tr>
<td class="border text-center">{{ index + 1 }}</td>
<td class="border text-center">{{ this.timeSchedules[index] }}</td>
<td class="border text-center">{{ timeSchedules[index] }}</td>
<td class="text-center border">
<template v-for="lesson_info in lesson">
<div class="flex items-stretch justify-center">
+1 -1
View File
@@ -1,7 +1,7 @@
<script>
import MainNavbar from "@/Navbars/MainNavbar.vue";
import ClientFooterDown from "@/Components/ClientFooterDown.vue";
import {debounce} from "lodash/function.js";
import {debounce} from "lodash";
import {Link} from "@inertiajs/vue3";
import MainPageNavBar from "@/Navbars/MainPageNavbar.vue";
+4 -4
View File
@@ -2,9 +2,8 @@ import './bootstrap';
import '../css/app.css';
import 'preline';
import { createApp, h } from 'vue';
import { createSSRApp, h } from 'vue';
import { createInertiaApp } from '@inertiajs/vue3';
import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';
import { ZiggyVue } from '../../vendor/tightenco/ziggy/dist/vue.m';
import {linksReform} from "@/mixins/LinksReform.js";
@@ -18,14 +17,15 @@ createInertiaApp({
// resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue'))
},
setup({ el, App, props, plugin }) {
return createApp({ render: () => h(App, props) })
return createSSRApp({ render: () => h(App, props) })
.use(plugin)
.mixin(linksReform)
.use(ZiggyVue, Ziggy)
.use(ZiggyVue)
.mount(el);
},
progress: {
color: '#1E57A3',
delay: 250,
},
});