From 61b98681262e20fea3a8eb5771fe64b2a261f590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sat, 24 Jan 2026 20:23:01 +0300 Subject: [PATCH] Intranet Dashboard --- ui/src/views/intranet/Dashboard.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ui/src/views/intranet/Dashboard.tsx b/ui/src/views/intranet/Dashboard.tsx index 4bc2a792..1848541b 100644 --- a/ui/src/views/intranet/Dashboard.tsx +++ b/ui/src/views/intranet/Dashboard.tsx @@ -43,6 +43,7 @@ import ShuttleRoute from './widgets/ShuttleRoute' import { useLocalization } from '@/utils/hooks/useLocalization' import useLocale from '@/utils/hooks/useLocale' import { currentLocalDate } from '@/utils/dateUtils' +import { useStoreState } from '@/store/store' dayjs.extend(relativeTime) dayjs.extend(isBetween) @@ -72,7 +73,9 @@ const IntranetDashboard: React.FC = () => { const fetchIntranetDashboard = async () => { const dashboard = await intranetService.getDashboard() - setIntranetDashboard(dashboard.data) + if (dashboard.data) { + setIntranetDashboard(dashboard.data) + } } useEffect(() => { @@ -161,6 +164,18 @@ const IntranetDashboard: React.FC = () => { } }, []) + // If permissions arrive after mount, initialize default order when needed + const grantedPolicies = useStoreState((state) => state.abpConfig?.config?.auth.grantedPolicies) + + useEffect(() => { + if ( + grantedPolicies && + (!widgetOrder.left.length && !widgetOrder.center.length && !widgetOrder.right.length) + ) { + initializeDefaultOrder() + } + }, [grantedPolicies]) + const initializeDefaultOrder = () => { const defaultOrder = { left: widgetMetadata