Merge branch 'main' of https://github.com/Byeto-Company/hossein_por_shop
This commit is contained in:
@@ -90,7 +90,9 @@ const handlePayment = () => {
|
||||
},
|
||||
{
|
||||
onSuccess: (data) => {
|
||||
window.location.href = data.url;
|
||||
setTimeout(() => {
|
||||
window.location.href = data.url;
|
||||
}, 2000);
|
||||
},
|
||||
onError: () => {
|
||||
addToast({
|
||||
|
||||
@@ -8,6 +8,7 @@ import { useImage } from "@vueuse/core";
|
||||
type Props = {
|
||||
src: string | null | undefined;
|
||||
alt: string;
|
||||
iconClass?: string;
|
||||
};
|
||||
|
||||
// props
|
||||
@@ -18,7 +19,7 @@ const { src } = toRefs(props);
|
||||
|
||||
// state
|
||||
|
||||
const { isLoading } = useImage({ src: src.value ?? '' });
|
||||
const { isLoading } = useImage({ src: src.value ?? "" });
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -41,7 +42,12 @@ const { isLoading } = useImage({ src: src.value ?? '' });
|
||||
:delay-ms="600"
|
||||
>
|
||||
<div class="size-full rounded-full flex-center">
|
||||
<Icon name="ci:profile" size="16" class="**:stroke-black" />
|
||||
<Icon
|
||||
name="ci:profile"
|
||||
size="16"
|
||||
class="**:stroke-black"
|
||||
:class="iconClass"
|
||||
/>
|
||||
</div>
|
||||
</AvatarFallback>
|
||||
</template>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
class="flex flex-col gap-4 items-center justify-center relative z-20"
|
||||
>
|
||||
<div
|
||||
class="flex items-center flex-col gap-8 pb-[10px] pt-[80px] lg:py-[150px] justify-center"
|
||||
class="flex items-center flex-col gap-8 pb-[10px] pt-[80px] lg:pt-[150px] lg:pb-[50px] justify-center"
|
||||
>
|
||||
<img
|
||||
src="/img/heymlz/heymlz-small-idle.gif"
|
||||
@@ -28,13 +28,13 @@
|
||||
>
|
||||
<div class="flex flex-col gap-4 max-w-[300px]">
|
||||
<h3
|
||||
class="font-bold text-xl xl:text-3xl max-lg:text-center text-white"
|
||||
class="font-bold text-lg xl:text-3xl max-lg:text-center text-white"
|
||||
>
|
||||
با ما در ارتباط باشید...
|
||||
</h3>
|
||||
|
||||
<p
|
||||
class="text-md font-thin leading-[175%] mt-4 max-lg:text-center text-slate-300"
|
||||
class="text-md font-thin leading-[175%] mt-4 max-lg:text-center text-slate-300 max-lg:text-xs"
|
||||
>
|
||||
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنگی با
|
||||
تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان
|
||||
@@ -77,7 +77,7 @@
|
||||
<div class="flex flex-col gap-6 max-lg:text-center">
|
||||
<h3 class="font-bold text-white">لینک های مفید</h3>
|
||||
<ul
|
||||
class="flex flex-col gap-4 font-thin text-slate-300"
|
||||
class="flex flex-col gap-4 font-thin text-slate-300 max-lg:text-xs"
|
||||
>
|
||||
<li>از طراحان گرافیک است</li>
|
||||
<li>تولید نامفهوم</li>
|
||||
@@ -90,7 +90,7 @@
|
||||
<div class="flex flex-col gap-6 max-lg:text-center">
|
||||
<h3 class="font-bold text-white">لینک های مفید</h3>
|
||||
<ul
|
||||
class="flex flex-col gap-4 font-thin text-slate-300"
|
||||
class="flex flex-col gap-4 font-thin text-slate-300 max-lg:text-xs"
|
||||
>
|
||||
<li>از طراحان گرافیک است</li>
|
||||
<li>تولید نامفهوم</li>
|
||||
@@ -105,7 +105,7 @@
|
||||
لینک های مفید
|
||||
</h3>
|
||||
<ul
|
||||
class="flex flex-col gap-4 font-thin text-slate-300"
|
||||
class="flex flex-col gap-4 font-thin text-slate-300 max-lg:text-xs"
|
||||
>
|
||||
<li>از طراحان گرافیک است</li>
|
||||
<li>تولید نامفهوم</li>
|
||||
|
||||
@@ -32,7 +32,10 @@ const isHomePage = computed(() => route.path === "/");
|
||||
<div
|
||||
class="size-full flex items-center justify-between container h-[65px] lg:h-[85px] shrink-0 grow-0"
|
||||
>
|
||||
<button class="md:hidden header-navbar-item" @click="isSideDrawerOpen = true">
|
||||
<button
|
||||
class="md:hidden header-navbar-item"
|
||||
@click="isSideDrawerOpen = true"
|
||||
>
|
||||
<Icon name="humbleicons:bars" size="28" />
|
||||
</button>
|
||||
<div class="max-md:hidden flex items-center gap-8 lg:gap-16">
|
||||
@@ -46,6 +49,7 @@ const isHomePage = computed(() => route.path === "/");
|
||||
>
|
||||
<Avatar
|
||||
class="!size-7"
|
||||
iconClass="header-navbar-item"
|
||||
:src="account.profile_photo"
|
||||
:alt="
|
||||
account.first_name && account.last_name
|
||||
@@ -61,12 +65,15 @@ const isHomePage = computed(() => route.path === "/");
|
||||
<NuxtLink to="/signin" class="flex-center">
|
||||
<Icon
|
||||
name="ci:profile"
|
||||
class="**:stroke-black size-5 lg:size-6"
|
||||
class="**:stroke-black size-5 lg:size-6 header-navbar-item"
|
||||
/>
|
||||
</NuxtLink>
|
||||
</Tooltip>
|
||||
<Tooltip title="محصولات">
|
||||
<NuxtLink to="/products" class="flex-center header-navbar-item">
|
||||
<NuxtLink
|
||||
to="/products"
|
||||
class="flex-center header-navbar-item"
|
||||
>
|
||||
<Icon
|
||||
name="ci:search"
|
||||
class="**:stroke-black size-4.5 lg:size-[21px]"
|
||||
@@ -106,7 +113,7 @@ const isHomePage = computed(() => route.path === "/");
|
||||
<div class="header-navbar-item">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="h-5 lg:h-6 "
|
||||
class="h-5 lg:h-6"
|
||||
fill="none"
|
||||
viewBox="0 0 220 40"
|
||||
>
|
||||
|
||||
@@ -36,15 +36,12 @@ const highlights = ref<Highlight[]>([
|
||||
<template>
|
||||
<section class="w-full border-t-[0.5px] border-slate-200">
|
||||
<div
|
||||
class="w-full py-[5rem] gap-8 sm:gap-12 xl:gap-0 container grid grid-cols-2 lg:grid-cols-4"
|
||||
class="w-full py-[3rem] lg:py-[5rem] gap-8 sm:gap-12 xl:gap-0 container grid grid-cols-2 lg:grid-cols-4"
|
||||
>
|
||||
<template v-for="(highlight, index) in highlights" :key="index">
|
||||
<div class="flex flex-col-center gap-[.75rem] px-5">
|
||||
<div class="size-[70px] md:size-[100px] flex-center">
|
||||
<NuxtImg
|
||||
:src="highlight.icon"
|
||||
class="w-full"
|
||||
/>
|
||||
<NuxtImg :src="highlight.icon" class="w-full" />
|
||||
</div>
|
||||
|
||||
<div class="w-full flex-col-center gap-[.25rem]">
|
||||
|
||||
@@ -27,7 +27,9 @@ const in_stock = ref(Boolean(params.in_stock) ?? false);
|
||||
|
||||
const sliderValueDebounced = refDebounced(sliderValue, 1000);
|
||||
|
||||
const filtersSuccessMessage = ref<{ title: string; status: string } | null>(null);
|
||||
const filtersSuccessMessage = ref<{ title: string; status: string } | null>(
|
||||
null
|
||||
);
|
||||
|
||||
// queries
|
||||
|
||||
@@ -137,7 +139,7 @@ watch(
|
||||
? 'bg-black text-white'
|
||||
: 'bg-slate-100'
|
||||
"
|
||||
class="py-1 px-3 cursor-pointer text-nowrap transition-all rounded-full text-sm"
|
||||
class="py-1 px-3 cursor-pointer text-nowrap transition-all rounded-md text-sm"
|
||||
>
|
||||
{{ sort.title }}
|
||||
</button>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<Button
|
||||
end-icon="ci:filter"
|
||||
variant="outlined"
|
||||
class="max-lg:size-11 rounded-full max-lg:aspect-square"
|
||||
class="max-lg:size-11 rounded-xl max-lg:aspect-square lg:py-3.5"
|
||||
>
|
||||
<span class="hidden lg:block"> فیلتر محصولات </span>
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user