{% load static %} {% comment %}data-theme="dark" ACTIVATES scitex-ui's dark token set — it is not decoration. theme.css defines --text-primary / --bg-page / --border-default / … twice, once under [data-theme="light"] and once under [data-theme="dark"], and DEFAULTS TO LIGHT when the attribute is absent. Without this every token below silently resolves light values onto a dark surface, which is how scitex-ui 0.12.0's context menu rendered near-invisible on 2026-07-28. Dark is also the standing default (the operator's eyes are sensitive), so this is deliberate, not a preference to be "cleaned up". {% endcomment %} {% comment %} viewport-fit=cover is what makes env(safe-area-inset-*) resolve to anything other than zero. Without it the bottom bar sits under an iPhone's home indicator — the insets below would be present, correct and inert. {% endcomment %} My Cards — SciTeX Cards v{{ scitex_cards_version }} {% comment %} No favicon link here: scitex-ui's shell supplies the shared SciTeX brand mark as its default (>=0.7.1). One source, not two copies that drift. Do NOT re-add a local — if the mark is wrong, fix it in scitex-ui, which owns the asset. NB: this MUST be a {% templatetag openblock %} comment {% templatetag closeblock %} block, not Django's single-hash syntax — that one is single-line only, and a multi-line hash block leaks its body into the rendered page. {% endcomment %} {% comment %} "My Cards" — the phone view of a logged-in viewer's own cards (card cards-gui-phone-view-own-cards-20260814; operator 2026-08-14 wants his cards from his phone via scitex.ai). DELIBERATELY NOT board_v3.html. The board is a 3600-line desktop kanban with a graph, a timeline and a matrix, against a 1024-line hook cap it is already 3.5x over. This page answers one question — "what is on MY plate?" — and a phone asking it should not download the whole fleet to find out. Same call chat.html made, for the same reason, and the two now share the switcher. Behaviour lives in static/scitex_cards/me/: me_view.js (pure, node-tested) then me.js (DOM + network); load order matters, me.js reads window.MeView. This file is layout + CSS only. {% endcomment %} {% comment %} theme.css DEFINES the tokens every rule below reads (--bg-page, --text-primary, --border-default, …) under [data-theme="light"] and [data-theme="dark"]. It is NOT optional chrome: without it `var(--bg-page)` resolves to nothing, the fallbacks take over, and the page renders LIGHT — white behind black text — with `data-theme="dark"` sitting on the element doing nothing. Measured exactly that way in a headless Chromium at 390x844 before this line existed. Dark is the standing default because the operator's eyes are sensitive, so a silently-light page is a real regression and not a cosmetic one. Same stylesheet chat.html links, from the same package, for the same reason. {% endcomment %}

My Cards

{% include "scitex_cards/_page_switcher.html" with active="mine" %}
{% comment %} Both regions start EMPTY and hidden rather than carrying placeholder copy. A hardcoded "Loading…" that a failed fetch never clears is indistinguishable from a hung page, and a hardcoded "No cards" is the believable-empty-board failure the 2026-07-29 outage taught this repo to refuse — it would render over a store that could not be read. {% endcomment %}