summaryrefslogtreecommitdiff
path: root/src-migrate/common
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-13 10:35:22 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-13 10:35:22 +0700
commitf62b2345f463695ef0f8f79830cd76b6e0332821 (patch)
treec06ff12a8312e3a02b0203f588db0f4da044c911 /src-migrate/common
parentee0b5893ac039ab05fe8247647364a923d707da3 (diff)
Refactor src migrate folder
Diffstat (limited to 'src-migrate/common')
-rw-r--r--src-migrate/common/components/elements/Modal.tsx90
-rw-r--r--src-migrate/common/components/elements/ReCaptcha.tsx17
-rw-r--r--src-migrate/common/components/elements/Seo.tsx34
-rw-r--r--src-migrate/common/components/skeleton/PageContentSkeleton.tsx19
-rw-r--r--src-migrate/common/constants/menu.ts20
-rw-r--r--src-migrate/common/libs/auth.ts26
-rw-r--r--src-migrate/common/libs/clsxm.ts6
-rw-r--r--src-migrate/common/libs/formatCurrency.ts5
-rw-r--r--src-migrate/common/libs/odooApi.ts81
-rw-r--r--src-migrate/common/libs/parse0
-rw-r--r--src-migrate/common/stores/useRegisterStore.ts60
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Black.woffbin138764 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Black.woff2bin102868 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woffbin146824 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff2bin108752 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Bold.woffbin143208 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Bold.woff2bin106140 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woffbin151052 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff2bin111808 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woffbin142920 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff2bin106108 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woffbin150628 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff2bin111708 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woffbin140724 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff2bin104232 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woffbin149996 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff2bin111392 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Italic.woffbin144372 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Italic.woff2bin106876 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Light.woffbin140632 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Light.woff2bin104332 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woffbin150092 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff2bin111332 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Medium.woffbin142552 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Medium.woff2bin105924 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woffbin150988 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff2bin112184 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Regular.woffbin133844 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Regular.woff2bin98868 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woffbin142932 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff2bin105804 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woffbin151180 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff2bin112048 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Thin.woffbin135920 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-Thin.woff2bin99632 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woffbin145480 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff2bin106496 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-italic.var.woff2bin245036 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter-roman.var.woff2bin227180 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/Inter.var.woff2bin324864 -> 0 bytes
-rw-r--r--src-migrate/common/styles/fonts/Inter/inter.css199
-rw-r--r--src-migrate/common/styles/globals.css674
-rw-r--r--src-migrate/common/types/auth.ts58
-rw-r--r--src-migrate/common/types/cart.ts72
-rw-r--r--src-migrate/common/types/checkout.ts16
-rw-r--r--src-migrate/common/types/nav.ts4
-rw-r--r--src-migrate/common/types/odoo.ts6
-rw-r--r--src-migrate/common/types/pageContent.ts5
-rw-r--r--src-migrate/common/types/productVariant.ts13
-rw-r--r--src-migrate/common/types/promotion.ts35
-rw-r--r--src-migrate/common/types/promotionProgram.ts8
-rw-r--r--src-migrate/common/types/solr.ts7
-rw-r--r--src-migrate/common/validations/auth.ts17
63 files changed, 0 insertions, 1472 deletions
diff --git a/src-migrate/common/components/elements/Modal.tsx b/src-migrate/common/components/elements/Modal.tsx
deleted file mode 100644
index c9c621e0..00000000
--- a/src-migrate/common/components/elements/Modal.tsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import { XMarkIcon } from "@heroicons/react/24/outline";
-import { AnimatePresence, motion } from "framer-motion"
-import { useRouter } from "next/router";
-import { useEffect, useState } from "react";
-import ReactDOM from "react-dom";
-import { useWindowSize } from "usehooks-ts";
-import clsxm from "~/common/libs/clsxm";
-
-
-type Props = {
- children: React.ReactNode
- active: boolean
- title?: string
- close?: () => void,
- className?: string,
- mode?: "mobile" | "desktop"
-}
-
-const Modal = ({
- children,
- active = false,
- title,
- close,
- className,
- mode
-}: Props) => {
- const router = useRouter()
- const { width } = useWindowSize()
- const [rendered, setRendered] = useState<boolean>(false)
-
- mode = mode || width >= 768 ? "desktop" : "mobile"
-
- useEffect(() => {
- setRendered(true)
- }, [])
-
- const modalClassNames = clsxm(
- "fixed bg-white max-h-[80vh] overflow-auto p-4 pt-0 z-[60] border-gray_r-6",
- {
- "left-1/2 -translate-x-1/2 translate-y-1/2 bottom-1/2 w-11/12 md:w-[500px] border rounded-xl": mode === 'desktop',
- "left-0 w-full border-t bottom-0 rounded-t-xl": mode === 'mobile'
- },
- className
- )
-
- const variant = {
- initial: { bottom: mode === 'desktop' ? '45%' : '-100%', opacity: 0 },
- animate: { bottom: mode === 'desktop' ? '50%' : 0, opacity: 1 },
- exit: { bottom: mode === 'desktop' ? '55%' : '-100%', opacity: 0 },
- transition: { ease: 'linear', duration: 0.25 }
- }
-
- return rendered && ReactDOM.createPortal(
- <AnimatePresence key={router.asPath}>
- {active && (
- <motion.div
- className="overlay"
- initial={{ opacity: 0 }}
- animate={{ opacity: 1 }}
- exit={{ opacity: 0 }}
- onClick={close}
- />
- )}
-
- {active && (
- <motion.div
- {...variant}
- className={modalClassNames}
- >
- <div className='flex justify-between py-5 sticky top-0 '>
- <div className='font-semibold text-h-sm md:text-title-sm'>
- {title}
- </div>
- {close && (
- <button className="rounded-full h-10 w-10 flex justify-center items-center bg-white" type='button' onClick={close}>
- <XMarkIcon className='w-5 h-5 ' />
- </button>
- )}
- </div>
-
- {children}
- </motion.div>
- )}
-
- </AnimatePresence>,
- document.querySelector('body')!
- )
-}
-
-export default Modal \ No newline at end of file
diff --git a/src-migrate/common/components/elements/ReCaptcha.tsx b/src-migrate/common/components/elements/ReCaptcha.tsx
deleted file mode 100644
index 1bc31d90..00000000
--- a/src-migrate/common/components/elements/ReCaptcha.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import ReCAPTCHA, { ReCAPTCHAProps } from "react-google-recaptcha"
-
-const GOOGLE_RECAPTCHA_KEY = process.env.NEXT_PUBLIC_RECAPTCHA_GOOGLE || ''
-
-type Props = Omit<ReCAPTCHAProps, 'sitekey'> & {
- sitekey?: string;
-}
-
-const ReCaptcha = (props: Props) => {
- const { sitekey, ...rest } = props
-
- return (
- <ReCAPTCHA sitekey={sitekey || GOOGLE_RECAPTCHA_KEY} {...rest} />
- )
-}
-
-export default ReCaptcha \ No newline at end of file
diff --git a/src-migrate/common/components/elements/Seo.tsx b/src-migrate/common/components/elements/Seo.tsx
deleted file mode 100644
index 2245663a..00000000
--- a/src-migrate/common/components/elements/Seo.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { useRouter } from 'next/router'
-import React from 'react'
-import { NextSeo } from "next-seo"
-import { MetaTag, NextSeoProps } from 'next-seo/lib/types';
-
-const Seo = (props: NextSeoProps) => {
- const router = useRouter()
-
- const additionalMetaTags: MetaTag[] = [
- {
- property: 'fb:app_id',
- content: '270830718811'
- },
- {
- property: 'fb:page_id',
- content: '101759953569'
- },
- ]
-
- if (!!props.additionalMetaTags) additionalMetaTags.push(...props.additionalMetaTags)
-
- return (
- <NextSeo
- defaultTitle='Indoteknik.com: B2B Industrial Supply & Solution'
- canonical={process.env.NEXT_PUBLIC_SELF_HOST + router.asPath}
- description={props.title}
- {...props}
- openGraph={{ siteName: 'Indoteknik.com', ...props.openGraph }}
- additionalMetaTags={additionalMetaTags}
- />
- )
-}
-
-export default Seo \ No newline at end of file
diff --git a/src-migrate/common/components/skeleton/PageContentSkeleton.tsx b/src-migrate/common/components/skeleton/PageContentSkeleton.tsx
deleted file mode 100644
index bf85cff1..00000000
--- a/src-migrate/common/components/skeleton/PageContentSkeleton.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-const PageContentSkeleton = () => {
- return (
- <div className="animate-pulse grid gap-y-4">
- <div className="w-full h-10 bg-gray-300 rounded" />
- <div className="h-2" />
- <div className="w-full h-4 bg-gray-300 rounded" />
- <div className="w-full h-4 bg-gray-300 rounded" />
- <div className="w-full h-4 bg-gray-300 rounded" />
- <div className="w-8/12 h-4 bg-gray-300 rounded" />
- <div className="h-2" />
- <div className="w-full h-4 bg-gray-300 rounded" />
- <div className="w-full h-4 bg-gray-300 rounded" />
- <div className="w-full h-4 bg-gray-300 rounded" />
- <div className="w-1/2 h-4 bg-gray-300 rounded" />
- </div>
- )
-}
-
-export default PageContentSkeleton \ No newline at end of file
diff --git a/src-migrate/common/constants/menu.ts b/src-migrate/common/constants/menu.ts
deleted file mode 100644
index 853da507..00000000
--- a/src-migrate/common/constants/menu.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { SecondaryNavItemProps } from '../types/nav'
-
-export const SECONDARY_MENU_ITEMS: SecondaryNavItemProps[] = [
- {
- label: 'Semua Brand',
- href: '/shop/brands'
- },
- {
- label: 'Ready Stock',
- href: '/shop/search?orderBy=stock'
- },
- {
- label: 'Blog Indoteknik',
- href: 'https://blog.indoteknik.com/'
- },
- {
- label: 'Indoteknik TV',
- href: '/video'
- }
-]
diff --git a/src-migrate/common/libs/auth.ts b/src-migrate/common/libs/auth.ts
deleted file mode 100644
index fb4e836a..00000000
--- a/src-migrate/common/libs/auth.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { deleteCookie, getCookie, setCookie } from 'cookies-next';
-import { AuthProps } from '../types/auth';
-
-const COOKIE_KEY = 'auth';
-
-export const getAuth = (): AuthProps | boolean => {
- const auth = getCookie(COOKIE_KEY);
-
- if (typeof auth === 'string') {
- return JSON.parse(auth);
- }
-
- return false;
-};
-
-export const setAuth = (user: AuthProps): boolean => {
- setCookie(COOKIE_KEY, JSON.stringify(user));
-
- return true;
-};
-
-export const deleteAuth = (): boolean => {
- deleteCookie(COOKIE_KEY);
-
- return true;
-};
diff --git a/src-migrate/common/libs/clsxm.ts b/src-migrate/common/libs/clsxm.ts
deleted file mode 100644
index 0fc10317..00000000
--- a/src-migrate/common/libs/clsxm.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import clsx, { ClassValue } from 'clsx';
-import { twMerge } from 'tw-merge';
-
-export default function clsxm(...classes: ClassValue[]) {
- return twMerge(clsx(...classes));
-}
diff --git a/src-migrate/common/libs/formatCurrency.ts b/src-migrate/common/libs/formatCurrency.ts
deleted file mode 100644
index 41db4a6f..00000000
--- a/src-migrate/common/libs/formatCurrency.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-const formatCurrency = (value: number) => {
- return value.toLocaleString('id-ID');
-};
-
-export default formatCurrency;
diff --git a/src-migrate/common/libs/odooApi.ts b/src-migrate/common/libs/odooApi.ts
deleted file mode 100644
index 2dbc18d3..00000000
--- a/src-migrate/common/libs/odooApi.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import axios, { AxiosRequestConfig, Method } from 'axios';
-import { getCookie, setCookie } from 'cookies-next';
-import { getAuth } from './auth';
-import { AuthApiProps, AuthProps } from '../types/auth';
-
-const ODOO_HOST = process.env.NEXT_PUBLIC_ODOO_API_HOST as string;
-
-const renewToken = async () => {
- let token = await axios.get(`${ODOO_HOST}/api/token`);
- setCookie('token', token.data.result);
-
- return token.data.result;
-};
-
-const getToken = async () => {
- let token = getCookie('token');
- if (token == undefined) token = await renewToken();
-
- return token;
-};
-
-const maxConnectionAttempt = 15;
-let connectionAttempt = 0;
-
-const odooApi = async (
- method: Method,
- url: string,
- data = {},
- headers = {}
-): Promise<any> => {
- connectionAttempt++;
-
- try {
- let token = await getToken();
- const auth = getAuth();
-
- let axiosParameter: AxiosRequestConfig = {
- method,
- url: process.env.NEXT_PUBLIC_ODOO_API_HOST + url,
- headers: { Authorization: token, ...headers },
- };
-
- if (typeof auth === 'object' && 'token' in auth) {
- axiosParameter.headers = {
- ...axiosParameter.headers,
- Token: auth.token,
- };
- }
-
- if (method.toUpperCase() === 'POST') {
- axiosParameter.headers = {
- ...axiosParameter.headers,
- 'Content-Type': 'application/x-www-form-urlencoded',
- };
- }
-
- if (Object.keys(data).length > 0) {
- axiosParameter.data = new URLSearchParams(
- Object.entries(data)
- ).toString();
- }
-
- let res = await axios(axiosParameter);
- const authResponse: AuthApiProps = res.data;
-
- if (
- authResponse.status.code == 401 &&
- connectionAttempt < maxConnectionAttempt
- ) {
- await renewToken();
- return odooApi(method, url, data, headers);
- }
-
- return authResponse.result || null;
- } catch (error) {
- console.log(error);
- return null;
- }
-};
-
-export default odooApi;
diff --git a/src-migrate/common/libs/parse b/src-migrate/common/libs/parse
deleted file mode 100644
index e69de29b..00000000
--- a/src-migrate/common/libs/parse
+++ /dev/null
diff --git a/src-migrate/common/stores/useRegisterStore.ts b/src-migrate/common/stores/useRegisterStore.ts
deleted file mode 100644
index 90ce8a2b..00000000
--- a/src-migrate/common/stores/useRegisterStore.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { create } from 'zustand';
-import { RegisterProps } from '../types/auth';
-import { registerSchema } from '../validations/auth';
-import { ZodError } from 'zod';
-
-type State = {
- form: RegisterProps;
- errors: {
- [key in keyof RegisterProps]?: string;
- };
- isCheckedTNC: boolean;
- isOpenTNC: boolean;
- isValidCaptcha: boolean;
-};
-
-type Action = {
- updateForm: (name: string, value: string) => void;
- updateValidCaptcha: (value: boolean) => void;
- toggleCheckTNC: () => void;
- openTNC: () => void;
- closeTNC: () => void;
- validate: () => void;
-};
-
-export const useRegisterStore = create<State & Action>((set, get) => ({
- form: {
- company: '',
- name: '',
- email: '',
- password: '',
- phone: '',
- },
- updateForm: (name, value) =>
- set((state) => ({ form: { ...state.form, [name]: value } })),
-
- errors: {},
- validate: () => {
- try {
- registerSchema.parse(get().form);
- set({ errors: {} });
- } catch (error) {
- if (error instanceof ZodError) {
- const errors: State['errors'] = {};
- error.errors.forEach(
- (e) => (errors[e.path[0] as keyof RegisterProps] = e.message)
- );
- set({ errors });
- }
- }
- },
- isCheckedTNC: false,
- toggleCheckTNC: () => set((state) => ({ isCheckedTNC: !state.isCheckedTNC })),
-
- isOpenTNC: false,
- openTNC: () => set(() => ({ isOpenTNC: true })),
- closeTNC: () => set(() => ({ isOpenTNC: false })),
-
- isValidCaptcha: false,
- updateValidCaptcha: (value) => set(() => ({ isValidCaptcha: value })),
-}));
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Black.woff b/src-migrate/common/styles/fonts/Inter/Inter-Black.woff
deleted file mode 100644
index a18593a0..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Black.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Black.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Black.woff2
deleted file mode 100644
index 68f64c9e..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Black.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff
deleted file mode 100644
index b6b01943..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff2
deleted file mode 100644
index 1c9c7ca8..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-BlackItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Bold.woff b/src-migrate/common/styles/fonts/Inter/Inter-Bold.woff
deleted file mode 100644
index eaf3d4bf..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Bold.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Bold.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Bold.woff2
deleted file mode 100644
index 2846f29c..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Bold.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff
deleted file mode 100644
index 32750761..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff2
deleted file mode 100644
index 0b1fe8e1..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-BoldItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff b/src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff
deleted file mode 100644
index c2c17ede..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff2
deleted file mode 100644
index c24c2bdc..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBold.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff
deleted file mode 100644
index c42f7052..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff2
deleted file mode 100644
index 4a81dc79..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraBoldItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff b/src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff
deleted file mode 100644
index d0de5f39..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff2
deleted file mode 100644
index f2ea706f..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLight.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff
deleted file mode 100644
index 81f1a28e..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff2
deleted file mode 100644
index 9af717ba..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ExtraLightItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Italic.woff b/src-migrate/common/styles/fonts/Inter/Inter-Italic.woff
deleted file mode 100644
index a806b382..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Italic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Italic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Italic.woff2
deleted file mode 100644
index a619fc54..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Italic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Light.woff b/src-migrate/common/styles/fonts/Inter/Inter-Light.woff
deleted file mode 100644
index c496464d..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Light.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Light.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Light.woff2
deleted file mode 100644
index bc4be665..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Light.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff
deleted file mode 100644
index f84a9de3..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff2
deleted file mode 100644
index 842b2dfc..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-LightItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Medium.woff b/src-migrate/common/styles/fonts/Inter/Inter-Medium.woff
deleted file mode 100644
index d546843f..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Medium.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Medium.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Medium.woff2
deleted file mode 100644
index f92498a2..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Medium.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff
deleted file mode 100644
index 459a6568..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff2
deleted file mode 100644
index 0e3019f4..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-MediumItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Regular.woff b/src-migrate/common/styles/fonts/Inter/Inter-Regular.woff
deleted file mode 100644
index 62d3a618..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Regular.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Regular.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Regular.woff2
deleted file mode 100644
index 6c2b6893..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Regular.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff b/src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff
deleted file mode 100644
index a815f43a..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff2
deleted file mode 100644
index 611e90c9..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-SemiBold.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff
deleted file mode 100644
index 909e43a9..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff2
deleted file mode 100644
index 545685bd..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-SemiBoldItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Thin.woff b/src-migrate/common/styles/fonts/Inter/Inter-Thin.woff
deleted file mode 100644
index 62bc58cd..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Thin.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-Thin.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-Thin.woff2
deleted file mode 100644
index abbc3a5c..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-Thin.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff b/src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff
deleted file mode 100644
index 700a7f06..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff2
deleted file mode 100644
index ab0b2002..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-ThinItalic.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-italic.var.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-italic.var.woff2
deleted file mode 100644
index b826d5af..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-italic.var.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter-roman.var.woff2 b/src-migrate/common/styles/fonts/Inter/Inter-roman.var.woff2
deleted file mode 100644
index 6a256a06..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter-roman.var.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/Inter.var.woff2 b/src-migrate/common/styles/fonts/Inter/Inter.var.woff2
deleted file mode 100644
index 365eedc5..00000000
--- a/src-migrate/common/styles/fonts/Inter/Inter.var.woff2
+++ /dev/null
Binary files differ
diff --git a/src-migrate/common/styles/fonts/Inter/inter.css b/src-migrate/common/styles/fonts/Inter/inter.css
deleted file mode 100644
index de6ce273..00000000
--- a/src-migrate/common/styles/fonts/Inter/inter.css
+++ /dev/null
@@ -1,199 +0,0 @@
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 100;
- font-display: swap;
- src: url('Inter-Thin.woff2?v=3.19') format('woff2'),
- url('Inter-Thin.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 100;
- font-display: swap;
- src: url('Inter-ThinItalic.woff2?v=3.19') format('woff2'),
- url('Inter-ThinItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 200;
- font-display: swap;
- src: url('Inter-ExtraLight.woff2?v=3.19') format('woff2'),
- url('Inter-ExtraLight.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 200;
- font-display: swap;
- src: url('Inter-ExtraLightItalic.woff2?v=3.19') format('woff2'),
- url('Inter-ExtraLightItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 300;
- font-display: swap;
- src: url('Inter-Light.woff2?v=3.19') format('woff2'),
- url('Inter-Light.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 300;
- font-display: swap;
- src: url('Inter-LightItalic.woff2?v=3.19') format('woff2'),
- url('Inter-LightItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 400;
- font-display: swap;
- src: url('Inter-Regular.woff2?v=3.19') format('woff2'),
- url('Inter-Regular.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 400;
- font-display: swap;
- src: url('Inter-Italic.woff2?v=3.19') format('woff2'),
- url('Inter-Italic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 500;
- font-display: swap;
- src: url('Inter-Medium.woff2?v=3.19') format('woff2'),
- url('Inter-Medium.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 500;
- font-display: swap;
- src: url('Inter-MediumItalic.woff2?v=3.19') format('woff2'),
- url('Inter-MediumItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 600;
- font-display: swap;
- src: url('Inter-SemiBold.woff2?v=3.19') format('woff2'),
- url('Inter-SemiBold.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 600;
- font-display: swap;
- src: url('Inter-SemiBoldItalic.woff2?v=3.19') format('woff2'),
- url('Inter-SemiBoldItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 700;
- font-display: swap;
- src: url('Inter-Bold.woff2?v=3.19') format('woff2'),
- url('Inter-Bold.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 700;
- font-display: swap;
- src: url('Inter-BoldItalic.woff2?v=3.19') format('woff2'),
- url('Inter-BoldItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 800;
- font-display: swap;
- src: url('Inter-ExtraBold.woff2?v=3.19') format('woff2'),
- url('Inter-ExtraBold.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 800;
- font-display: swap;
- src: url('Inter-ExtraBoldItalic.woff2?v=3.19') format('woff2'),
- url('Inter-ExtraBoldItalic.woff?v=3.19') format('woff');
-}
-
-@font-face {
- font-family: 'Inter';
- font-style: normal;
- font-weight: 900;
- font-display: swap;
- src: url('Inter-Black.woff2?v=3.19') format('woff2'),
- url('Inter-Black.woff?v=3.19') format('woff');
-}
-@font-face {
- font-family: 'Inter';
- font-style: italic;
- font-weight: 900;
- font-display: swap;
- src: url('Inter-BlackItalic.woff2?v=3.19') format('woff2'),
- url('Inter-BlackItalic.woff?v=3.19') format('woff');
-}
-
-/* -------------------------------------------------------
-Variable font.
-Usage:
-
- html { font-family: 'Inter', sans-serif; }
- @supports (font-variation-settings: normal) {
- html { font-family: 'Inter var', sans-serif; }
- }
-*/
-@font-face {
- font-family: 'Inter var';
- font-weight: 100 900;
- font-display: swap;
- font-style: normal;
- font-named-instance: 'Regular';
- src: url('Inter-roman.var.woff2?v=3.19') format('woff2');
-}
-@font-face {
- font-family: 'Inter var';
- font-weight: 100 900;
- font-display: swap;
- font-style: italic;
- font-named-instance: 'Italic';
- src: url('Inter-italic.var.woff2?v=3.19') format('woff2');
-}
-
-/* --------------------------------------------------------------------------
-[EXPERIMENTAL] Multi-axis, single variable font.
-
-Slant axis is not yet widely supported (as of February 2019) and thus this
-multi-axis single variable font is opt-in rather than the default.
-
-When using this, you will probably need to set font-variation-settings
-explicitly, e.g.
-
- * { font-variation-settings: "slnt" 0deg }
- .italic { font-variation-settings: "slnt" 10deg }
-
-*/
-@font-face {
- font-family: 'Inter var experimental';
- font-weight: 100 900;
- font-display: swap;
- font-style: oblique 0deg 10deg;
- src: url('Inter.var.woff2?v=3.19') format('woff2');
-}
diff --git a/src-migrate/common/styles/globals.css b/src-migrate/common/styles/globals.css
deleted file mode 100644
index ea20b247..00000000
--- a/src-migrate/common/styles/globals.css
+++ /dev/null
@@ -1,674 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-* {
- -webkit-tap-highlight-color: transparent;
-}
-
-html,
-body {
- @apply w-screen
- text-body-2
- text-gray_r-12
- bg-gray_r-1
- overflow-x-clip;
-}
-
-#__next main {
- @apply min-h-screen;
-}
-
-button {
- @apply block;
-}
-
-@layer base {
- input[type='number']::-webkit-inner-spin-button,
- input[type='number']::-webkit-outer-spin-button {
- -webkit-appearance: none;
- margin: 0;
- }
-
- input[type='number'] {
- -moz-appearance: textfield;
- }
-}
-
-@layer components {
- .badge-red,
- .badge-solid-red,
- .badge-gray,
- .badge-yellow,
- .badge-blue,
- .badge-green,
- .badge-solid-green {
- @apply text-[11px]
- leading-none
- font-medium
- px-1
- py-1
- rounded
- w-fit;
- }
-
- .badge-red {
- @apply bg-danger-100
- text-danger-600;
- }
-
- .badge-solid-red {
- @apply bg-danger-500
- text-white;
- }
-
- .badge-gray {
- @apply bg-gray_r-5
- text-gray_r-10;
- }
-
- .badge-yellow {
- @apply bg-warning-500
- text-warning-900;
- }
-
- .badge-blue {
- @apply bg-blue-200
- text-blue-600;
- }
-
- .badge-green {
- @apply bg-success-100
- text-success-600;
- }
-
- .badge-solid-green {
- @apply bg-success-500
- text-white;
- }
-
- .form-label {
- @apply font-medium
- block;
- }
-
- .form-input {
- @apply p-3
- rounded
- border
- text-gray_r-12
- border-gray_r-7
- !bg-white
- bg-transparent
- w-full
- leading-none
- focus:outline-none
- focus:border-warning-500
- disabled:bg-gray_r-5;
- }
-
- .form-input[aria-invalid] {
- @apply border-danger-500
- focus:border-danger-500;
- }
-
- .form-input[type='file'] {
- @apply py-2;
- }
-
- .btn-yellow,
- .btn-light,
- .btn-red,
- .btn-solid-red {
- @apply block
- w-fit
- py-3
- px-6
- rounded
- border
- text-center
- font-medium
- ease-linear
- duration-150;
- }
-
- .btn-yellow {
- @apply bg-warning-500
- border-warning-500
- hover:bg-warning-500/80
- disabled:text-gray_r-10
- disabled:bg-warning-200
- disabled:border-warning-200;
- }
-
- .btn-red {
- @apply bg-danger-100
- border-danger-300
- text-danger-500
- disabled:text-danger-400
- disabled:bg-danger-200;
- }
-
- .btn-solid-red {
- @apply bg-danger-500
- border-danger-500
- text-gray_r-1
- hover:bg-danger-500/80
- disabled:text-gray_r-1
- disabled:bg-danger-200
- disabled:border-danger-200;
- }
-
- .btn-light {
- @apply bg-gray_r-3
- border-gray_r-6
- disabled:text-gray_r-10
- disabled:bg-gray_r-6;
- }
-
- .product-card {
- @apply w-full
- h-full
- border
- border-gray_r-3
- shadow
- bg-white
- rounded
- relative
- flex
- flex-col;
- }
-
- .product-card__image {
- @apply w-full
- h-[160px]
- object-contain
- object-center
- border-b
- border-gray_r-6;
- }
-
- .product-card__content {
- @apply p-2
- pb-3
- flex-1;
- }
-
- .product-card__title {
- @apply text-caption-1
- text-gray_r-12
- leading-5;
- }
-
- .product-card__brand {
- @apply text-caption-1
- mb-1
- block;
- }
-
- .product__description {
- @apply text-gray_r-12/90;
- }
-
- .product__description br {
- @apply block my-1;
- }
-
- .product__description b {
- @apply font-semibold;
- }
-}
-
-@layer utilities {
- .wrap-line-ellipsis-1,
- .wrap-line-ellipsis-2,
- .wrap-line-ellipsis-3 {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
- .wrap-line-ellipsis-1 {
- -webkit-line-clamp: 1;
- }
-
- .wrap-line-ellipsis-2 {
- -webkit-line-clamp: 2;
- }
-
- .wrap-line-ellipsis-3 {
- -webkit-line-clamp: 3;
- }
-}
-
-.menu-wrapper {
- @apply fixed
- top-0
- left-0
- bg-white
- w-[80%]
- h-full
- z-[60]
- overflow-y-auto
- translate-x-[-100%]
- ease-linear
- duration-150;
-}
-
-.menu-wrapper.active {
- @apply translate-x-0;
-}
-
-.overlay {
- @apply fixed
- top-0
- left-0
- w-full
- h-full
- z-[55]
- bg-gray_r-12/40;
-}
-
-.sticky-header {
- @apply px-4
- py-3
- bg-gray_r-1/90
- backdrop-blur-lg
- sticky
- top-0
- border-b
- border-gray_r-7
- z-50;
-}
-
-.content-container {
- @apply max-w-full
- overflow-x-hidden;
-}
-
-#indoteknik_toast {
- @apply fixed
- bottom-4
- translate-y-[200%]
- left-[50%]
- translate-x-[-50%]
- z-[100]
- flex
- items-center
- p-4
- mb-4
- w-[90%]
- text-gray-500
- bg-white
- border
- border-gray-300
- rounded-lg
- shadow
- ease-linear
- duration-300;
-}
-
-#indoteknik_toast.active {
- @apply translate-y-0;
-}
-
-.category-menu {
- @apply hidden;
-}
-
-.swiper-slide {
- @apply !h-auto;
-}
-
-.lazy-load-image-background {
- @apply !block
- w-full;
-}
-
-.swiper-pagination-bullet-active {
- @apply !bg-danger-500;
-}
-
-.pagination {
- @apply flex
- justify-center
- gap-x-1;
-}
-
-.pagination-item {
- @apply p-1
- flex
- justify-center
- items-center
- w-10
- rounded
- ease-linear
- duration-150
- border
- border-gray_r-6
- bg-gray_r-3
- hover:bg-gray_r-5
- text-gray_r-12;
-}
-
-.pagination-item--active {
- @apply border-warning-500
- bg-warning-500
- hover:bg-warning-500;
-}
-
-.pagination-dots {
- @apply p-1
- flex
- justify-center
- items-end
- w-10
- rounded
- ease-linear
- bg-gray_r-3
- text-caption-2;
-}
-
-.idt-transition {
- @apply transition-all
- ease-out
- duration-200;
-}
-
-.form-select__placeholder {
- @apply !text-gray_r-9;
-}
-
-.form-select__control {
- @apply !shadow-none
- !border-gray_r-7;
-}
-
-.form-select__control--menu-is-open {
- @apply !border-warning-500;
-}
-
-.table-specification {
- @apply max-h-[500px] overflow-y-auto border border-gray_r-6;
-}
-
-.table-specification > table {
- @apply table-auto
- border-collapse
- w-full;
-}
-
-.table-specification > table > thead > tr > th:last-child {
- @apply w-3/12;
-}
-
-.table-specification > table > thead {
- @apply sticky top-0 border-b;
-}
-
-.table-specification > table > thead > tr {
- @apply bg-gray_r-1/80 backdrop-blur-lg;
-}
-
-.table-specification th {
- @apply font-semibold;
-}
-
-.table-specification th,
-.table-specification td {
- @apply p-4 text-center;
-}
-
-.table-specification > table > tbody > tr {
- @apply odd:bg-gray_r-3 even:bg-gray_r-1;
-}
-
-.table-cart,
-.table-checkout {
- @apply w-full
- table-auto
- border-collapse;
-}
-
-.table-cart tr,
-.table-checkout tr {
- @apply border-y
- border-gray_r-6
- first:border-t-0;
-}
-
-.table-cart th,
-.table-cart td,
-.table-checkout th,
-.table-checkout td {
- @apply py-4
- px-3
- text-center
- text-gray_r-12/90;
-}
-
-.table-cart th,
-.table-cart td {
- @apply first:w-12;
-}
-
-.table-cart th,
-.table-checkout th {
- @apply font-medium;
-}
-
-.table-data {
- @apply w-full
- table-auto
- border-collapse;
-}
-
-.table-data thead tr {
- @apply bg-gray_r-3;
-}
-
-.table-data thead th {
- @apply font-medium whitespace-nowrap;
-}
-
-.table-data thead th,
-.table-data tbody td {
- @apply px-3
- py-4
- text-center;
-}
-
-.table-data tbody td {
- @apply text-gray_r-12/90;
-}
-
-.table-data tbody tr {
- @apply border-b
- border-gray_r-6;
-}
-
-.navbar-user-dropdown-button {
- @apply flex-1
- flex
- gap-x-2
- p-4
- items-center
- bg-danger-500
- font-medium
- !text-gray_r-1
- rounded-none
- rounded-t-xl;
-}
-
-.navbar-user-dropdown-button span {
- @apply line-clamp-1;
-}
-
-.navbar-user-dropdown-wrapper a,
-.navbar-user-dropdown-wrapper button {
- @apply text-gray_r-12/80 hover:bg-gray_r-5 font-medium py-2 px-4 w-full text-left;
-}
-
-.navbar-user-dropdown {
- @apply bg-white
- border
- border-gray_r-6
- py-2
- w-full
- shadow;
-}
-
-.category-mega-box-wrapper,
-.navbar-user-dropdown-wrapper {
- @apply absolute
- opacity-0
- left-0
- top-[125%]
- flex
- w-full
- z-10
- transition-all
- ease-in
- duration-200
- pointer-events-none
- text-left;
-}
-
-.category-mega-box-wrapper.show,
-.navbar-user-dropdown-button:hover ~ .navbar-user-dropdown-wrapper,
-.navbar-user-dropdown-wrapper:hover {
- @apply top-[100%]
- opacity-100
- pointer-events-auto;
-}
-
-.category-mega-box {
- @apply relative
- py-2
- border
- border-t-0
- bg-white
- border-gray_r-6
- h-full
- w-full;
-}
-
-.category-mega-box > div {
- @apply text-gray_r-12/80;
-}
-
-.category-mega-box > div:hover .category-mega-box__parent {
- @apply bg-gray_r-5;
-}
-
-.category-mega-box > div:hover .category-mega-box__child-wrapper {
- @apply opacity-100
- top-0
- pointer-events-auto;
-}
-
-.category-mega-box .category-mega-box__parent {
- @apply py-2.5
- px-4
- text-gray_r-12/80
- font-normal;
-}
-
-.category-mega-box__child-wrapper {
- @apply absolute
- left-[100%]
- top-12
- w-[40vw]
- bg-gray_r-1/90
- backdrop-blur-md
- border
- border-gray_r-6
- p-6
- opacity-0
- h-full
- transition-all
- ease-in
- duration-200
- pointer-events-none
- z-50;
-}
-
-.category-mega-box__child-one {
- @apply text-gray_r-12/80
- hover:text-danger-500
- transition-colors
- ease-linear
- duration-100
- font-semibold;
-}
-
-.category-mega-box__child-two {
- @apply text-gray_r-12/80
- hover:text-danger-500
- transition-colors
- ease-linear
- duration-100
- font-normal;
-}
-
-@keyframes page-loader {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
-
-.page-loader {
- animation-name: page-loader;
- animation-duration: 1000ms;
- animation-delay: 50ms;
- animation-timing-function: ease-in-out;
- animation-iteration-count: infinite;
-}
-
-@keyframes shake {
- 0% {
- transform: translateX(0);
- }
- 10%,
- 90% {
- transform: translateX(-10px);
- }
- 20%,
- 80% {
- transform: translateX(10px);
- }
- 30%,
- 50%,
- 70% {
- transform: translateX(-10px);
- }
- 40%,
- 60% {
- transform: translateX(10px);
- }
- 100% {
- transform: translateX(0);
- }
-}
-
-.blink-color-flash-sale {
- @apply text-body-1 md:text-title-sm;
- transform: rotateY(180deg) rotateZ(120deg);
- animation-name: blink-color-flash-sale;
- animation-duration: 300ms;
- animation-iteration-count: infinite;
- animation-timing-function: linear;
-}
-
-@keyframes blink-color-flash-sale {
- from {
- @apply text-danger-500;
- }
- to {
- @apply text-warning-500;
- }
-}
diff --git a/src-migrate/common/types/auth.ts b/src-migrate/common/types/auth.ts
deleted file mode 100644
index 65fd06c7..00000000
--- a/src-migrate/common/types/auth.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { registerSchema } from '../validations/auth';
-import { OdooApiProps } from './odoo';
-import { z } from 'zod';
-
-export type AuthProps = {
- id: number;
- parent_id: number;
- parent_name: string;
- partner_id: number;
- name: string;
- email: string;
- phone: string;
- mobile: string;
- external: boolean;
- company: boolean;
- pricelist: string | null;
- token: string;
-};
-
-export type AuthApiProps = OdooApiProps & { result: AuthProps };
-
-export type RegisterProps = z.infer<typeof registerSchema>;
-
-export type RegisterResApiProps = {
- register: boolean;
- reason: 'EMAIL_USED' | 'NOT_ACTIVE' | null;
-};
-
-type ActivationResProps = {
- activation: boolean;
- user: AuthProps | null;
-};
-
-export type ActivationTokenProps = {
- token: string;
-};
-
-export type ActivationTokenResApiProps = ActivationResProps & {
- reason: 'INVALID_TOKEN' | null;
-};
-
-export type ActivationOtpProps = {
- email: string;
- otp: string;
-};
-
-export type ActivationOtpResApiProps = ActivationResProps & {
- reason: 'INVALID_OTP' | null;
-};
-
-export type ActivationReqProps = {
- email: string;
-};
-
-export type ActivationReqResApiProps = {
- activation_request: boolean;
- reason: 'NOT_FOUND' | 'ACTIVE' | null;
-};
diff --git a/src-migrate/common/types/cart.ts b/src-migrate/common/types/cart.ts
deleted file mode 100644
index 3aceeac4..00000000
--- a/src-migrate/common/types/cart.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { CategoryPromo } from "./promotion";
-
-type Price = {
- price: number;
- discount_percentage: number;
- price_discount: number;
-};
-
-export type CartProduct = {
- id: number;
- image: string;
- display_name: string;
- name: string;
- code: string;
- price: Price;
- qty: number;
- weight: number;
- package_weight: number;
-};
-
-export type CartItem = {
- cart_id: number;
- quantity: number;
- selected: boolean;
- can_buy: boolean;
- cart_type: 'product' | 'promotion';
- id: number;
- name: string;
- stock: number;
- weight: number;
- attributes: string[];
- parent: {
- id: number;
- name: string;
- image: string;
- };
- price: Price;
- manufacture: {
- id: number;
- name: string;
- };
- has_flashsale: boolean;
- subtotal: number;
-
- code?: string;
-
- image?: string;
- remaining_time?: number;
- promotion_type?: {
- value?: CategoryPromo;
- label?: string;
- };
- limit_qty?: {
- all?: number;
- user?: number;
- transaction?: number;
- };
- remaining_qty?: {
- all?: number;
- user?: number;
- transaction?: number;
- };
- used_percentage?: number;
- products?: CartProduct[];
- free_products?: CartProduct[];
- package_price?: number;
-};
-
-export type CartProps = {
- product_total: number;
- products: CartItem[];
-};
diff --git a/src-migrate/common/types/checkout.ts b/src-migrate/common/types/checkout.ts
deleted file mode 100644
index dc1365d8..00000000
--- a/src-migrate/common/types/checkout.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { CartItem } from './cart';
-
-export interface ICheckout {
- total_purchase: number;
- total_discount: number;
- discount_voucher: number;
- subtotal: number;
- tax: number;
- grand_total: number;
- total_weight: {
- kg: number;
- g: number;
- };
- has_product_without_weight: boolean;
- products: CartItem[];
-}
diff --git a/src-migrate/common/types/nav.ts b/src-migrate/common/types/nav.ts
deleted file mode 100644
index ba97b1bf..00000000
--- a/src-migrate/common/types/nav.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export type SecondaryNavItemProps = {
- label: string
- href: string
-}
diff --git a/src-migrate/common/types/odoo.ts b/src-migrate/common/types/odoo.ts
deleted file mode 100644
index b34bc667..00000000
--- a/src-migrate/common/types/odoo.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export type OdooApiProps = {
- status: {
- code: number;
- description: string;
- };
-};
diff --git a/src-migrate/common/types/pageContent.ts b/src-migrate/common/types/pageContent.ts
deleted file mode 100644
index 4361deb7..00000000
--- a/src-migrate/common/types/pageContent.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export type PageContentProps = {
- id: number;
- url_path: string;
- content: string;
-} | null;
diff --git a/src-migrate/common/types/productVariant.ts b/src-migrate/common/types/productVariant.ts
deleted file mode 100644
index c4aa9534..00000000
--- a/src-migrate/common/types/productVariant.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-export interface IProductVariant {
- id: number;
- parent_id: number;
- display_name: string;
- image: string;
- name: string;
- default_code: string;
- price: {
- price: number;
- discount_percentage: number;
- price_discount: number;
- };
-}
diff --git a/src-migrate/common/types/promotion.ts b/src-migrate/common/types/promotion.ts
deleted file mode 100644
index 1f8316cf..00000000
--- a/src-migrate/common/types/promotion.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { IProductVariant } from './productVariant';
-
-export interface IPromotion {
- id: number;
- program_id: number;
- name: string;
- type: {
- value: CategoryPromo;
- label: string;
- };
- limit: number;
- limit_user: number;
- limit_trx: number;
- price: number;
- total_qty: number;
- products: {
- product_id: number;
- qty: number;
- }[];
- free_products: {
- product_id: number;
- qty: number;
- }[];
-}
-
-export interface IProductVariantPromo extends IProductVariant {
- qty: number;
-}
-
-export type CategoryPromo = 'bundling' | 'discount_loading' | 'merchandise';
-
-export interface ICategoryPromo {
- value: CategoryPromo;
- label: string;
-}
diff --git a/src-migrate/common/types/promotionProgram.ts b/src-migrate/common/types/promotionProgram.ts
deleted file mode 100644
index 205884b6..00000000
--- a/src-migrate/common/types/promotionProgram.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export type IPromotionProgram = {
- id: number;
- name: string;
- start_time: string;
- end_time: string;
- applies_to: string;
- time_left: number;
-};
diff --git a/src-migrate/common/types/solr.ts b/src-migrate/common/types/solr.ts
deleted file mode 100644
index d231c305..00000000
--- a/src-migrate/common/types/solr.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export type SolrResponse<T> = {
- response: {
- numFound: number;
- start: number;
- docs: T;
- };
-};
diff --git a/src-migrate/common/validations/auth.ts b/src-migrate/common/validations/auth.ts
deleted file mode 100644
index 78fc5e71..00000000
--- a/src-migrate/common/validations/auth.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { z } from 'zod';
-
-export const registerSchema = z.object({
- name: z.string().min(1, { message: 'Nama harus diisi' }),
- email: z
- .string()
- .min(1, { message: 'Email harus diisi' })
- .email({ message: 'Email harus menggunakan format example@mail.com' }),
- password: z.string().min(6, { message: 'Password minimal 6 karakter' }),
- company: z.string().optional(),
- phone: z
- .string()
- .min(1, { message: 'Nomor telepon harus diisi' })
- .refine((val) => /^\d{10,12}$/.test(val), {
- message: 'Format nomor telepon tidak valid, contoh: 081234567890',
- }),
-});