Créer votre première page
Pages
Components
Construisez votre première page avec des composants de base et découvrez la logique visuelle.
Tour des fonctionnalités (Épisode 3)
Retour à l'Académie
Créer sa première page
Résumé express : Utiliser les widgets de l'interface library et créer des propriétés réactives pour des composants dynamiques.
Introduction aux Widgets
Au lieu d'utiliser une div de base, nous allons découvrir les widgets qui permettent d'utiliser les éléments de l'interface library de Luna Park (appelée Ferris Wheel en interne).
1. Widget Card de base
Création et utilisation
- Créer un nouveau composant
- Utiliser Widget au lieu de div
- Par défaut : widget Card
- Ajouter du texte : "Hello World"
- Un arrière-plan stylisé apparaît automatiquement
Propriétés de la Card
Depth (profondeur) :
-1: même arrière-plan que le preview (moins visible)0: valeur par défaut1: plus clair- Utile pour imbriquer des cartes avec différents niveaux
Type :
- Default : style par défaut
- Primary : couleur bleue
- Outline : bordure seule
- Transparent : complètement transparent
2. Widget Alert
Configuration
- Sélectionner Widget → Alert
- Nouvelles propriétés spécifiques :
- Status : success, warning, error, etc.
- Icon : icône automatique selon le status
Personnalisation d'icônes
- Cliquer sur le champ icône
- Recherche automatique d'icônes disponibles
- Exemple : taper "plane" pour icône d'avion
3. Widget Text Animation
Fonctionnalités
- Widget → Text Animation
- Pas d'enfants visibles : contenu défini dans les propriétés
- Propriété content : "Hello from Luna Park"
- Animation se déclenche à chaque apparition de l'élément
Test d'animation
Basculer entre Builder et Preview pour voir l'animation se répéter.
4. Créer des propriétés personnalisées
Problème : contenu statique
Comment changer le contenu du widget depuis un autre composant ?
Solution : propriétés réactives
- Dans le composant, ajouter une Property
- Nom : "text"
- Type : String
- Valeur par défaut : "Hello World"
Types de propriétés disponibles
- String : chaînes de caractères (texte)
- Number : nombres
- Boolean : valeurs true/false
- Autres types abordés plus tard
5. Utiliser les propriétés réactives
Mode constant vs réactif
Icône égal (=) : valeur constante définie directement
Icône éclair (⚡) : propriété réactive qui détecte automatiquement les propriétés disponibles
Application au Text Animation
- Propriété content du widget
- Cliquer sur l'éclair
- Sélectionner la propriété "text" créée
- Le contenu devient dynamique
6. Affichage de propriétés dans le texte
Avec Custom Text
- Ajouter un Custom Text : "Le contenu de ma propriété est :"
- Créer une variable temporaire entre accolades :
{display} - Une propriété "display" apparaît dans l'inspecteur
- Mode éclair → sélectionner "text"
- Affichage : "Le contenu de ma propriété est : Hello World"
Avec variables directes
Utiliser directement la variable dans le texte pour afficher la valeur.
7. Utilisation dans une page
Instancier le composant
- Créer une nouvelle Page : "My Page"
- Ajouter le composant créé
- La propriété "text" apparaît dans l'inspecteur
Personnalisation par instance
- Modifier la valeur : "Hello from Luna Park"
- Le changement s'applique automatiquement à toutes les utilisations de cette propriété
- Chaque instance peut avoir sa propre valeur
Avantages des widgets
Interface prête à l'emploi
- Composants stylisés par défaut
- Cohérence visuelle automatique
- Évite de recréer des éléments communs
Gain de temps
- Pas besoin de styler depuis zéro
- Propriétés pré-configurées
- Animations et interactions intégrées
Flexibilité
- Personnalisation via propriétés
- Adaptation au design souhaité
- Combinaison possible avec éléments custom
Concepts clés
Propriétés réactives
- Liaison dynamique entre composants
- Mise à jour automatique des valeurs
- Réutilisabilité avec différents contenus
Widgets vs éléments de base
- Widgets : fonctionnalités avancées intégrées
- Div/Custom Text : contrôle total mais plus de travail
- Hybride : combiner les deux approches
Types de données
- String : tout texte ou chaîne de caractères
- Number : valeurs numériques
- Boolean : états vrai/faux