From d2c40f3d71af50f72222f67d09a32a23a817a4a3 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sun, 9 Mar 2025 16:49:43 +0330 Subject: [PATCH] quik access --- dev-dist/sw.js | 2 +- src/components/ServiceItem.tsx | 13 ++++++++++--- src/pages/home/Home.tsx | 4 ++++ src/pages/home/components/BoxNewAccessbility.tsx | 9 +++++---- src/pages/home/store/HomeStore.ts | 9 +++++++++ src/pages/home/types/HomeTypes.ts | 5 +++++ 6 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 src/pages/home/store/HomeStore.ts diff --git a/dev-dist/sw.js b/dev-dist/sw.js index c6d5f03..d332128 100644 --- a/dev-dist/sw.js +++ b/dev-dist/sw.js @@ -82,7 +82,7 @@ define(['./workbox-e7681877'], (function (workbox) { 'use strict'; "revision": "3ca0b8505b4bec776b69afdba2768812" }, { "url": "index.html", - "revision": "0.6dtlsl90suo" + "revision": "0.3q32r8akalg" }], {}); workbox.cleanupOutdatedCaches(); workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), { diff --git a/src/components/ServiceItem.tsx b/src/components/ServiceItem.tsx index 2a0060f..796133f 100644 --- a/src/components/ServiceItem.tsx +++ b/src/components/ServiceItem.tsx @@ -1,7 +1,7 @@ import { FC } from 'react' import { Link } from 'react-router-dom' import { Pages } from '../config/Pages' -import { ArrowLeft } from 'iconsax-react' +import { ArrowLeft, More } from 'iconsax-react' import Button from './Button' import { useTranslation } from 'react-i18next' import { ItemServiceType } from '../pages/service/types/ServiecTypes' @@ -12,7 +12,8 @@ type Props = { isLinkPanel?: boolean, businessName?: string, isDisabled?: boolean, - isQuikAccess?: boolean + isQuikAccess?: boolean, + onMoreClick?: () => void, } const ServiceItem: FC = (props: Props) => { @@ -21,7 +22,13 @@ const ServiceItem: FC = (props: Props) => { const { item } = props return ( -
+
+ { + props.isQuikAccess && +
+ +
+ }
{item.name} diff --git a/src/pages/home/Home.tsx b/src/pages/home/Home.tsx index fc06333..da78e67 100644 --- a/src/pages/home/Home.tsx +++ b/src/pages/home/Home.tsx @@ -15,11 +15,13 @@ import { QuikAccessItemType } from './types/HomeTypes' import ServiceItem from '../../components/ServiceItem' import PageLoading from '../../components/PageLoading' import { Helmet } from 'react-helmet-async'; +import { useHomeStore } from './store/HomeStore' const Home: FC = () => { const { t } = useTranslation('global') + const { setShowModal } = useHomeStore() const getAds = useGetAds(AdsDisplayLocation.HOMEPAGE_TOP) const getQuikAccess = useGetQuikAccess() const getDashboard = useGetDashboardSummary() @@ -131,6 +133,8 @@ const Home: FC = () => { className='flex-1 min-w-[40%] xl:!min-w-[20%] xl:p-6 p-4 flex flex-col' isQuikAccess businessName={item.userSubscription.businessName} + isLinkPanel + onMoreClick={() => setShowModal(true)} /> ) }) diff --git a/src/pages/home/components/BoxNewAccessbility.tsx b/src/pages/home/components/BoxNewAccessbility.tsx index d84618d..c51d7d8 100644 --- a/src/pages/home/components/BoxNewAccessbility.tsx +++ b/src/pages/home/components/BoxNewAccessbility.tsx @@ -8,11 +8,12 @@ import { MyServicesItem } from '../../service/types/ServiecTypes' import PageLoading from '../../../components/PageLoading' import { useGetQuikAccess, useQuikAccess, useRemoveQuikAccess } from '../hooks/useHomeData' import ChangeQuikAccess from './ChangeQuikAccess' +import { useHomeStore } from '../store/HomeStore' const BoxNewAccessbility: FC = () => { + const { showModal, setShowModal } = useHomeStore() const [search, setSearch] = useState('') - const [open, setOpen] = useState(false) const { t } = useTranslation('global') const getMyservices = useGetMyServices(search) const getQuikAccess = useGetQuikAccess() @@ -38,7 +39,7 @@ const BoxNewAccessbility: FC = () => { return ( <>
setOpen(true)} + onClick={() => setShowModal(true)} className="flex-1 min-w-[40%] xl:p-6 p-4 xl:min-w-[20%] flex justify-center items-center min-h-[152px]" style={{ position: 'relative', @@ -76,8 +77,8 @@ const BoxNewAccessbility: FC = () => {
setOpen(false)} + open={showModal} + close={() => setShowModal(false)} isHeader={true} title_header={t('home.create_new_access')} > diff --git a/src/pages/home/store/HomeStore.ts b/src/pages/home/store/HomeStore.ts new file mode 100644 index 0000000..012193a --- /dev/null +++ b/src/pages/home/store/HomeStore.ts @@ -0,0 +1,9 @@ +import { create } from "zustand"; +import { HomeStoreType } from "../types/HomeTypes"; + +export const useHomeStore = create((set) => ({ + showModal: false, + setShowModal(value) { + set({ showModal: value }); + }, +})); diff --git a/src/pages/home/types/HomeTypes.ts b/src/pages/home/types/HomeTypes.ts index 9ec6472..4b21b42 100644 --- a/src/pages/home/types/HomeTypes.ts +++ b/src/pages/home/types/HomeTypes.ts @@ -18,3 +18,8 @@ export type QuikAccessItemType = { updatedAt: string; }; }; + +export type HomeStoreType = { + showModal: boolean; + setShowModal: (value: boolean) => void; +};