from pathlib import Path

portal=Path('/opt/struktur/portal/app.py')
s=portal.read_text()
old='''    <div class="card card-local">\n      <div class="card-icon">&#9881;&#65039;</div>\n      <div class="card-title">Hermes Scout</div>\n      <div class="card-desc">Startet die blaue Hermes-Scout-Desktop-Version.</div>\n      <div class="card-button-row">\n        <a class="card-action-btn" href="hermes-scout://start">Desktop</a>\n      </div>\n    </div>'''
new='''    <a class="card" href="/kundenprojekte">\n      <div class="card-icon">&#128188;</div>\n      <div class="card-title">Kundenprojekte</div>\n      <div class="card-desc">Fünf Geschäftsfelder mit Aufwand, Erlösmodellen, Zielkunden, Akquise und Projektstatus.</div>\n      <div class="card-action-btn">Öffnen</div>\n    </a>'''
if old not in s: raise SystemExit('portal card block not found')
s=s.replace(old,new,1)
route="""\n\n@app.route('/kundenprojekte')\ndef kundenprojekte():\n    return Path('/opt/struktur/portal/kundenprojekte.html').read_text(encoding='utf-8')\n"""
if "@app.route('/kundenprojekte')" not in s:
    s=s.replace("\nHTML = \"\"\"", route+"\nHTML = \"\"\"",1)
    s=s.replace("import os\n", "import os\nfrom pathlib import Path\n",1)
portal.write_text(s)

dash=Path('/opt/struktur/dashboard/app.py')
d=dash.read_text()
insert="""    {\n        'id': 'home-scout',\n        'name': 'Home Scout',\n        'desc': 'Startet die blaue Hermes-Scout-Desktop-Version.',\n        'icon': '🛰️',\n        'url': 'hermes-scout://start',\n        'container': None,\n        'compose': None,\n        'external': True,\n    },\n"""
marker="SERVICES = [\n"
if "'id': 'home-scout'" not in d:
    d=d.replace(marker,marker+insert,1)
dash.write_text(d)
print('PATCH_OK')