Beautiful admin dashboard with multiple themes, built on Atomic CRM
π¨ 4 Theme Presets β’ π Full CRM Features β’ π Supabase Backend β’ π± Mobile Responsive
Scholar Admin Hub integrates the best of two worlds:
- Atomic CRM - Production-ready React SPA with full CRM capabilities
- arhamkhnz Dashboard - Beautiful themes and modern UI components
Result: A powerful admin dashboard with Islamic-friendly theming (Tangerine) and enterprise CRM features.
- Default (Neutral) - Clean, professional grayscale
- Tangerine β - Warm orange/gold (Islamic aesthetic)
- Brutalist - High contrast, bold borders
- Soft Pop - Gentle pastels, friendly
# Navigate to project
cd /Users/farieds/Project/standalone-search/scholar-admin-hub
# Start in demo mode (no backend needed)
npm run dev:demo
# Opens on http://localhost:5173/
# OR start with Supabase (full features)
make start # Starts Supabase + frontend- Project created from Atomic CRM base
- Zustand state management installed
- Theme infrastructure set up
- 3 theme presets copied (Tangerine, Brutalist, Soft Pop)
- Theme store created with persistence
- Theme provider component created
- CSS imports configured
- CRM stub tables created - React Admin loads without 404 errors
- Scholar dashboard functional -
/scholarroute works independently
- Create ThemeSwitcher component β START HERE
- Integrate ThemeProvider into app
- Add theme switcher to layout header
- Test all 4 themes across CRM views
π See HANDOFF.md for complete next steps and context
Status: Lightweight placeholder tables created to prevent React Admin 404 errors.
Tables: deals, contacts, companies, contactNotes, dealNotes, tasks, sales, tags
Views: contacts_summary, companies_summary
RLS: Enabled with public access (stub environment)
Migration: 20251019_create_crm_stub_tables_for_scholar_mode.sql
Why stub tables?
- Scholar dashboard (
/scholar) only needsquestion_submissionstable - CRM code preserved for future activation
- React Admin dataProvider requires all resource tables to exist
- Stub tables = empty schema with minimal overhead
When ready for full CRM:
- Run full CRM migration to extend stub tables with complete schema
- Add proper RLS policies for multi-tenancy
- Seed sample data
- Enable CRM routes in navigation
| Document | Purpose |
|---|---|
| HANDOFF.md β | Current status, next steps, complete context for next agent |
| INTEGRATION_PLAN.md | Full 4-day implementation roadmap |
| README.md | This file - project overview |
# Development
npm run dev:demo # Demo mode with fake data
npm run dev # Full mode with Supabase
# Building
npm run build # Production build
npm run build:demo # Demo build
# Testing
npm test # Run tests
npm run typecheck # TypeScript check
# Linting
npm run lint:check # Check linting
npm run lint:apply # Fix linting issuesscholar-admin-hub/
βββ HANDOFF.md # β START HERE - Session handoff
βββ INTEGRATION_PLAN.md # Full implementation roadmap
βββ src/
β βββ stores/
β β βββ theme-store.ts # β
Theme state (Zustand)
β βββ components/theme/
β β βββ ThemeProvider.tsx # β
Theme context provider
β β βββ ThemeSwitcher.tsx # β TODO - Next task
β βββ styles/presets/
β β βββ tangerine.css # β
Warm Islamic theme
β β βββ brutalist.css # β
High contrast theme
β β βββ soft-pop.css # β
Soft pastel theme
β βββ index.css # β
Modified - Theme imports added
βββ package.json # β
Modified - Zustand added
Priority 1: Create ThemeSwitcher Component (20 minutes)
- Create file:
src/components/theme/ThemeSwitcher.tsx - Copy code from
HANDOFF.mdβ Task 1 section - Verify it compiles without errors
Priority 2: Integrate ThemeProvider (15 minutes)
- Modify
src/main.tsx - Wrap
<App />with<ThemeProvider> - Start dev server and verify no errors
Priority 3: Add to Layout (20 minutes)
- Find
src/atomic-crm/layout/Layout.tsx - Import ThemeSwitcher
- Add to header (top-right)
Priority 4: Test (30 minutes)
- Start dev server:
npm run dev:demo - Click theme switcher
- Verify all 4 themes work
- Check persistence (refresh page)
Total Time: ~1.5 hours to fully working theme system
- React 19 + Vite 7
- React Router 7
- Zustand (theme state)
- React Admin (CRM features)
- shadcn/ui + Tailwind CSS 4
- Supabase (backend)
- TypeScript
Source Projects (for reference only):
- Atomic CRM:
/Users/farieds/Project/admin-dashboard-references/atomic-crm - arhamkhnz Dashboard:
/Users/farieds/Project/admin-dashboard-references/arhamkhnz-dashboard
Documentation:
- Integration Strategy:
/Users/farieds/Project/admin-dashboard-references/INTEGRATION_STRATEGY.md - Setup Guide:
/Users/farieds/Project/admin-dashboard-references/SETUP_COMPLETE.md
- Read HANDOFF.md - Complete session context
- Check INTEGRATION_PLAN.md - Detailed roadmap
- Review Atomic CRM docs -
./doc/directory - Check shadcn docs - https://ui.shadcn.com
Status: Phase 1 Complete β Next: Create ThemeSwitcher component Updated: October 2, 2025 Estimated Time to Working Theme System: 1-2 hours