Contains shared infrastructure for all coop services: - shared/ (factory, urls, user_loader, context, internal_api, jinja_setup) - models/ (User, Order, Calendar, Ticket, Product, Ghost CMS) - db/ (SQLAlchemy async session, base) - suma_browser/app/ (csrf, middleware, errors, authz, redis_cacher, payments, filters, utils) - suma_browser/templates/ (shared base layouts, macros, error pages) - static/ (CSS, JS, fonts, images) - alembic/ (database migrations) - config/ (app-config.yaml) - editor/ (Lexical editor Node.js build) - requirements.txt Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
59 lines
1.5 KiB
HTML
59 lines
1.5 KiB
HTML
|
|
|
|
{% macro link(url, select, select_colours='', highlight=True, _class='', aclass='') %}
|
|
{% set href=url|host%}
|
|
<div class="relative nav-group {{_class}}">
|
|
<a
|
|
href="{{ href }}"
|
|
hx-get="{{ href }}"
|
|
hx-target="#main-panel"
|
|
hx-select="{{select}}"
|
|
hx-swap="outerHTML"
|
|
hx-push-url="true"
|
|
aria-selected="{{ 'true' if (request.path|host).startswith(href) else 'false' }}"
|
|
{% if aclass %}
|
|
class="{{aclass}}"
|
|
{% elif select_colours %}
|
|
class="whitespace-normal flex gap-2 px-3 py-2 rounded
|
|
text-center break-words leading-snug
|
|
bg-stone-200 text-black
|
|
{{select_colours if highlight else ''}}
|
|
"
|
|
{% else %}
|
|
class="w-full whitespace-normal flex items-center gap-2 font-bold text-2xl px-3 py-2"
|
|
{% endif %}
|
|
>
|
|
{{ caller() }}
|
|
</a>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro menu_row(id=False, oob=False) %}
|
|
<div
|
|
{% if id %}
|
|
id="{{id}}"
|
|
{% endif %}
|
|
{% if oob %}
|
|
hx-swap-oob="outerHTML"
|
|
{% endif %}
|
|
class="flex flex-col items-center md:flex-row justify-center md:justify-between w-full p-1 bg-{{menu_colour}}-{{(500-(level()*100))|string}}"
|
|
>
|
|
{{ caller() }}
|
|
</div>
|
|
{{level_up()}}
|
|
{% endmacro %}
|
|
|
|
{% macro desktop_nav() %}
|
|
<nav class="hidden md:flex gap-4 text-sm ml-2 justify-end items-center flex-0">
|
|
{{ caller() }}
|
|
</nav>
|
|
{% endmacro %}
|
|
|
|
{% macro admin() %}
|
|
<i class="fa fa-cog" aria-hidden="true"></i>
|
|
<div>
|
|
settings
|
|
</div>
|
|
|
|
{% endmacro %} |