diff --git a/frontend/src/pages/dashboard.tsx b/frontend/src/pages/dashboard.tsx index 1162af8..3af7f81 100644 --- a/frontend/src/pages/dashboard.tsx +++ b/frontend/src/pages/dashboard.tsx @@ -1,11 +1,11 @@ import { useState } from "react"; import { Link } from "react-router-dom"; -import { Copy, Check, Megaphone, Box, Info, AlertTriangle, AlertCircle, Bell, BellOff } from "lucide-react"; +import { Copy, Check, Megaphone, Box, Info, AlertTriangle, AlertCircle, Bell, BellOff, ExternalLink } from "lucide-react"; import { useDashboardStats, useDashboardExpiring, useDashboardActivity } from "@/hooks/use-certs"; import { useProjects } from "@/hooks/use-projects"; import { useMyTeammates } from "@/hooks/use-dashboard"; import { useLiveAppStatuses } from "@/hooks/use-app-status"; -import { useApplications } from "@/hooks/use-settings"; +import { useApplications, useSupportResources } from "@/hooks/use-settings"; import { useLiveBulletins, type Announcement } from "@/hooks/use-announcements"; import { useNotificationPreference } from "@/hooks/use-browser-notifications"; import { useAuthContext } from "@/contexts/auth-context"; @@ -14,6 +14,8 @@ import { ExpiringItems } from "@/components/dashboard/expiring-items"; import { RecentActivity } from "@/components/dashboard/recent-activity"; import { RecentDowntime } from "@/components/dashboard/recent-downtime"; import { useDowntimeEntries } from "@/hooks/use-downtime"; +import { FeedbackModal } from "@/components/feedback/feedback-modal"; +import { Linkify } from "@/components/shared/linkify"; import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"; import { Card, @@ -293,7 +295,7 @@ function AnnouncementsSection() { {ann.type}
{ann.text}
+
{ann.created_by ?? "system"}
{ann.created_at &&
@@ -500,6 +502,48 @@ function NotificationCard() {
);
}
+function SupportResourcesSection() {
+ const { data: supportResources } = useSupportResources();
+ const [feedbackOpen, setFeedbackOpen] = useState(false);
+
+ return (
+