'use client' import { useState } from 'react' import dynamic from 'next/dynamic' import PageNavbar from '@/components/layouts/PageNavbar' import Button from '@/components/formElements/Button' import { Tab } from '@/components/heroui/Tabs' import AppTabs from '@/components/ui/AppTabs' import { useQueryTab } from '@/hooks/useQueryTab' const InAppNotificationsPanel = dynamic(() => import('@/app/(dashboard)/notifications/_components/InAppNotificationsPanel'), { ssr: false, }) const PushDeliveriesPanel = dynamic(() => import('@/app/(dashboard)/notifications/_components/PushDeliveriesPanel'), { ssr: false, }) const SmsMessagesPanel = dynamic(() => import('@/app/(dashboard)/notifications/_components/SmsMessagesPanel'), { ssr: false, }) const NotificationRulesPanel = dynamic(() => import('@/app/(dashboard)/notifications/_components/NotificationRulesPanel'), { ssr: false, }) const SendManualNotificationModal = dynamic(() => import('@/app/(dashboard)/notifications/_components/SendManualNotificationModal'), { ssr: false, }) const NOTIFICATION_TABS = ['in-app', 'push', 'sms', 'settings'] as const type NotificationTab = (typeof NOTIFICATION_TABS)[number] type SendChannel = 'in_app' | 'sms' | 'both' const defaultChannelForTab = (tab: NotificationTab): SendChannel => (tab === 'sms' ? 'sms' : 'in_app') export default function NotificationsPage() { const [selectedTab, handleTabChange] = useQueryTab({ values: NOTIFICATION_TABS, defaultValue: 'in-app', }) const [isSendOpen, setIsSendOpen] = useState(false) const [listEpoch, setListEpoch] = useState(0) return (
{ setIsSendOpen(true) }} > ارسال ) } pageTitle="اعلان‌ها" />
{selectedTab === 'in-app' ? : null} {selectedTab === 'push' ? : null} {selectedTab === 'sms' ? : null} {selectedTab === 'settings' ? : null}
{isSendOpen ? ( { setIsSendOpen(false) }} onSent={() => { setIsSendOpen(false) setListEpoch((current) => current + 1) }} /> ) : null}
) }