This commit is contained in:
mohadese namavar
2024-06-16 00:22:14 +04:30
commit ec84dfd222
322 changed files with 77942 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
<template>
<div class="about-us">
<div>
<img src="/images/logo.svg" alt="logo" />
<p>{{ $t("aboutUsDesc") }}</p>
</div>
<ul>
<li v-for="item in items" :key="item">
<i :class="`isax isax-${item.icon}`" />
<span>{{ $t(item.title) }}</span>
</li>
</ul>
</div>
</template>
<script setup>
const items = reactive([
{ icon: "call", title: "aboutUsPhone" },
{ icon: "sms", title: "aboutUsPostalCode" },
{ icon: "location", title: "aboutUsAddress" },
]);
</script>
<style lang="scss">
footer .about-us {
@apply flex flex-col gap-6 p-8 font-vazir;
@apply w-full h-auto bg-zinc-100 rounded-2xl border-2 border-neutral-200;
@apply sm:w-[32.7rem] sm:h-[31.3rem];
@apply lg:flex-row lg:w-[57.7rem] lg:h-auto;
@apply xl:flex-col xl:w-[32.7rem] xl:h-[31.3rem];
&>div {
@apply flex flex-col gap-6;
img {
@apply w-60 h-10;
}
p {
@apply w-auto sm:w-[28.1rem] text-zinc-800 text-lg leading-[1.9rem];
}
}
ul {
@apply flex flex-col gap-4 mt-4;
li {
@apply flex gap-3 h-max;
i {
@apply text-2xl h-[1.9rem];
}
span {
@apply text-zinc-800 text-base font-medium leading-[1.9rem];
}
}
}
}
</style>
@@ -0,0 +1,43 @@
<template>
<div class="customer-services">
<h2>{{ $t("customer-services") }}</h2>
<ul>
<li v-for="(service, i) in services" :key="i">
<a :href="service.url">
<span>{{ $t(service.title) }}</span>
</a>
</li>
</ul>
</div>
</template>
<script setup>
const services = reactive([
{ url: "/contact-us", title: "contactUs" },
{ url: "/about-us", title: "aboutUs" },
{ url: "/search", title: "shop" },
{ url: "/blog", title: "media" },
]);
</script>
<style lang="scss">
footer .customer-services {
@apply flex flex-col gap-4 w-max font-vazir items-center sm:items-start;
h2 {
@apply text-zinc-800 text-xl font-bold leading-[1.9rem];
}
ul {
@apply flex gap-4 sm:flex-col justify-between sm:gap-2;
li {
a {
span {
@apply text-stone-500 text-[0.9em] leading-[1.9rem] hover:text-primary-600;
}
}
}
}
}
</style>
+32
View File
@@ -0,0 +1,32 @@
<template>
<footer>
<AppDesktopFooterAboutUs />
<div>
<AppDesktopFooterNewsletters />
<AppDesktopFooterSocialNetworks />
<div>
<AppDesktopFooterCustomerServices />
<AppDesktopFooterPurchaseGuide />
<AppDesktopFooterTrustSymbols />
</div>
</div>
</footer>
</template>
<script setup></script>
<style lang="scss">
footer {
@apply w-full flex flex-col sm:items-center justify-center bg-[#F5F5F5];
@apply gap-4 px-3 py-12;
@apply xl:flex-row xl:gap-[6.7rem] 2xl:py-[6.3rem];
&>div:not([class]) {
@apply flex flex-col gap-6;
&>div:not([class]) {
@apply flex flex-col items-center sm:items-start sm:flex-row justify-center gap-8 mt-4 lg:justify-between xl:gap-6 xl:mt-10;
}
}
}
</style>
@@ -0,0 +1,81 @@
<template>
<div class="newsletters">
<h2>{{ $t("newslettersDesc") }}</h2>
<form>
<div>
<i class="isax isax-sms" />
<span>|</span>
<input v-model="email" :class="{ '!ltr': email }" :placeholder="$t('emailAddress')" />
</div>
<Button :label="$t('submit')" :loading="loading" @click="submit()" />
</form>
</div>
</template>
<script setup>
const { toast, t } = inject('service')
const loading = ref(false)
const email = ref()
const submit = async () => {
if (email.value.includes('@')) {
loading.value = true;
const { status, error } = await useFetch('/api/news', { method: 'post', body: { email: email.value } })
loading.value = false;
email.value = '';
if (status.value == 'success')
toast.add({
life: 3000,
severity: 'success',
summary: t('success'),
detail: t('submitedSuccessfully')
})
else
toast.add({
life: 3000,
severity: 'error',
summary: t('error'),
detail: error.value
})
}
}
</script>
<style lang="scss">
footer .newsletters {
@apply bg-zinc-100 rounded-xl border-2 border-neutral-200;
@apply flex flex-col items-center justify-between p-3 font-vazir;
@apply w-full h-auto gap-4 py-4;
@apply lg:w-[57.7rem] lg:h-[4.5rem] lg:flex-row;
h2 {
@apply text-zinc-800 text-lg font-medium leading-[1.9rem] mr-3;
}
form {
@apply flex gap-2;
div {
@apply w-[16.9rem] md:w-[21.5rem] h-12 bg-neutral-200 rounded-lg flex gap-3 items-center p-3;
i {
@apply text-2xl;
}
input {
@apply h-12 bg-transparent w-full rtl text-neutral-600 font-medium outline-none;
&:placeholder {
@apply text-neutral-600;
}
}
}
button {
@apply w-[4.5rem] h-12 bg-[#47B556] rounded-md text-white text-base font-medium #{!important};
}
}
}
</style>
@@ -0,0 +1,42 @@
<template>
<div class="purchase-guide">
<h2>{{ $t("purchaseGuideFromAM") }}</h2>
<ul>
<li v-for="(guide, i) in guides" :key="i">
<a :href="guide.url">
<span>{{ $t(guide.title) }}</span>
</a>
</li>
</ul>
</div>
</template>
<script setup>
const guides = reactive([
{ url: "/", title: "howToPlaceOrder" },
{ url: "/", title: "orderSendingProcedure" },
{ url: "/", title: "paymentMethods" },
]);
</script>
<style lang="scss">
footer .purchase-guide {
@apply flex flex-col gap-4 sm:gap-[1.4rem] w-max font-vazir items-center sm:items-start;
h2 {
@apply text-zinc-800 text-xl font-bold leading-[1.9rem];
}
ul {
@apply flex gap-4 sm:flex-col sm:gap-2;
li {
a {
span {
@apply text-stone-500 text-[0.9em] leading-[1.9rem] hover:text-primary-600;
}
}
}
}
}
</style>
@@ -0,0 +1,48 @@
<template>
<div class="social-networks">
<h2>{{ $t("followUs") }}</h2>
<ul>
<li v-for="({url, icon}, i) in socials" :key="i">
<a :href="url" target="_blank">
<img :src="`/icons/${icon}.svg`" />
</a>
</li>
</ul>
</div>
</template>
<script setup>
const socials = reactive([
{ url: "/", icon: "linkedin" },
{ url: "/", icon: "telegram" },
{ url: "/", icon: "whatsapp" },
{ url: "/", icon: "instagram" },
]);
</script>
<style lang="scss">
footer .social-networks {
@apply bg-zinc-100 rounded-xl border-2 border-neutral-200;
@apply flex flex-col items-center justify-between px-6;
@apply w-full h-auto gap-4 py-4;
@apply lg:w-[57.7rem] lg:h-[4.5rem] md:flex-row;
h2 {
@apply text-zinc-800 text-lg font-medium font-vazir leading-[1.9rem];
}
ul {
@apply flex gap-2;
li {
@apply w-max h-max;
a {
@apply w-10 h-10 bg-[#B2B2B2] hover:bg-[#43E97B] rounded-full flex items-center justify-center;
img {
@apply h-6 w-6 object-scale-down;
}
}
}
}
}
</style>
@@ -0,0 +1,37 @@
<template>
<div class="trust-symbols">
<h2>{{ $t('symbolOfTrust')}}</h2>
<div>
<picture v-for="(symbol, i) in symbols" :key="i">
<img :src="`/images/${symbol}.svg`" />
</picture>
</div>
</div>
</template>
<script setup>
const symbols = reactive(['samandehi', 'kasbokar'])
</script>
<style lang="scss">
footer .trust-symbols{
@apply flex flex-col items-center gap-4;
@apply sm:items-start;
h2{
@apply text-zinc-800 text-xl font-bold font-vazir leading-[1.9rem];
}
div{
@apply flex gap-4;
picture{
@apply flex w-24 h-32 bg-white rounded-lg border border-neutral-300;
img{
@apply m-auto;
}
}
}
}
</style>