+ FedEx Easy Returns - Performance Dashboard +
+Mar 01, 2026 – Mar 07, 2026
+diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx new file mode 100644 index 0000000..8d50d7c --- /dev/null +++ b/src/pages/Dashboard.jsx @@ -0,0 +1,133 @@ +import React, { useState, useEffect } from "react"; +import { createPageUrl } from "@/utils"; +import ActivationPending from "@/components/onboarding/ActivationPending"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { Button } from "@/components/ui/button"; +import { RefreshCw } from "lucide-react"; +import Sidebar from "@/components/dashboard/Sidebar"; +import TopBar from "@/components/dashboard/TopBar"; +import ActivityCard from "@/components/dashboard/ActivityCard"; +import FinancialCard from "@/components/dashboard/FinancialCard"; +import ComplianceCard from "@/components/dashboard/ComplianceCard"; +import GuidedTour from "@/components/dashboard/GuidedTour"; + +export default function Dashboard() { + const urlParams = new URLSearchParams(window.location.search); + const isFirstLogin = urlParams.get("first_login") === "true"; + const demoUnverified = urlParams.get("demo_unverified") === "true"; + + const [showTour, setShowTour] = useState(false); + const [userData, setUserData] = useState(null); + const [blocked, setBlocked] = useState(false); + + useEffect(() => { + // Simulate unverified user for demo testing + if (demoUnverified) { + setBlocked(true); + return; + } + + // Load demo user from session + const stored = sessionStorage.getItem("demo_user"); + if (stored) { + const parsed = JSON.parse(stored); + if (parsed.is_activated === false) { + setBlocked(true); + return; + } + setUserData(parsed); + } else { + // Default demo data + setUserData({ + full_name: "Radoslav Nedyalkov", + email: "Eric@rscentral.org", + store_id: "AA1112", + store_name: "Radi Box N Ship", + }); + } + + if (isFirstLogin) { + const timer = setTimeout(() => setShowTour(true), 800); + return () => clearTimeout(timer); + } + }, [isFirstLogin, demoUnverified]); + + const blockedEmail = (() => { + const stored = sessionStorage.getItem("demo_user"); + if (stored) return JSON.parse(stored).email || "your email address"; + return "Eric@rscentral.org"; + })(); + + if (blocked) { + return ( +
Mar 01, 2026 – Mar 07, 2026
+