From 29d497501b355baefb2afc61fb651971bc377eca Mon Sep 17 00:00:00 2001 From: Mary Kate Fain Date: Wed, 4 Mar 2026 21:18:07 -0600 Subject: [PATCH] Always show My Themes section with empty state CTA when no custom themes exist Shows a dashed border card with a plus icon and 'Create and share your first custom theme' prompt. Clicking it opens the builder dialog. --- src/components/ThemeSelector.tsx | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/components/ThemeSelector.tsx b/src/components/ThemeSelector.tsx index 22c474e5..9bea9df3 100644 --- a/src/components/ThemeSelector.tsx +++ b/src/components/ThemeSelector.tsx @@ -1,5 +1,5 @@ import { useState, useEffect, useMemo, useCallback, useRef } from 'react'; -import { Check, Palette, Trash2, ChevronDown, ChevronLeft, ChevronRight as ChevronRightIcon } from 'lucide-react'; +import { Check, Palette, Plus, Trash2, ChevronDown, ChevronLeft, ChevronRight as ChevronRightIcon } from 'lucide-react'; import { type Theme } from '@/contexts/AppContext'; import { useTheme } from '@/hooks/useTheme'; import { useCurrentUser } from '@/hooks/useCurrentUser'; @@ -695,11 +695,11 @@ export function ThemeSelector({ builderOpen, onBuilderOpenChange, builderMode }: return (
{/* ── My Themes ── */} - {userThemeItems.length > 0 && ( -
-

- My Themes -

+
+

+ My Themes +

+ {userThemeItems.length > 0 ? (
{userThemeItems.map((item) => ( ))}
-
- )} + ) : ( + + )} +
{/* ── Presets ── */}