{# The console's icons: inline SVG, drawn here, in this file. No icon font and no icon package. Three reasons, in order of how much they matter. The container must render a page without reaching the network, so a CDN is out. A self-hosted set is a third-party file with a licence to record and a version to carry, for nine glyphs. And an inline `` inherits `currentColor`, so one drawing works in both themes with no second asset. Everything is a 24x24 outline stroked with `currentColor` at 1.7, which is Material's outlined weight at this size. `aria-hidden` on all of them: an icon in this console never carries meaning its label does not already say. #} {% macro _svg(paths) %} {% endmacro %} {# --- the brand mark ------------------------------------------------------- A rounded tile carrying a monoline lowercase `p`, drawn from exact geometry: one rounded rectangle for the stem and one stroked circle for the bowl. Four things that geometry buys, each of which the hand-traced placeholder it replaced did not have. IT SURVIVES 16 PIXELS. The stem is 4/32 of the tile and the bowl is stroked at the same weight, so both are 2 CSS pixels in a browser tab; the counter is 5.6/32, which is still an open hole at that size rather than a smudge. A filled letterform at this size closes up. IT IS THE SAME DRAWING AS THE OTHER NINE ICONS. Monoline, round terminals, the proportions of the outlined weight. A logo drawn in a different language from the icons beside it in the same app bar looks borrowed. IT IS PURE PATHS, SO THE FAVICON IS THE MARK. The previous favicon was an SVG `` element asking for `system-ui`, which is a font a favicon renderer is under no obligation to have -- and where it did not, the tab showed an empty blue square. `base.html` carries these same two shapes. THE TONE IS THE ONE THAT WORKS ON BOTH THEMES. `#4568d0` is the primary ramp near tone 50 rather than the tone-40 `--pf-primary` the console draws with, because a mark has to sit on `#f7f9fe` and on `#121316` and be seen on both: it measures 4.73:1 against the light surface and 3.67:1 against the dark one, where tone 40 measures 6.2:1 and 2.8:1 and disappears at night. It does not follow the theme -- a logo that is two colours is two logos -- and the shape carries it in monochrome, so nothing here depends on colour being seen. #} {% macro logo() %} {% endmacro %} {# --- navigation ----------------------------------------------------------- #} {% macro connections() %}{{ _svg(''|safe) }}{% endmacro %} {% macro orders() %}{{ _svg(''|safe) }}{% endmacro %} {% macro statements() %}{{ _svg(''|safe) }}{% endmacro %} {% macro schedules() %}{{ _svg(''|safe) }}{% endmacro %} {% macro webhooks() %}{{ _svg(''|safe) }}{% endmacro %} {% macro access() %}{{ _svg(''|safe) }}{% endmacro %} {% macro audit() %}{{ _svg(''|safe) }}{% endmacro %} {% macro status_codes() %}{{ _svg(''|safe) }}{% endmacro %} {% macro api() %}{{ _svg(''|safe) }}{% endmacro %} {# --- app bar --------------------------------------------------------------- #} {% macro menu() %}{{ _svg(''|safe) }}{% endmacro %} {% macro close() %}{{ _svg(''|safe) }}{% endmacro %} {% macro language() %}{{ _svg(''|safe) }}{% endmacro %} {% macro bell() %}{{ _svg(''|safe) }}{% endmacro %} {# --- the three theme states ------------------------------------------------ #} {% macro theme_system() %}{{ _svg(''|safe) }}{% endmacro %} {% macro theme_light() %}{{ _svg(''|safe) }}{% endmacro %} {% macro theme_dark() %}{{ _svg(''|safe) }}{% endmacro %}