Skip to content

Replace native color input with custom ColorPicker component - #32

Merged
Andreas-Froyland merged 3 commits into
mainfrom
claude/add-email-verification-nudge-nuVJ5
Feb 16, 2026
Merged

Andreas-Froyland merged 3 commits into
mainfrom
claude/add-email-verification-nudge-nuVJ5

Conversation

@Andreas-Froyland

Copy link
Copy Markdown
Member

Summary

Replaced the native HTML color input with a new custom ColorPicker component that provides a better user experience with a popover-based interface, hex color picker widget, and real-time validation.

Key Changes

  • New ColorPicker component (components/ColorPicker.vue): A reusable color picker component featuring:

    • Popover-based UI using reka-ui primitives
    • Integrated vanilla-colorful hex color picker widget
    • Manual hex input field with validation (accepts only valid hex colors like #3b82f6)
    • Color preview swatch
    • Accessible button trigger with ARIA labels
    • v-model support for two-way binding
  • Updated ProductSettingsAppearance: Replaced the native color input and manual text input with the new ColorPicker component, simplifying the UI code

  • Nuxt configuration: Added Vue compiler option to recognize hex-color-picker as a custom element (from vanilla-colorful library)

  • Dependencies: Added vanilla-colorful package for the color picker widget

  • Documentation: Removed completed TODO item about updating the color picker design

Implementation Details

  • The component uses ClientOnly wrapper for the hex-color-picker to handle SSR compatibility
  • Hex input validation ensures only valid hex color codes are emitted
  • The component maintains internal state for the hex input field while syncing with parent via v-model
  • Styled with Tailwind CSS and shadcn-ui design tokens for consistency

https://claude.ai/code/session_011Kb1RWHLQDakpkWvByGaBZ

Redesigns the accent color picker in ProductSettingsAppearance to show
a grid of 12 preset color swatches with active-state indicator, plus a
custom color trigger (pipette icon) backed by a hidden native picker.
Adds a live color preview swatch next to the hex input for fine-tuning.

https://claude.ai/code/session_011Kb1RWHLQDakpkWvByGaBZ
Replaces the preset swatches and native browser picker with a proper
HSL gradient color picker (vanilla-colorful) wrapped in a reka-ui
Popover. Clicking the color swatch opens a popover with a full
saturation/lightness gradient area, hue slider, and hex input for
fine-tuning — all matching the shadcn design system styling.

https://claude.ai/code/session_011Kb1RWHLQDakpkWvByGaBZ
@vercel

vercel Bot commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
veerify Ready Ready Preview, Comment Feb 16, 2026 2:43pm

@Andreas-Froyland
Andreas-Froyland merged commit 1c7df9a into main Feb 16, 2026
5 of 8 checks passed
@Andreas-Froyland
Andreas-Froyland deleted the claude/add-email-verification-nudge-nuVJ5 branch February 16, 2026 14:42
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.

2 participants