Add calendar toolbox with weekly and monthly scheduling
All checks were successful
Deploy Sokko G / deploy (push) Successful in 14s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 14s
This commit is contained in:
parent
4f73e0068b
commit
992665f4ea
39 changed files with 4331 additions and 36 deletions
|
|
@ -884,6 +884,90 @@
|
|||
"example": "@activeTab: countdown\nlap | label=Fosse 110 | elapsedMs=1046475\nlap | label=Fosse 55 | elapsedMs=50019\ncountdown | label=Fin de vague infernale | type=time_pattern | alertMode=off | pattern=X:55:X\ncountdown | label=Boss Mondial | type=daily_time | alertMode=off | time=14:00:00\ncountdown | label=Legion | type=interval | alertMode=off | autoRefresh=true | intervalMs=1800000 | startMode=now\ncountdown | label=Durée | type=duration | alertMode=off | durationMs=1800000"
|
||||
}
|
||||
},
|
||||
"calendar": {
|
||||
"controls": [
|
||||
{
|
||||
"group": "Événement",
|
||||
"icon": "calendar",
|
||||
"title": "Sélection de créneaux",
|
||||
"preview": {
|
||||
"kind": "iconButton",
|
||||
"icon": "calendar"
|
||||
}
|
||||
},
|
||||
{
|
||||
"group": "Événement",
|
||||
"icon": "copy",
|
||||
"title": "Copier un événement",
|
||||
"preview": {
|
||||
"kind": "iconButton",
|
||||
"icon": "copy"
|
||||
}
|
||||
},
|
||||
{
|
||||
"group": "Alertes",
|
||||
"icon": "sound-max",
|
||||
"title": "Alerte site",
|
||||
"preview": {
|
||||
"kind": "iconButton",
|
||||
"icon": "sound-max"
|
||||
}
|
||||
},
|
||||
{
|
||||
"group": "Événement",
|
||||
"icon": "trash",
|
||||
"title": "Supprimer",
|
||||
"preview": {
|
||||
"kind": "iconButton",
|
||||
"icon": "trash",
|
||||
"danger": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"title": "Vue hebdomadaire",
|
||||
"text": "Une grille jours par créneaux de 30 minutes pour planifier les événements de session.",
|
||||
"details": [
|
||||
"Les heures peuvent être saisies à 5 minutes près.",
|
||||
"La grille reste lisible dans la toolbox complète et dans le panneau latéral.",
|
||||
"Les plages vides peuvent être masquées sans retirer l'indicateur de tranche horaire."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Vue mensuelle",
|
||||
"text": "Une grille semaines par jours affiche les numéros du mois courant sans nommer le mois.",
|
||||
"details": [
|
||||
"Les événements mensuels peuvent cibler un numéro du jour ou un jour de semaine.",
|
||||
"Les événements multi-jours s'affichent en barre horizontale.",
|
||||
"Les jours hors mois courant ne sont pas sélectionnables."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Création rapide",
|
||||
"text": "Un événement peut être saisi au formulaire ou prérempli en sélectionnant des cellules.",
|
||||
"details": [
|
||||
"Un événement peut être ponctuel ou avoir une durée.",
|
||||
"Dans un calendrier hebdomadaire, les événements se répètent automatiquement chaque semaine.",
|
||||
"Un événement copié peut être collé sur un autre créneau en conservant durée, couleur et alerte.",
|
||||
"La couleur permet de distinguer rapidement les catégories d'événements."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Alertes",
|
||||
"text": "Les alertes utilisent les mêmes modes que le timer, avec un délai de 5 ou 10 minutes.",
|
||||
"details": [
|
||||
"Aucune alerte garde l'événement silencieux.",
|
||||
"Alerte visible prévient seulement quand la toolbox concernée est ouverte.",
|
||||
"Alerte site fonctionne sur toute l'application et signale aussi une session déjà en cours une seule fois."
|
||||
]
|
||||
}
|
||||
],
|
||||
"importFormat": {
|
||||
"text": "Le calendrier s'échange en lignes texte : une meta @viewMode puis une ligne event par entrée.",
|
||||
"example": "@viewMode: week\nevent | title=Raid hebdo | day=vendredi | start=18:00 | end=20:00 | color=gold | alertMode=site | alerts=10,5\n\n@viewMode: month\nevent | title=Week-end Double EXP | repeatBy=monthDay | repeat=monthly | startDate=2026-08-07 | endDate=2026-08-09\nevent | title=Maintenance | repeatBy=weekday | repeat=weekly | startDate=2026-08-06 | color=pink"
|
||||
}
|
||||
},
|
||||
"taskPlanner": {
|
||||
"controls": [
|
||||
{
|
||||
|
|
@ -1792,6 +1876,81 @@
|
|||
"renameTitle": "Renommer",
|
||||
"deleteTitle": "Supprimer"
|
||||
},
|
||||
"calendar": {
|
||||
"init": {
|
||||
"title": "Créer un calendrier",
|
||||
"weekly": "Hebdomadaire",
|
||||
"weeklyDescription": "Grille jours par créneaux de 30 minutes.",
|
||||
"monthly": "Mensuel",
|
||||
"monthlyDescription": "Grille mensuelle datée avec navigation.",
|
||||
"soon": "À venir"
|
||||
},
|
||||
"gridLabel": "Calendrier hebdomadaire",
|
||||
"monthGridLabel": "Calendrier mensuel",
|
||||
"titleLabel": "Titre",
|
||||
"titlePlaceholder": "Raid, reset, event...",
|
||||
"dayLabel": "Jour",
|
||||
"startDayLabel": "Date début",
|
||||
"endDayLabel": "Date fin",
|
||||
"startLabel": "Début",
|
||||
"endLabel": "Fin",
|
||||
"alertModeTitle": "Mode d'alerte",
|
||||
"alertTypeLabel": "Type d'alertes",
|
||||
"alertOffTitle": "Pas d'alerte",
|
||||
"alertVisibleTitle": "Alerte quand la toolbox est affichée",
|
||||
"alertSiteTitle": "Alerte sur tout le site",
|
||||
"alertOffsetLabel": "Alerte",
|
||||
"alertOffset10": "10 min avant",
|
||||
"alertOffset5": "5 min avant",
|
||||
"alertOffset0": "Au début et pendant",
|
||||
"alertMessage": "{label} commence bientôt dans {toolbox}.",
|
||||
"resumeAlertMessage": "{label} est en cours dans {toolbox}.",
|
||||
"hideEmptyHoursLabel": "Masquer les heures vides",
|
||||
"colorLabel": "Couleur",
|
||||
"colorViolet": "Violet",
|
||||
"colorGold": "Or",
|
||||
"colorCyan": "Cyan",
|
||||
"colorPink": "Rose",
|
||||
"colorGreen": "Vert",
|
||||
"colorGray": "Gris",
|
||||
"repeatableTitle": "Répétable",
|
||||
"repeatLabel": "Répétition",
|
||||
"repeatNone": "Aucune",
|
||||
"repeatWeekly": "Chaque semaine",
|
||||
"repeatMonthly": "Chaque mois",
|
||||
"monthlyRepeatLabel": "Règle mensuelle",
|
||||
"monthlyRepeatMonthDay": "Numéro du jour",
|
||||
"monthlyRepeatWeekday": "Jour de semaine",
|
||||
"monthDatePickerLabel": "Choisir une date",
|
||||
"previousMonthTitle": "Mois précédent",
|
||||
"nextMonthTitle": "Mois suivant",
|
||||
"currentMonthTitle": "Mois courant",
|
||||
"previousShortLabel": "Prec.",
|
||||
"nextShortLabel": "Suiv.",
|
||||
"importPlaceholder": "@viewMode: week\nevent | title=Raid hebdo | day=vendredi | start=18:00 | end=20:00 | color=gold | alertMode=site | alerts=10,5\n\n@viewMode: month\nevent | title=Maintenance | repeatBy=weekday | repeat=monthly | startDate=2026-08-03 | endDate=2026-08-05 | color=pink",
|
||||
"importOpenButton": "Importer du texte",
|
||||
"exportOpenButton": "Exporter en format texte",
|
||||
"importModalTitle": "Importer un calendrier",
|
||||
"exportModalTitle": "Exporter un calendrier",
|
||||
"importButton": "Importer le texte",
|
||||
"exportButton": "Copier le texte",
|
||||
"exportInfo": "Format calendrier texte compatible avec les vues hebdomadaire et mensuelle.",
|
||||
"importSuccess": "Import calendrier terminé.",
|
||||
"exportSuccess": "Export calendrier copié.",
|
||||
"importError": "Format de calendrier invalide.",
|
||||
"addButton": "Ajouter",
|
||||
"saveButton": "Enregistrer",
|
||||
"cancelButton": "Annuler",
|
||||
"editTitle": "Modifier",
|
||||
"copyTitle": "Copier",
|
||||
"copiedTitle": "Événement copié.",
|
||||
"pastedTitle": "Événement collé.",
|
||||
"deleteTitle": "Supprimer",
|
||||
"deleteOccurrenceTitle": "Supprimer cette occurrence",
|
||||
"deleteSeriesTitle": "Supprimer toutes les répétitions",
|
||||
"requiredError": "Titre, date et heure de début requis.",
|
||||
"invalidRangeError": "La fin doit être après le début."
|
||||
},
|
||||
"taskPlanner": {
|
||||
"importPlaceholder": "@resetTime: 06:00\n# Raid\n- daily Préparer la route\n @description: Notes rapides\n - unique Sous-tâche",
|
||||
"importOpenButton": "Importer du texte",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue