diff --git a/src/components/settings/BackgroundImageSelector.tsx b/src/components/settings/BackgroundImageSelector.tsx index 5e30ae6..b9cd056 100644 --- a/src/components/settings/BackgroundImageSelector.tsx +++ b/src/components/settings/BackgroundImageSelector.tsx @@ -1,8 +1,7 @@ 'use client'; -import { useState } from 'react'; +import { useState, useEffect } from 'react'; import { Button } from '@/components/ui/Button'; -import { Input } from '@/components/ui/Input'; import { Card, CardContent } from '@/components/ui/Card'; import { useUserPreferences } from '@/contexts/UserPreferencesContext'; @@ -23,41 +22,66 @@ const PRESET_BACKGROUNDS = [ { id: 'theme-primary', name: 'Dégradé primaire', - description: 'Dégradé avec la couleur primaire du thème', - preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--primary) 20%, var(--background)) 100%)' + description: 'Dégradé marqué avec la couleur primaire', + preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--primary) 60%, var(--background)) 100%)' }, { id: 'theme-accent', name: 'Dégradé accent', - description: 'Dégradé avec la couleur d\'accent du thème', - preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--accent) 20%, var(--background)) 100%)' + description: 'Dégradé marqué avec la couleur d\'accent', + preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--accent) 60%, var(--background)) 100%)' }, { id: 'theme-success', name: 'Dégradé succès', - description: 'Dégradé avec la couleur de succès du thème', - preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--success) 20%, var(--background)) 100%)' + description: 'Dégradé marqué avec la couleur de succès', + preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--success) 60%, var(--background)) 100%)' }, { id: 'theme-purple', name: 'Dégradé violet', - description: 'Dégradé avec la couleur violette du thème', - preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--purple) 20%, var(--background)) 100%)' + description: 'Dégradé marqué avec la couleur violette', + preview: 'linear-gradient(135deg, var(--background) 0%, color-mix(in srgb, var(--purple) 60%, var(--background)) 100%)' }, { id: 'theme-diagonal', name: 'Dégradé diagonal', - description: 'Dégradé diagonal avec plusieurs couleurs du thème', - preview: 'linear-gradient(45deg, var(--background) 0%, color-mix(in srgb, var(--primary) 15%, var(--background)) 50%, color-mix(in srgb, var(--accent) 15%, var(--background)) 100%)' + description: 'Dégradé diagonal avec plusieurs couleurs', + preview: 'linear-gradient(45deg, var(--background) 0%, color-mix(in srgb, var(--primary) 40%, var(--background)) 50%, color-mix(in srgb, var(--accent) 40%, var(--background)) 100%)' }, { id: 'theme-radial', name: 'Dégradé radial', description: 'Dégradé radial centré avec les couleurs du thème', - preview: 'radial-gradient(circle at center, var(--background) 0%, color-mix(in srgb, var(--primary) 25%, var(--background)) 100%)' + preview: 'radial-gradient(circle at center, var(--background) 0%, color-mix(in srgb, var(--primary) 50%, var(--background)) 100%)' + }, + { + id: 'theme-sunset', + name: 'Dégradé coucher de soleil', + description: 'Dégradé orange-rouge intense', + preview: 'linear-gradient(135deg, color-mix(in srgb, var(--accent) 80%, var(--background)) 0%, color-mix(in srgb, var(--destructive) 60%, var(--background)) 100%)' + }, + { + id: 'theme-ocean', + name: 'Dégradé océan', + description: 'Dégradé bleu profond', + preview: 'linear-gradient(135deg, color-mix(in srgb, var(--blue) 70%, var(--background)) 0%, color-mix(in srgb, var(--primary) 50%, var(--background)) 100%)' + }, + { + id: 'theme-forest', + name: 'Dégradé forêt', + description: 'Dégradé vert naturel', + preview: 'linear-gradient(135deg, color-mix(in srgb, var(--green) 60%, var(--background)) 0%, color-mix(in srgb, var(--success) 40%, var(--background)) 100%)' + }, + { + id: 'theme-galaxy', + name: 'Dégradé galaxie', + description: 'Dégradé violet-bleu mystique', + preview: 'linear-gradient(135deg, color-mix(in srgb, var(--purple) 70%, var(--background)) 0%, color-mix(in srgb, var(--blue) 50%, var(--background)) 100%)' } ]; + export function BackgroundImageSelector() { const { preferences, updateViewPreferences } = useUserPreferences(); const [customUrl, setCustomUrl] = useState(''); @@ -81,6 +105,7 @@ export function BackgroundImageSelector() { setShowCustomInput(false); }; + const handleRemoveCustom = () => { updateViewPreferences({ backgroundImage: undefined }); }; @@ -93,6 +118,11 @@ export function BackgroundImageSelector() { updateViewPreferences({ backgroundOpacity: opacity }); }; + // Réinitialiser les options avancées quand l'image change + useEffect(() => { + setShowAdvancedOptions(false); + }, [currentBackground]); + return (
- Entrez l'URL d'une image (JPG, PNG, GIF, WebP) -
+- Personnalisez l'effet de l'image de fond + Ajustez l'effet de votre image personnalisée