Odstranění technické / vývojářské copy z veřejného webu

Cíl: Texty typu odkazů na docs/…, názvů tabulek a sloupců, stacku (D1, Workers), query parametrů a interních „docRef“ pod nadpisy sekcí jsou pro běžného návštěvníka rušivé. Tento soubor je inventura míst k úpravě nebo odstranění (copy nahradit srozumitelnou češtinou, případně blok úplně zrušit).

Rozsah: Primárně app/routes/*.tsx, app/components/herb-detail-section.tsx, app/root.tsx. Backend (app/db/*) a migrace se netýkají — tam technické názvy patří.

Mimo scope (samostatné rozhodnutí): Stránky /dokumentace, /roadmap a jejich obsah jsou záměrně projektová dokumentace. Úkol může být jen odstranit odkazy z patičky / úvodu, nebo je nechat jen pro vývojáře — není součástí tabulky níže jako „řádek k přepsání“, ale viz sekce Doplňková rozhodnutí.

Druhý audit (kontrola úplnosti): Prošly znovu všechny app/routes/*.tsx, app/root.tsx, app/components/*.tsx a uživatelsky viditelné řetězce v app/lib/claim-labels.ts (grep na databáz, v datech, docs/, codeInline, migrac, slug, tabulk, repozitář, D1, Worker, npm run, „řádek“ v copy). Backend app/db/*.server.ts záměrně vynechán.


Přehledná tabulka — konkrétní místa

#OblastSouborŘádky (orientační)Co návštěvník vidí / problémNavrhovaná akce
1Úvod — leadapp/routes/home.tsxcca 44–47Odkaz na docs/, README.md, „technická dokumentace pro vývoj“Odstavec zjednodušit na produktový popis; odkazy do repa vynechat nebo přesunout jen do README.
2Úvod — collapsibleapp/routes/home.tsxcca 84–93„Technická poznámka (vývoj)“, React Router, Workers, D1, Worker env (ukázka)Celý <details> blok odstranit; v loader pak zvážit odstranění cfHint, pokud už nikde nebude potřeba.
3Patičkaapp/root.tsxcca 111–126Odkazy Roadmapa / Dokumentace + text o složce docs/ v repozitářiOdkazy a text buď odstranit, nebo nahradit neutrálním „O projektu“ bez cesty k souborům (podle produktového rozhodnutí).
4Katalog — technický blokapp/routes/byliny.tsxcca 220–231<details> „Technické poznámky (data a dokumentace)“ — D1, is_published, docs/23-api…, docs/22-data-model…Celý blok odstranit.
5Katalog — prázdný stavapp/routes/byliny.tsxcca 552–554npm run d1:apply:localNahradit srozumitelnou větou pro prázdný katalog (bez CLI).
6Katalog — hint u filtru měsíceapp/routes/byliny.tsxcca 268–270„záznam sběru v datech“Přeformulovat bez „v datech“ (např. „u uvedeného sběru“).
7Katalog — hint část rostlinyapp/routes/byliny.tsxcca 291–294harvest_periodsplant_parts, „řádku“Popis čistě uživatelsky (měsíc + část z jednoho záznamu sběru), bez názvů tabulek.
8Katalog — hint typ vazby tématuapp/routes/byliny.tsxcca 393–396link_type = scientific, topicScope=lifestyleVysvětlit význam filtrů česky bez SQL/parametrů URL.
9Katalog — hint vědecká evidenceapp/routes/byliny.tsxcca 418–421„tabulka scientific_evidencePopis bez názvu tabulky.
10Katalog — hint min. sílaapp/routes/byliny.tsxcca 439–441scientific_evidence.evidence_level, „řádek“Stejné — obecná čeština.
11Katalog — hint typ studieapp/routes/byliny.tsxcca 465–468study_type, „publikovaný řádek“Přeformulovat (např. „záznam o studii na kartě“).
12Katalog — hint bezpečnostapp/routes/byliny.tsxcca 490–491herbs.safety_levelBez názvu sloupce; např. „podle stupně opatrnosti uvedeného u byliny“.
13Katalog — hint spirituálníapp/routes/byliny.tsxcca 513–515spiritual_usesBez názvu tabulky/sloupce.
14Katalog — rychlé filtry (chips)app/routes/byliny.tsxcca 70–71, 75„v datech sběru“, „Tradiční vrstva…“ v popisku chipuPřejmenovat na srozumitelné štítky (např. „Květy (sběr)“, „List (sběr)“); chip „Tradiční vrstva…“ sjednotit s uživatelskou terminologií ze zbytku UI.
15Katalog — úvodní odstavceapp/routes/byliny.tsxcca 193–197„v datech“, „odkazy v datech“ (opakovaně)Jemná redakce do přirozené češtiny.
16Karta byliny — docRefapp/routes/byliny.$slug.tsxvíce <Section … docRef="…">Pod každým nadpisem sekce interní odkaz (12-katalog…, symptomy-a-temata, tasks/…)Odstranit prop docRef u všech sekcí; v herb-detail-section.tsx pak zrušit zobrazení docRef nebo prop úplně vyhodit.
17Karta byliny — prázdné obrázkyapp/routes/byliny.$slug.tsxcca 661–665„Do D1“, public_url, r2_key, /media/…Text jen pro návštěvníka („zatím bez fotografií“) nebo úplně bez technického návodu.
18Karta byliny — druhý empty obrázkůapp/routes/byliny.$slug.tsxcca 668–670tabulka imagesBez názvu tabulky.
19Karta byliny — zpracováníapp/routes/byliny.$slug.tsxcca 452–457„Tradiční vrstva v datech“, „Vědecké sledování v datech“ ano/neBuď skrýt, nebo přepsat na lidsky (např. „má oddíl tradičního využití“), bez slova „data“.
20Recepty — prázdný stavapp/routes/recepty.tsxcca 54–55herb_method_recipesObecná věta bez názvu tabulky.
21Recepty — leadapp/routes/recepty.tsxcca 49„publikovaným receptem v datech“„… s uveřejněným postupem“ apod.
22Zpracování — index leadapp/routes/zpracovani.tsxcca 45–47parametr pm, příklad cajOdkaz na katalog tlačítkem/odkazem místo názvu query parametru.
23Zpracování — detail sekceapp/routes/zpracovani.$slug.tsxcca 142–144herb_processing_methodsText bez názvu vazební tabulky.
24Zpracování — empty herbsapp/routes/zpracovani.$slug.tsxcca 147–152„přidejte obsah v datech“Redakce pro veřejnost nebo interní placeholder odstranit.
25Regiony — indexapp/routes/region._index.tsxcca 57–62„tabulka výskytu“, parametr regionPopis oblastí bez DB slovníku; odkaz do katalogu srozumitelně (tlačítko „Filtrovat v katalogu“).
26Regiony — metaapp/routes/region._index.tsxcca 26–27„z databáze výskytu“, „v datech“SEO text uživatelsky.
27Region — detailapp/routes/region.$slug.tsxcca 82–86region={slug} jako hlavní leadLead o oblasti; filtr přes běžný odkaz bez zobrazení query stringu v monospace.
28Region — metaapp/routes/region.$slug.tsxcca 31„v datech“Upravit meta description.
29Sezóna — indexapp/routes/sezona._index.tsxcca 37–45month, /co-sbirat/…, „SEO alias“, „databáze“Jedna věta pro uživatele; alias /co-sbirat řešit skrytě (redirect zůstane, copy zjednodušit).
30Sezóna — metaapp/routes/sezona._index.tsxcca 13–14„v datech“Meta popis srozumitelněji.
31Sezóna — měsícapp/routes/sezona.$month.tsxcca 84–96, 129, 149Lead: „řádků sběru“, month={n}, „SEO alias“; facet záhlaví „…v datech“; prázdný stav „nemáme v datech…“Sjednotit copy bez DB jazyka; odkazy do katalogu lidsky (bez monospace query).
32Sezóna — metaapp/routes/sezona.$month.tsxcca 31–34„v datech“Meta popis.
33Symptomy — emptyapp/routes/symptomy._index.tsxcca 85„v databázi“„Zatím tu nejsou žádná témata s bylinami v katalogu.“
34Symptomy — hint vyhledáváníapp/routes/symptomy._index.tsxcca 55„slug“ v nápověděNahradit „adresa tématu“ nebo vynechat technický termín.
35Zpracování — empty methodsapp/routes/zpracovani.tsxcca 57„v databázi“„Zatím nejsme doplnili způsoby zpracování.“ (nebo podle tónu značky)
36Karta byliny — témata (úvod sekce)app/routes/byliny.$slug.tsxcca 271–276„Propojení z databáze.“; odkaz zobrazený jako surová cesta /symptomyPřepsat na běžnou větu; odkaz s textem „Přehled témat“ / „Symptomy a témata“.
37Karta byliny — léky / fotosenzitivitaapp/routes/byliny.$slug.tsxcca 299–300„Informační texty z databáze“Např. „Informace na kartě…“ bez slova databáze.
38Karta byliny — legenda bezpečnostiapp/lib/claim-labels.tscca 219 (HERB_SAFETY_LEVEL_LEGEND_HINTS_CS.unknown)„Stupeň v datech zatím neuveden…“ (rendruje se v boxu „Význam stupňů“ na kartě)Nahradit formulací bez „v datech“ (např. „stupeň zatím není vyplněný“).
39Rituály — úvodní lead + metaapp/routes/ritualy._index.tsxlead cca 44–45; meta cca 13–14Lead: „mimo pole … na kartě byliny“, „štítky typu tvrzení“; meta: „editorských návodů“Lead zjednodušit; meta bez editorialního žargonu, pokud má být veřejná.
40Rituály — prázdný stavapp/routes/ritualy._index.tsxcca 57–58„V databázi…“, „migraci / editora“Veřejná věta typu „Zatím tu nejsou žádné návody.“
41Detail tématuapp/routes/symptomy.$slug.tsxcca 69–73„Kompletní katalog s filtry:“ + odkaz s textem /bylinyOdkaz s lidským popiskem („Otevřít katalog bylin“).
42Meta / SEO (další výskyty „v datech“)app/routes/region.$slug.tsx, app/routes/sezona.$month.tsx, app/routes/region._index.tsx, app/routes/sezona._index.tsxfunkce meta / descriptionPopisy pro vyhledávače s „v datech“ nebo „databáze“Sjednotit s tónem zbytku webu; při úpravách těchto stránek zkontrolovat i meta, nejen tělo stránky.
43Chybové hlášky (volitelné)app/routes/ritualy.$slug.tsxloader 404„Chybí slug návodu.“Pro návštěvníka neutrálně („Neplatná adresa návodu.“).
44Recepty — meta descriptionapp/routes/recepty.tsxmeta, cca 13–14„editorských receptů“ (vnitřní editorialní termín)Veřejný popis např. „receptů a postupů“ bez slova „editorské“, pokud má být copy konzistentní s názvem stránky pro návštěvníka.

Volitelně: tón prázdných stavů na kartě byliny

Některé EmptyHint znějí spíš pro editory než pro čtenáře (např. „Doplňte poznámky k určení“, „…zatím nejsou vyplněná“). Nejsou technicky „DB copy“, ale stojí za sjednocení tónu při stejné pass.

SouborŘádky (orientační)Poznámka
app/routes/byliny.$slug.tsxcca 241, 249Přeformulovat na „Zatím bez …“ apod.

Okrajové: neznámé slugy v UI

Funkce jako labelHerbTopicLinkType, labelHerbSafetyLevel atd. při neznámé hodnotě vrací raw slug (anglický identifikátor). To není nový text v šabloně, ale může se občas objevit u chybějících překladů v datech — zvážit fallback „Jiný typ vazby“ / skrytí badge (samostatný drobný úkol, není v hlavní tabulce).


Související úklid po úpravách (volitelné)

PoložkaPoznámka
app/ui/nature-classes.ts — třída detailsTechPokud po odstranění <details> nezůstane žádné použití, zvážit smazání stylů.
app/components/herb-detail-section.tsx — prop docRefPo odstranění ze všech volání smazat prop a podmíněné zobrazení.
home.tsx loader — cfHintOdstranit z loaderu a typů route, pokud už nebude v UI.

Doplňková rozhodnutí (mimo řádky tabulky)

  • Veřejné /dokumentace a /roadmap: Zda zůstanou linkované z produkční patičky, nebo pouze v README / pro vývoj.
  • Chování redirectů (/co-sbirat/:month): měnit nemusíte — jde jen o copy na stránkách sezóny.

Kontrola po implementaci

  • Projít hlavní šablony (home, byliny, karta byliny, sezona, region, zpracovani, recepty, symptomy, ritualy, root) a vyhledat např.: docs/, D1, Worker, npm run, migrac, repozitář, „v datech“, „databáz“, „z databáze“, „tabulk“, is_published, slug v nápovědách, monospace s názvy tabulek/sloupců, surové cesty /byliny nebo /symptomy jako text odkazu.
  • Znovu projít app/lib/claim-labels.ts (řetězce v Record mapách zobrazované ve UI, ne jen komentáře).