feat: Add Clinic Growth, Google Search Console, GA4 Traffic Radar & Mailcow Stack tab
This commit is contained in:
+25
-2
@@ -41,6 +41,7 @@ import { CommandPalette } from '@/components/ui/CommandPalette';
|
||||
import { InactivityLockoutModal } from '@/components/ui/InactivityLockoutModal';
|
||||
import { ClinicalToastContainer, ToastMessage } from '@/components/ui/ClinicalToast';
|
||||
import { DoctorOnboardingView } from '@/components/onboarding/DoctorOnboardingView';
|
||||
import { ClinicGrowthView } from '@/components/growth/ClinicGrowthView';
|
||||
import { clinicalAudio } from '@/lib/clinical-audio';
|
||||
import {
|
||||
Calendar,
|
||||
@@ -65,6 +66,7 @@ import {
|
||||
Scale,
|
||||
Lock,
|
||||
ShieldCheck,
|
||||
TrendingUp,
|
||||
} from 'lucide-react';
|
||||
|
||||
export default function Home() {
|
||||
@@ -77,9 +79,9 @@ export default function Home() {
|
||||
// Staff Role: 'doctor' | 'front_desk' | 'billing_admin'
|
||||
const [staffRole, setStaffRole] = useState<StaffRole>('doctor');
|
||||
|
||||
// Clinic Sub-Tabs: 'calendar' | 'charting' | 'telehealth' | 'retail' | 'memberships' | 'billing' | 'retention'
|
||||
// Clinic Sub-Tabs: 'calendar' | 'charting' | 'telehealth' | 'retail' | 'memberships' | 'billing' | 'retention' | 'growth'
|
||||
const [clinicTab, setClinicTab] = useState<
|
||||
'calendar' | 'charting' | 'telehealth' | 'retail' | 'memberships' | 'billing' | 'retention'
|
||||
'calendar' | 'charting' | 'telehealth' | 'retail' | 'memberships' | 'billing' | 'retention' | 'growth'
|
||||
>('calendar');
|
||||
|
||||
const [appointments, setAppointments] = useState<Appointment[]>(INITIAL_APPOINTMENTS);
|
||||
@@ -721,6 +723,19 @@ export default function Home() {
|
||||
<Users className="w-3.5 h-3.5 text-amber-600" />
|
||||
Retention Radar
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setClinicTab('growth')}
|
||||
className={`px-3 py-1.5 rounded-md font-semibold flex items-center gap-1.5 transition whitespace-nowrap ${
|
||||
clinicTab === 'growth'
|
||||
? 'bg-sky-50 text-sky-800 border border-sky-200 shadow-2xs font-bold'
|
||||
: 'text-slate-600 hover:text-slate-900'
|
||||
}`}
|
||||
>
|
||||
<TrendingUp className="w-3.5 h-3.5 text-emerald-600" />
|
||||
Growth & SEO (GSC/GA4)
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</header>
|
||||
@@ -805,6 +820,14 @@ export default function Home() {
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
{clinicTab === 'growth' && (
|
||||
<ClinicGrowthView
|
||||
activeTenant={activeTenant}
|
||||
activeProvider={activeProvider}
|
||||
onOpenBookingPortal={() => setPortalMode('patient')}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user