diff --git a/frontend/assets/css/fonts/morabba.css b/frontend/assets/css/fonts/morabba.css deleted file mode 100644 index 914f6ee..0000000 --- a/frontend/assets/css/fonts/morabba.css +++ /dev/null @@ -1,73 +0,0 @@ -@layer base { - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-UltraLight.woff2"); - font-weight: 200; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-Light.woff2"); - font-weight: 300; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-Regular.woff2"); - font-weight: 400; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-Medium.woff2"); - font-weight: 500; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-SemiBold.woff2"); - font-weight: 600; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-Bold.woff2"); - font-weight: 700; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-ExtraBold.woff2"); - font-weight: 800; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-Black.woff2"); - font-weight: 900; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "Morabba"; - src: url("/fonts/Morabba/Morabba-Heavy.woff2"); - font-weight: 1000; - font-style: normal; - font-display: swap; - } -} \ No newline at end of file diff --git a/frontend/assets/css/fonts/yekan-bakh.css b/frontend/assets/css/fonts/yekan-bakh.css deleted file mode 100644 index 4705c50..0000000 --- a/frontend/assets/css/fonts/yekan-bakh.css +++ /dev/null @@ -1,41 +0,0 @@ -@layer base { - @font-face { - font-family: "YekanBakh"; - src: url("/fonts/YekanBakh/YekanBakh-Thin.woff"); - font-weight: 100; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "YekanBakh"; - src: url("/fonts/YekanBakh/YekanBakh-Light.woff"); - font-weight: 300; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "YekanBakh"; - src: url("/fonts/YekanBakh/YekanBakh-Regular.woff"); - font-weight: 400; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "YekanBakh"; - src: url("/fonts/YekanBakh/YekanBakh-SemiBold.woff"); - font-weight: 600; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: "YekanBakh"; - src: url("/fonts/YekanBakh/YekanBakh-Bold.woff"); - font-weight: 700; - font-style: normal; - font-display: swap; - } -} \ No newline at end of file diff --git a/frontend/assets/css/tailwind.css b/frontend/assets/css/tailwind.css index e1f23fb..cf7f4a3 100644 --- a/frontend/assets/css/tailwind.css +++ b/frontend/assets/css/tailwind.css @@ -6,8 +6,6 @@ @import "./button.comp.css"; @import "./input.comp.css"; @import "./fonts/iran-yekan-x.css"; -@import "./fonts/morabba.css"; -@import "./fonts/yekan-bakh.css"; :root { /* CONTAINER */ @@ -117,8 +115,6 @@ --font-inter: "Inter", sans-serif; --font-dmsans: "DM Sans", sans-serif; --font-iran-yekan-x: "IRANYekanXVF", "sans-serif"; - --font-yekan-bakh: "YekanBakh", "sans-serif"; - --font-morabba: "Morabba", "sans-serif"; /* BREAKPOINTS */ --breakpoint-2xs: 400px; diff --git a/frontend/components/cart/checkout/Gateway.vue b/frontend/components/cart/checkout/Gateway.vue index 177b3ed..3785b6a 100644 --- a/frontend/components/cart/checkout/Gateway.vue +++ b/frontend/components/cart/checkout/Gateway.vue @@ -22,15 +22,16 @@ const emit = defineEmits(); - diff --git a/frontend/components/global/CategoryCard.vue b/frontend/components/global/CategoryCard.vue index e14e612..e3dd03f 100644 --- a/frontend/components/global/CategoryCard.vue +++ b/frontend/components/global/CategoryCard.vue @@ -44,6 +44,8 @@ const { colorObject } = useImageColor(`#category-image-${id.value}`); :id="`category-image-${id}`" class="group-hover:scale-105 transition-transform duration-200 absolute object-contain size-full" :src="picture" + loading="lazy" + fetch-priority="low" alt="" /> diff --git a/frontend/components/global/FilterButton.vue b/frontend/components/global/FilterButton.vue index 9639d4b..ab722c6 100644 --- a/frontend/components/global/FilterButton.vue +++ b/frontend/components/global/FilterButton.vue @@ -1,7 +1,10 @@ diff --git a/frontend/components/profile/tickets/[id]/TicketBubble.vue b/frontend/components/profile/tickets/[id]/TicketBubble.vue index fb5acf0..a92ae3b 100644 --- a/frontend/components/profile/tickets/[id]/TicketBubble.vue +++ b/frontend/components/profile/tickets/[id]/TicketBubble.vue @@ -38,9 +38,7 @@ const profile = computed(() => { }); const username = computed(() => { - return is_user.value - ? `${account.value?.first_name} ${account.value?.last_name}` - : "ادمین پشتیبانی هی ملز"; + return is_user.value ? `${account.value?.first_name} ${account.value?.last_name}` : "ادمین پشتیبانی هی ملز"; }); @@ -54,7 +52,12 @@ const username = computed(() => { :class="is_user ? 'rounded-br-none' : 'rounded-bl-none'" >
- +
@@ -65,9 +68,7 @@ const username = computed(() => { > {{ timeAgo }}

-

+

{{ username }}

diff --git a/frontend/composables/global/useSlider.ts b/frontend/composables/global/useSlider.ts index 6e11af2..e19d641 100644 --- a/frontend/composables/global/useSlider.ts +++ b/frontend/composables/global/useSlider.ts @@ -63,7 +63,7 @@ const useSlider = ({ duration = 0, count }: Props) => { const restartSliderTimer = () => { if (sliderTimer.value) clearInterval(sliderTimer.value); runProgress(); - + if (duration > 0) { sliderTimer.value = setInterval(() => { runProgress(); @@ -76,7 +76,9 @@ const useSlider = ({ duration = 0, count }: Props) => { restartSliderTimer(); }); - onUnmounted(() => {}); + onUnmounted(() => { + restartSliderTimer(); + }); return { activeSlide, diff --git a/frontend/layouts/Cart.vue b/frontend/layouts/Cart.vue index 3ebeaa7..ed517f2 100644 --- a/frontend/layouts/Cart.vue +++ b/frontend/layouts/Cart.vue @@ -56,7 +56,7 @@ const hasCartItem = computed(() => !!cart.value && cart.value.items.length! > 0)
=12.0.0" - } - }, "node_modules/hookable": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", @@ -16810,15 +16793,6 @@ "vue": "^3.2.0" } }, - "node_modules/vue-scrollto": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/vue-scrollto/-/vue-scrollto-2.20.0.tgz", - "integrity": "sha512-7i+AGKJTThZnMEkhIPgrZjyAX+fXV7/rGdg+CV283uZZwCxwiMXaBLTmIc5RTA4uwGnT+E6eJle3mXQfM2OD3A==", - "license": "MIT", - "dependencies": { - "bezier-easing": "2.1.0" - } - }, "node_modules/vue-skeletor": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/vue-skeletor/-/vue-skeletor-1.0.6.tgz", diff --git a/frontend/package.json b/frontend/package.json index 587c266..030da0b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -33,7 +33,6 @@ "date-fns-jalali": "^4.1.0-0", "fast-average-color": "^9.4.0", "gsap": "^3.12.7", - "highlight.js": "^11.11.1", "jalali-ts": "^8.0.0", "motion-v": "^1.1.1", "nuxt": "^3.15.4", @@ -44,7 +43,6 @@ "vue": "latest", "vue-image-zoomer": "^2.4.4", "vue-router": "latest", - "vue-scrollto": "^2.20.0", "vue-skeletor": "^1.0.6", "vue3-marquee": "^4.2.2", "vue3-persian-datetime-picker": "^1.2.2", diff --git a/frontend/pages/article/[id].vue b/frontend/pages/article/[id].vue index 6f7d1fa..fdfa9c5 100644 --- a/frontend/pages/article/[id].vue +++ b/frontend/pages/article/[id].vue @@ -38,6 +38,9 @@ if (response.isError) { class="absolute object-cover size-full" :alt="article!.title" :src="article!.cover_image" + preload + loading="eager" + fetch-priority="high" />
@@ -62,6 +65,8 @@ if (response.isError) { class="size-full object-cover absolute" :src="article!.author.profile_photo" alt="article-author" + loading="lazy" + fetch-priority="low" />
diff --git a/frontend/pages/cart/delivery.vue b/frontend/pages/cart/delivery.vue index 3741253..497af68 100644 --- a/frontend/pages/cart/delivery.vue +++ b/frontend/pages/cart/delivery.vue @@ -61,6 +61,8 @@ const deliveryData = ref({
آدرس های شما diff --git a/frontend/pages/cart/index.vue b/frontend/pages/cart/index.vue index 84ef551..e843f17 100644 --- a/frontend/pages/cart/index.vue +++ b/frontend/pages/cart/index.vue @@ -6,7 +6,7 @@ import useGetCartOrders from "~/composables/api/orders/useGetCartOrders"; // meta useSeoMeta({ - title : "سبد خرید" + title: "سبد خرید", }); definePageMeta({ @@ -22,9 +22,7 @@ const { data: cart, isLoading: cartIsLoading } = useGetCartOrders(); // computed -const hasCartItem = computed( - () => !!cart.value && cart.value.items.length! > 0 -); +const hasCartItem = computed(() => !!cart.value && cart.value.items.length! > 0);