code wiki / _hdl_build / nx_connect_ui.nx
nx_connect_ui.nx
buildroot/runtime/_hdl_build/nx_connect_ui.nx
about
nx_connect_ui.nx -- the CONNECT APP-TIER UI emitter. PURE EMIT: no main, no syscalls, no imports, so a
LIVE REQUEST-SERVING DAEMON can compose it per request (the reason it is not nx_ui_kit: that organ is a
file->file CLI with a main(), a hardcoded ops nav, and a disk read per page -- structurally unusable
inside an accept loop, and unimportable because of the main()).
TOKEN SSOT: this kit carries the canonical sovereign design system knowledge/registry/nishi_ds.css
token vocabulary VERBATIM (--bg/--surface/--surface-2/--border/--text/--muted/--faint/--accent/--good/
--warn/--bad/--shadow, fluid --fs-0..4, --sp-1..7, --radius, --dur) so CONNECT inherits the same design
language as every other Nishi surface instead of drifting into a private palette. What it ADDS is the
APP tier that a dashboard design system has no vocabulary for: tab navigation with aria-current, gradient
avatars, roster rows, chat bubbles carrying a translation + correction line, a real composer, action
banners, labelled meters, and empty states.
ACCESSIBILITY BY CONSTRUCTION: every page gets lang, a skip-link, semantic header/nav/main/footer, real
label[for]/control[id] pairing, aria-current on the active tab, role=status on action banners, and
:focus-visible rings. Dual light/dark via prefers-color-scheme; motion honours prefers-reduced-motion.
ZERO JavaScript and ZERO external assets (no CDN font, no remote image) -- avatars are computed gradients
and icons are inline SVG, so the app renders identically offline, on a low-bandwidth link, and inside our
own Nishi browser engine.
Consumers: _hdl_build/nx_connect_serve (the live app core) + _hdl_build/nx_connect_ui_gate (the gate).
license_tier: ORIGINAL
dependencies 0 imports · 2 importers
imports: none
imported by: nx_connect_serve.nxnx_connect_ui_gate.nx
structs
| none |
consts
| none |
functions
| 26 | func cu_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: g_count |
| 29 | func cu_puts(buf: *u8, off: i64, s: *u8) -> i64 |
| 40 | func cu_putn(buf: *u8, off: i64, v: i64) -> i64 |
| 58 | func cu_esc(buf: *u8, off: i64, s: *u8) -> i64 called by 10: cs_esccs_shell_opencs_page_securecs_page_registercs_page_accountcs_page_contacts+4 calls 1: cu_puts |
| 75 | func cu_css_tokens(buf: *u8, off: i64) -> i64 |
| 85 | func cu_css_base(buf: *u8, off: i64) -> i64 |
| 100 | func cu_css_app(buf: *u8, off: i64) -> i64 |
| 113 | func cu_css_chat(buf: *u8, off: i64) -> i64 |
| 123 | func cu_css_form(buf: *u8, off: i64) -> i64 |
| 136 | func cu_head(buf: *u8, off: i64, title: *u8) -> i64 called by 2: cs_shell_openmain calls 6: cu_putscu_css_tokenscu_css_basecu_css_appcu_css_chatcu_css_form |
| 151 | func cu_bar_open(buf: *u8, off: i64, brand: *u8, href: *u8) -> i64 |
| 162 | func cu_tab(buf: *u8, off: i64, label: *u8, href: *u8, current: i64) -> i64 |
| 173 | func cu_bar_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</nav></div></header><main id=\"main\"><div class=\"wrap\">" as *u8) } |
| 176 | func cu_foot(buf: *u8, off: i64, note: *u8) -> i64 |
| 186 | func cu_h1(buf: *u8, off: i64, title: *u8, lede: *u8) -> i64 called by 12: cs_page_homecs_page_partnerscs_page_chatcs_page_reconnectcs_page_communitycs_page_events+6 calls 1: cu_puts |
| 193 | func cu_h2(buf: *u8, off: i64, text: *u8) -> i64 called by 7: cs_page_homecs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_secure+1 calls 1: cu_puts |
| 198 | func cu_note(buf: *u8, off: i64, html: *u8) -> i64 called by 10: cs_page_partnerscs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_secure+4 calls 1: cu_puts |
| 203 | func cu_empty(buf: *u8, off: i64, text: *u8) -> i64 |
| 210 | func cu_banner(buf: *u8, off: i64, kind: i64, title: *u8, body: *u8) -> i64 |
| 225 | func cu_badge(buf: *u8, off: i64, kind: i64, label: *u8) -> i64 called by 9: cs_page_chatcs_recon_personcs_role_rowcs_wall_rowcs_page_eventscs_page_secure+3 calls 1: cu_puts |
| 237 | func cu_grid_open(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "<div class=\"grid\">" as *u8) } |
| 238 | func cu_grid_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</div>" as *u8) } |
| 239 | func cu_card_open(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "<section class=\"card\">" as *u8) } called by 5: cs_page_partnerscs_page_chatcs_page_reconnectcs_page_communitycs_page_events calls 1: cu_puts |
| 240 | func cu_card_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</section>" as *u8) } called by 5: cs_page_partnerscs_page_chatcs_page_reconnectcs_page_communitycs_page_events calls 1: cu_puts |
| 243 | func cu_card_link(buf: *u8, off: i64, title: *u8, body: *u8, href: *u8) -> i64 calls 1: cu_puts |
| 254 | func cu_stat(buf: *u8, off: i64, value: i64, label: *u8) -> i64 |
| 262 | func cu_rows_open(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "<ul class=\"rows\">" as *u8) } called by 8: cs_page_partnerscs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_secure+2 calls 1: cu_puts |
| 263 | func cu_rows_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</ul>" as *u8) } called by 8: cs_page_partnerscs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_secure+2 calls 1: cu_puts |
| 269 | func cu_avatar(buf: *u8, off: i64, name: *u8, small: i64) -> i64 |
| 292 | func cu_person(buf: *u8, off: i64, name: *u8, meta: *u8, bkind: i64, blabel: *u8) -> i64 |
| 304 | func cu_thread_open(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "<ul class=\"thread\">" as *u8) } |
| 305 | func cu_thread_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</ul>" as *u8) } |
| 309 | func cu_bubble_open(buf: *u8, off: i64, name: *u8, own: i64, text: *u8) -> i64 |
| 321 | func cu_bubble_tr(buf: *u8, off: i64, tr: *u8) -> i64 |
| 327 | func cu_bubble_corr(buf: *u8, off: i64, corr: *u8) -> i64 |
| 332 | func cu_bubble_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</div></li>" as *u8) } |
| 335 | func cu_meter(buf: *u8, off: i64, label: *u8, value: i64, max: i64) -> i64 |
| 350 | func cu_form_open(buf: *u8, off: i64, action: *u8) -> i64 called by 9: cs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_logincs_page_register+3 calls 1: cu_puts |
| 357 | func cu_input(buf: *u8, off: i64, id: *u8, label: *u8, ph: *u8, maxlen: i64) -> i64 called by 6: cs_page_chatcs_page_reconnectcs_page_logincs_page_registercs_page_contactsmain calls 2: cu_putscu_putn |
| 374 | func cu_input_typed(buf: *u8, off: i64, id: *u8, label: *u8, ph: *u8, maxlen: i64, itype: *u8, ac: *u8) -> i64 |
| 393 | func cu_select_open(buf: *u8, off: i64, id: *u8, label: *u8) -> i64 |
| 404 | func cu_option(buf: *u8, off: i64, value: *u8, label: *u8) -> i64 |
| 411 | func cu_select_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</select></div>" as *u8) } |
| 412 | func cu_submit(buf: *u8, off: i64, text: *u8) -> i64 called by 9: cs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_logincs_page_register+3 calls 1: cu_puts |
| 417 | func cu_form_close(buf: *u8, off: i64) -> i64 { return cu_puts(buf, off, "</form>" as *u8) } called by 9: cs_page_chatcs_page_reconnectcs_page_communitycs_page_eventscs_page_logincs_page_register+3 calls 1: cu_puts |