@onweb/react-lunar-calendar-fr
v0.0.7
Published
Un composant React pour afficher un calendrier lunaire en français avec les phases de la lune et des conseils quotidiens.
Downloads
6
Readme
React Lunar Calendar (FR)
Un composant React pour afficher un calendrier lunaire en français avec les phases de la lune et des conseils quotidiens.
Installation
npm install @onweb/react-lunar-calendar-frConfiguration Supabase
- Créez un projet sur Supabase
- Ajoutez les variables d'environnement suivantes à votre projet :
VITE_SUPABASE_URL=votre_url_supabase
VITE_SUPABASE_ANON_KEY=votre_clé_anon_supabase- Exécutez la migration SQL suivante dans votre projet Supabase :
CREATE TABLE IF NOT EXISTS user_profiles (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
user_id uuid REFERENCES auth.users NOT NULL,
name text NOT NULL,
birth_date date NOT NULL,
created_at timestamptz DEFAULT now(),
updated_at timestamptz DEFAULT now()
);
ALTER TABLE user_profiles ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Users can read own profile"
ON user_profiles FOR SELECT
TO authenticated
USING (auth.uid() = user_id);
CREATE POLICY "Users can create own profile"
ON user_profiles FOR INSERT
TO authenticated
WITH CHECK (auth.uid() = user_id);
CREATE POLICY "Users can update own profile"
ON user_profiles FOR UPDATE
TO authenticated
USING (auth.uid() = user_id)
WITH CHECK (auth.uid() = user_id);
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
RETURN NEW;
END;
$$ language 'plpgsql';
CREATE TRIGGER update_user_profiles_updated_at
BEFORE UPDATE ON user_profiles
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();Configuration Tailwind CSS
- Assurez-vous d'avoir Tailwind CSS installé dans votre projet :
npm install -D tailwindcss postcss autoprefixer- Créez ou mettez à jour votre fichier
tailwind.config.js:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./src/**/*.{js,jsx,ts,tsx}',
'./node_modules/@onweb/react-lunar-calendar-fr/dist/**/*.{js,jsx,ts,tsx}'
],
theme: {
extend: {},
},
plugins: [],
}- Importez les styles du package dans votre fichier CSS principal :
@import '@onweb/react-lunar-calendar-fr/dist/style.css';
@tailwind base;
@tailwind components;
@tailwind utilities;Utilisation
Composant autonome
import { LunarCalendar } from '@onweb/react-lunar-calendar-fr';
function App() {
return (
<LunarCalendar
showHomeLink={true} // Optionnel: affiche/masque le lien d'accueil
homePath="/" // Optionnel: chemin du lien d'accueil
className="" // Optionnel: classes CSS additionnelles
/>
);
}Application complète avec routage
import { LunarApp } from '@onweb/react-lunar-calendar-fr';
function App() {
return (
<LunarApp calendarPath="/mon-calendrier" /> // Le chemin par défaut est "/calendrier"
);
}Prérequis
Ce package nécessite les dépendances suivantes dans votre projet :
- react
- react-dom
- react-router-dom
- @supabase/supabase-js
- lucide-react
- tailwindcss
- postcss
- autoprefixer
Props
LunarCalendar
| Prop | Type | Default | Description | |------|------|---------|-------------| | showHomeLink | boolean | true | Affiche ou masque le lien de retour à l'accueil | | homePath | string | "/" | Chemin du lien de retour à l'accueil | | className | string | "" | Classes CSS additionnelles pour le conteneur principal |
LunarApp
| Prop | Type | Default | Description | |------|------|---------|-------------| | calendarPath | string | "/calendrier" | Chemin d'accès au calendrier lunaire |
Fonctionnalités
- Authentification utilisateur avec Supabase
- Stockage des profils utilisateurs dans Supabase
- Affichage de la phase lunaire actuelle
- Navigation entre les jours
- Calcul de l'illumination lunaire
- Conseils quotidiens basés sur la phase de la lune
- Interface en français
- Design responsive et moderne
- Intégration avec TailwindCSS
- Routage configurable
License
MIT
