diff --git a/src/shared/SideBar.tsx b/src/shared/SideBar.tsx index ee2f8cb..99109ec 100644 --- a/src/shared/SideBar.tsx +++ b/src/shared/SideBar.tsx @@ -15,13 +15,14 @@ import DiscountSubMenu from './components/DiscountSubMenu' import { SideBarItemHasSubMenu } from '../config/SideBarSubMenu' import { usePermissions } from '@/hooks/usePermissions' import { PermissionEnum } from '@/pages/roles/enum/Enum' +import Skeleton from 'react-loading-skeleton' const SideBar: FC = () => { const { t } = useTranslation('global') const { openSidebar, setOpenSidebar, hasSubMenu, setSubMenuName, setSubtMenu, subMenuName } = useSharedStore() const location = useLocation() - const { checkPermission } = usePermissions() + const { checkPermission, isLoading } = usePermissions() const isActive = (name: string) => { return location.pathname.includes(name) @@ -72,9 +73,26 @@ const SideBar: FC = () => { {t('sidebar.menu')} -
- { - checkPermission(PermissionEnum.MANAGE_REPORTS) && ( + {isLoading ? ( +
+ {Array.from({ length: 8 }).map((_, index) => ( +
+
+ + +
+
+ ))} +
+ ) : ( +
+ {checkPermission(PermissionEnum.MANAGE_REPORTS) && ( } title={t('sidebar.mainpage')} @@ -82,142 +100,142 @@ const SideBar: FC = () => { link={Pages.dashboard} activeName='' /> - ) - } + )} - {checkPermission(PermissionEnum.MANAGE_ORDERS) && ( - } - title={t('sidebar.orders')} - isActive={isActive('orders')} - link={Pages.orders.list} - name='orders' - activeName='orders' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_FOODS) && ( - } - title={t('sidebar.foods')} - isActive={isActive('foods')} - link={Pages.foods.list} - activeName='foods' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_SCHEDULES) && ( - } - title={t('sidebar.schedule')} - isActive={isActive('schedule')} - link={Pages.schedule.list} - name='schedule' - activeName='schedule' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_PAYMENTS) && ( - } - title={t('sidebar.payment_methods')} - isActive={isActive('payment_methods')} - link={Pages.payment_methods.list} - name='payment_methods' - activeName='payment_methods' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_USERS) && ( - } - title={t('sidebar.customers')} - isActive={isActive('customers')} - link={Pages.customers.list} - name='customers' - activeName='customers' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_REVIEWS) && ( - } - title={t('sidebar.reviews')} - isActive={isActive('reviews')} - link={Pages.reviews.list} - name='reviews' - activeName='reviews' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_PAGER) && ( - } - title={t('sidebar.pagers')} - isActive={isActive('pagers')} - link={Pages.pagers.list} - name='pagers' - activeName='pagers' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_ADMINS) && ( - } - title={t('sidebar.admins')} - isActive={isActive('admins')} - link={Pages.admins.list} - name='admins' - activeName='admins' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_DELIVERY) && ( - } - title={t('sidebar.shipment_methods')} - isActive={isActive('shipment_methods')} - link={Pages.shipment_methods.list} - name='shipment_methods' - activeName='shipment_methods' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_COUPONS) && ( - } - title={t('sidebar.discount')} - isActive={isActive('discounts')} - link={Pages.coupons.list} - name='discounts' - activeName='discounts' - /> - )} - - {checkPermission(PermissionEnum.MANAGE_ROLES) && ( - } - title={t('sidebar.roles')} - isActive={isActive('roles')} - link={Pages.roles.list} - name='roles' - activeName='roles' - /> - )} - - { - checkPermission(PermissionEnum.MANAGE_SETTINGS) && ( + {checkPermission(PermissionEnum.MANAGE_ORDERS) && ( } - title={t('sidebar.notifications')} - isActive={isActive('notifications')} - link={Pages.notifications.list} - name='notifications' - activeName='notifications' + icon={} + title={t('sidebar.orders')} + isActive={isActive('orders')} + link={Pages.orders.list} + name='orders' + activeName='orders' /> - ) - } -
+ )} + + {checkPermission(PermissionEnum.MANAGE_FOODS) && ( + } + title={t('sidebar.foods')} + isActive={isActive('foods')} + link={Pages.foods.list} + activeName='foods' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_SCHEDULES) && ( + } + title={t('sidebar.schedule')} + isActive={isActive('schedule')} + link={Pages.schedule.list} + name='schedule' + activeName='schedule' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_PAYMENTS) && ( + } + title={t('sidebar.payment_methods')} + isActive={isActive('payment_methods')} + link={Pages.payment_methods.list} + name='payment_methods' + activeName='payment_methods' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_USERS) && ( + } + title={t('sidebar.customers')} + isActive={isActive('customers')} + link={Pages.customers.list} + name='customers' + activeName='customers' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_REVIEWS) && ( + } + title={t('sidebar.reviews')} + isActive={isActive('reviews')} + link={Pages.reviews.list} + name='reviews' + activeName='reviews' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_PAGER) && ( + } + title={t('sidebar.pagers')} + isActive={isActive('pagers')} + link={Pages.pagers.list} + name='pagers' + activeName='pagers' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_ADMINS) && ( + } + title={t('sidebar.admins')} + isActive={isActive('admins')} + link={Pages.admins.list} + name='admins' + activeName='admins' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_DELIVERY) && ( + } + title={t('sidebar.shipment_methods')} + isActive={isActive('shipment_methods')} + link={Pages.shipment_methods.list} + name='shipment_methods' + activeName='shipment_methods' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_COUPONS) && ( + } + title={t('sidebar.discount')} + isActive={isActive('discounts')} + link={Pages.coupons.list} + name='discounts' + activeName='discounts' + /> + )} + + {checkPermission(PermissionEnum.MANAGE_ROLES) && ( + } + title={t('sidebar.roles')} + isActive={isActive('roles')} + link={Pages.roles.list} + name='roles' + activeName='roles' + /> + )} + + { + checkPermission(PermissionEnum.MANAGE_SETTINGS) && ( + } + title={t('sidebar.notifications')} + isActive={isActive('notifications')} + link={Pages.notifications.list} + name='notifications' + activeName='notifications' + /> + ) + } +
+ )}
{ {t('sidebar.other')}
-
- {/* {checkPermission(PermissionEnum.VIEW_REPORTS) && ( - } - title={t('sidebar.statistics')} - isActive={isActive('statistics')} - link={Pages.statistics.list} - activeName='statistics' - /> - )} */} - {/* {checkPermission(PermissionEnum.MANAGE_CONTACTS) && ( - } - title={t('sidebar.comments')} - isActive={isActive('comments')} - link={Pages.comments.list} - activeName='comments' - /> - )} */} - - {checkPermission(PermissionEnum.MANAGE_REPORTS) && ( - } - title={t('sidebar.reports')} - isActive={isActive('reports')} - link={Pages.reports.list} - activeName='reports' - /> - )} -
- -
+ {isLoading ? ( +
+
+
+ + +
+
+
+ ) : (
- {checkPermission(PermissionEnum.MANAGE_SETTINGS) && ( + {/* {checkPermission(PermissionEnum.VIEW_REPORTS) && ( } - title={t('sidebar.setting')} - isActive={isActive('setting')} - link={Pages.setting} - activeName='settings' + icon={} + title={t('sidebar.statistics')} + isActive={isActive('statistics')} + link={Pages.statistics.list} + activeName='statistics' + /> + )} */} + {/* {checkPermission(PermissionEnum.MANAGE_CONTACTS) && ( + } + title={t('sidebar.comments')} + isActive={isActive('comments')} + link={Pages.comments.list} + activeName='comments' + /> + )} */} + + {checkPermission(PermissionEnum.MANAGE_REPORTS) && ( + } + title={t('sidebar.reports')} + isActive={isActive('reports')} + link={Pages.reports.list} + activeName='reports' /> )}
-
- } - title={t('sidebar.logout')} - isActive={isActive('logout')} - link={`#`} - isLogout - activeName='' - /> -
+ )} + +
+ {isLoading ? ( +
+
+
+ + +
+
+
+
+ + +
+
+
+ ) : ( + <> +
+ {checkPermission(PermissionEnum.MANAGE_SETTINGS) && ( + } + title={t('sidebar.setting')} + isActive={isActive('setting')} + link={Pages.setting} + activeName='settings' + /> + )} +
+
+ } + title={t('sidebar.logout')} + isActive={isActive('logout')} + link={`#`} + isLogout + activeName='' + /> +
+ + )}