diff --git a/apps/web/src/components/player/VisualizerSettingsModal.tsx b/apps/web/src/components/player/VisualizerSettingsModal.tsx index 5453a3946..8ffa009ec 100644 --- a/apps/web/src/components/player/VisualizerSettingsModal.tsx +++ b/apps/web/src/components/player/VisualizerSettingsModal.tsx @@ -1,6 +1,13 @@ import React from 'react'; import { X, Activity } from 'lucide-react'; import { useAudio, VisualizerSettings } from '../../context/AudioContext'; +import { + ColorVizIndigo, + ColorVizNeutral, + ColorVizSage, + ColorVizGold, + ColorVizVermillion, +} from '@veza/design-system/tokens-generated'; interface VisualizerSettingsModalProps { onClose: () => void; @@ -15,7 +22,8 @@ export const VisualizerSettingsModal: React.FC< setVisualizerSettings({ ...visualizerSettings, [key]: value }); }; - const colors = ['#7c9dd6', '#a8a4a0', '#7a9e6c', '#c9a84c', '#d4634a']; + // Data viz pigments (charte §4.5) — stored as hex in user prefs. + const colors = [ColorVizIndigo, ColorVizNeutral, ColorVizSage, ColorVizGold, ColorVizVermillion]; return (
diff --git a/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx b/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx index 56ce0d732..2739cf1b4 100644 --- a/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx +++ b/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx @@ -19,12 +19,22 @@ import { userService } from '@/services/userService'; import { usePWA } from '@/hooks/usePWA'; import { Download } from 'lucide-react'; +// Theme accent picker — exposes data viz pigments as personal accent overrides. +// Note: per CHARTE_GRAPHIQUE §4.4 rule 3, the canonical brand accent is Mizu cyan. +// These presets are user-personalisation only (stored in user.preferences). +import { + ColorVizIndigo, + ColorVizSage, + ColorVizVermillion, + ColorVizGold, +} from '@veza/design-system/tokens-generated'; + const ACCENT_PRESETS = [ - { id: 'indigo', hue: 220, hex: '#7c9dd6' }, - { id: 'sage', hue: 120, hex: '#7a9e6c' }, - { id: 'vermillion', hue: 15, hex: '#d4634a' }, - { id: 'gold', hue: 45, hex: '#c9a84c' }, - { id: 'sakura', hue: 340, hex: '#e0a0b8' }, + { id: 'indigo', hue: 220, hex: ColorVizIndigo }, + { id: 'sage', hue: 120, hex: ColorVizSage }, + { id: 'vermillion', hue: 15, hex: ColorVizVermillion }, + { id: 'gold', hue: 45, hex: ColorVizGold }, + { id: 'sakura', hue: 340, hex: '#e0a0b8' }, ]; export const AppearanceSettingsView: React.FC = () => { diff --git a/apps/web/src/components/ui/DesignTokens.stories.tsx b/apps/web/src/components/ui/DesignTokens.stories.tsx index 42dde496b..e7857029c 100644 --- a/apps/web/src/components/ui/DesignTokens.stories.tsx +++ b/apps/web/src/components/ui/DesignTokens.stories.tsx @@ -33,34 +33,53 @@ function DesignTokensShowcase() { return (
-

SUMI Design System v2.0

-

"L'encre et la lumière" — Ink and Light

+

SUMI Design System v3.0

+

"Lavis d'encre" — Ink wash. Source : packages/design-system/tokens/.

- - - - - - - + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + +
diff --git a/apps/web/src/context/audio-context/useAudioContextValue.ts b/apps/web/src/context/audio-context/useAudioContextValue.ts index 3db8ed5ee..6407170fc 100644 --- a/apps/web/src/context/audio-context/useAudioContextValue.ts +++ b/apps/web/src/context/audio-context/useAudioContextValue.ts @@ -2,10 +2,11 @@ import { useState, useEffect, useRef } from 'react'; import type { Track } from '@/types'; import type { VisualizerSettings } from './types'; import { mockTracks } from './mockTracks'; +import { ColorVizIndigo } from '@veza/design-system/tokens-generated'; const defaultVisualizer: VisualizerSettings = { mode: 'waveform', - color: '#7c9dd6', + color: ColorVizIndigo, sensitivity: 50, };