fix: corrige parse error apostrophes fr.php et includes liste.php
Deploy HouseHub / deploy (push) Successful in 1s
Deploy HouseHub / deploy (push) Successful in 1s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
8176fc4de0
commit
987ce43e52
+36
-36
@@ -102,43 +102,43 @@ return [
|
|||||||
'mod_calendar_ios_name' => 'Calendrier iOS',
|
'mod_calendar_ios_name' => 'Calendrier iOS',
|
||||||
'mod_calendar_ios_desc' => 'Synchronisez vos événements HouseHub avec votre calendrier iPhone (iCloud CalDAV).',
|
'mod_calendar_ios_desc' => 'Synchronisez vos événements HouseHub avec votre calendrier iPhone (iCloud CalDAV).',
|
||||||
'menu_todo' => 'Todo',
|
'menu_todo' => 'Todo',
|
||||||
‘mod_groceries_name’ => ‘Courses’,
|
'mod_groceries_name' => 'Courses',
|
||||||
‘mod_groceries_desc’ => ‘Liste partagée : ajoutez des produits et cochez-les quand ils sont dans le caddie.’,
|
'mod_groceries_desc' => 'Liste partagée : ajoutez des produits et cochez-les quand ils sont dans le caddie.',
|
||||||
‘menu_groceries’ => ‘Courses’,
|
'menu_groceries' => 'Courses',
|
||||||
// Module Liste (remplace Courses)
|
// Module Liste (remplace Courses)
|
||||||
‘mod_liste_name’ => ‘Listes’,
|
'mod_liste_name' => 'Listes',
|
||||||
‘mod_liste_desc’ => ‘Listes partagées nommées — courses, bricolage, pharmacie… Autant de listes que nécessaire.’,
|
'mod_liste_desc' => 'Listes partagées nommées — courses, bricolage, pharmacie… Autant de listes que nécessaire.',
|
||||||
‘menu_liste’ => ‘Listes’,
|
'menu_liste' => 'Listes',
|
||||||
‘liste_placeholder_add’ => ‘Ajouter un article…’,
|
'liste_placeholder_add' => 'Ajouter un article…',
|
||||||
‘liste_btn_add’ => ‘Ajouter’,
|
'liste_btn_add' => 'Ajouter',
|
||||||
‘liste_btn_uncheck_all’ => ‘Tout décocher’,
|
'liste_btn_uncheck_all' => 'Tout décocher',
|
||||||
‘liste_btn_delete_picked’ => ‘Supprimer les cochés’,
|
'liste_btn_delete_picked' => 'Supprimer les cochés',
|
||||||
‘liste_btn_clear_all’ => ‘Vider la liste’,
|
'liste_btn_clear_all' => 'Vider la liste',
|
||||||
‘liste_subtitle’ => ‘{pending} à faire · {cart} cochés’,
|
'liste_subtitle' => '{pending} à faire · {cart} cochés',
|
||||||
‘liste_added’ => ‘Ajouté’,
|
'liste_added' => 'Ajouté',
|
||||||
‘liste_updated’ => ‘Modifié’,
|
'liste_updated' => 'Modifié',
|
||||||
‘liste_deleted’ => ‘Supprimé’,
|
'liste_deleted' => 'Supprimé',
|
||||||
‘liste_already_in’ => ‘Déjà dans la liste’,
|
'liste_already_in' => 'Déjà dans la liste',
|
||||||
‘liste_confirm_clear’ => ‘Vider toute la liste ?’,
|
'liste_confirm_clear' => 'Vider toute la liste ?',
|
||||||
‘liste_confirm_delete_list’ => ‘Supprimer cette liste et tous ses articles ?’,
|
'liste_confirm_delete_list' => 'Supprimer cette liste et tous ses articles ?',
|
||||||
‘liste_history_title’ => ‘Récemment utilisés — clic pour rajouter’,
|
'liste_history_title' => 'Récemment utilisés — clic pour rajouter',
|
||||||
‘liste_new_list’ => ‘Nouvelle liste’,
|
'liste_new_list' => 'Nouvelle liste',
|
||||||
‘liste_list_name_placeholder’=> ‘Nom de la liste…’,
|
'liste_list_name_placeholder'=> 'Nom de la liste…',
|
||||||
‘liste_create’ => ‘Créer’,
|
'liste_create' => 'Créer',
|
||||||
‘liste_rename_list’ => ‘Renommer’,
|
'liste_rename_list' => 'Renommer',
|
||||||
‘liste_new_name’ => ‘Nouveau nom :’,
|
'liste_new_name' => 'Nouveau nom :',
|
||||||
‘liste_list_deleted’ => ‘Liste supprimée’,
|
'liste_list_deleted' => 'Liste supprimée',
|
||||||
‘liste_list_created’ => ‘Liste créée’,
|
'liste_list_created' => 'Liste créée',
|
||||||
‘liste_list_renamed’ => ‘Liste renommée’,
|
'liste_list_renamed' => 'Liste renommée',
|
||||||
‘liste_edit_placeholder’ => ‘Modifier l\’article :’,
|
'liste_edit_placeholder' => 'Modifier l\'article :',
|
||||||
‘liste_empty_state’ => ‘Créez votre première liste avec le bouton + ci-dessus.’,
|
'liste_empty_state' => 'Créez votre première liste avec le bouton + ci-dessus.',
|
||||||
‘liste_settings_title’ => ‘Listes — historique’,
|
'liste_settings_title' => 'Listes — historique',
|
||||||
‘liste_settings_intro’ => ‘Nombre maximum d\’articles mémorisés dans l\’historique (commun à toutes les listes).’,
|
'liste_settings_intro' => 'Nombre maximum d\'articles mémorisés dans l\'historique (commun à toutes les listes).',
|
||||||
‘liste_settings_history_max’ => ‘Taille de l\’historique’,
|
'liste_settings_history_max' => 'Taille de l\'historique',
|
||||||
‘liste_settings_history_hint’=> ‘Entre 1 et 50.’,
|
'liste_settings_history_hint'=> 'Entre 1 et 50.',
|
||||||
‘groceries_settings_saved’ => ‘Préférences enregistrées.’,
|
'groceries_settings_saved' => 'Préférences enregistrées.',
|
||||||
‘groceries_settings_error’ => ‘Impossible d\’enregistrer :’,
|
'groceries_settings_error' => 'Impossible d\'enregistrer :',
|
||||||
‘groceries_err_duplicate’ => ‘Ce produit est déjà dans la liste.’,
|
'groceries_err_duplicate' => 'Ce produit est déjà dans la liste.',
|
||||||
'cta_open' => 'Ouvrir',
|
'cta_open' => 'Ouvrir',
|
||||||
'cta_explore' => 'Explorer',
|
'cta_explore' => 'Explorer',
|
||||||
'cta_view_lists' => 'Déballer',
|
'cta_view_lists' => 'Déballer',
|
||||||
|
|||||||
@@ -1,94 +1,70 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once 'includes/auth.php';
|
require __DIR__ . '/includes/auth.php';
|
||||||
require_login();
|
require_login();
|
||||||
$lang = $_SESSION['lang'] ?? 'fr';
|
require_once __DIR__ . '/includes/i18n.php';
|
||||||
require_once 'includes/lang/load.php';
|
|
||||||
|
$pageTitle = tr('mod_liste_name') . ' — HouseHub';
|
||||||
|
$activePage = 'liste';
|
||||||
|
require __DIR__ . '/header.php';
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="<?= $lang ?>">
|
<link rel="stylesheet" href="/modules/liste/assets/liste.css">
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<title><?= tr('mod_liste_name') ?> — HouseHub</title>
|
|
||||||
<?php require 'includes/head_common.php'; ?>
|
|
||||||
<link rel="stylesheet" href="/modules/liste/assets/liste.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<?php require 'includes/navbar.php'; ?>
|
|
||||||
|
|
||||||
<main class="liste-main">
|
<main class="liste-main">
|
||||||
|
|
||||||
<!-- Tabs des listes -->
|
<!-- Tabs des listes -->
|
||||||
<div class="liste-tabs-bar">
|
<div class="liste-tabs-bar">
|
||||||
<div class="liste-tabs" id="liste-tabs"></div>
|
<div class="liste-tabs" id="liste-tabs"></div>
|
||||||
<button class="liste-tab-add" id="btn-add-list" title="<?= tr('liste_new_list') ?>">+</button>
|
<button class="liste-tab-add" id="btn-add-list" title="<?= htmlspecialchars(tr('liste_new_list')) ?>">+</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Formulaire de création de liste inline -->
|
<!-- Formulaire de création de liste inline -->
|
||||||
<div class="liste-new-form hidden" id="liste-new-form">
|
<div class="liste-new-form hidden" id="liste-new-form">
|
||||||
<input type="text" id="new-list-name" maxlength="100"
|
<input type="text" id="new-list-name" maxlength="100"
|
||||||
placeholder="<?= tr('liste_list_name_placeholder') ?>" autocomplete="off">
|
placeholder="<?= htmlspecialchars(tr('liste_list_name_placeholder')) ?>" autocomplete="off">
|
||||||
<button id="btn-confirm-new-list"><?= tr('liste_create') ?></button>
|
<button id="btn-confirm-new-list"><?= htmlspecialchars(tr('liste_create')) ?></button>
|
||||||
<button id="btn-cancel-new-list"><?= tr('cancel') ?></button>
|
<button id="btn-cancel-new-list"><?= htmlspecialchars(tr('cancel')) ?></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Corps de la liste active -->
|
<!-- Corps de la liste active -->
|
||||||
<div class="liste-body" id="liste-body">
|
<div class="liste-body" id="liste-body">
|
||||||
|
|
||||||
<!-- Ajout rapide -->
|
|
||||||
<div class="liste-add-card">
|
<div class="liste-add-card">
|
||||||
<input type="text" id="liste-input" maxlength="500"
|
<input type="text" id="liste-input" maxlength="500"
|
||||||
placeholder="<?= tr('liste_placeholder_add') ?>" autocomplete="off">
|
placeholder="<?= htmlspecialchars(tr('liste_placeholder_add')) ?>" autocomplete="off">
|
||||||
<button id="btn-liste-add"><?= tr('liste_btn_add') ?></button>
|
<button id="btn-liste-add"><?= htmlspecialchars(tr('liste_btn_add')) ?></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Toolbar -->
|
|
||||||
<div class="liste-toolbar" id="liste-toolbar">
|
<div class="liste-toolbar" id="liste-toolbar">
|
||||||
<button class="btn-tool" id="btn-uncheck-all"><?= tr('liste_btn_uncheck_all') ?></button>
|
<button class="btn-tool" id="btn-uncheck-all"><?= htmlspecialchars(tr('liste_btn_uncheck_all')) ?></button>
|
||||||
<button class="btn-tool btn-tool-danger" id="btn-delete-picked"><?= tr('liste_btn_delete_picked') ?></button>
|
<button class="btn-tool btn-tool-danger" id="btn-delete-picked"><?= htmlspecialchars(tr('liste_btn_delete_picked')) ?></button>
|
||||||
<button class="btn-tool btn-tool-danger" id="btn-clear-all"><?= tr('liste_btn_clear_all') ?></button>
|
<button class="btn-tool btn-tool-danger" id="btn-clear-all"><?= htmlspecialchars(tr('liste_btn_clear_all')) ?></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Articles -->
|
|
||||||
<div id="liste-items-root"></div>
|
<div id="liste-items-root"></div>
|
||||||
|
|
||||||
<!-- Historique -->
|
|
||||||
<div id="liste-history-root"></div>
|
<div id="liste-history-root"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- État vide (aucune liste) -->
|
|
||||||
<div class="liste-empty-state hidden" id="liste-empty-state">
|
|
||||||
<div class="liste-empty-icon">📝</div>
|
|
||||||
<p><?= tr('liste_empty_state') ?></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const LISTE_TRANSLATIONS = {
|
const LISTE_TRANSLATIONS = {
|
||||||
placeholder_add: <?= json_encode(tr('liste_placeholder_add')) ?>,
|
|
||||||
btn_add: <?= json_encode(tr('liste_btn_add')) ?>,
|
|
||||||
btn_uncheck_all: <?= json_encode(tr('liste_btn_uncheck_all')) ?>,
|
|
||||||
btn_delete_picked: <?= json_encode(tr('liste_btn_delete_picked')) ?>,
|
|
||||||
btn_clear_all: <?= json_encode(tr('liste_btn_clear_all')) ?>,
|
|
||||||
subtitle: <?= json_encode(tr('liste_subtitle')) ?>,
|
|
||||||
history_title: <?= json_encode(tr('liste_history_title')) ?>,
|
|
||||||
added: <?= json_encode(tr('liste_added')) ?>,
|
|
||||||
updated: <?= json_encode(tr('liste_updated')) ?>,
|
|
||||||
deleted: <?= json_encode(tr('liste_deleted')) ?>,
|
|
||||||
already_in: <?= json_encode(tr('liste_already_in')) ?>,
|
already_in: <?= json_encode(tr('liste_already_in')) ?>,
|
||||||
confirm_clear: <?= json_encode(tr('liste_confirm_clear')) ?>,
|
confirm_clear: <?= json_encode(tr('liste_confirm_clear')) ?>,
|
||||||
confirm_delete_list:<?= json_encode(tr('liste_confirm_delete_list')) ?>,
|
confirm_delete_list: <?= json_encode(tr('liste_confirm_delete_list')) ?>,
|
||||||
rename_list: <?= json_encode(tr('liste_rename_list')) ?>,
|
rename_list: <?= json_encode(tr('liste_rename_list')) ?>,
|
||||||
new_name: <?= json_encode(tr('liste_new_name')) ?>,
|
new_name: <?= json_encode(tr('liste_new_name')) ?>,
|
||||||
list_deleted: <?= json_encode(tr('liste_list_deleted')) ?>,
|
list_deleted: <?= json_encode(tr('liste_list_deleted')) ?>,
|
||||||
list_created: <?= json_encode(tr('liste_list_created')) ?>,
|
list_created: <?= json_encode(tr('liste_list_created')) ?>,
|
||||||
list_renamed: <?= json_encode(tr('liste_list_renamed')) ?>,
|
list_renamed: <?= json_encode(tr('liste_list_renamed')) ?>,
|
||||||
edit_placeholder: <?= json_encode(tr('liste_edit_placeholder')) ?>,
|
edit_placeholder: <?= json_encode(tr('liste_edit_placeholder')) ?>,
|
||||||
|
history_title: <?= json_encode(tr('liste_history_title')) ?>,
|
||||||
|
added: <?= json_encode(tr('liste_added')) ?>,
|
||||||
|
updated: <?= json_encode(tr('liste_updated')) ?>,
|
||||||
|
deleted: <?= json_encode(tr('liste_deleted')) ?>,
|
||||||
cancel: <?= json_encode(tr('cancel')) ?>,
|
cancel: <?= json_encode(tr('cancel')) ?>,
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<script src="/modules/liste/assets/liste.js"></script>
|
<script src="/modules/liste/assets/liste.js"></script>
|
||||||
</body>
|
<?php require __DIR__ . '/footer.php'; ?>
|
||||||
</html>
|
|
||||||
|
|||||||
Reference in New Issue
Block a user