<template> <HadithLayout :menu="sidbarMenu"> <section class="section-one flex flex-col justify-center"> <div class="bg-container h-full" :style="backgroundImageStyle"> <navigation-menu></navigation-menu> <div class="text-logo flex justify-center flex-col items-center"> <NuxtImg fit="auto" quality="80" placeholder src="/img/logo.png" /> <div class="title"> کاوش با <span class="badge-style"> هوش مصنوعی </span> در احادیث اسلامی </div> </div> </div> <div class="search-box-container flex justify-center"> <auto-complation></auto-complation> </div> </section> <section class="section-two"> <div class="flex flex-col items-center py-6"> <div>قابلیت ها</div> <div> <NuxtImg width="32" height="32" fit="auto" quality="80" placeholder src="/img/chevron-down.svg" /> </div> </div> <div class="flex flex-col lg:flex-row"> <div class="my-card card-one basis-full flex justify-center items-center"> <div class="inner-container"> <div> <p class="title">جستجوی معنایی</p> <p class="description">ارائه نتایج دقیق و معنادار از میان</p> <p class="description">حجم انبوه متون حدیثی</p> </div> <NuxtImg fit="auto" quality="80" placeholder src="/img/card-one.png" /> </div> </div> <div class="my-card card-two basis-full flex justify-center items-center"> <div class="inner-container"> <div class=""> <p class="title">جستجوی مترادفها</p> <p class="description">یافتن سریع واژگان مرتبط برای</p> <p class="description">درک بهتر مفاهیم حدیثی</p> </div> <NuxtImg fit="auto" quality="80" placeholder src="/img/card-two.png" /> </div> </div> <div class="my-card card-three basis-full flex flex-col justify-center items-center" > <div class="inner-container"> <div> <p class="title">مشابهتیابی حدیث</p> <p class="description">امکان یافتن احادیث یا مفاهیمی</p> <p class="description">با معنای مشابه یک حدیث</p> </div> <NuxtImg fit="auto" quality="80" placeholder src="/img/card-three.png" /> </div> </div> </div> </section> </HadithLayout> </template> <script> import { useStorage } from "@vueuse/core"; import { mapActions, mapState } from "pinia"; import { useHadithStore } from "@hadith/stores/hadithStore"; import { useCommonStore } from "~/stores/commonStore"; import hadithApi from "@hadith/apis/hadithApi.js"; import navbarMenu from "@hadith/json/hadith/menu.json"; export default { name: "hadith", setup() { useHead({ title: import.meta.env.VITE_HADITH_PAGE_TITLE, meta: [ { name: "description", content: "کاوش با هوش مصنوعی در احادیث اسلامی" }, ], bodyAttrs: { class: import.meta.env.VITE_HADITH_SYSTEM, }, }); definePageMeta({ layout: false, name: "hadith", }); }, created() { this.httpService = useNuxtApp()["$http"]; }, async mounted() { let schemaExist = this.searchActiveTabGetter && this.searchSchemaGetter; if (!schemaExist) this.getSchemas(); else this.setSearchDomain(this.searchActiveTabGetter); if (window.outerWidth < 992) { this.$store.commit("TOGGLE_SIDEBAR_MENU"); this.showMobileFilterList = true; } }, data() { return { httpService: {}, logo: "", sidbarMenuDefault: navbarMenu, }; }, computed: { // ...mapState(useHadithStore, [ // "domainActiveGetter", // "searchActiveTabGetter", // "searchSchemaGetter", // "searchSynonymTitleGetter", // ]), ...mapState(useCommonStore, [ "currentUser", "organNameGetter", "isSidebarCollapsed", "userPermisionGetter", ]), sidbarMenu() { return this.sidbarMenuDefault; }, backgroundImageStyle() { // Use $img to generate an optimized image URL const optimizedImageUrl = this.$img("/img/background.png", { quality: 80, }); return { backgroundImage: `url(${optimizedImageUrl}), linear-gradient(199.05deg, #ffffff 9.99%, #e4fff7 42.07%, #ffffff 97.12%)`, }; }, }, methods: { ...mapActions(useCommonStore, [ "TOGGLE_SIDEBAR_MENU", "sidebarCollapsedSetter", ]), // ...mapActions(useHadithStore, [ // "searchActiveTabSetter", // "searchSchemaSetter", // "domainActiveSetter", // "searchSynonymTitleSetter", // ]), async getSchemas() { let localStoageSearchSchema = useStorage("searchSchema", undefined).value; if (localStoageSearchSchema) { let searchSchema = JSON.parse(localStoageSearchSchema); this.searchSchemaSetter(searchSchema); this.searchActiveTabSetter(searchSchema[0]); } else { const payload = { organ: this.organNameGetter, system: "search", build_state: buildState(), }; const url = repoUrl() + hadithApi.schema.list; this.httpService .postRequest(url, payload) .then((res) => { this.searchSchemaSetter(res.data.search); this.searchActiveTabSetter(res.data.search[0]); this.fetchingData = false; const toast = useToast(); toast.add({ title: "Success", description: "Your action was completed successfully.", color: "success", }); }) .catch((err) => { this.fetchingData = false; }); } }, }, components: { AutoComplation: defineAsyncComponent(() => import("@hadith/components/hadith/AutoComplation.vue") ), NavigationMenu: defineAsyncComponent(() => import("@hadith/components/hadith/NavigationMenu.vue") ), AutoComplation: defineAsyncComponent(() => import("@hadith/components/hadith/AutoComplation.vue") ), HadithLayout: defineAsyncComponent(() => import("@hadith/layouts/HadithLayout.vue") ), }, }; </script> <style scoped> .section-one { .bg-container { height: 521px; background-size: 100% auto; background-repeat: no-repeat; /* background-attachment: fixed; */ /* background-image: url("/img/background.svg"), linear-gradient(199.05deg, #ffffff 9.99%, #e4fff7 42.07%, #ffffff 97.12%); */ } .text-logo { padding-top: 10em; position: relative; .title { margin-top: 3.5em; font-family: IRANSansX; font-size: 14px; line-height: 21px; letter-spacing: 0%; text-align: center; color: #1b2132; } .badge-style { width: 100; height: 23; border-radius: 40px; padding-right: 8px; padding-bottom: 2px; padding-left: 8px; gap: 10px; color: #fff; background: linear-gradient(270.29deg, #d284ff 8.12%, #4d00ff 109.58%); } } .search-box-container { padding-top: 1em; padding-bottom: 4em; /*64px */ } } .section-two { font-weight: 200; font-size: 20px; line-height: 30px; letter-spacing: 0%; text-align: center; .my-card { background-repeat: no-repeat; background-size: auto; height: 660px; .inner-container { max-width: 21.25em; margin: auto; } .title { font-weight: 500; font-size: 24px; line-height: 36px; letter-spacing: 0%; color: #1b2132; text-align: right; } .description { font-weight: 300; font-size: 20px; line-height: 30px; letter-spacing: 0%; text-align: right; color: #626b84; } &.card-one { background-image: url("/img/card-one-bgi.png"), linear-gradient(134.17deg, #ffffff -9.81%, #e5e0ff 87.62%); } &.card-two { background-image: url("/img/card-two-bgi.png"), linear-gradient(329.16deg, #b9fde0 13.45%, #eefff8 63.57%); } &.card-three { background-image: url("/img/card-three-bgi.png"), linear-gradient(134.17deg, #ffffff -9.81%, #e5e0ff 87.62%); } } } </style>