SPB Git forge

spb/resto-ka

Public

Resto·Ka — tous les restaurants du Québec, menus complets et prix réels (famille ·Ka)

52commits 1branches 0releases
11.6 MBsize
maindefault branch
19 days agolast push
Python 69.3% TypeScript 16.7% CSS 7.9% JavaScript 4.7% HTML 1.4%

History of frontend/src/App.tsx · clear filter

  1. Tue, Aug 25, 2026 2

    1. Barre de navigation mobile commune Groupe KA (KA Tabbar v1)
      …
      L ancienne tabbar 3 onglets bord-à-bord devient la pilule flottante du
      standard ka-ui/nav : Découvrir · Recherche · Villes · Favoris, accent orange,
      safe-area iOS. Recherche = focus du champ de l accueil (id f-q) ; le fab
      Filtres remonte au-dessus de la pilule. Stats/Sources restent au menu.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +25 −15
    2. Nav v2 correctif : le ✕ de fermeture vit DANS le panneau (fixe, toujours visible)
      …
      Le ✕ était le burger du header ; si le header n'est pas épinglé (bas de page),
      il défilait hors écran alors que le panneau fixed restait affiché — impossible
      de fermer sans Escape. Ajout d'un .mm-close position:fixed en haut à droite du
      panneau et burger masqué à l'ouverture (une seule commande de fermeture).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +3
  2. Mon, Aug 24, 2026 1

    1. feat(doc): page documentation /doc (guide + captures) + lien footer + PDF téléchargeable
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +1 −1
  3. Sun, Aug 23, 2026 2

    1. favoris unifiés « Mon univers Ka » : le hub Groupe KA devient le magasin central
      …
      - restoka/hubfav.py : client HMAC du hub (calqué sur foodka/hubfav.py) —
        toggle synchrone, lecture avec cache mémoire 30 s invalidé au toggle
      - web.py : GET /api/favorites (liste du hub + fiches locales) et
        POST /api/favorites/toggle, protégés par la session KA ID (401 sinon)
      - auth.py : retrait des anciennes routes locales /api/favoris (plus aucun
        stockage local des favoris)
      - frontend : favorites.tsx (FavProvider/FavButton), cœur ♥ sur les cartes
        ET la fiche détail (non connecté : clic → connexion KA ID), page /favoris
        branchée au hub, entrée Favoris dans la nav, icône IcoHeart, .fav-btn.big
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +5 −2
    2. SEO : pages programmatiques /villes + /ville/{slug} rendues en HTML (pattern lou-ka)
      …
      - restoka/seo.py : slugify + index villes groupé par slug (variantes de casse
        fusionnées, libellé majoritaire), SSR /villes et /ville/{slug} avec ItemList
        + BreadcrumbList, API /api/seo/villes et /api/seo/ville/{slug},
        sitemap-villes.xml, maillage interne accueil/fiche vers les pages villes
      - frontend : pages React VillesPage/VillePage, routes, lien pied de page
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +4
  4. Sat, Aug 22, 2026 1

    1. Simon-Pierre Boucher committed 1 mo ago · 1 file +2 −2
  5. Wed, Aug 19, 2026 1

    1. Mobile : menu compte via createPortal au-dessus de la tabbar, verrou scroll de la feuille filtres, logo tactile
      …
      - frontend/src/App.tsx : backdrop + menu compte rendus à la racine de <body>
        via createPortal (le backdrop-filter du header re-parentait le
        position:fixed → voile de 66 px, et le stacking context z-50 du header
        plaquait le menu SOUS la tabbar z-85 et le fab z-80) ; fermeture à Escape.
      - frontend/src/styles.css : .account-backdrop → var(--z-overlay) (800),
        .account-menu → position:fixed ancré sous le header (--header-h 66/58 px) à
        var(--z-modal) (900) ; zone tactile ≥44 px du logo .brand (::after inset
        -8px, rendu inchangé) ; les 7 selects de filtres étaient déjà couverts par
        la règle 16 px ≤900 px + filet anti-zoom global de tokens.css.
      - frontend/src/pages/Home.tsx : feuille de filtres mobile (sheetOpen) — gel du
        scroll d arrière-plan (pattern App.tsx) + fermeture à Escape.
      - frontend/src/ka/tokens.css (commité avec Stats v2) : socle mobile commun.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +17 −2
  6. Mon, Aug 17, 2026 4

    1. Harmonisation ka-ui : accent safran, badge Groupe KA, KaFooter, page /contact
      …
      - Vendorisation du package ka-ui (frontend/src/ka/) : tokens.css, ecosystem.json,
        KaFooter.tsx, GroupeKaBadge.tsx
      - tokens.css importé avant styles.css ; styles.css réduit à l accent SAFRAN
        (--accent #f08c00, soft #fdeed7, deep #b96a00, on-accent #141814) + alias --lime,
        socle dupliqué retiré, classes métier passées sur var(--accent)
      - Header : badge « Un service Groupe KA » (desktop >= 900 px + menu mobile)
      - Footer : KaFooter commun (contacts, avertissement, écosystème) + rangée de nav
        locale et crédit OpenStreetMap au-dessus
      - Nouvelle page /contact (infos d ecosystem.json, lien hub, création de compte
        KA ID -> groupe-ka.com/connexion) + prefixe SPA « contact » dans web.py
      - SEO : titre « Resto-Ka — Un service Groupe KA »
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +23 −32
    2. v2 — le plus grand agrégateur de restos du Québec : découverte OSM + 10 bannières UEAT
      …
      - Connecteur de découverte OpenStreetMap (Overpass, ODbL, attribution) :
        13 531 établissements nommés (restos, fast-foods, cafés, bars, crèmeries,
        boulangeries) → 14 055 fiches actives, 17/17 régions couvertes.
      - +10 intégrations UEAT (Boustan 65, Ben & Florentine 54, NO.900 32,
        Sushi Taxi 30, Cochon Dingue, Salvatoré, Belle Province, Madisons, Freddy)
        → 29 intégrations, 738 restos avec menu complet, 79 159 plats avec prix.
      - Déduplication chaîne↔découverte (suffixe de succursale retranché, OSM
        toujours derrière la fiche à menu) : 215 doublons masqués.
      - Régions : repli par ancres géographiques couvrant les 17 régions.
      - UI : filtre « Avec menu complet / Fiche seulement », tri « Menus d'abord »
        par défaut, tuile restos avec menu, attribution OSM au pied de page.
      - 45 tests (fixtures Overpass + UEAT réelles hors ligne).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +4
    3. Resto·Ka v1 — agrégateur des restaurants du Québec (menus & prix réels)
      …
      - Pipeline complet calqué sur Lou·Ka : connecteurs auto-découverts, schéma
        Restaurant + menu imbriqué (sections → items → prix → options), validation
        stricte (price_context/price_source obligatoires), menus conservés PAR
        contexte, historique des prix par item, alertes de dérive, délai de grâce.
      - Connecteur templatisé UEAT (API GraphQL, prix takeout réels) : 19 marques,
        542 restos, 61 330 plats (98 % avec photo, 69 % avec options), 14/17 régions.
      - Géocodage Nominatim + Adresses Québec (96 %), régions ville→région,
        déduplication inter-sources (succursales jamais fusionnées).
      - Frontend Vite/React 18/TS — design « éditorial sharp » Groupe KA, recherche
        par resto ET par plat (groupée par marque), pagination numérotée, images,
        options en pastilles avec suppléments, badges de contexte de prix.
      - 41 tests (fixtures UEAT réelles hors ligne). Déployé : www.resto-ka.com
        (M3U96b:8115, PM2 + ngrok + sync hebdo).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +209