Skip to content

🎨 Palette: Make Favorites actions discoverable in empty state#20

Merged
kastnerp merged 1 commit intodevfrom
palette-favorites-empty-state-actions-12997581831934750584
Apr 21, 2026
Merged

🎨 Palette: Make Favorites actions discoverable in empty state#20
kastnerp merged 1 commit intodevfrom
palette-favorites-empty-state-actions-12997581831934750584

Conversation

@kastnerp
Copy link
Copy Markdown
Member

💡 What

  • Moved the Import JSON, Export JSON, and Export CSV action buttons out of the {#if favorites.count > 0} conditional block in FavoritesPanel.svelte so they are always visible.
  • The Import JSON button is always enabled.
  • The Export JSON and Export CSV buttons are visually and functionally disabled when the favorites list is empty.
  • The Clear All button logic was conditionally wrapped so it remains hidden when the list is empty.
  • Logged a new critical learning to .Jules/palette.md regarding data ingestion actions in empty states.

🎯 Why

Previously, if a user had an empty favorites list, the entire actions block was hidden. This created a UX trap: users could not import a previously saved favorites list if they didn't already have at least one favorite selected to trigger the actions block to appear. By always showing the import action, users can recover from this empty state seamlessly.

📸 Before/After

  • Before: In the "Favorites (0)" state, only the message "Click the heart icon..." was visible. No action buttons were present.
  • After: In the "Favorites (0)" state, the "Import JSON" button is fully actionable. The "Export JSON" and "Export CSV" buttons are visible but clearly disabled.

♿ Accessibility

  • Added disabled:opacity-50 and disabled:cursor-not-allowed styles to export actions when the list is empty to provide visual feedback.
  • Added explanatory title attributes (title="No favorites to export") to the disabled export buttons, ensuring screen reader users understand why the buttons are disabled, following the app's established accessibility patterns.

PR created automatically by Jules for task 12997581831934750584 started by @kastnerp

Extracts data ingestion actions (Import JSON) from empty state conditionals
so users can populate their favorites list even when it is currently empty.
Adds accessible disabled states for export actions when the list is empty.

Co-authored-by: kastnerp <1919773+kastnerp@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@kastnerp kastnerp merged commit 9a36d94 into dev Apr 21, 2026
@kastnerp kastnerp deleted the palette-favorites-empty-state-actions-12997581831934750584 branch April 21, 2026 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant