Make bootstrap icons offline and add them to ci: prefix icons
This commit is contained in:
@@ -45,7 +45,7 @@ const emit = defineEmits<Emits>();
|
||||
class="bg-blue-500 rounded-md p-0.5 text-center bottom-4 left-4 text-slate-200 text-[10px] lg:text-xs absolute"
|
||||
>
|
||||
<Icon
|
||||
name="bi:check"
|
||||
name="ci:bi-check"
|
||||
size="20"
|
||||
class="**:fill-white"
|
||||
/>
|
||||
|
||||
@@ -127,7 +127,7 @@ const handleDeleteAddress = (id: number) => {
|
||||
class="size-8 bg-slate-200/50 rounded-sm flex-center me-2 opacity-0 group-hover:opacity-100 transition-opacity"
|
||||
>
|
||||
<Icon
|
||||
name="bi:trash"
|
||||
name="ci:bi-trash"
|
||||
class="**:fill-red-500"
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -150,14 +150,14 @@ watch(
|
||||
<Modal
|
||||
v-model="isShow"
|
||||
:title="!!address ? 'ویرایش آدرس' : 'افزودن آدرس'"
|
||||
:icon="!!address ? 'bi:pen' : 'ci:plus'"
|
||||
:icon="!!address ? 'ci:bi-pen' : 'ci:plus'"
|
||||
:iconSize="!!address ? '20' : '32'"
|
||||
contectClass="w-full max-lg:container lg:!w-[70vw]"
|
||||
@close="closeModal"
|
||||
>
|
||||
<template #trigger>
|
||||
<Button
|
||||
:end-icon="!!address ? 'bi:pen' : 'ci:plus'"
|
||||
:end-icon="!!address ? 'ci:bi-pen' : 'ci:plus'"
|
||||
size="md"
|
||||
class="rounded-full transition-all"
|
||||
:variant="!!address ? 'ghost' : 'solid'"
|
||||
|
||||
@@ -49,7 +49,7 @@ const { data: cart, isLoading: cartIsLoading } = useGetCartOrders();
|
||||
>
|
||||
<span class="text-sm text-black"> مشاهده بیشتر </span>
|
||||
<Icon
|
||||
name="bi:chevron-down"
|
||||
name="ci:bi-chevron-down"
|
||||
class="**:stroke-black"
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -196,7 +196,7 @@ watch(
|
||||
:class="deleteCartItemIsPending ? 'pointer-events-none' : ''"
|
||||
>
|
||||
<Icon
|
||||
name="bi:plus"
|
||||
name="ci:bi-plus"
|
||||
class="**:stroke-slate-800"
|
||||
/>
|
||||
</button>
|
||||
@@ -225,12 +225,12 @@ watch(
|
||||
>
|
||||
<Icon
|
||||
v-if="counter == 1"
|
||||
:name="deleteCartItemIsPending ? 'svg-spinners:3-dots-bounce' : 'bi:trash'"
|
||||
:name="deleteCartItemIsPending ? 'svg-spinners:3-dots-bounce' : 'ci:bi-trash'"
|
||||
class="**:fill-red-700"
|
||||
/>
|
||||
<Icon
|
||||
v-else
|
||||
name="bi:dash"
|
||||
name="ci:bi-dash"
|
||||
class="**:stroke-slate-800"
|
||||
/>
|
||||
</button>
|
||||
@@ -262,7 +262,7 @@ watch(
|
||||
:class="deleteCartItemIsPending ? 'pointer-events-none' : ''"
|
||||
>
|
||||
<Icon
|
||||
name="bi:plus"
|
||||
name="ci:bi-plus"
|
||||
class="**:stroke-slate-800"
|
||||
/>
|
||||
</button>
|
||||
@@ -291,12 +291,12 @@ watch(
|
||||
>
|
||||
<Icon
|
||||
v-if="counter == 1"
|
||||
:name="deleteCartItemIsPending ? 'svg-spinners:3-dots-bounce' : 'bi:trash'"
|
||||
:name="deleteCartItemIsPending ? 'svg-spinners:3-dots-bounce' : 'ci:bi-trash'"
|
||||
class="**:fill-red-700"
|
||||
/>
|
||||
<Icon
|
||||
v-else
|
||||
name="bi:dash"
|
||||
name="ci:bi-dash"
|
||||
class="**:stroke-slate-800"
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -48,14 +48,14 @@ const handleSubmit = () => {
|
||||
<Modal
|
||||
v-model="isShow"
|
||||
title="حذف اقلام"
|
||||
icon="bi:trash"
|
||||
icon="ci:bi-trash"
|
||||
contectClass="!w-[90vw] lg:!w-[35vw]"
|
||||
@close="isShow = false"
|
||||
>
|
||||
<template #trigger>
|
||||
<Button
|
||||
class="rounded-full shrink-0 whitespace-pre"
|
||||
end-icon="bi:trash"
|
||||
end-icon="ci:bi-trash"
|
||||
size="md"
|
||||
>
|
||||
حذف همه
|
||||
|
||||
@@ -122,7 +122,7 @@ const removeAttachment = (id: number) => {
|
||||
:name="
|
||||
loading
|
||||
? 'svg-spinners:ring-resize'
|
||||
: 'bi:file-earmark-arrow-down'
|
||||
: 'ci:bi-file-earmark-arrow-down'
|
||||
"
|
||||
size="32"
|
||||
:class="loading ? '' : ''"
|
||||
|
||||
@@ -60,7 +60,7 @@ const megaMenuCategories = computed(() => {
|
||||
@click="isSideDrawerOpen = true"
|
||||
>
|
||||
<Icon
|
||||
name="humbleicons:bars"
|
||||
name="ci:humbleicons-bars"
|
||||
size="28"
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -72,7 +72,7 @@ const isShow = computed({
|
||||
aria-label="Close"
|
||||
>
|
||||
<Icon
|
||||
name="bi:x-lg"
|
||||
name="ci:bi-x-lg"
|
||||
class="**:fill-black"
|
||||
/>
|
||||
</DialogClose>
|
||||
|
||||
@@ -43,7 +43,7 @@ const { isMobile } = useRatio();
|
||||
class="w-9 h-9 flex items-center justify-center bg-transparent cursor-pointer hover:bg-slate-100 transition disabled:opacity-50 disabled:cursor-not-allowed rounded-lg"
|
||||
>
|
||||
<Icon
|
||||
name="bi:chevron-double-right"
|
||||
name="ci:bi-chevron-double-right"
|
||||
class="**:fill-back"
|
||||
size="18px"
|
||||
/>
|
||||
@@ -53,7 +53,7 @@ const { isMobile } = useRatio();
|
||||
class="w-9 h-9 flex items-center justify-center bg-transparent cursor-pointer hover:bg-slate-100 transition disabled:opacity-50 disabled:cursor-not-allowed rounded-lg"
|
||||
>
|
||||
<Icon
|
||||
name="bi:chevron-right"
|
||||
name="ci:bi-chevron-right"
|
||||
class="**:fill-back"
|
||||
size="18px"
|
||||
/>
|
||||
@@ -82,7 +82,7 @@ const { isMobile } = useRatio();
|
||||
class="w-9 h-9 flex items-center justify-center cursor-pointer hover:bg-slate-100 transition disabled:opacity-50 disabled:cursor-not-allowed rounded-lg"
|
||||
>
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
class="**:fill-back"
|
||||
size="18px"
|
||||
/>
|
||||
@@ -92,7 +92,7 @@ const { isMobile } = useRatio();
|
||||
class="w-9 h-9 flex items-center justify-center bg-transparent cursor-pointer hover:bg-slate-100 transition disabled:opacity-50 disabled:cursor-not-allowed rounded-lg"
|
||||
>
|
||||
<Icon
|
||||
name="bi:chevron-double-left"
|
||||
name="ci:bi-chevron-double-left"
|
||||
class="**:fill-back"
|
||||
size="18px"
|
||||
/>
|
||||
|
||||
@@ -72,7 +72,7 @@ const classes = computed(() => {
|
||||
class="font-iran-yekan-x text-xs lg:text-sm text-start placeholder-slate-400 placeholder:text-xs lg:placeholder:text-sm"
|
||||
/>
|
||||
<Icon
|
||||
:name="loading ? 'svg-spinners:3-dots-fade' : 'bi:chevron-down'"
|
||||
:name="loading ? 'svg-spinners:3-dots-fade' : 'ci:bi-chevron-down'"
|
||||
size="16"
|
||||
/>
|
||||
</SelectTrigger>
|
||||
@@ -100,7 +100,7 @@ const classes = computed(() => {
|
||||
class="absolute left-0 w-[25px] inline-flex items-center justify-center"
|
||||
>
|
||||
<Icon
|
||||
name="bi:check"
|
||||
name="ci:bi-check"
|
||||
size="20"
|
||||
/>
|
||||
</SelectItemIndicator>
|
||||
|
||||
@@ -78,7 +78,7 @@ watch(
|
||||
<span class="text-xs"> {{ account.first_name }} {{ account.last_name }} </span>
|
||||
</div>
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
size="12"
|
||||
class="**:stroke-black/50 opacity-70"
|
||||
/>
|
||||
@@ -105,7 +105,7 @@ watch(
|
||||
<span class="text-xs"> ورود به حساب </span>
|
||||
</div>
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
size="12"
|
||||
class="**:stroke-black/50 opacity-70"
|
||||
/>
|
||||
@@ -127,7 +127,7 @@ watch(
|
||||
<span class="text-xs"> جست و جو </span>
|
||||
</div>
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
size="12"
|
||||
class="**:stroke-black/50 opacity-70"
|
||||
/>
|
||||
@@ -146,7 +146,7 @@ watch(
|
||||
<span class="text-xs"> سبد خرید </span>
|
||||
</div>
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
size="12"
|
||||
class="**:stroke-black/50 opacity-70"
|
||||
/>
|
||||
@@ -176,7 +176,7 @@ watch(
|
||||
<span class="text-xs"> {{ link.title }}</span>
|
||||
</div>
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
size="12"
|
||||
class="**:stroke-black/50 opacity-70"
|
||||
/>
|
||||
|
||||
@@ -24,7 +24,7 @@ const profileDropdownItems = ref<DropdownItem[]>([
|
||||
},
|
||||
{
|
||||
title: "خروج از حساب",
|
||||
icon: "bi:arrow-bar-left",
|
||||
icon: "ci:bi-arrow-bar-left",
|
||||
itemClass: "!text-red-500",
|
||||
iconClass: "**:stroke-red-500 **:fill-transparent",
|
||||
onClick: () => {
|
||||
@@ -99,7 +99,7 @@ const { data: account } = useGetAccount();
|
||||
class="aspect-square rounded-sm size-7 flex-center"
|
||||
>
|
||||
<Icon
|
||||
name="bi:pencil"
|
||||
name="ci:bi-pencil"
|
||||
class="**:fill-black"
|
||||
size="14"
|
||||
/>
|
||||
|
||||
@@ -243,7 +243,7 @@ onUnmounted(() => {
|
||||
class="transition-all cursor-pointer flex-center bg-white z-10 size-full rounded-full"
|
||||
>
|
||||
<Icon
|
||||
:name="isMuted ? 'bi:volume-mute-fill' : 'bi:volume-up-fill'"
|
||||
:name="isMuted ? 'ci:bi-volume-mute-fill' : 'ci:bi-volume-up-fill'"
|
||||
class="text-black size-4 md:size-[18px] lg:size-[24px]"
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -116,7 +116,7 @@ const limitedComments = computed(() => {
|
||||
variant="primary"
|
||||
@click="showMoreComments = !showMoreComments"
|
||||
class="rounded-full px-8"
|
||||
end-icon="bi:plus"
|
||||
end-icon="ci:bi-plus"
|
||||
>
|
||||
نمایش همه
|
||||
</Button>
|
||||
|
||||
@@ -99,7 +99,7 @@ watch(
|
||||
<Icon
|
||||
v-else
|
||||
:class="product?.added_to_favorites ? '**:fill-blue-400' : ''"
|
||||
:name="product?.added_to_favorites ? 'bi-bookmark-fill' : 'bi:bookmark'"
|
||||
:name="product?.added_to_favorites ? 'bi-bookmark-fill' : 'ci:bi-bookmark'"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
@@ -165,7 +165,7 @@ watch(
|
||||
<Icon
|
||||
v-else
|
||||
:class="product?.added_to_favorites ? '**:fill-blue-400' : ''"
|
||||
:name="product?.added_to_favorites ? 'bi-bookmark-fill' : 'bi:bookmark'"
|
||||
:name="product?.added_to_favorites ? 'bi-bookmark-fill' : 'ci:bi-bookmark'"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
@@ -322,7 +322,7 @@ watch(
|
||||
<Button
|
||||
variant="secondary"
|
||||
class="w-full rounded-full h-full max-sm:h-[48px]"
|
||||
end-icon="bi:percent"
|
||||
end-icon="ci:bi-percent"
|
||||
>
|
||||
{{ selectedVariant?.special_discount_amount }}
|
||||
تخفیف بگیر
|
||||
@@ -331,7 +331,7 @@ watch(
|
||||
<!-- <Button
|
||||
variant="secondary"
|
||||
class="w-full rounded-full h-full max-sm:h-[48px]"
|
||||
end-icon="bi:person-check"
|
||||
end-icon="ci:bi-person-check"
|
||||
>
|
||||
پورسانت بگیر
|
||||
</Button> -->
|
||||
|
||||
@@ -32,7 +32,7 @@ defineProps<Props>();
|
||||
class="text-white mb-1 px-3 py-1 bg-blue-500 text-xs rounded-full w-fit flex items-center justify-center gap-1"
|
||||
>
|
||||
<Icon
|
||||
name="bi:percent"
|
||||
name="ci:bi-percent"
|
||||
class="size-3.5"
|
||||
/>
|
||||
<span class="mt-px">
|
||||
|
||||
@@ -17,7 +17,7 @@ const isSideShow = useState("side-modal-product-filters");
|
||||
|
||||
const currentCategory = computed({
|
||||
get: () => {
|
||||
return Array.isArray(slug.value) ? slug.value[1] ?? undefined : undefined;
|
||||
return Array.isArray(slug.value) ? (slug.value[1] ?? undefined) : undefined;
|
||||
},
|
||||
set: (newValue) => {
|
||||
isSideShow.value = false;
|
||||
@@ -79,7 +79,7 @@ watch(
|
||||
(newValue) => {
|
||||
price_gte.value = newValue[0];
|
||||
price_lte.value = newValue[1];
|
||||
}
|
||||
},
|
||||
);
|
||||
</script>
|
||||
|
||||
@@ -219,7 +219,7 @@ watch(
|
||||
v-else
|
||||
class="flex-center gap-3 text-sm"
|
||||
>
|
||||
بازنشانی به پیش فرض
|
||||
بازنشانی فیلتر ها
|
||||
<Icon
|
||||
name="ci:close"
|
||||
size="20"
|
||||
|
||||
@@ -43,7 +43,7 @@ const handleSubmit = () => {
|
||||
<Modal
|
||||
v-model="isShow"
|
||||
title="خروج از حساب"
|
||||
icon="bi:arrow-bar-right"
|
||||
icon="ci:bi-arrow-bar-right"
|
||||
contectClass="!w-[90vw] lg:!w-[35vw]"
|
||||
@close="isShow = false"
|
||||
>
|
||||
|
||||
@@ -21,7 +21,7 @@ const toggleSidebar = inject("toggleSidebar");
|
||||
>
|
||||
<div class="flex items-center w-full gap-3 lg:w-1/2">
|
||||
<button class="flex-center lg:hidden" @click="toggleSidebar">
|
||||
<Icon name="bi:chevron-right" size="18" class="**:fill-black" />
|
||||
<Icon name="ci:bi-chevron-right" size="18" class="**:fill-black" />
|
||||
</button>
|
||||
<p class="font-semibold text-sm lg:text-lg text-black">
|
||||
{{ title }}
|
||||
|
||||
@@ -19,35 +19,35 @@ const route = useRoute();
|
||||
|
||||
const profileLinks = ref([
|
||||
{
|
||||
icon: "bi:person-vcard",
|
||||
icon: "ci:bi-person-vcard",
|
||||
title: "پروفایل",
|
||||
path: { name: "profile" },
|
||||
},
|
||||
{
|
||||
icon: "bi:map",
|
||||
icon: "ci:bi-map",
|
||||
title: "آدرس ها",
|
||||
path: { name: "profile-addresses" },
|
||||
},
|
||||
{
|
||||
icon: "bi:cart",
|
||||
icon: "ci:bi-cart",
|
||||
title: "خرید ها و سفارش ها",
|
||||
path: { name: "profile-purchases-and-orders" },
|
||||
matchPattern: /^profile-purchases-and-orders/,
|
||||
},
|
||||
{
|
||||
icon: "bi:bookmark",
|
||||
icon: "ci:bi-bookmark",
|
||||
title: "علاقهمندی ها",
|
||||
path: { name: "profile-saved-products" },
|
||||
matchPattern: /^profile-saved-products/,
|
||||
},
|
||||
{
|
||||
icon: "bi:ticket",
|
||||
icon: "ci:bi-ticket",
|
||||
title: "تیکت ها",
|
||||
path: { name: "profile-tickets" },
|
||||
matchPattern: /^profile-ticket/,
|
||||
},
|
||||
{
|
||||
icon: "bi:bell",
|
||||
icon: "ci:bi-bell",
|
||||
title: "اعلانات",
|
||||
path: { name: "profile-notifications" },
|
||||
},
|
||||
@@ -127,7 +127,7 @@ const toggleSidebar = inject("toggleSidebar");
|
||||
</span>
|
||||
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
class="transition-all"
|
||||
/>
|
||||
</NuxtLink>
|
||||
@@ -140,7 +140,7 @@ const toggleSidebar = inject("toggleSidebar");
|
||||
<span class="flex-center gap-3">
|
||||
<div class="size-5 flex-center">
|
||||
<Icon
|
||||
name="bi:arrow-bar-right"
|
||||
name="ci:bi-arrow-bar-right"
|
||||
class="**:fill-danger-500"
|
||||
/>
|
||||
</div>
|
||||
@@ -148,7 +148,7 @@ const toggleSidebar = inject("toggleSidebar");
|
||||
</span>
|
||||
|
||||
<Icon
|
||||
name="bi:chevron-left"
|
||||
name="ci:bi-chevron-left"
|
||||
class="transition-all **:fill-danger-500"
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -95,14 +95,14 @@ const resetAvatarFile = async () => {
|
||||
<Modal
|
||||
v-model="visible"
|
||||
title="عکس پروفایل"
|
||||
icon="bi:image"
|
||||
icon="ci:bi-image"
|
||||
iconSize="20"
|
||||
contectClass="w-full max-lg:container lg:!w-[30vw]"
|
||||
>
|
||||
<template #trigger>
|
||||
<button class="bg-black text-slate-100 rounded-full p-2 flex-center absolute -bottom-0 -right-0">
|
||||
<Icon
|
||||
name="bi:pencil"
|
||||
name="ci:bi-pencil"
|
||||
class="**:fill-slate-100"
|
||||
size="12"
|
||||
/>
|
||||
@@ -158,7 +158,7 @@ const resetAvatarFile = async () => {
|
||||
>
|
||||
<Icon
|
||||
v-if="updateAccountIsPending"
|
||||
name="bi:trash"
|
||||
name="ci:bi-trash"
|
||||
/>
|
||||
<span v-else>حذف عکس</span>
|
||||
</Button>
|
||||
|
||||
@@ -23,7 +23,7 @@ const { formatToPersian } = usePersianDate();
|
||||
<div class="flex flex-col gap-2">
|
||||
<div class="flex items-center gap-3">
|
||||
<Icon
|
||||
:name="data.notif_type == 'NEWS' ? 'bi:info-circle' : 'bi:bell'"
|
||||
:name="data.notif_type == 'NEWS' ? 'ci:bi-info-circle' : 'ci:bi-bell'"
|
||||
class="lg:text-lg"
|
||||
/>
|
||||
<h3 class="max-lg:text-sm font-semibold">{{ data.title }}</h3>
|
||||
|
||||
@@ -19,7 +19,7 @@ defineProps<Props>();
|
||||
class="w-full flex items-center cursor-pointer p-2 gap-2 rounded-100 bg-slate-100 border border-slate-300"
|
||||
>
|
||||
<div class="size-10 flex-center border border-slate-300 rounded-md">
|
||||
<Icon name="bi:pin-angle" class="**:fill-black" size="20" />
|
||||
<Icon name="ci:bi-pin-angle" class="**:fill-black" size="20" />
|
||||
</div>
|
||||
<div class="flex flex-col gap-1">
|
||||
<span class="text-sm line-clamp-1">
|
||||
|
||||
@@ -17,7 +17,7 @@ const isSideShow = useState("side-modal-resellers-product-filters");
|
||||
|
||||
const currentCategory = computed({
|
||||
get: () => {
|
||||
return Array.isArray(slug.value) ? slug.value[1] ?? undefined : undefined;
|
||||
return Array.isArray(slug.value) ? (slug.value[1] ?? undefined) : undefined;
|
||||
},
|
||||
set: (newValue) => {
|
||||
isSideShow.value = false;
|
||||
@@ -69,7 +69,7 @@ watch(
|
||||
(newValue) => {
|
||||
price_gte.value = newValue[0];
|
||||
price_lte.value = newValue[1];
|
||||
}
|
||||
},
|
||||
);
|
||||
</script>
|
||||
|
||||
@@ -210,7 +210,7 @@ watch(
|
||||
v-else
|
||||
class="flex-center gap-3 text-sm"
|
||||
>
|
||||
بازنشانی به پیش فرض
|
||||
بازنشانی فیلتر ها
|
||||
<Icon
|
||||
name="ci:close"
|
||||
size="20"
|
||||
|
||||
Reference in New Issue
Block a user