diff --git a/browser/templates/_types/auth/_bookings_panel.html b/browser/templates/_types/auth/_bookings_panel.html deleted file mode 100644 index 28f8280..0000000 --- a/browser/templates/_types/auth/_bookings_panel.html +++ /dev/null @@ -1,44 +0,0 @@ -
-
- -

Bookings

- - {% if bookings %} -
- {% for booking in bookings %} -
-
-
-

{{ booking.name }}

-
- {{ booking.start_at.strftime('%d %b %Y, %H:%M') }} - {% if booking.end_at %} - – {{ booking.end_at.strftime('%H:%M') }} - {% endif %} - {% if booking.calendar_name %} - · {{ booking.calendar_name }} - {% endif %} - {% if booking.cost %} - · £{{ booking.cost }} - {% endif %} -
-
-
- {% if booking.state == 'confirmed' %} - confirmed - {% elif booking.state == 'provisional' %} - provisional - {% else %} - {{ booking.state }} - {% endif %} -
-
-
- {% endfor %} -
- {% else %} -

No bookings yet.

- {% endif %} - -
-
diff --git a/browser/templates/_types/auth/_fragment_panel.html b/browser/templates/_types/auth/_fragment_panel.html deleted file mode 100644 index f27345c..0000000 --- a/browser/templates/_types/auth/_fragment_panel.html +++ /dev/null @@ -1 +0,0 @@ -{{ page_fragment_html | safe }} diff --git a/browser/templates/_types/auth/_main_panel.html b/browser/templates/_types/auth/_main_panel.html deleted file mode 100644 index e80fd12..0000000 --- a/browser/templates/_types/auth/_main_panel.html +++ /dev/null @@ -1,49 +0,0 @@ -
-
- - {% if error %} -
- {{ error }} -
- {% endif %} - - {# Account header #} -
-
-

Account

- {% if g.user %} -

{{ g.user.email }}

- {% if g.user.name %} -

{{ g.user.name }}

- {% endif %} - {% endif %} -
-
- - -
-
- - {# Labels #} - {% set labels = g.user.labels if g.user is defined and g.user.labels is defined else [] %} - {% if labels %} -
-

Labels

-
- {% for label in labels %} - - {{ label.name }} - - {% endfor %} -
-
- {% endif %} - -
-
diff --git a/browser/templates/_types/auth/_nav.html b/browser/templates/_types/auth/_nav.html deleted file mode 100644 index ff5de92..0000000 --- a/browser/templates/_types/auth/_nav.html +++ /dev/null @@ -1,7 +0,0 @@ -{% import 'macros/links.html' as links %} -{% call links.link(account_url('/newsletters/'), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - newsletters -{% endcall %} -{% if account_nav_html %} - {{ account_nav_html | safe }} -{% endif %} diff --git a/browser/templates/_types/auth/_newsletter_toggle.html b/browser/templates/_types/auth/_newsletter_toggle.html deleted file mode 100644 index 8bb3f69..0000000 --- a/browser/templates/_types/auth/_newsletter_toggle.html +++ /dev/null @@ -1,17 +0,0 @@ -
- -
diff --git a/browser/templates/_types/auth/_newsletters_panel.html b/browser/templates/_types/auth/_newsletters_panel.html deleted file mode 100644 index 0f3fdbb..0000000 --- a/browser/templates/_types/auth/_newsletters_panel.html +++ /dev/null @@ -1,46 +0,0 @@ -
-
- -

Newsletters

- - {% if newsletter_list %} -
- {% for item in newsletter_list %} -
-
-

{{ item.newsletter.name }}

- {% if item.newsletter.description %} -

{{ item.newsletter.description }}

- {% endif %} -
-
- {% if item.un %} - {% with un=item.un %} - {% include "_types/auth/_newsletter_toggle.html" %} - {% endwith %} - {% else %} - {# No subscription row yet — show an off toggle that will create one #} -
- -
- {% endif %} -
-
- {% endfor %} -
- {% else %} -

No newsletters available.

- {% endif %} - -
-
diff --git a/browser/templates/_types/auth/_oob_elements.html b/browser/templates/_types/auth/_oob_elements.html deleted file mode 100644 index cafb113..0000000 --- a/browser/templates/_types/auth/_oob_elements.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-header-child', 'auth-header-child', '_types/auth/header/_header.html')}} - - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/auth/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include oob.main %} -{% endblock %} - - diff --git a/browser/templates/_types/auth/_tickets_panel.html b/browser/templates/_types/auth/_tickets_panel.html deleted file mode 100644 index 69f7596..0000000 --- a/browser/templates/_types/auth/_tickets_panel.html +++ /dev/null @@ -1,44 +0,0 @@ -
-
- -

Tickets

- - {% if tickets %} -
- {% for ticket in tickets %} -
-
-
- - {{ ticket.entry_name }} - -
- {{ ticket.entry_start_at.strftime('%d %b %Y, %H:%M') }} - {% if ticket.calendar_name %} - · {{ ticket.calendar_name }} - {% endif %} - {% if ticket.ticket_type_name %} - · {{ ticket.ticket_type_name }} - {% endif %} -
-
-
- {% if ticket.state == 'checked_in' %} - checked in - {% elif ticket.state == 'confirmed' %} - confirmed - {% else %} - {{ ticket.state }} - {% endif %} -
-
-
- {% endfor %} -
- {% else %} -

No tickets yet.

- {% endif %} - -
-
diff --git a/browser/templates/_types/auth/check_email.html b/browser/templates/_types/auth/check_email.html deleted file mode 100644 index e4cea28..0000000 --- a/browser/templates/_types/auth/check_email.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends "_types/root/index.html" %} -{% block content %} -
-
-

Check your email

- -

- If an account exists for - {{ email }}, - you’ll receive a link to sign in. It expires in 15 minutes. -

- - {% if email_error %} - - {% endif %} - -

- - ← Back - -

-
-
-{% endblock %} diff --git a/browser/templates/_types/auth/header/_header.html b/browser/templates/_types/auth/header/_header.html deleted file mode 100644 index c59a712..0000000 --- a/browser/templates/_types/auth/header/_header.html +++ /dev/null @@ -1,12 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='auth-row', oob=oob) %} - {% call links.link(account_url('/'), hx_select_search ) %} - -
account
- {% endcall %} - {% call links.desktop_nav() %} - {% include "_types/auth/_nav.html" %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/auth/index copy.html b/browser/templates/_types/auth/index copy.html deleted file mode 100644 index cd4d6d3..0000000 --- a/browser/templates/_types/auth/index copy.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "_types/root/_index.html" %} - - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('auth-header-child', '_types/auth/header/_header.html') %} - {% block auth_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include "_types/auth/_nav.html" %} -{% endblock %} - -{% block content %} - {% include '_types/auth/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/auth/index.html b/browser/templates/_types/auth/index.html deleted file mode 100644 index 3c66bf1..0000000 --- a/browser/templates/_types/auth/index.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends oob.extends %} - - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row(oob.child_id, oob.header) %} - {% block auth_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include oob.nav %} -{% endblock %} - -{% block content %} - {% include oob.main %} -{% endblock %} diff --git a/browser/templates/_types/auth/login.html b/browser/templates/_types/auth/login.html deleted file mode 100644 index b55ea99..0000000 --- a/browser/templates/_types/auth/login.html +++ /dev/null @@ -1,46 +0,0 @@ -{% extends "_types/root/index.html" %} -{% block content %} -
-
-

Sign in

-

- Enter your email and we’ll email you a one-time sign-in link. -

- - {% if error %} -
- {{ error }} -
- {% endif %} - -
- -
- - -
- - -
-
-
-{% endblock %} diff --git a/browser/templates/_types/blog/_action_buttons.html b/browser/templates/_types/blog/_action_buttons.html deleted file mode 100644 index 0ea7fa2..0000000 --- a/browser/templates/_types/blog/_action_buttons.html +++ /dev/null @@ -1,51 +0,0 @@ -{# New Post + Drafts toggle — shown in aside (desktop + mobile) #} -
- {% if has_access('blog.new_post') %} - {% set new_href = url_for('blog.new_post')|host %} - - New Post - - {% endif %} - {% if g.user and (draft_count or drafts) %} - {% if drafts %} - {% set drafts_off_href = (current_local_href ~ {'drafts': None}|qs)|host %} - - Drafts - {{ draft_count }} - - {% else %} - {% set drafts_on_href = (current_local_href ~ {'drafts': '1'}|qs)|host %} - - Drafts - {{ draft_count }} - - {% endif %} - {% endif %} -
diff --git a/browser/templates/_types/blog/_card.html b/browser/templates/_types/blog/_card.html deleted file mode 100644 index 89ce8e7..0000000 --- a/browser/templates/_types/blog/_card.html +++ /dev/null @@ -1,80 +0,0 @@ -{% import 'macros/stickers.html' as stick %} -
- {# ❤️ like button - OUTSIDE the link, aligned with image top #} - {% if g.user %} -
- {% set slug = post.slug %} - {% set liked = post.is_liked or False %} - {% set like_url = url_for('blog.post.like_toggle', slug=slug)|host %} - {% set item_type = 'post' %} - {% include "_types/browse/like/button.html" %} -
- {% endif %} - - {% set _href=url_for('blog.post.post_detail', slug=post.slug)|host %} - -
-

- {{ post.title }} -

- - {% if post.status == "draft" %} -
- Draft - {% if post.publish_requested %} - Publish requested - {% endif %} -
- {% if post.updated_at %} -

- Updated: {{ post.updated_at.strftime("%-d %b %Y at %H:%M") }} -

- {% endif %} - {% elif post.published_at %} -

- Published: {{ post.published_at.strftime("%-d %b %Y at %H:%M") }} -

- {% endif %} - -
- - {% if post.feature_image %} -
- -
- {% endif %} - {% if post.custom_excerpt %} -

- {{ post.custom_excerpt }} -

- {% else %} - {% if post.excerpt %} -

- {{ post.excerpt }} -

- {% endif %} - {% endif %} -
- - {# Card decorations — via fragments #} - {% if card_widgets_html %} - {% set _card_html = card_widgets_html.get(post.id|string, "") %} - {% if _card_html %}{{ _card_html | safe }}{% endif %} - {% endif %} - - {% include '_types/blog/_card/at_bar.html' %} - -
diff --git a/browser/templates/_types/blog/_card/at_bar.html b/browser/templates/_types/blog/_card/at_bar.html deleted file mode 100644 index f226d92..0000000 --- a/browser/templates/_types/blog/_card/at_bar.html +++ /dev/null @@ -1,19 +0,0 @@ -
- {% if post.tags %} -
-
in
- -
- {% endif %} -
- {% if post.authors %} -
-
by
- -
- {% endif %} -
diff --git a/browser/templates/_types/blog/_card/author.html b/browser/templates/_types/blog/_card/author.html deleted file mode 100644 index 7ddddf7..0000000 --- a/browser/templates/_types/blog/_card/author.html +++ /dev/null @@ -1,21 +0,0 @@ -{% macro author(author) %} - {% if author %} - {% if author.profile_image %} - {{ author.name }} - {% else %} -
- {# optional fallback circle with first letter -
- {{ author.name[:1] }} -
#} - {% endif %} - - - {{ author.name }} - - {% endif %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/blog/_card/authors.html b/browser/templates/_types/blog/_card/authors.html deleted file mode 100644 index 5b8911d..0000000 --- a/browser/templates/_types/blog/_card/authors.html +++ /dev/null @@ -1,32 +0,0 @@ -{# --- AUTHORS LIST STARTS HERE --- #} - {% if post.authors and post.authors|length %} - {% for a in post.authors %} - {% for author in authors if author.slug==a.slug %} -
  • - - {% if author.profile_image %} - {{ author.name }} - {% else %} - {# optional fallback circle with first letter #} -
    - {{ author.name[:1] }} -
    - {% endif %} - - - {{ author.name }} - -
    -
  • - {% endfor %} - {% endfor %} - {% endif %} - - {# --- AUTHOR LIST ENDS HERE --- #} \ No newline at end of file diff --git a/browser/templates/_types/blog/_card/tag.html b/browser/templates/_types/blog/_card/tag.html deleted file mode 100644 index 137cb0c..0000000 --- a/browser/templates/_types/blog/_card/tag.html +++ /dev/null @@ -1,19 +0,0 @@ -{% macro tag(tag) %} - {% if tag %} - {% if tag.feature_image %} - {{ tag.name }} - {% else %} -
    - {{ tag.name[:1] }} -
    - {% endif %} - - - {{ tag.name }} - - {% endif %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/blog/_card/tag_group.html b/browser/templates/_types/blog/_card/tag_group.html deleted file mode 100644 index 21c9974..0000000 --- a/browser/templates/_types/blog/_card/tag_group.html +++ /dev/null @@ -1,22 +0,0 @@ -{% macro tag_group(group) %} - {% if group %} - {% if group.feature_image %} - {{ group.name }} - {% else %} -
    - {{ group.name[:1] }} -
    - {% endif %} - - - {{ group.name }} - - {% endif %} -{% endmacro %} diff --git a/browser/templates/_types/blog/_card/tags.html b/browser/templates/_types/blog/_card/tags.html deleted file mode 100644 index 2ea7ad1..0000000 --- a/browser/templates/_types/blog/_card/tags.html +++ /dev/null @@ -1,17 +0,0 @@ -{% import '_types/blog/_card/tag.html' as dotag %} -{# --- TAG LIST STARTS HERE --- #} - {% if post.tags and post.tags|length %} - {% for t in post.tags %} - {% for tag in tags if tag.slug==t.slug %} -
  • - - {{dotag.tag(tag)}} - -
  • - {% endfor %} - {% endfor %} - {% endif %} - {# --- TAG LIST ENDS HERE --- #} \ No newline at end of file diff --git a/browser/templates/_types/blog/_card_tile.html b/browser/templates/_types/blog/_card_tile.html deleted file mode 100644 index f03ca16..0000000 --- a/browser/templates/_types/blog/_card_tile.html +++ /dev/null @@ -1,59 +0,0 @@ -
    - {% set _href=url_for('blog.post.post_detail', slug=post.slug)|host %} - - {% if post.feature_image %} -
    - -
    - {% endif %} - -
    -

    - {{ post.title }} -

    - - {% if post.status == "draft" %} -
    - Draft - {% if post.publish_requested %} - Publish requested - {% endif %} -
    - {% if post.updated_at %} -

    - Updated: {{ post.updated_at.strftime("%-d %b %Y at %H:%M") }} -

    - {% endif %} - {% elif post.published_at %} -

    - Published: {{ post.published_at.strftime("%-d %b %Y at %H:%M") }} -

    - {% endif %} - - {% if post.custom_excerpt %} -

    - {{ post.custom_excerpt }} -

    - {% elif post.excerpt %} -

    - {{ post.excerpt }} -

    - {% endif %} -
    -
    - - {% include '_types/blog/_card/at_bar.html' %} -
    diff --git a/browser/templates/_types/blog/_cards.html b/browser/templates/_types/blog/_cards.html deleted file mode 100644 index 82eee98..0000000 --- a/browser/templates/_types/blog/_cards.html +++ /dev/null @@ -1,111 +0,0 @@ -{% for post in posts %} - {% if view == 'tile' %} - {% include "_types/blog/_card_tile.html" %} - {% else %} - {% include "_types/blog/_card.html" %} - {% endif %} -{% endfor %} -{% if page < total_pages|int %} - - - - - -{% else %} -
    End of results
    -{% endif %} - diff --git a/browser/templates/_types/blog/_main_panel.html b/browser/templates/_types/blog/_main_panel.html deleted file mode 100644 index 350999d..0000000 --- a/browser/templates/_types/blog/_main_panel.html +++ /dev/null @@ -1,48 +0,0 @@ - - {# View toggle bar - desktop only #} - - - {# Cards container - list or grid based on view #} - {% if view == 'tile' %} -
    - {% include "_types/blog/_cards.html" %} -
    - {% else %} -
    - {% include "_types/blog/_cards.html" %} -
    - {% endif %} -
    diff --git a/browser/templates/_types/blog/_oob_elements.html b/browser/templates/_types/blog/_oob_elements.html deleted file mode 100644 index 2aa02cb..0000000 --- a/browser/templates/_types/blog/_oob_elements.html +++ /dev/null @@ -1,40 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob_.html' import root_header with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-header-child', 'blog-header-child', '_types/blog/header/_header.html')}} - - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - - -{# Filter container - blog doesn't have child_summary but still needs this element #} -{% block filter %} - {% include "_types/blog/mobile/_filter/summary.html" %} -{% endblock %} - -{# Aside with filters #} -{% block aside %} - {% include "_types/blog/desktop/menu.html" %} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/root/_nav.html' %} - {% include '_types/root/_nav_panel.html' %} -{% endblock %} - - -{% block content %} - {% include '_types/blog/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog/admin/tag_groups/_edit_header.html b/browser/templates/_types/blog/admin/tag_groups/_edit_header.html deleted file mode 100644 index ade4ee9..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/_edit_header.html +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='tag-groups-edit-row', oob=oob) %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{ admin_nav_item(url_for('blog.tag_groups_admin.edit', id=group.id), 'pencil', group.name, select_colours, aclass='') }} - {% call links.desktop_nav() %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/blog/admin/tag_groups/_edit_main_panel.html b/browser/templates/_types/blog/admin/tag_groups/_edit_main_panel.html deleted file mode 100644 index 7d1fa96..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/_edit_main_panel.html +++ /dev/null @@ -1,79 +0,0 @@ -
    - - {# --- Edit group form --- #} -
    - - -
    -
    - - -
    -
    -
    - - -
    -
    - - -
    -
    -
    - - -
    -
    - - {# --- Tag checkboxes --- #} -
    - -
    - {% for tag in all_tags %} - - {% endfor %} -
    -
    - -
    - -
    -
    - - {# --- Delete form --- #} -
    - - -
    - -
    diff --git a/browser/templates/_types/blog/admin/tag_groups/_edit_oob.html b/browser/templates/_types/blog/admin/tag_groups/_edit_oob.html deleted file mode 100644 index 116bc7b..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/_edit_oob.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('tag-groups-header-child', 'tag-groups-edit-child', '_types/blog/admin/tag_groups/_edit_header.html')}} - {{oob_header('root-settings-header-child', 'tag-groups-header-child', '_types/blog/admin/tag_groups/_header.html')}} - - {% from '_types/root/settings/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - -{% block mobile_menu %} -{% endblock %} - -{% block content %} - {% include '_types/blog/admin/tag_groups/_edit_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog/admin/tag_groups/_header.html b/browser/templates/_types/blog/admin/tag_groups/_header.html deleted file mode 100644 index d9c3095..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/_header.html +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='tag-groups-row', oob=oob) %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{ admin_nav_item(url_for('blog.tag_groups_admin.index'), 'tags', 'Tag Groups', select_colours, aclass='') }} - {% call links.desktop_nav() %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/blog/admin/tag_groups/_main_panel.html b/browser/templates/_types/blog/admin/tag_groups/_main_panel.html deleted file mode 100644 index 1c8b8f4..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/_main_panel.html +++ /dev/null @@ -1,73 +0,0 @@ -
    - - {# --- Create new group form --- #} -
    - -

    New Group

    -
    - - - -
    - - -
    - - {# --- Existing groups list --- #} - {% if groups %} - - {% else %} -

    No tag groups yet.

    - {% endif %} - - {# --- Unassigned tags --- #} - {% if unassigned_tags %} -
    -

    Unassigned Tags ({{ unassigned_tags|length }})

    -
    - {% for tag in unassigned_tags %} - - {{ tag.name }} - - {% endfor %} -
    -
    - {% endif %} - -
    diff --git a/browser/templates/_types/blog/admin/tag_groups/_oob_elements.html b/browser/templates/_types/blog/admin/tag_groups/_oob_elements.html deleted file mode 100644 index cb00363..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/_oob_elements.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-settings-header-child', 'tag-groups-header-child', '_types/blog/admin/tag_groups/_header.html')}} - - {% from '_types/root/settings/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - -{% block mobile_menu %} -{% endblock %} - -{% block content %} - {% include '_types/blog/admin/tag_groups/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog/admin/tag_groups/edit.html b/browser/templates/_types/blog/admin/tag_groups/edit.html deleted file mode 100644 index 5fefbc6..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/edit.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends '_types/blog/admin/tag_groups/index.html' %} - -{% block tag_groups_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/blog/admin/tag_groups/_edit_header.html' import header_row with context %} - {{ header_row() }} - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/blog/admin/tag_groups/_edit_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog/admin/tag_groups/index.html b/browser/templates/_types/blog/admin/tag_groups/index.html deleted file mode 100644 index 680b051..0000000 --- a/browser/templates/_types/blog/admin/tag_groups/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/root/settings/index.html' %} - -{% block root_settings_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/blog/admin/tag_groups/_header.html' import header_row with context %} - {{ header_row() }} -
    - {% block tag_groups_header_child %} - {% endblock %} -
    - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/blog/admin/tag_groups/_main_panel.html' %} -{% endblock %} - -{% block _main_mobile_menu %} -{% endblock %} diff --git a/browser/templates/_types/blog/desktop/menu.html b/browser/templates/_types/blog/desktop/menu.html deleted file mode 100644 index 57dba58..0000000 --- a/browser/templates/_types/blog/desktop/menu.html +++ /dev/null @@ -1,19 +0,0 @@ -{% import '_types/browse/desktop/_filter/search.html' as s %} -{{ s.search(current_local_href, search, search_count, hx_select) }} -{% include '_types/blog/_action_buttons.html' %} -
    - {% include '_types/blog/desktop/menu/tag_groups.html' %} - {% include '_types/blog/desktop/menu/authors.html' %} -
    - -
    - -
    - - \ No newline at end of file diff --git a/browser/templates/_types/blog/desktop/menu/authors.html b/browser/templates/_types/blog/desktop/menu/authors.html deleted file mode 100644 index de939e0..0000000 --- a/browser/templates/_types/blog/desktop/menu/authors.html +++ /dev/null @@ -1,62 +0,0 @@ - {% import '_types/blog/_card/author.html' as doauthor %} - - {# Author filter bar #} - - diff --git a/browser/templates/_types/blog/desktop/menu/tag_groups.html b/browser/templates/_types/blog/desktop/menu/tag_groups.html deleted file mode 100644 index e23a879..0000000 --- a/browser/templates/_types/blog/desktop/menu/tag_groups.html +++ /dev/null @@ -1,70 +0,0 @@ - {# Tag group filter bar #} - diff --git a/browser/templates/_types/blog/desktop/menu/tags.html b/browser/templates/_types/blog/desktop/menu/tags.html deleted file mode 100644 index c20b5bc..0000000 --- a/browser/templates/_types/blog/desktop/menu/tags.html +++ /dev/null @@ -1,59 +0,0 @@ - {% import '_types/blog/_card/tag.html' as dotag %} - - {# Tag filter bar #} - - diff --git a/browser/templates/_types/blog/header/_header.html b/browser/templates/_types/blog/header/_header.html deleted file mode 100644 index 67325b9..0000000 --- a/browser/templates/_types/blog/header/_header.html +++ /dev/null @@ -1,7 +0,0 @@ - -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='blog-row', oob=oob) %} -
    - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/blog/index.html b/browser/templates/_types/blog/index.html deleted file mode 100644 index 5978020..0000000 --- a/browser/templates/_types/blog/index.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends '_types/root/_index.html' %} - -{% block meta %} - {{ super() }} - -{% endblock %} - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('root-blog-header', '_types/blog/header/_header.html') %} - {% block root_blog_header %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block aside %} - {% include "_types/blog/desktop/menu.html" %} -{% endblock %} - -{% block filter %} - {% include "_types/blog/mobile/_filter/summary.html" %} -{% endblock %} - -{% block content %} - {% include '_types/blog/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog/mobile/_filter/_hamburger.html b/browser/templates/_types/blog/mobile/_filter/_hamburger.html deleted file mode 100644 index 10e0b9c..0000000 --- a/browser/templates/_types/blog/mobile/_filter/_hamburger.html +++ /dev/null @@ -1,13 +0,0 @@ -
    - - - - - - - - -
    diff --git a/browser/templates/_types/blog/mobile/_filter/summary.html b/browser/templates/_types/blog/mobile/_filter/summary.html deleted file mode 100644 index 4ed013b..0000000 --- a/browser/templates/_types/blog/mobile/_filter/summary.html +++ /dev/null @@ -1,14 +0,0 @@ -{% import 'macros/layout.html' as layout %} - -{% call layout.details('/filter', 'md:hidden') %} - {% call layout.filter_summary("filter-summary-mobile", current_local_href, search, search_count, hx_select) %} - {% include '_types/blog/mobile/_filter/summary/tag_groups.html' %} - {% include '_types/blog/mobile/_filter/summary/authors.html' %} - {% endcall %} - {% include '_types/blog/_action_buttons.html' %} -
    - {% include '_types/blog/desktop/menu/tag_groups.html' %} - {% include '_types/blog/desktop/menu/authors.html' %} -
    -{% endcall %} - \ No newline at end of file diff --git a/browser/templates/_types/blog/mobile/_filter/summary/authors.html b/browser/templates/_types/blog/mobile/_filter/summary/authors.html deleted file mode 100644 index 32796d9..0000000 --- a/browser/templates/_types/blog/mobile/_filter/summary/authors.html +++ /dev/null @@ -1,31 +0,0 @@ -{% if selected_authors and selected_authors|length %} - -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/blog/mobile/_filter/summary/tag_groups.html b/browser/templates/_types/blog/mobile/_filter/summary/tag_groups.html deleted file mode 100644 index 7bf142e..0000000 --- a/browser/templates/_types/blog/mobile/_filter/summary/tag_groups.html +++ /dev/null @@ -1,33 +0,0 @@ -{% if selected_groups and selected_groups|length %} - -{% endif %} diff --git a/browser/templates/_types/blog/mobile/_filter/summary/tags.html b/browser/templates/_types/blog/mobile/_filter/summary/tags.html deleted file mode 100644 index df6169d..0000000 --- a/browser/templates/_types/blog/mobile/_filter/summary/tags.html +++ /dev/null @@ -1,31 +0,0 @@ -{% if selected_tags and selected_tags|length %} - -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/blog/not_found.html b/browser/templates/_types/blog/not_found.html deleted file mode 100644 index f539822..0000000 --- a/browser/templates/_types/blog/not_found.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends '_types/root/_index.html' %} - -{% block content %} -
    -
    📝
    -

    Post Not Found

    -

    - The post "{{ slug }}" could not be found. -

    - - ← Back to Blog - -
    -{% endblock %} diff --git a/browser/templates/_types/blog_drafts/_main_panel.html b/browser/templates/_types/blog_drafts/_main_panel.html deleted file mode 100644 index 8cb0b7a..0000000 --- a/browser/templates/_types/blog_drafts/_main_panel.html +++ /dev/null @@ -1,55 +0,0 @@ -
    - -
    -

    Drafts

    - {% set new_href = url_for('blog.new_post')|host %} - - New Post - -
    - - {% if drafts %} -
    - {% for draft in drafts %} - {% set edit_href = url_for('blog.post.admin.edit', slug=draft.slug)|host %} - -
    -
    -

    - {{ draft.title or "Untitled" }} -

    - {% if draft.excerpt %} -

    - {{ draft.excerpt }} -

    - {% endif %} - {% if draft.updated_at %} -

    - Updated: {{ draft.updated_at.strftime("%-d %b %Y at %H:%M") }} -

    - {% endif %} -
    - - Draft - -
    -
    - {% endfor %} -
    - {% else %} -

    No drafts yet.

    - {% endif %} - -
    diff --git a/browser/templates/_types/blog_drafts/_oob_elements.html b/browser/templates/_types/blog_drafts/_oob_elements.html deleted file mode 100644 index 8d9790b..0000000 --- a/browser/templates/_types/blog_drafts/_oob_elements.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{% block oobs %} - {% from '_types/blog/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block content %} - {% include '_types/blog_drafts/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog_drafts/index.html b/browser/templates/_types/blog_drafts/index.html deleted file mode 100644 index 6ce38f1..0000000 --- a/browser/templates/_types/blog_drafts/index.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends '_types/root/_index.html' %} - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('root-blog-header', '_types/blog/header/_header.html') %} - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/blog_drafts/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog_new/_main_panel.html b/browser/templates/_types/blog_new/_main_panel.html deleted file mode 100644 index 6c3d264..0000000 --- a/browser/templates/_types/blog_new/_main_panel.html +++ /dev/null @@ -1,259 +0,0 @@ -{# ── Error banner ── #} -{% if save_error %} -
    - Save failed: {{ save_error }} -
    -{% endif %} - -
    - - - - - - {# ── Feature image ── #} -
    - {# Empty state: add link #} -
    - -
    - - {# Filled state: image preview + controls #} - - - {# Upload spinner overlay #} - - - {# Hidden file input #} - -
    - - {# ── Title ── #} - - - {# ── Excerpt ── #} - - - {# ── Editor mount point ── #} -
    - - {# ── Status + Save footer ── #} -
    - - - -
    -
    - -{# ── Koenig editor assets ── #} - - - - diff --git a/browser/templates/_types/blog_new/_oob_elements.html b/browser/templates/_types/blog_new/_oob_elements.html deleted file mode 100644 index 61e78f5..0000000 --- a/browser/templates/_types/blog_new/_oob_elements.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{% block oobs %} - {% from '_types/blog/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block content %} - {% include '_types/blog_new/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/blog_new/index.html b/browser/templates/_types/blog_new/index.html deleted file mode 100644 index 3c802d4..0000000 --- a/browser/templates/_types/blog_new/index.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends '_types/root/_index.html' %} - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('root-blog-header', '_types/blog/header/_header.html') %} - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/blog_new/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/browse/_admin.html b/browser/templates/_types/browse/_admin.html deleted file mode 100644 index e3cf3a2..0000000 --- a/browser/templates/_types/browse/_admin.html +++ /dev/null @@ -1,7 +0,0 @@ -{% import "macros/links.html" as links %} -{% if g.rights.admin %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{admin_nav_item( - url_for('market.browse.product.admin', product_slug=slug) - )}} -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/browse/_main_panel.html b/browser/templates/_types/browse/_main_panel.html deleted file mode 100644 index 8640ce8..0000000 --- a/browser/templates/_types/browse/_main_panel.html +++ /dev/null @@ -1,5 +0,0 @@ - -
    - {% include "_types/browse/_product_cards.html" %} -
    -
    diff --git a/browser/templates/_types/browse/_oob_elements.html b/browser/templates/_types/browse/_oob_elements.html deleted file mode 100644 index d32fd78..0000000 --- a/browser/templates/_types/browse/_oob_elements.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-header-child', 'market-header-child', '_types/market/header/_header.html')}} - - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/market/mobile/_nav_panel.html' %} -{% endblock %} - -{# Filter container with child summary - from browse/index.html child_summary block #} -{% block filter %} - {% include "_types/browse/mobile/_filter/summary.html" %} -{% endblock %} - -{% block aside %} - {% include "_types/browse/desktop/menu.html" %} -{% endblock %} - - -{% block content %} - {% include "_types/browse/_main_panel.html" %} -{% endblock %} diff --git a/browser/templates/_types/browse/_product_card.html b/browser/templates/_types/browse/_product_card.html deleted file mode 100644 index b923bc5..0000000 --- a/browser/templates/_types/browse/_product_card.html +++ /dev/null @@ -1,104 +0,0 @@ -{% import 'macros/stickers.html' as stick %} -{% import '_types/product/prices.html' as prices %} -{% set prices_ns = namespace() %} -{{ prices.set_prices(p, prices_ns) }} -{% set item_href = url_for('market.browse.product.product_detail', product_slug=p.slug)|host %} -
    - {# ❤️ like button overlay - OUTSIDE the link #} - {% if g.user %} -
    - {% set slug = p.slug %} - {% set liked = p.is_liked or False %} - {% include "_types/browse/like/button.html" %} -
    - {% endif %} - - - - {# Make this relative so we can absolutely position children #} -
    - {% if p.image %} -
    -
    - no image - - {% for l in p.labels %} - - {% endfor %} -
    - -
    - {{ p.brand }} -
    -
    - - {% else %} -
    -
    No image
    -
      - {% for l in p.labels %} -
    • {{ l }}
    • - {% endfor %} -
    -
    - {{ p.brand }} -
    -
    - {% endif %} - -
    - {#
    {{ prices.rrp(prices_ns) }}
    #} - {{ prices.card_price(p)}} - - {% import '_types/product/_cart.html' as _cart %} -
    -
    - {{ _cart.add(p.slug, cart)}} -
    - - - -
    - {% for s in p.stickers %} - {{ stick.sticker( - asset_url('stickers/' + s + '.svg'), - s, - True, - size=24, - found=s in selected_stickers - ) }} - {% endfor %} -
    -
    - {{ p.title | highlight(search) }} -
    -
    -
    \ No newline at end of file diff --git a/browser/templates/_types/browse/_product_cards.html b/browser/templates/_types/browse/_product_cards.html deleted file mode 100644 index cc8edb3..0000000 --- a/browser/templates/_types/browse/_product_cards.html +++ /dev/null @@ -1,107 +0,0 @@ -{% for p in products %} - {% include "_types/browse/_product_card.html" %} -{% endfor %} -{% if page < total_pages|int %} - - - - - -{% else %} -
    End of results
    -{% endif %} - diff --git a/browser/templates/_types/browse/desktop/_category_selector.html b/browser/templates/_types/browse/desktop/_category_selector.html deleted file mode 100644 index b3c68b6..0000000 --- a/browser/templates/_types/browse/desktop/_category_selector.html +++ /dev/null @@ -1,40 +0,0 @@ -{# Categories #} - diff --git a/browser/templates/_types/browse/desktop/_filter/brand.html b/browser/templates/_types/browse/desktop/_filter/brand.html deleted file mode 100644 index 616e36e..0000000 --- a/browser/templates/_types/browse/desktop/_filter/brand.html +++ /dev/null @@ -1,40 +0,0 @@ -{# Brand filter (desktop, single-select) #} - -{# Brands #} - diff --git a/browser/templates/_types/browse/desktop/_filter/labels.html b/browser/templates/_types/browse/desktop/_filter/labels.html deleted file mode 100644 index 7a4a41e..0000000 --- a/browser/templates/_types/browse/desktop/_filter/labels.html +++ /dev/null @@ -1,44 +0,0 @@ - - - -{% import 'macros/stickers.html' as stick %} - - diff --git a/browser/templates/_types/browse/desktop/_filter/like.html b/browser/templates/_types/browse/desktop/_filter/like.html deleted file mode 100644 index c830f98..0000000 --- a/browser/templates/_types/browse/desktop/_filter/like.html +++ /dev/null @@ -1,38 +0,0 @@ -{% import 'macros/stickers.html' as stick %} - {% set qs = {"liked": None if liked else True, "page": None}|qs %} - {% set href = (current_local_href ~ qs)|host %} - - {% if liked %} - - {% else %} - - {% endif %} - - {{ liked_count }} - - diff --git a/browser/templates/_types/browse/desktop/_filter/search.html b/browser/templates/_types/browse/desktop/_filter/search.html deleted file mode 100644 index 2e0ea8e..0000000 --- a/browser/templates/_types/browse/desktop/_filter/search.html +++ /dev/null @@ -1,44 +0,0 @@ - -{% macro search(current_local_href,search, search_count, hx_select) -%} - - -
    - - -
    - {% if search %} - {{search_count}} - {% endif %} - {{zap_filter}} -
    -
    -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/browse/desktop/_filter/sort.html b/browser/templates/_types/browse/desktop/_filter/sort.html deleted file mode 100644 index a4b5404..0000000 --- a/browser/templates/_types/browse/desktop/_filter/sort.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -{% import 'macros/stickers.html' as stick %} -{% set sort_val = sort|default('az', true) %} - - diff --git a/browser/templates/_types/browse/desktop/_filter/stickers.html b/browser/templates/_types/browse/desktop/_filter/stickers.html deleted file mode 100644 index 46fd22b..0000000 --- a/browser/templates/_types/browse/desktop/_filter/stickers.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -{% import 'macros/stickers.html' as stick %} - - diff --git a/browser/templates/_types/browse/desktop/menu.html b/browser/templates/_types/browse/desktop/menu.html deleted file mode 100644 index 893cf2d..0000000 --- a/browser/templates/_types/browse/desktop/menu.html +++ /dev/null @@ -1,37 +0,0 @@ - {% import '_types/browse/desktop/_filter/search.html' as s %} - {{ s.search(current_local_href, search, search_count, hx_select) }} - -
    -
    -
    {{ category_label }}
    -
    - {% include "_types/browse/desktop/_filter/sort.html" %} - - - {% if stickers %} - {% include "_types/browse/desktop/_filter/stickers.html" %} - {% endif %} - - - {% if subs_local and top_local_href %} - {% include "_types/browse/desktop/_category_selector.html" %} - {% endif %} - -
    - -
    - - {% include "_types/browse/desktop/_filter/brand.html" %} - -
    diff --git a/browser/templates/_types/browse/index.html b/browser/templates/_types/browse/index.html deleted file mode 100644 index 015e6b3..0000000 --- a/browser/templates/_types/browse/index.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends '_types/market/index.html' %} - -{% block filter %} - {% include "_types/browse/mobile/_filter/summary.html" %} -{% endblock %} - -{% block aside %} - {% include "_types/browse/desktop/menu.html" %} -{% endblock %} - -{% block content %} - {% include "_types/browse/_main_panel.html" %} -{% endblock %} diff --git a/browser/templates/_types/browse/like/button.html b/browser/templates/_types/browse/like/button.html deleted file mode 100644 index 426bdc1..0000000 --- a/browser/templates/_types/browse/like/button.html +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/browser/templates/_types/browse/mobile/_filter/brand_ul.html b/browser/templates/_types/browse/mobile/_filter/brand_ul.html deleted file mode 100644 index ac15400..0000000 --- a/browser/templates/_types/browse/mobile/_filter/brand_ul.html +++ /dev/null @@ -1,40 +0,0 @@ - \ No newline at end of file diff --git a/browser/templates/_types/browse/mobile/_filter/index.html b/browser/templates/_types/browse/mobile/_filter/index.html deleted file mode 100644 index 7c2a615..0000000 --- a/browser/templates/_types/browse/mobile/_filter/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - {% include "_types/browse/mobile/_filter/sort_ul.html" %} - {% if search or selected_labels|length or selected_stickers|length or selected_brands|length %} - {% set href = (current_local_href ~ {"clear_filters": True}|qs)|host %} -
    - - - clear filters - - -
    - {% endif %} -
    - {% include "_types/browse/mobile/_filter/like.html" %} - {% include "_types/browse/mobile/_filter/labels.html" %} -
    - {% include "_types/browse/mobile/_filter/stickers.html" %} - {% include "_types/browse/mobile/_filter/brand_ul.html" %} - diff --git a/browser/templates/_types/browse/mobile/_filter/labels.html b/browser/templates/_types/browse/mobile/_filter/labels.html deleted file mode 100644 index 3868d42..0000000 --- a/browser/templates/_types/browse/mobile/_filter/labels.html +++ /dev/null @@ -1,47 +0,0 @@ -{% import 'macros/stickers.html' as stick %} - - -{# Optional: hide horizontal scrollbar on mobile while keeping scrollable #} - diff --git a/browser/templates/_types/browse/mobile/_filter/like.html b/browser/templates/_types/browse/mobile/_filter/like.html deleted file mode 100644 index 509ea92..0000000 --- a/browser/templates/_types/browse/mobile/_filter/like.html +++ /dev/null @@ -1,40 +0,0 @@ -{% import 'macros/stickers.html' as stick %} - \ No newline at end of file diff --git a/browser/templates/_types/browse/mobile/_filter/search.html b/browser/templates/_types/browse/mobile/_filter/search.html deleted file mode 100644 index 0f39178..0000000 --- a/browser/templates/_types/browse/mobile/_filter/search.html +++ /dev/null @@ -1,40 +0,0 @@ -{% macro search(current_local_href, search, search_count, hx_select) -%} - -
    - - -
    - {% if search %} - {{search_count}} - {% endif %} -
    -
    -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/browse/mobile/_filter/sort_ul.html b/browser/templates/_types/browse/mobile/_filter/sort_ul.html deleted file mode 100644 index c02de19..0000000 --- a/browser/templates/_types/browse/mobile/_filter/sort_ul.html +++ /dev/null @@ -1,33 +0,0 @@ - - - -{% import 'macros/stickers.html' as stick %} - - - \ No newline at end of file diff --git a/browser/templates/_types/browse/mobile/_filter/stickers.html b/browser/templates/_types/browse/mobile/_filter/stickers.html deleted file mode 100644 index fed0927..0000000 --- a/browser/templates/_types/browse/mobile/_filter/stickers.html +++ /dev/null @@ -1,50 +0,0 @@ -{% import 'macros/stickers.html' as stick %} - - - -{# Optional: hide horizontal scrollbar on mobile while keeping scrollable #} - diff --git a/browser/templates/_types/browse/mobile/_filter/summary.html b/browser/templates/_types/browse/mobile/_filter/summary.html deleted file mode 100644 index 07a86a1..0000000 --- a/browser/templates/_types/browse/mobile/_filter/summary.html +++ /dev/null @@ -1,120 +0,0 @@ -{% import 'macros/stickers.html' as stick %} -{% import 'macros/layout.html' as layout %} - - - - -{% call layout.details('/filter', 'md:hidden') %} - {% call layout.filter_summary("filter-summary-mobile", current_local_href, search, search_count, hx_select) %} -
    - - -
    - {% if sort %} - - {% endif %} - {% if liked %} -
    - - {% if liked_count is not none %} -
    - {{ liked_count }} -
    - {% endif %} -
    - {% endif %} - {% if selected_labels and selected_labels|length %} - - {% endif %} - {% if selected_stickers and selected_stickers|length %} - - {% endif %} -
    - - {% if selected_brands and selected_brands|length %} - - {% endif %} -
    - {% endcall %} -
    - {% include "_types/browse/mobile/_filter/index.html" %} -
    -{% endcall %} diff --git a/browser/templates/_types/calendar/_description.html b/browser/templates/_types/calendar/_description.html deleted file mode 100644 index 0f04f3a..0000000 --- a/browser/templates/_types/calendar/_description.html +++ /dev/null @@ -1,12 +0,0 @@ -{% macro description(calendar, oob=False) %} -
    - {{ calendar.description or ''}} -
    - -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/calendar/_main_panel.html b/browser/templates/_types/calendar/_main_panel.html deleted file mode 100644 index 48ae736..0000000 --- a/browser/templates/_types/calendar/_main_panel.html +++ /dev/null @@ -1,180 +0,0 @@ -
    -
    - - {# Month / year navigation #} - -
    - - {# Calendar grid #} -
    - {# Weekday header: only show on sm+ (desktop/tablet) #} - - - {# On mobile: 1 column; on sm+: 7 columns #} -
    - {% for week in weeks %} - {% for day in week %} -
    -
    -
    - - {{ day.date.strftime('%a') }} - - - {# Clickable day number: goes to day detail view #} - - {{ day.date.day }} - -
    -
    - {# Entries for this day: merged, chronological #} -
    - {# Build a list of entries for this specific day. - month_entries is already sorted by start_at in Python. #} - {% for e in month_entries %} - {% if e.start_at.date() == day.date %} - {# Decide colour: highlight "mine" differently if you want #} - {% set is_mine = (g.user and e.user_id == g.user.id) - or (not g.user and e.session_id == qsession.get('calendar_sid')) %} -
    - - {{ e.name }} - - - {{ (e.state or 'pending')|replace('_', ' ') }} - -
    - {% endif %} - {% endfor %} - -
    -
    - {% endfor %} - {% endfor %} -
    -
    diff --git a/browser/templates/_types/calendar/_nav.html b/browser/templates/_types/calendar/_nav.html deleted file mode 100644 index cd972d2..0000000 --- a/browser/templates/_types/calendar/_nav.html +++ /dev/null @@ -1,12 +0,0 @@ - -{% import 'macros/links.html' as links %} - - -
    Slots
    -
    -{% if g.rights.admin %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - - - -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/calendar/_oob_elements.html b/browser/templates/_types/calendar/_oob_elements.html deleted file mode 100644 index 1447e24..0000000 --- a/browser/templates/_types/calendar/_oob_elements.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "oob_elements.html" %} -{# OOB elements for post admin page #} - - - - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-header-child', 'calendar-header-child', '_types/calendar/header/_header.html')}} - - {% from '_types/post/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} -{% include '_types/calendar/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/calendar/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/calendar/admin/_description.html b/browser/templates/_types/calendar/admin/_description.html deleted file mode 100644 index 7fc96f0..0000000 --- a/browser/templates/_types/calendar/admin/_description.html +++ /dev/null @@ -1,33 +0,0 @@ -
    - {% if calendar.description %} -

    - {{ calendar.description }} -

    - {% else %} -

    - No description yet. -

    - {% endif %} - - -
    - -{% if oob %} - - {% from '_types/calendar/_description.html' import description %} - {{description(calendar, oob=True)}} -{% endif %} - - diff --git a/browser/templates/_types/calendar/admin/_description_edit.html b/browser/templates/_types/calendar/admin/_description_edit.html deleted file mode 100644 index 61c5ff0..0000000 --- a/browser/templates/_types/calendar/admin/_description_edit.html +++ /dev/null @@ -1,43 +0,0 @@ -
    -
    - - - - -
    - - - -
    -
    -
    diff --git a/browser/templates/_types/calendar/admin/_main_panel.html b/browser/templates/_types/calendar/admin/_main_panel.html deleted file mode 100644 index 9696f47..0000000 --- a/browser/templates/_types/calendar/admin/_main_panel.html +++ /dev/null @@ -1,46 +0,0 @@ - -
    - -
    -

    Calendar configuration

    -
    -
    - - {% include '_types/calendar/admin/_description.html' %} -
    - - -
    - -
    - -
    diff --git a/browser/templates/_types/calendar/admin/_nav.html b/browser/templates/_types/calendar/admin/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/calendar/admin/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/calendar/admin/_oob_elements.html b/browser/templates/_types/calendar/admin/_oob_elements.html deleted file mode 100644 index ec6244c..0000000 --- a/browser/templates/_types/calendar/admin/_oob_elements.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for calendar admin page #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('calendar-header-child', 'calendar-admin-header-child', '_types/calendar/admin/header/_header.html')}} - - {% from '_types/calendar/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/calendar/admin/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/calendar/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/calendar/admin/header/_header.html b/browser/templates/_types/calendar/admin/header/_header.html deleted file mode 100644 index d383373..0000000 --- a/browser/templates/_types/calendar/admin/header/_header.html +++ /dev/null @@ -1,14 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='calendar-admin-row', oob=oob) %} - {% call links.link( - url_for('calendars.calendar.admin.admin', slug=post.slug, calendar_slug=calendar.slug), - hx_select_search - ) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/calendar/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/calendar/admin/index.html b/browser/templates/_types/calendar/admin/index.html deleted file mode 100644 index c27d6d2..0000000 --- a/browser/templates/_types/calendar/admin/index.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends '_types/calendar/index.html' %} -{% import 'macros/layout.html' as layout %} - -{% block calendar_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/calendar/admin/header/_header.html' import header_row with context %} - {{ header_row() }} -
    - {% block calendar_admin_header_child %} - {% endblock %} -
    - {% endcall %} -{% endblock %} - - - -{% block _main_mobile_menu %} - {% include '_types/calendar/admin/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/calendar/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/calendar/header/_header.html b/browser/templates/_types/calendar/header/_header.html deleted file mode 100644 index 73fe115..0000000 --- a/browser/templates/_types/calendar/header/_header.html +++ /dev/null @@ -1,23 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='calendar-row', oob=oob) %} - -
    -
    - -
    - {{ calendar.name }} -
    -
    - {% from '_types/calendar/_description.html' import description %} - {{description(calendar)}} -
    -
    - {% call links.desktop_nav() %} - {% include '_types/calendar/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/calendar/index.html b/browser/templates/_types/calendar/index.html deleted file mode 100644 index 802c45c..0000000 --- a/browser/templates/_types/calendar/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/post/index.html' %} - -{% block post_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('calendar-header-child', '_types/calendar/header/_header.html') %} - {% block calendar_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {% include '_types/calendar/_nav.html' %} -{% endblock %} - - - -{% block content %} - {% include '_types/calendar/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/calendars/_calendars_list.html b/browser/templates/_types/calendars/_calendars_list.html deleted file mode 100644 index ace0545..0000000 --- a/browser/templates/_types/calendars/_calendars_list.html +++ /dev/null @@ -1,44 +0,0 @@ - {% for row in calendars %} - {% set cal = row %} -
    -
    - - {% set calendar_href = url_for('calendars.calendar.get', slug=post.slug, calendar_slug=cal.slug)|host%} - -

    {{ cal.name }}

    -

    /{{ cal.slug }}/

    -
    - - - - -
    -
    - {% else %} -

    No calendars yet. Create one above.

    - {% endfor %} diff --git a/browser/templates/_types/calendars/_main_panel.html b/browser/templates/_types/calendars/_main_panel.html deleted file mode 100644 index 9314576..0000000 --- a/browser/templates/_types/calendars/_main_panel.html +++ /dev/null @@ -1,27 +0,0 @@ -
    - {% if has_access('calendars.create_calendar') %} - -
    - -
    - -
    - - -
    - -
    - {% endif %} - -
    - {% include "_types/calendars/_calendars_list.html" %} -
    -
    \ No newline at end of file diff --git a/browser/templates/_types/calendars/_nav.html b/browser/templates/_types/calendars/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/calendars/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/calendars/_oob_elements.html b/browser/templates/_types/calendars/_oob_elements.html deleted file mode 100644 index 6de3bea..0000000 --- a/browser/templates/_types/calendars/_oob_elements.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-admin-header-child', 'calendars-header-child', '_types/calendars/header/_header.html')}} - - {% from '_types/post/admin/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/calendars/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/calendars/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/calendars/header/_header.html b/browser/templates/_types/calendars/header/_header.html deleted file mode 100644 index 3dca4ea..0000000 --- a/browser/templates/_types/calendars/header/_header.html +++ /dev/null @@ -1,12 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='calendars-row', oob=oob) %} - - -
    Calendars
    -
    - {% call links.desktop_nav() %} - {% include '_types/calendars/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/calendars/index.html b/browser/templates/_types/calendars/index.html deleted file mode 100644 index a4e909a..0000000 --- a/browser/templates/_types/calendars/index.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends '_types/post/admin/index.html' %} - - - -{% block post_admin_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('calendars-header-child', '_types/calendars/header/_header.html') %} - {% block calendars_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {% include '_types/calendars/_nav.html' %} -{% endblock %} - - - -{% block content %} - {% include '_types/calendars/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/cart/_main_panel.html b/browser/templates/_types/cart/_main_panel.html deleted file mode 100644 index 3872387..0000000 --- a/browser/templates/_types/cart/_main_panel.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - {% from '_types/cart/_cart.html' import show_cart with context %} - {{ show_cart() }} -
    \ No newline at end of file diff --git a/browser/templates/_types/cart/_mini.html b/browser/templates/_types/cart/_mini.html deleted file mode 100644 index a8255e4..0000000 --- a/browser/templates/_types/cart/_mini.html +++ /dev/null @@ -1,45 +0,0 @@ -{% macro mini(oob=False, count=None) %} -
    - {# cart_count is set by the context processor in all apps. - Cart app computes it from g.cart + calendar_cart_entries; - other apps get it from the cart internal API. - count param allows explicit override when macro is imported without context. #} - {% if count is not none %} - {% set _count = count %} - {% elif cart_count is defined and cart_count is not none %} - {% set _count = cart_count %} - {% elif cart is defined and cart is not none %} - {% set _count = (cart | sum(attribute="quantity")) + ((calendar_cart_entries | length) if calendar_cart_entries else 0) %} - {% else %} - {% set _count = 0 %} - {% endif %} - - {% if _count == 0 %} -
    - - - -
    - {% else %} - - - - - - {{ _count }} - - - {% endif %} -
    -{% endmacro %} diff --git a/browser/templates/_types/cart/_nav.html b/browser/templates/_types/cart/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/cart/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/cart/_oob_elements.html b/browser/templates/_types/cart/_oob_elements.html deleted file mode 100644 index 6e54a8b..0000000 --- a/browser/templates/_types/cart/_oob_elements.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-header-child', 'cart-header-child', '_types/cart/header/_header.html')}} - - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/cart/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/cart/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/cart/checkout_error.html b/browser/templates/_types/cart/checkout_error.html deleted file mode 100644 index a15b1e9..0000000 --- a/browser/templates/_types/cart/checkout_error.html +++ /dev/null @@ -1,38 +0,0 @@ -{% extends '_types/root/index.html' %} - -{% block filter %} -
    -

    - Checkout error -

    -

    - We tried to start your payment with SumUp but hit a problem. -

    -
    -{% endblock %} - -{% block content %} -
    -
    -

    Something went wrong.

    -

    - {{ error or "Unexpected error while creating the hosted checkout session." }} -

    - {% if order %} -

    - Order ID: #{{ order.id }} -

    - {% endif %} -
    - -
    - - - Back to cart - -
    -
    -{% endblock %} diff --git a/browser/templates/_types/cart/checkout_return.html b/browser/templates/_types/cart/checkout_return.html deleted file mode 100644 index b08a09d..0000000 --- a/browser/templates/_types/cart/checkout_return.html +++ /dev/null @@ -1,68 +0,0 @@ -{% extends '_types/root/index.html' %} - -{% block filter %} -
    -
    -

    - {% if order.status == 'paid' %} - Payment received - {% elif order.status == 'failed' %} - Payment failed - {% elif order.status == 'missing' %} - Order not found - {% else %} - Payment status: {{ order.status|default('pending')|capitalize }} - {% endif %} -

    -

    - {% if order.status == 'paid' %} - Thanks for your order. - {% elif order.status == 'failed' %} - Something went wrong while processing your payment. You can try again below. - {% elif order.status == 'missing' %} - We couldn't find that order – it may have expired or never been created. - {% else %} - We’re still waiting for a final confirmation from SumUp. - {% endif %} -

    -
    - -
    -{% endblock %} - -{% block aside %} - {# no aside content for now #} -{% endblock %} - -{% block content %} -
    - {% if order %} -
    - {% include '_types/order/_summary.html' %} -
    - {% else %} -
    - We couldn’t find that order. If you reached this page from an old link, please start a new order. -
    - {% endif %} - {% include '_types/order/_items.html' %} - {% include '_types/order/_calendar_items.html' %} - {% include '_types/order/_ticket_items.html' %} - - {% if order.status == 'failed' and order %} -
    -

    Your payment was not completed.

    -

    - You can go back to your cart and try checkout again. If the problem persists, - please contact us and mention order #{{ order.id }}. -

    -
    - {% elif order.status == 'paid' %} -
    -

    All done!

    -

    We’ll start processing your order shortly.

    -
    - {% endif %} - -
    -{% endblock %} diff --git a/browser/templates/_types/cart/header/_header.html b/browser/templates/_types/cart/header/_header.html deleted file mode 100644 index b5d913d..0000000 --- a/browser/templates/_types/cart/header/_header.html +++ /dev/null @@ -1,12 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='cart-row', oob=oob) %} - {% call links.link(cart_url('/'), hx_select_search ) %} - -

    cart

    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/cart/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/cart/index.html b/browser/templates/_types/cart/index.html deleted file mode 100644 index 78570d9..0000000 --- a/browser/templates/_types/cart/index.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends '_types/root/_index.html' %} - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('cart-header-child', '_types/cart/header/_header.html') %} - {% block cart_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} -{% include '_types/cart/_nav.html' %} -{% endblock %} - - -{% block aside %} -{% endblock %} - -{% block content %} - {% include '_types/cart/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/day/_add.html b/browser/templates/_types/day/_add.html deleted file mode 100644 index df02331..0000000 --- a/browser/templates/_types/day/_add.html +++ /dev/null @@ -1,301 +0,0 @@ -
    - -
    - - - {# 1) Entry name #} - - - {# 2) Slot picker for this weekday (required) #} - {% if day_slots %} - - {% else %} -
    - No slots defined for this day. -
    - {% endif %} - - {# 3) Time entry + cost display #} -
    - {# Time inputs — hidden until a flexible slot is selected #} - - - {# Cost display — shown when a slot is selected #} - - - {# Summary of fixed times — shown for non-flexible slots #} - -
    - - {# Ticket Configuration #} -
    -

    Ticket Configuration (Optional)

    -
    -
    - - -
    -
    - - -
    -
    -
    - -
    - - - -
    -
    - -{# --- Behaviour: lock / unlock times based on slot.flexible --- #} - \ No newline at end of file diff --git a/browser/templates/_types/day/_add_button.html b/browser/templates/_types/day/_add_button.html deleted file mode 100644 index 46726e5..0000000 --- a/browser/templates/_types/day/_add_button.html +++ /dev/null @@ -1,17 +0,0 @@ - - diff --git a/browser/templates/_types/day/_main_panel.html b/browser/templates/_types/day/_main_panel.html deleted file mode 100644 index 0eea6f0..0000000 --- a/browser/templates/_types/day/_main_panel.html +++ /dev/null @@ -1,28 +0,0 @@ -
    - - - - - - - - - - - - - {% for entry in day_entries %} - {% include '_types/day/_row.html' %} - {% else %} - - {% endfor %} - - - -
    NameSlot/TimeStateCostTicketsActions
    No entries yet.
    - -
    - {% include '_types/day/_add_button.html' %} -
    - -
    diff --git a/browser/templates/_types/day/_nav.html b/browser/templates/_types/day/_nav.html deleted file mode 100644 index 889e3ce..0000000 --- a/browser/templates/_types/day/_nav.html +++ /dev/null @@ -1,46 +0,0 @@ -{% import 'macros/links.html' as links %} - -{# Confirmed Entries - vertical on mobile, horizontal with arrows on desktop #} -
    - {% from 'macros/scrolling_menu.html' import scrolling_menu with context %} - {% call(entry) scrolling_menu('day-entries-container', confirmed_entries) %} - -
    -
    {{ entry.name }}
    -
    - {{ entry.start_at.strftime('%H:%M') }} - {% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %} -
    -
    -
    - {% endcall %} -
    - -{# Container nav (market links, etc.) — via fragments #} -{% if container_nav_html %} - {{ container_nav_html | safe }} -{% endif %} - -{# Admin link #} -{% if g.rights.admin %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{admin_nav_item( - url_for( - 'calendars.calendar.day.admin.admin', - slug=post.slug, - calendar_slug=calendar.slug, - year=day_date.year, - month=day_date.month, - day=day_date.day - ) - )}} -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/day/_oob_elements.html b/browser/templates/_types/day/_oob_elements.html deleted file mode 100644 index 812e6b0..0000000 --- a/browser/templates/_types/day/_oob_elements.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "oob_elements.html" %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('calendar-header-child', 'day-header-child', '_types/day/header/_header.html')}} - - {% from '_types/calendar/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/day/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/day/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/day/_row.html b/browser/templates/_types/day/_row.html deleted file mode 100644 index 87aead7..0000000 --- a/browser/templates/_types/day/_row.html +++ /dev/null @@ -1,76 +0,0 @@ -{% import 'macros/links.html' as links %} - - -
    - {% call links.link( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.get', - slug=post.slug, - calendar_slug=calendar.slug, - day=day, - month=month, - year=year, - entry_id=entry.id - ), - hx_select_search, - aclass=styles.pill - ) %} - {{ entry.name }} - {% endcall %} -
    - - - {% if entry.slot %} -
    - {% call links.link( - url_for( - 'calendars.calendar.slots.slot.get', - slug=post.slug, - calendar_slug=calendar.slug, - slot_id=entry.slot.id - ), - hx_select_search, - aclass=styles.pill - ) %} - {{ entry.slot.name }} - {% endcall %} - - ({{ entry.slot.time_start.strftime('%H:%M') }}{% if entry.slot.time_end %} → {{ entry.slot.time_end.strftime('%H:%M') }}{% endif %}) - -
    - {% else %} -
    - {% include '_types/entry/_times.html' %} -
    - {% endif %} - - -
    - {% include '_types/entry/_state.html' %} -
    - - - - £{{ ('%.2f'|format(entry.cost)) if entry.cost is not none else '0.00' }} - - - - {% if entry.ticket_price is not none %} -
    -
    £{{ ('%.2f'|format(entry.ticket_price)) }}
    -
    - {% if entry.ticket_count is not none %} - {{ entry.ticket_count }} tickets - {% else %} - Unlimited - {% endif %} -
    -
    - {% else %} - No tickets - {% endif %} - - - {% include '_types/entry/_options.html' %} - - \ No newline at end of file diff --git a/browser/templates/_types/day/admin/_main_panel.html b/browser/templates/_types/day/admin/_main_panel.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/day/admin/_main_panel.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/day/admin/_nav.html b/browser/templates/_types/day/admin/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/day/admin/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/day/admin/_nav_entries_oob.html b/browser/templates/_types/day/admin/_nav_entries_oob.html deleted file mode 100644 index d72fc90..0000000 --- a/browser/templates/_types/day/admin/_nav_entries_oob.html +++ /dev/null @@ -1,34 +0,0 @@ -{# OOB swap for day confirmed entries nav when entries are edited #} -{% import 'macros/links.html' as links %} - -{# Confirmed Entries - vertical on mobile, horizontal with arrows on desktop #} -{% if confirmed_entries %} -
    - {% from 'macros/scrolling_menu.html' import scrolling_menu with context %} - {% call(entry) scrolling_menu('day-entries-container', confirmed_entries) %} - -
    -
    {{ entry.name }}
    -
    - {{ entry.start_at.strftime('%H:%M') }} - {% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %} -
    -
    -
    - {% endcall %} -
    -{% else %} - {# Empty placeholder to remove nav entries when none are confirmed #} -
    -{% endif %} diff --git a/browser/templates/_types/day/admin/_oob_elements.html b/browser/templates/_types/day/admin/_oob_elements.html deleted file mode 100644 index 20986bf..0000000 --- a/browser/templates/_types/day/admin/_oob_elements.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for calendar admin page #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('day-header-child', 'day-admin-header-child', '_types/day/admin/header/_header.html')}} - - {% from '_types/calendar/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/day/admin/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/day/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/day/admin/header/_header.html b/browser/templates/_types/day/admin/header/_header.html deleted file mode 100644 index b5f583c..0000000 --- a/browser/templates/_types/day/admin/header/_header.html +++ /dev/null @@ -1,21 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='day-admin-row', oob=oob) %} - {% call links.link( - url_for( - 'calendars.calendar.day.admin.admin', - slug=post.slug, - calendar_slug=calendar.slug, - year=day_date.year, - month=day_date.month, - day=day_date.day - ), - hx_select_search - ) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/day/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/day/admin/index.html b/browser/templates/_types/day/admin/index.html deleted file mode 100644 index f4f37b5..0000000 --- a/browser/templates/_types/day/admin/index.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends '_types/day/index.html' %} -{% import 'macros/layout.html' as layout %} -{% import 'macros/links.html' as links %} - - -{% block day_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/day/admin/header/_header.html' import header_row with context %} - {{ header_row() }} -
    - {% block day_admin_header_child %} - {% endblock %} -
    - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/day/admin/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/day/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/day/header/_header.html b/browser/templates/_types/day/header/_header.html deleted file mode 100644 index e53a815..0000000 --- a/browser/templates/_types/day/header/_header.html +++ /dev/null @@ -1,27 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='day-row', oob=oob) %} - {% call links.link( - url_for( - 'calendars.calendar.day.show_day', - slug=post.slug, - calendar_slug=calendar.slug, - year=day_date.year, - month=day_date.month, - day=day_date.day - ), - hx_select_search, - ) %} -
    - - {{ day_date.strftime('%A %d %B %Y') }} -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/day/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/day/index.html b/browser/templates/_types/day/index.html deleted file mode 100644 index 655ee55..0000000 --- a/browser/templates/_types/day/index.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends '_types/calendar/index.html' %} - -{% block calendar_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('day-header-child', '_types/day/header/_header.html') %} - {% block day_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/day/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include '_types/day/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/entry/_edit.html b/browser/templates/_types/entry/_edit.html deleted file mode 100644 index 628f239..0000000 --- a/browser/templates/_types/entry/_edit.html +++ /dev/null @@ -1,334 +0,0 @@ -
    - - -
    - -
    - - - - -
    - - -
    - - -
    - - {% if day_slots %} - - {% else %} -
    - No slots defined for this day. -
    - {% endif %} -
    - - - - - - - - - - - -
    -

    Ticket Configuration

    - -
    -
    - - -

    Leave empty if no tickets needed

    -
    - -
    - - -

    Leave empty for unlimited

    -
    -
    -
    - -
    - - - - - - - -
    - -
    -
    - -{# --- Behaviour: lock / unlock times based on slot.flexible --- #} - \ No newline at end of file diff --git a/browser/templates/_types/entry/_main_panel.html b/browser/templates/_types/entry/_main_panel.html deleted file mode 100644 index 403605b..0000000 --- a/browser/templates/_types/entry/_main_panel.html +++ /dev/null @@ -1,126 +0,0 @@ -
    - - -
    -
    - Name -
    -
    - {{ entry.name }} -
    -
    - - -
    -
    - Slot -
    -
    - {% if entry.slot %} - - {{ entry.slot.name }} - - {% if entry.slot.flexible %} - (flexible) - {% else %} - (fixed) - {% endif %} - {% else %} - No slot assigned - {% endif %} -
    -
    - - -
    -
    - Time Period -
    -
    - {{ entry.start_at.strftime('%H:%M') }} - {% if entry.end_at %} - – {{ entry.end_at.strftime('%H:%M') }} - {% else %} - – open-ended - {% endif %} -
    -
    - - -
    -
    - State -
    -
    -
    - {% include '_types/entry/_state.html' %} -
    -
    -
    - - -
    -
    - Cost -
    -
    - - £{{ ('%.2f'|format(entry.cost)) if entry.cost is not none else '0.00' }} - -
    -
    - - -
    -
    - Tickets -
    -
    - {% include '_types/entry/_tickets.html' %} -
    -
    - - -
    -
    - Date -
    -
    - {{ entry.start_at.strftime('%A, %B %d, %Y') }} -
    -
    - - -
    -
    - Associated Posts -
    -
    - {% include '_types/entry/_posts.html' %} -
    -
    - - -
    - {% include '_types/entry/_options.html' %} - - -
    - -
    \ No newline at end of file diff --git a/browser/templates/_types/entry/_nav.html b/browser/templates/_types/entry/_nav.html deleted file mode 100644 index e77d573..0000000 --- a/browser/templates/_types/entry/_nav.html +++ /dev/null @@ -1,45 +0,0 @@ -{% import 'macros/links.html' as links %} - -{# Associated Posts - vertical on mobile, horizontal with arrows on desktop #} -
    - {% from 'macros/scrolling_menu.html' import scrolling_menu with context %} - {% call(entry_post) scrolling_menu('entry-posts-container', entry_posts) %} - - {% if entry_post.feature_image %} - {{ entry_post.title }} - {% else %} -
    - {% endif %} -
    -
    {{ entry_post.title }}
    -
    -
    - {% endcall %} -
    - -{# Container nav (market links, etc.) — via fragments #} -{% if container_nav_html %} - {{ container_nav_html | safe }} -{% endif %} - -{# Admin link #} -{% if g.rights.admin %} - - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{admin_nav_item( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.admin.admin', - slug=post.slug, - calendar_slug=calendar.slug, - day=day, - month=month, - year=year, - entry_id=entry.id - ) - )}} -{% endif %} diff --git a/browser/templates/_types/entry/_oob_elements.html b/browser/templates/_types/entry/_oob_elements.html deleted file mode 100644 index 8981fa1..0000000 --- a/browser/templates/_types/entry/_oob_elements.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "oob_elements.html" %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('day-header-child', 'entry-header-child', '_types/entry/header/_header.html')}} - - {% from '_types/day/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/entry/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/entry/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/entry/_optioned.html b/browser/templates/_types/entry/_optioned.html deleted file mode 100644 index ba23391..0000000 --- a/browser/templates/_types/entry/_optioned.html +++ /dev/null @@ -1,9 +0,0 @@ - -{% include '_types/entry/_options.html' %} -
    - {% include '_types/entry/_title.html' %} -
    - -
    - {% include '_types/entry/_state.html' %} -
    \ No newline at end of file diff --git a/browser/templates/_types/entry/_options.html b/browser/templates/_types/entry/_options.html deleted file mode 100644 index 6c42952..0000000 --- a/browser/templates/_types/entry/_options.html +++ /dev/null @@ -1,98 +0,0 @@ -
    - {% if entry.state == 'provisional' %} -
    - - -
    -
    - - -
    - {% endif %} - {% if entry.state == 'confirmed' %} -
    - - - -
    - {% endif %} -
    \ No newline at end of file diff --git a/browser/templates/_types/entry/_post_search_results.html b/browser/templates/_types/entry/_post_search_results.html deleted file mode 100644 index 2b19821..0000000 --- a/browser/templates/_types/entry/_post_search_results.html +++ /dev/null @@ -1,107 +0,0 @@ -{% for search_post in search_posts %} -
    - - - -
    -{% endfor %} - -{# Infinite scroll sentinel #} -{% if page < total_pages|int %} - -{% elif search_posts %} -
    - End of results -
    -{% endif %} diff --git a/browser/templates/_types/entry/_posts.html b/browser/templates/_types/entry/_posts.html deleted file mode 100644 index 9a88936..0000000 --- a/browser/templates/_types/entry/_posts.html +++ /dev/null @@ -1,74 +0,0 @@ - -
    - {% if entry_posts %} -
    - {% for entry_post in entry_posts %} -
    - {% if entry_post.feature_image %} - {{ entry_post.title }} - {% else %} -
    - {% endif %} - {{ entry_post.title }} - -
    - {% endfor %} -
    - {% else %} -

    No posts associated

    - {% endif %} - - -
    - - -
    -
    -
    diff --git a/browser/templates/_types/entry/_state.html b/browser/templates/_types/entry/_state.html deleted file mode 100644 index b67254a..0000000 --- a/browser/templates/_types/entry/_state.html +++ /dev/null @@ -1,15 +0,0 @@ -{% if entry.state %} - - {{ entry.state|capitalize }} - - {% endif %} \ No newline at end of file diff --git a/browser/templates/_types/entry/_tickets.html b/browser/templates/_types/entry/_tickets.html deleted file mode 100644 index ee5dc38..0000000 --- a/browser/templates/_types/entry/_tickets.html +++ /dev/null @@ -1,105 +0,0 @@ -{% if entry.ticket_price is not none %} - {# Tickets are configured #} -
    -
    - Price: - - £{{ ('%.2f'|format(entry.ticket_price)) }} - -
    -
    - Available: - - {% if entry.ticket_count is not none %} - {{ entry.ticket_count }} tickets - {% else %} - Unlimited - {% endif %} - -
    - -
    -{% else %} - {# No tickets configured #} -
    - No tickets configured - -
    -{% endif %} - -{# Ticket configuration form (hidden by default) #} -
    - -
    - - -
    - -
    - - -
    - -
    - - -
    -
    diff --git a/browser/templates/_types/entry/_times.html b/browser/templates/_types/entry/_times.html deleted file mode 100644 index 3543fe4..0000000 --- a/browser/templates/_types/entry/_times.html +++ /dev/null @@ -1,5 +0,0 @@ -{% from 'macros/date.html' import t %} -
    - {{ t(entry.start_at) }} - {% if entry.end_at %} → {{ t(entry.end_at) }}{% endif %} -
    \ No newline at end of file diff --git a/browser/templates/_types/entry/_title.html b/browser/templates/_types/entry/_title.html deleted file mode 100644 index 3c1dc63..0000000 --- a/browser/templates/_types/entry/_title.html +++ /dev/null @@ -1,3 +0,0 @@ - - {{ entry.name }} - {% include '_types/entry/_state.html' %} diff --git a/browser/templates/_types/entry/admin/_main_panel.html b/browser/templates/_types/entry/admin/_main_panel.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/entry/admin/_main_panel.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/entry/admin/_nav.html b/browser/templates/_types/entry/admin/_nav.html deleted file mode 100644 index ff658d3..0000000 --- a/browser/templates/_types/entry/admin/_nav.html +++ /dev/null @@ -1,18 +0,0 @@ -{% import 'macros/links.html' as links %} -{% call links.link( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.ticket_types.get', - slug=post.slug, - calendar_slug=calendar.slug, - entry_id=entry.id, - year=year, - month=month, - day=day - ), - hx_select_search, - select_colours, - True, - aclass=styles.nav_button, -)%} - ticket_types -{% endcall %} diff --git a/browser/templates/_types/entry/admin/_nav_posts_oob.html b/browser/templates/_types/entry/admin/_nav_posts_oob.html deleted file mode 100644 index 25ef1f1..0000000 --- a/browser/templates/_types/entry/admin/_nav_posts_oob.html +++ /dev/null @@ -1,31 +0,0 @@ -{# OOB swap for entry posts nav when posts are associated/disassociated #} -{% import 'macros/links.html' as links %} - -{# Associated Posts - vertical on mobile, horizontal with arrows on desktop #} -{% if entry_posts %} -
    - {% from 'macros/scrolling_menu.html' import scrolling_menu with context %} - {% call(entry_post) scrolling_menu('entry-posts-container', entry_posts) %} - - {% if entry_post.feature_image %} - {{ entry_post.title }} - {% else %} -
    - {% endif %} -
    -
    {{ entry_post.title }}
    -
    -
    - {% endcall %} -
    -{% else %} - {# Empty placeholder to remove nav posts when all are disassociated #} -
    -{% endif %} diff --git a/browser/templates/_types/entry/admin/_oob_elements.html b/browser/templates/_types/entry/admin/_oob_elements.html deleted file mode 100644 index bcf2255..0000000 --- a/browser/templates/_types/entry/admin/_oob_elements.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for calendar admin page #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('entry-header-child', 'entry-admin-header-child', '_types/entry/admin/header/_header.html')}} - - {% from '_types/entry/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/entry/admin/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/entry/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/entry/admin/header/_header.html b/browser/templates/_types/entry/admin/header/_header.html deleted file mode 100644 index ea06833..0000000 --- a/browser/templates/_types/entry/admin/header/_header.html +++ /dev/null @@ -1,22 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='entry-admin-row', oob=oob) %} - {% call links.link( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.admin.admin', - slug=post.slug, - calendar_slug=calendar.slug, - day=day, - month=month, - year=year, - entry_id=entry.id - ), - hx_select_search - ) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/entry/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/entry/admin/index.html b/browser/templates/_types/entry/admin/index.html deleted file mode 100644 index caa100c..0000000 --- a/browser/templates/_types/entry/admin/index.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends '_types/entry/index.html' %} -{% import 'macros/layout.html' as layout %} -{% import 'macros/links.html' as links %} - - -{% block entry_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/entry/admin/header/_header.html' import header_row with context %} - {{ header_row() }} -
    - {% block entry_admin_header_child %} - {% endblock %} -
    - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/entry/admin/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/entry/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/entry/header/_header.html b/browser/templates/_types/entry/header/_header.html deleted file mode 100644 index 6d0680c..0000000 --- a/browser/templates/_types/entry/header/_header.html +++ /dev/null @@ -1,28 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='entry-row', oob=oob) %} - {% call links.link( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.get', - slug=post.slug, - calendar_slug=calendar.slug, - day=day, - month=month, - year=year, - entry_id=entry.id - ), - hx_select_search, - ) %} -
    - {% include '_types/entry/_title.html' %} - {% include '_types/entry/_times.html' %} -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/entry/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/entry/index.html b/browser/templates/_types/entry/index.html deleted file mode 100644 index a980f46..0000000 --- a/browser/templates/_types/entry/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/day/index.html' %} - -{% block day_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('entry-header-child', '_types/entry/header/_header.html') %} - {% block entry_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {% include '_types/entry/_nav.html' %} -{% endblock %} - - - -{% block content %} -{% include '_types/entry/_main_panel.html' %} -{% endblock %} \ No newline at end of file diff --git a/browser/templates/_types/home/_oob_elements.html b/browser/templates/_types/home/_oob_elements.html deleted file mode 100644 index 03a4f17..0000000 --- a/browser/templates/_types/home/_oob_elements.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{% block oobs %} - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block content %} -
    -
    - {% if post.html %} - {{post.html|safe}} - {% endif %} -
    -
    -{% endblock %} diff --git a/browser/templates/_types/home/index.html b/browser/templates/_types/home/index.html deleted file mode 100644 index e5df191..0000000 --- a/browser/templates/_types/home/index.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends '_types/root/_index.html' %} -{% block meta %} - {% include '_types/post/_meta.html' %} -{% endblock %} - -{% block content %} -
    -
    - {% if post.html %} - {{post.html|safe}} - {% endif %} -
    -
    -{% endblock %} diff --git a/browser/templates/_types/market/_admin.html b/browser/templates/_types/market/_admin.html deleted file mode 100644 index 0b09927..0000000 --- a/browser/templates/_types/market/_admin.html +++ /dev/null @@ -1,7 +0,0 @@ -{% import "macros/links.html" as links %} -{% if g.rights.admin %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{admin_nav_item( - url_for('market.admin.admin') - )}} -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/market/_main_panel.html b/browser/templates/_types/market/_main_panel.html deleted file mode 100644 index 87bb965..0000000 --- a/browser/templates/_types/market/_main_panel.html +++ /dev/null @@ -1,23 +0,0 @@ -{# Main panel fragment for HTMX navigation - market landing page #} -
    - {% if post.custom_excerpt %} -
    - {{post.custom_excerpt|safe}} -
    - {% endif %} - {% if post.feature_image %} -
    - -
    - {% endif %} -
    - {% if post.html %} - {{post.html|safe}} - {% endif %} -
    -
    -
    diff --git a/browser/templates/_types/market/_oob_elements.html b/browser/templates/_types/market/_oob_elements.html deleted file mode 100644 index b37eea0..0000000 --- a/browser/templates/_types/market/_oob_elements.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-header-child', 'market-header-child', '_types/market/header/_header.html')}} - - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/market/mobile/_nav_panel.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/market/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/market/_title.html b/browser/templates/_types/market/_title.html deleted file mode 100644 index 6e8024b..0000000 --- a/browser/templates/_types/market/_title.html +++ /dev/null @@ -1,17 +0,0 @@ -
    -
    - - {{ market_title }} -
    -
    -
    - {{top_slug or ''}} -
    - {% if sub_slug %} -
    - {{sub_slug}} -
    - {% endif %} -
    -
    \ No newline at end of file diff --git a/browser/templates/_types/market/admin/_main_panel.html b/browser/templates/_types/market/admin/_main_panel.html deleted file mode 100644 index a354325..0000000 --- a/browser/templates/_types/market/admin/_main_panel.html +++ /dev/null @@ -1 +0,0 @@ -market admin \ No newline at end of file diff --git a/browser/templates/_types/market/admin/_nav.html b/browser/templates/_types/market/admin/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/market/admin/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/market/admin/_oob_elements.html b/browser/templates/_types/market/admin/_oob_elements.html deleted file mode 100644 index 9b306fd..0000000 --- a/browser/templates/_types/market/admin/_oob_elements.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('market-header-child', 'market-admin-header-child', '_types/market/admin/header/_header.html')}} - - {% from '_types/market/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/market/admin/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/market/admin/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/market/admin/header/_header.html b/browser/templates/_types/market/admin/header/_header.html deleted file mode 100644 index 950eefc..0000000 --- a/browser/templates/_types/market/admin/header/_header.html +++ /dev/null @@ -1,11 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='market-admin-row', oob=oob) %} - {% call links.link(url_for('market.admin.admin'), hx_select_search) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/market/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/market/admin/index.html b/browser/templates/_types/market/admin/index.html deleted file mode 100644 index 4798c46..0000000 --- a/browser/templates/_types/market/admin/index.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends '_types/market/index.html' %} - - -{% block market_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('market-admin-header-child', '_types/market/admin/header/_header.html') %} - {% block market_admin_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/market/admin/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include '_types/market/admin/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/market/desktop/_nav.html b/browser/templates/_types/market/desktop/_nav.html deleted file mode 100644 index d4de6e6..0000000 --- a/browser/templates/_types/market/desktop/_nav.html +++ /dev/null @@ -1,38 +0,0 @@ - - diff --git a/browser/templates/_types/market/header/_header.html b/browser/templates/_types/market/header/_header.html deleted file mode 100644 index 2d92286..0000000 --- a/browser/templates/_types/market/header/_header.html +++ /dev/null @@ -1,11 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='market-row', oob=oob) %} - {% call links.link(url_for('market.browse.home'), hx_select_search ) %} - {% include '_types/market/_title.html' %} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/market/desktop/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/market/index.html b/browser/templates/_types/market/index.html deleted file mode 100644 index df1ec4c..0000000 --- a/browser/templates/_types/market/index.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends '_types/root/_index.html' %} - - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('market-header-child', '_types/market/header/_header.html') %} - {% block market_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {% include '_types/market/mobile/_nav_panel.html' %} -{% endblock %} - - - -{% block aside %} -{# No aside on landing page #} -{% endblock %} - -{% block content %} - {% include "_types/market/_main_panel.html" %} -{% endblock %} diff --git a/browser/templates/_types/market/mobile/_nav_panel.html b/browser/templates/_types/market/mobile/_nav_panel.html deleted file mode 100644 index 65a9685..0000000 --- a/browser/templates/_types/market/mobile/_nav_panel.html +++ /dev/null @@ -1,110 +0,0 @@ -{% from 'macros/glyphs.html' import opener %} -
    -
    - {% set all_href = (url_for('market.browse.browse_all') ~ qs)|host %} - {% set all_active = (category_label == 'All Products') %} - -
    - All -
    -
    - {% for cat, data in categories.items() %} -
    - - - {% set href = (url_for('market.browse.browse_top', top_slug=data.slug) ~ qs)|host %} - - -
    {{ cat }}
    -
    {{ data.count }}
    -
    - {{ opener('cat')}} - -
    - -
    - {% if data.subs %} - -
    - -
    - {% for sub in data.subs %} - {% set href = (url_for('market.browse.browse_sub', top_slug=data.slug, sub_slug=sub.slug) ~qs)|host%} - {% if top_slug==(data.slug | lower) and sub_slug == sub.slug %} - -
    {{ sub.html_label or sub.name }}
    -
    {{ sub.count }}
    -
    - {% endif %} - {% endfor %} - {% for sub in data.subs %} - {% if not (top_slug==(data.slug | lower) and sub_slug == sub.slug) %} - {% set href = (url_for('market.browse.browse_sub', top_slug=data.slug, sub_slug=sub.slug) ~ qs)|host%} - -
    {{ sub.name }}
    -
    {{ sub.count }}
    -
    - {% endif %} - {% endfor %} -
    -
    - {% else %} - {% set href = (url_for('market.browse.browse_top', top_slug=data.slug) ~ qs)|host%} - View all - {% endif %} -
    -
    - {% endfor %} - {% include '_types/market/_admin.html' %} -
    -
    diff --git a/browser/templates/_types/market/mobile/menu.html b/browser/templates/_types/market/mobile/menu.html deleted file mode 100644 index 145b551..0000000 --- a/browser/templates/_types/market/mobile/menu.html +++ /dev/null @@ -1,6 +0,0 @@ -{% extends 'mobile/menu.html' %} -{% block menu %} - {% block mobile_menu %} - {% endblock %} - {% include '_types/market/mobile/_nav_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/menu_items/_form.html b/browser/templates/_types/menu_items/_form.html deleted file mode 100644 index 8eed1c0..0000000 --- a/browser/templates/_types/menu_items/_form.html +++ /dev/null @@ -1,125 +0,0 @@ - - - diff --git a/browser/templates/_types/menu_items/_list.html b/browser/templates/_types/menu_items/_list.html deleted file mode 100644 index 3892f07..0000000 --- a/browser/templates/_types/menu_items/_list.html +++ /dev/null @@ -1,68 +0,0 @@ -
    - {% if menu_items %} -
    - {% for item in menu_items %} -
    - {# Drag handle #} -
    - -
    - - {# Page image #} - {% if item.feature_image %} - {{ item.label }} - {% else %} -
    - {% endif %} - - {# Page title #} -
    -
    {{ item.label }}
    -
    {{ item.slug }}
    -
    - - {# Sort order #} -
    - Order: {{ item.sort_order }} -
    - - {# Actions #} -
    - - -
    -
    - {% endfor %} -
    - {% else %} -
    - -

    No menu items yet. Add one to get started!

    -
    - {% endif %} -
    diff --git a/browser/templates/_types/menu_items/_main_panel.html b/browser/templates/_types/menu_items/_main_panel.html deleted file mode 100644 index bc502dd..0000000 --- a/browser/templates/_types/menu_items/_main_panel.html +++ /dev/null @@ -1,20 +0,0 @@ -
    -
    - -
    - - {# Form container #} - - - {# Menu items list #} - -
    diff --git a/browser/templates/_types/menu_items/_nav_oob.html b/browser/templates/_types/menu_items/_nav_oob.html deleted file mode 100644 index e25189a..0000000 --- a/browser/templates/_types/menu_items/_nav_oob.html +++ /dev/null @@ -1,31 +0,0 @@ -{% set _app_slugs = {'cart': cart_url('/')} %} -{% set _first_seg = request.path.strip('/').split('/')[0] %} - diff --git a/browser/templates/_types/menu_items/_oob_elements.html b/browser/templates/_types/menu_items/_oob_elements.html deleted file mode 100644 index c242593..0000000 --- a/browser/templates/_types/menu_items/_oob_elements.html +++ /dev/null @@ -1,23 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-settings-header-child', 'menu_items-header-child', '_types/menu_items/header/_header.html')}} - - {% from '_types/root/settings/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} - -{% endblock %} - -{% block mobile_menu %} -{#% include '_types/root/settings/_nav.html' %#} -{% endblock %} - -{% block content %} - {% include '_types/menu_items/_main_panel.html' %} -{% endblock %} - diff --git a/browser/templates/_types/menu_items/_page_search_results.html b/browser/templates/_types/menu_items/_page_search_results.html deleted file mode 100644 index df36d0d..0000000 --- a/browser/templates/_types/menu_items/_page_search_results.html +++ /dev/null @@ -1,44 +0,0 @@ -{% if pages %} -
    - {% for post in pages %} -
    - - {# Page image #} - {% if post.feature_image %} - {{ post.title }} - {% else %} -
    - {% endif %} - - {# Page info #} -
    -
    {{ post.title }}
    -
    {{ post.slug }}
    -
    -
    - {% endfor %} - - {# Infinite scroll sentinel #} - {% if has_more %} -
    - Loading more... -
    - {% endif %} -
    -{% elif query %} -
    - No pages found matching "{{ query }}" -
    -{% endif %} diff --git a/browser/templates/_types/menu_items/header/_header.html b/browser/templates/_types/menu_items/header/_header.html deleted file mode 100644 index 55a18d6..0000000 --- a/browser/templates/_types/menu_items/header/_header.html +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='menu_items-row', oob=oob) %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{ admin_nav_item(url_for('menu_items.list_menu_items'), 'bars', 'Menu Items', select_colours, aclass='') }} - {% call links.desktop_nav() %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/menu_items/index.html b/browser/templates/_types/menu_items/index.html deleted file mode 100644 index 5bcf7da..0000000 --- a/browser/templates/_types/menu_items/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/root/settings/index.html' %} - -{% block root_settings_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/menu_items/header/_header.html' import header_row with context %} - {{ header_row() }} - - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/menu_items/_main_panel.html' %} -{% endblock %} - -{% block _main_mobile_menu %} -{% endblock %} diff --git a/browser/templates/_types/order/_calendar_items.html b/browser/templates/_types/order/_calendar_items.html deleted file mode 100644 index 019f048..0000000 --- a/browser/templates/_types/order/_calendar_items.html +++ /dev/null @@ -1,43 +0,0 @@ -{# --- NEW: calendar bookings in this order --- #} - {% if order and calendar_entries %} -
    -

    - Calendar bookings in this order -

    - - -
    - {% endif %} \ No newline at end of file diff --git a/browser/templates/_types/order/_items.html b/browser/templates/_types/order/_items.html deleted file mode 100644 index 27b2a9f..0000000 --- a/browser/templates/_types/order/_items.html +++ /dev/null @@ -1,51 +0,0 @@ -{# Items list #} -{% if order and order.items %} -
    -

    - Items -

    - -
    -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/order/_main_panel.html b/browser/templates/_types/order/_main_panel.html deleted file mode 100644 index 679b846..0000000 --- a/browser/templates/_types/order/_main_panel.html +++ /dev/null @@ -1,7 +0,0 @@ -
    - {# Order summary card #} - {% include '_types/order/_summary.html' %} - {% include '_types/order/_items.html' %} - {% include '_types/order/_calendar_items.html' %} - -
    \ No newline at end of file diff --git a/browser/templates/_types/order/_nav.html b/browser/templates/_types/order/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/order/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/order/_oob_elements.html b/browser/templates/_types/order/_oob_elements.html deleted file mode 100644 index 31d1e17..0000000 --- a/browser/templates/_types/order/_oob_elements.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('orders-header-child', 'order-header-child', '_types/order/header/_header.html')}} - - {% from '_types/order/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/order/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/order/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/order/_summary.html b/browser/templates/_types/order/_summary.html deleted file mode 100644 index ffe560b..0000000 --- a/browser/templates/_types/order/_summary.html +++ /dev/null @@ -1,52 +0,0 @@ -
    -

    - Order ID: - #{{ order.id }} -

    - -

    - Created: - {% if order.created_at %} - {{ order.created_at.strftime('%-d %b %Y, %H:%M') }} - {% else %} - — - {% endif %} -

    - -

    - Description: - {{ order.description or '–' }} -

    - -

    - Status: - - {{ order.status or 'pending' }} - -

    - -

    - Currency: - {{ order.currency or 'GBP' }} -

    - -

    - Total: - {% if order.total_amount %} - {{ order.currency or 'GBP' }} {{ '%.2f'|format(order.total_amount) }} - {% else %} - – - {% endif %} -

    - -
    - - \ No newline at end of file diff --git a/browser/templates/_types/order/_ticket_items.html b/browser/templates/_types/order/_ticket_items.html deleted file mode 100644 index ef06c0b..0000000 --- a/browser/templates/_types/order/_ticket_items.html +++ /dev/null @@ -1,49 +0,0 @@ -{# --- Tickets in this order --- #} - {% if order and order_tickets %} -
    -

    - Event tickets in this order -

    - - -
    - {% endif %} \ No newline at end of file diff --git a/browser/templates/_types/order/header/_header.html b/browser/templates/_types/order/header/_header.html deleted file mode 100644 index 4d7f74b..0000000 --- a/browser/templates/_types/order/header/_header.html +++ /dev/null @@ -1,17 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='order-row', oob=oob) %} - {% call links.link(url_for('orders.order.order_detail', order_id=order.id), hx_select_search ) %} - -
    - Order -
    -
    - {{ order.id }} -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/order/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/order/index.html b/browser/templates/_types/order/index.html deleted file mode 100644 index c3d301e..0000000 --- a/browser/templates/_types/order/index.html +++ /dev/null @@ -1,68 +0,0 @@ -{% extends '_types/orders/index.html' %} - - -{% block orders_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('order-header-child', '_types/order/header/_header.html') %} - {% block order_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/order/_nav.html' %} -{% endblock %} - - - -{% block filter %} -
    -
    -

    - Placed {% if order.created_at %}{{ order.created_at.strftime('%-d %b %Y, %H:%M') }}{% else %}—{% endif %} · Status: {{ order.status or 'pending' }} -

    -
    -
    - - - All orders - - - {# Re-check status button #} -
    - - -
    - - {% if order.status != 'paid' %} - - - Open payment page - - {% endif %} -
    -
    -{% endblock %} - -{% block content %} - {% include '_types/order/_main_panel.html' %} -{% endblock %} - -{% block aside %} -{% endblock %} diff --git a/browser/templates/_types/orders/_main_panel.html b/browser/templates/_types/orders/_main_panel.html deleted file mode 100644 index 01ad410..0000000 --- a/browser/templates/_types/orders/_main_panel.html +++ /dev/null @@ -1,26 +0,0 @@ -
    - {% if not orders %} -
    - No orders yet. -
    - {% else %} -
    - - - - - - - - - - - - - {# rows + infinite-scroll sentinel #} - {% include "_types/orders/_rows.html" %} - -
    OrderCreatedDescriptionTotalStatus
    -
    - {% endif %} -
    diff --git a/browser/templates/_types/orders/_nav.html b/browser/templates/_types/orders/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/orders/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/orders/_oob_elements.html b/browser/templates/_types/orders/_oob_elements.html deleted file mode 100644 index ab50cb1..0000000 --- a/browser/templates/_types/orders/_oob_elements.html +++ /dev/null @@ -1,38 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{# Header with app title - includes cart-mini, navigation, and market-specific header #} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('auth-header-child', 'orders-header-child', '_types/orders/header/_header.html')}} - - {% from '_types/auth/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block aside %} - {% import '_types/browse/desktop/_filter/search.html' as s %} - {{ s.search(current_local_href, search, search_count, hx_select) }} -{% endblock %} - -{% block filter %} -{% include '_types/orders/_summary.html' %} -{% endblock %} - -{% block mobile_menu %} - {% include '_types/orders/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/orders/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/orders/_rows.html b/browser/templates/_types/orders/_rows.html deleted file mode 100644 index 33a459c..0000000 --- a/browser/templates/_types/orders/_rows.html +++ /dev/null @@ -1,164 +0,0 @@ -{# suma_browser/templates/_types/order/_orders_rows.html #} - -{# --- existing rows, but split into desktop/tablet vs mobile --- #} -{% for order in orders %} - {# Desktop / tablet table row #} - - - #{{ order.id }} - - - {% if order.created_at %} - {{ order.created_at.strftime('%-d %b %Y, %H:%M') }} - {% else %} - — - {% endif %} - - - {{ order.description or '' }} - - - - {{ order.currency or 'GBP' }} - {{ '%.2f'|format(order.total_amount or 0) }} - - - {# status pill, roughly matching existing styling #} - - {{ order.status or 'pending' }} - - - - - View - - - - - {# Mobile card row #} - - -
    -
    - - #{{ order.id }} - - - - {{ order.status or 'pending' }} - -
    - -
    - {{ order.created_at or '' }} -
    - -
    -
    - {{ order.currency or 'GBP' }} - {{ '%.2f'|format(order.total_amount or 0) }} -
    - - - View - -
    -
    - - -{% endfor %} - -{# --- sentinel / end-of-results --- #} -{% if page < total_pages|int %} - - - {# Mobile sentinel content #} -
    - {% include "sentinel/mobile_content.html" %} -
    - - {# Desktop sentinel content #} - - - -{% else %} - - - End of results - - -{% endif %} diff --git a/browser/templates/_types/orders/_summary.html b/browser/templates/_types/orders/_summary.html deleted file mode 100644 index 824a235..0000000 --- a/browser/templates/_types/orders/_summary.html +++ /dev/null @@ -1,11 +0,0 @@ -
    -
    -

    - Recent orders placed via the checkout. -

    -
    -
    - {% import '_types/browse/mobile/_filter/search.html' as s %} - {{ s.search(current_local_href, search, search_count, hx_select) }} -
    -
    \ No newline at end of file diff --git a/browser/templates/_types/orders/header/_header.html b/browser/templates/_types/orders/header/_header.html deleted file mode 100644 index 32c1659..0000000 --- a/browser/templates/_types/orders/header/_header.html +++ /dev/null @@ -1,14 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='orders-row', oob=oob) %} - {% call links.link(url_for('orders.list_orders'), hx_select_search, ) %} - -
    - Orders -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/orders/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/orders/index.html b/browser/templates/_types/orders/index.html deleted file mode 100644 index 8744c13..0000000 --- a/browser/templates/_types/orders/index.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends '_types/auth/index.html' %} - - -{% block auth_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('orders-header-child', '_types/orders/header/_header.html') %} - {% block orders_header_child %} - {% endblock %} - {% endcall %} - -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/orders/_nav.html' %} -{% endblock %} - -{% block aside %} - {% import '_types/browse/desktop/_filter/search.html' as s %} - {{ s.search(current_local_href, search, search_count, hx_select) }} -{% endblock %} - - -{% block filter %} - {% include '_types/orders/_summary.html' %} -{% endblock %} - -{% block content %} -{% include '_types/orders/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post/_entry_container.html b/browser/templates/_types/post/_entry_container.html deleted file mode 100644 index 3c3965a..0000000 --- a/browser/templates/_types/post/_entry_container.html +++ /dev/null @@ -1,24 +0,0 @@ -
    -
    - {% include '_types/post/_entry_items.html' with context %} -
    -
    - - diff --git a/browser/templates/_types/post/_entry_items.html b/browser/templates/_types/post/_entry_items.html deleted file mode 100644 index d221e85..0000000 --- a/browser/templates/_types/post/_entry_items.html +++ /dev/null @@ -1,38 +0,0 @@ -{# Get entries from either direct variable or associated_entries dict #} -{% set entry_list = entries if entries is defined else (associated_entries.entries if associated_entries is defined else []) %} -{% set current_page = page if page is defined else (associated_entries.page if associated_entries is defined else 1) %} -{% set has_more_entries = has_more if has_more is defined else (associated_entries.has_more if associated_entries is defined else False) %} - -{% for entry in entry_list %} - {% set _entry_path = '/' + post.slug + '/calendars/' + entry.calendar_slug + '/' + entry.start_at.year|string + '/' + entry.start_at.month|string + '/' + entry.start_at.day|string + '/entries/' + entry.id|string + '/' %} - - {% if post.feature_image %} - {{ post.title }} - {% else %} -
    - {% endif %} -
    -
    {{ entry.name }}
    -
    - {{ entry.start_at.strftime('%b %d, %Y at %H:%M') }} - {% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %} -
    -
    -
    -{% endfor %} - -{# Load more entries one at a time until container is full #} -{% if has_more_entries %} -
    -
    -{% endif %} diff --git a/browser/templates/_types/post/_main_panel.html b/browser/templates/_types/post/_main_panel.html deleted file mode 100644 index 52a2c3a..0000000 --- a/browser/templates/_types/post/_main_panel.html +++ /dev/null @@ -1,65 +0,0 @@ -{# Main panel fragment for HTMX navigation - post/page article content #} -
    - {# Draft indicator + edit link (shown for both posts and pages) #} - {% if post.status == "draft" %} -
    - Draft - {% if post.publish_requested %} - Publish requested - {% endif %} - {% set is_admin = (g.get("rights") or {}).get("admin") %} - {% if is_admin or (g.user and post.user_id == g.user.id) %} - {% set edit_href = url_for('blog.post.admin.edit', slug=post.slug)|host %} - - Edit - - {% endif %} -
    - {% endif %} - - {% if not post.is_page %} - {# ── Blog post chrome: like button, excerpt, tags/authors ── #} - {% if g.user %} -
    - {% set slug = post.slug %} - {% set liked = post.is_liked or False %} - {% set like_url = url_for('blog.post.like_toggle', slug=slug)|host %} - {% set item_type = 'post' %} - {% include "_types/browse/like/button.html" %} -
    - {% endif %} - - {% if post.custom_excerpt %} -
    - {{post.custom_excerpt|safe}} -
    - {% endif %} - - {% endif %} - - {% if post.feature_image %} -
    - -
    - {% endif %} -
    - {% if post.html %} - {{post.html|safe}} - {% endif %} -
    -
    -
    diff --git a/browser/templates/_types/post/_meta.html b/browser/templates/_types/post/_meta.html deleted file mode 100644 index fc752d4..0000000 --- a/browser/templates/_types/post/_meta.html +++ /dev/null @@ -1,128 +0,0 @@ -{# --- social/meta_post.html --- #} -{# Context expected: - site, post, request -#} -{% if post is not defined %} - {% include 'social/meta_base.html' %} -{% else %} - -{# Visibility → robots #} -{% set is_public = (post.visibility == 'public') %} -{% set is_published = (post.status == 'published') %} -{% set robots_here = 'index,follow' if (is_public and is_published and not post.email_only) else 'noindex,nofollow' %} - -{# Compute canonical early so both this file and base can use it #} -{% set _site_url = site().url.rstrip('/') if site and site().url else '' %} -{% set _post_path = request.path if request else ('/posts/' ~ (post.slug or post.uuid)) %} -{% set canonical = post.canonical_url or (_site_url ~ _post_path if _site_url else (request.url if request else None)) %} - -{# Include common base (charset, viewport, robots default, RSS, Org/WebSite JSON-LD) #} -{% set robots_override = robots_here %} -{% include 'social/meta_base.html' %} - -{# ---- Titles / descriptions ---- #} -{% set og_title = post.og_title or base_title %} -{% set tw_title = post.twitter_title or base_title %} - -{# Description best-effort, trimmed #} -{% set desc_source = post.meta_description - or post.og_description - or post.twitter_description - or post.custom_excerpt - or post.excerpt - or (post.plaintext if post.plaintext else (post.html|striptags if post.html else '')) %} -{% set description = (desc_source|trim|replace('\n',' ')|replace('\r',' ')|striptags)|truncate(160, True, '…') %} - -{# Image priority #} -{% set image_url = post.og_image - or post.twitter_image - or post.feature_image - or (site().default_image if site and site().default_image else None) %} - -{# Dates #} -{% set published_iso = post.published_at.isoformat() if post.published_at else None %} -{% set updated_iso = post.updated_at.isoformat() if post.updated_at - else (post.created_at.isoformat() if post.created_at else None) %} - -{# Authors / tags #} -{% set primary_author = post.primary_author %} -{% set authors = post.authors or ([primary_author] if primary_author else []) %} -{% set tag_names = (post.tags or []) | map(attribute='name') | list %} -{% set is_article = not post.is_page %} - -{{ base_title }} - -{% if canonical %}{% endif %} - -{# ---- Open Graph ---- #} - - - - -{% if canonical %}{% endif %} -{% if image_url %}{% endif %} -{% if is_article and published_iso %}{% endif %} -{% if is_article and updated_iso %} - - -{% endif %} -{% if is_article and post.primary_tag and post.primary_tag.name %} - -{% endif %} -{% if is_article %} - {% for t in tag_names %} - - {% endfor %} -{% endif %} - -{# ---- Twitter ---- #} - -{% if site and site().twitter_site %}{% endif %} -{% if primary_author and primary_author.twitter %} - -{% endif %} - - -{% if image_url %}{% endif %} - -{# ---- JSON-LD author value (no list comprehensions) ---- #} -{% if authors and authors|length == 1 %} - {% set author_value = {"@type": "Person", "name": authors[0].name} %} -{% elif authors %} - {% set ns = namespace(arr=[]) %} - {% for a in authors %} - {% set _ = ns.arr.append({"@type": "Person", "name": a.name}) %} - {% endfor %} - {% set author_value = ns.arr %} -{% else %} - {% set author_value = none %} -{% endif %} - -{# ---- JSON-LD using combine for optionals ---- #} -{% set jsonld = { - "@context": "https://schema.org", - "@type": "BlogPosting" if is_article else "WebPage", - "mainEntityOfPage": canonical, - "headline": base_title, - "description": description, - "image": image_url, - "datePublished": published_iso, - "author": author_value, - "publisher": { - "@type": "Organization", - "name": site().title if site and site().title else "", - "logo": {"@type": "ImageObject", "url": site().logo if site and site().logo else image_url} - } -} %} - -{% if updated_iso %} - {% set jsonld = jsonld | combine({"dateModified": updated_iso}) %} -{% endif %} -{% if tag_names %} - {% set jsonld = jsonld | combine({"keywords": tag_names | join(", ")}) %} -{% endif %} - - -{% endif %} diff --git a/browser/templates/_types/post/_nav.html b/browser/templates/_types/post/_nav.html deleted file mode 100644 index e4ed92e..0000000 --- a/browser/templates/_types/post/_nav.html +++ /dev/null @@ -1,42 +0,0 @@ -{% import 'macros/links.html' as links %} - {# Container nav — entries, calendars, markets (via fragments) #} - {% if container_nav_html %} -
    - {# Left scroll arrow - desktop only #} - -
    -
    - {{ container_nav_html | safe }} -
    -
    - - {# Right scroll arrow - desktop only #} - -
    - {% endif %} diff --git a/browser/templates/_types/post/_oob_elements.html b/browser/templates/_types/post/_oob_elements.html deleted file mode 100644 index d8bda2c..0000000 --- a/browser/templates/_types/post/_oob_elements.html +++ /dev/null @@ -1,36 +0,0 @@ -{% extends 'oob_elements.html' %} - - -{# OOB elements for HTMX navigation - all elements that need updating #} -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - - -{% block oobs %} - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% from '_types/root/_n/macros.html' import header with context %} -{% call header(id='root-header-child', oob=True) %} - {% call header() %} - {% from '_types/post/header/_header.html' import header_row with context %} - {{header_row()}} -
    - -
    - {% endcall %} -{% endcall %} - - -{# Mobile menu #} - -{% block mobile_menu %} - {% include '_types/post/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post/admin/_associated_entries.html b/browser/templates/_types/post/admin/_associated_entries.html deleted file mode 100644 index d9fe853..0000000 --- a/browser/templates/_types/post/admin/_associated_entries.html +++ /dev/null @@ -1,50 +0,0 @@ -
    -

    Associated Entries

    - {% if associated_entry_ids %} -
    - {% for calendar in all_calendars %} - {% for entry in calendar.entries %} - {% if entry.id in associated_entry_ids and entry.deleted_at is none %} - - {% endif %} - {% endfor %} - {% endfor %} -
    - {% else %} -
    No entries associated yet. Browse calendars below to add entries.
    - {% endif %} -
    diff --git a/browser/templates/_types/post/admin/_calendar_view.html b/browser/templates/_types/post/admin/_calendar_view.html deleted file mode 100644 index 80ae33f..0000000 --- a/browser/templates/_types/post/admin/_calendar_view.html +++ /dev/null @@ -1,88 +0,0 @@ -
    - {# Month/year navigation #} -
    - -
    - - {# Calendar grid #} -
    - - -
    - {% for week in weeks %} - {% for day in week %} -
    -
    {{ day.date.day }}
    - - {# Entries for this day #} -
    - {% for e in month_entries %} - {% if e.start_at.date() == day.date %} - {% if e.id in associated_entry_ids %} - {# Associated entry - show with delete button #} -
    - {{ e.name }} - -
    - {% else %} - {# Non-associated entry - clickable to add #} - - {% endif %} - {% endif %} - {% endfor %} -
    -
    - {% endfor %} - {% endfor %} -
    -
    -
    diff --git a/browser/templates/_types/post/admin/_main_panel.html b/browser/templates/_types/post/admin/_main_panel.html deleted file mode 100644 index 58d5238..0000000 --- a/browser/templates/_types/post/admin/_main_panel.html +++ /dev/null @@ -1,7 +0,0 @@ -{# Main panel fragment for HTMX navigation - post admin #} -
    -
    -
    diff --git a/browser/templates/_types/post/admin/_nav.html b/browser/templates/_types/post/admin/_nav.html deleted file mode 100644 index 7296d15..0000000 --- a/browser/templates/_types/post/admin/_nav.html +++ /dev/null @@ -1,18 +0,0 @@ -{% import 'macros/links.html' as links %} - -{% call links.link(url_for('blog.post.admin.entries', slug=post.slug), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - entries -{% endcall %} -{% call links.link(url_for('blog.post.admin.data', slug=post.slug), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - data -{% endcall %} -{% call links.link(url_for('blog.post.admin.edit', slug=post.slug), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - edit -{% endcall %} -{% call links.link(url_for('blog.post.admin.settings', slug=post.slug), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - settings -{% endcall %} \ No newline at end of file diff --git a/browser/templates/_types/post/admin/_nav_entries.html b/browser/templates/_types/post/admin/_nav_entries.html deleted file mode 100644 index 47290d4..0000000 --- a/browser/templates/_types/post/admin/_nav_entries.html +++ /dev/null @@ -1,50 +0,0 @@ - - {# Left scroll arrow - desktop only #} - - - {# Widget-driven nav items container #} -
    -
    - {% for wdata in container_nav_widgets %} - {% with ctx=wdata.ctx %} - {% include wdata.widget.template with context %} - {% endwith %} - {% endfor %} -
    -
    - - - - {# Right scroll arrow - desktop only #} - diff --git a/browser/templates/_types/post/admin/_nav_entries_oob.html b/browser/templates/_types/post/admin/_nav_entries_oob.html deleted file mode 100644 index eecc3d5..0000000 --- a/browser/templates/_types/post/admin/_nav_entries_oob.html +++ /dev/null @@ -1,80 +0,0 @@ -{# OOB swap for nav entries and calendars when toggling associations or editing calendars #} -{% import 'macros/links.html' as links %} - -{# Associated Entries and Calendars - vertical on mobile, horizontal with arrows on desktop #} -{% if (associated_entries and associated_entries.entries) or calendars %} -
    - {# Left scroll arrow - desktop only #} - - -
    -
    - {# Calendar entries #} - {% if associated_entries and associated_entries.entries %} - {% for entry in associated_entries.entries %} - {% set _entry_path = '/' + post.slug + '/calendars/' + entry.calendar_slug + '/' + entry.start_at.year|string + '/' + entry.start_at.month|string + '/' + entry.start_at.day|string + '/entries/' + entry.id|string + '/' %} - -
    -
    -
    {{ entry.name }}
    -
    - {{ entry.start_at.strftime('%b %d, %Y at %H:%M') }} - {% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %} -
    -
    -
    - {% endfor %} - {% endif %} - {# Calendar links #} - {% if calendars %} - {% for calendar in calendars %} - {% set local_href=events_url('/' + post.slug + '/calendars/' + calendar.slug + '/') %} - - -
    {{calendar.name}}
    -
    - {% endfor %} - {% endif %} -
    -
    - - - - {# Right scroll arrow - desktop only #} - -
    -{% else %} - {# Empty placeholder to remove nav items when all are disassociated/deleted #} -
    -{% endif %} diff --git a/browser/templates/_types/post/admin/_oob_elements.html b/browser/templates/_types/post/admin/_oob_elements.html deleted file mode 100644 index 4bd3b74..0000000 --- a/browser/templates/_types/post/admin/_oob_elements.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "oob_elements.html" %} -{# OOB elements for post admin page #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-header-child', 'post-admin-header-child', '_types/post/admin/header/_header.html')}} - - {% from '_types/post/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block mobile_menu %} - {% include '_types/post/admin/_nav.html' %} -{% endblock %} - -{% block content %} -nowt -{% endblock %} \ No newline at end of file diff --git a/browser/templates/_types/post/admin/header/_header.html b/browser/templates/_types/post/admin/header/_header.html deleted file mode 100644 index 2708e4f..0000000 --- a/browser/templates/_types/post/admin/header/_header.html +++ /dev/null @@ -1,13 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='post-admin-row', oob=oob) %} - {% call links.link( - url_for('blog.post.admin.admin', slug=post.slug), - hx_select_search) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/post/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/post/admin/index.html b/browser/templates/_types/post/admin/index.html deleted file mode 100644 index fb1de5f..0000000 --- a/browser/templates/_types/post/admin/index.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends '_types/post/index.html' %} -{% import 'macros/layout.html' as layout %} - -{% block post_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('post-admin-header-child', '_types/post/admin/header/_header.html') %} - {% block post_admin_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/post/admin/_nav.html' %} -{% endblock %} - -{% block content %} -nowt -{% endblock %} diff --git a/browser/templates/_types/post/header/_header.html b/browser/templates/_types/post/header/_header.html deleted file mode 100644 index 502ca64..0000000 --- a/browser/templates/_types/post/header/_header.html +++ /dev/null @@ -1,19 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='post-row', oob=oob) %} - - {% if post.feature_image %} - - {% endif %} - - {{ post.title | truncate(160, True, '…') }} - - - {% call links.desktop_nav() %} - {% include '_types/post/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/post/index.html b/browser/templates/_types/post/index.html deleted file mode 100644 index 56ed99c..0000000 --- a/browser/templates/_types/post/index.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends '_types/root/_index.html' %} -{% import 'macros/layout.html' as layout %} -{% block meta %} - {% include '_types/post/_meta.html' %} -{% endblock %} - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('post-header-child', '_types/post/header/_header.html') %} - {% block post_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/post/_nav.html' %} -{% endblock %} - - -{% block aside %} -{% endblock %} - -{% block content %} - {% include '_types/post/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post_data/_main_panel.html b/browser/templates/_types/post_data/_main_panel.html deleted file mode 100644 index 83dcc32..0000000 --- a/browser/templates/_types/post_data/_main_panel.html +++ /dev/null @@ -1,137 +0,0 @@ -{% macro render_scalar_table(obj) -%} -
    - - - - - - - - - {% for col in obj.__mapper__.columns %} - {% set key = col.key %} - {% set val = obj|attr(key) %} - {% if key != "_sa_instance_state" %} - - - - - {% endif %} - {% endfor %} - -
    FieldValue
    {{ key }} - {% if val is none %} - - {% elif val.__class__.__name__ in ["datetime", "date"] and val.isoformat is defined %} -
    {{ val.isoformat() }}
    - {% elif val is string %} -
    {{ val }}
    - {% else %} -
    {{ val }}
    - {% endif %} -
    -
    -{%- endmacro %} - -{% macro render_model(obj, depth=0, max_depth=2) -%} - {% if obj is none %} - - {% else %} -
    - {{ render_scalar_table(obj) }} - -
    - {% for rel in obj.__mapper__.relationships %} - {% set rel_name = rel.key %} - {% set loaded = rel.key in obj.__dict__ %} - {% if loaded %} - {% set value = obj|attr(rel_name) %} - {% else %} - {% set value = none %} - {% endif %} - -
    -
    - Relationship: {{ rel_name }} - - {{ 'many' if rel.uselist else 'one' }} → {{ rel.mapper.class_.__name__ }} - {% if not loaded %} • not loaded{% endif %} - -
    - -
    - {% if value is none %} - - - {% elif rel.uselist %} - {% set items = value or [] %} -
    {{ items|length }} item{{ '' if items|length == 1 else 's' }}
    - - {% if items %} -
    - - - - - - - - - {% for it in items %} - - - - - {% endfor %} - -
    #Summary
    {{ loop.index }} - {% set ident = [] %} - {% for k in ['id','ghost_id','uuid','slug','name','title'] if k in it.__mapper__.c %} - {% set v = (it|attr(k))|default('', true) %} - {% do ident.append(k ~ '=' ~ v) %} - {% endfor %} -
    {{ (ident|join(' • ')) or it|string }}
    - - {% if depth < max_depth %} -
    - {{ render_model(it, depth+1, max_depth) }} -
    - {% else %} -
    …max depth reached…
    - {% endif %} -
    -
    - {% endif %} - - {% else %} - {% set child = value %} - {% set ident = [] %} - {% for k in ['id','ghost_id','uuid','slug','name','title'] if k in child.__mapper__.c %} - {% set v = (child|attr(k))|default('', true) %} - {% do ident.append(k ~ '=' ~ v) %} - {% endfor %} -
    {{ (ident|join(' • ')) or child|string }}
    - - {% if depth < max_depth %} -
    - {{ render_model(child, depth+1, max_depth) }} -
    - {% else %} -
    …max depth reached…
    - {% endif %} - {% endif %} -
    -
    - {% endfor %} -
    -
    - {% endif %} -{%- endmacro %} - -
    -
    - Model: Post • Table: {{ original_post.__tablename__ }} -
    - {{ render_model(original_post, 0, 2) }} -
    - diff --git a/browser/templates/_types/post_data/_nav.html b/browser/templates/_types/post_data/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/post_data/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/post_data/_oob_elements.html b/browser/templates/_types/post_data/_oob_elements.html deleted file mode 100644 index 32fd0c7..0000000 --- a/browser/templates/_types/post_data/_oob_elements.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-admin-header-child', 'post_data-header-child', '_types/post_data/header/_header.html')}} - - {% from '_types/post/admin/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/post_data/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/post_data/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/post_data/header/_header.html b/browser/templates/_types/post_data/header/_header.html deleted file mode 100644 index 27eaf6f..0000000 --- a/browser/templates/_types/post_data/header/_header.html +++ /dev/null @@ -1,15 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='post_data-row', oob=oob) %} - - -
    data
    -
    - {% call links.desktop_nav() %} - {#% include '_types/post_data/_nav.html' %#} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/post_data/index.html b/browser/templates/_types/post_data/index.html deleted file mode 100644 index 1df67b8..0000000 --- a/browser/templates/_types/post_data/index.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends '_types/post/admin/index.html' %} - -{% block ___app_title %} - {% import 'macros/links.html' as links %} - {% call links.menu_row() %} - {% call links.link(url_for('blog.post.admin.data', slug=post.slug), hx_select_search) %} - -
    - data -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/post_data/_nav.html' %} - {% endcall %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/post_data/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post_data/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post_edit/_main_panel.html b/browser/templates/_types/post_edit/_main_panel.html deleted file mode 100644 index 05d9251..0000000 --- a/browser/templates/_types/post_edit/_main_panel.html +++ /dev/null @@ -1,352 +0,0 @@ -{# ── Error banner ── #} -{% if save_error %} -
    - Save failed: {{ save_error }} -
    -{% endif %} - -
    - - - - - - - {# ── Feature image ── #} -
    - {# Empty state: add link #} -
    - -
    - - {# Filled state: image preview + controls #} -
    - - {# Delete button (top-right, visible on hover) #} - - - {# Caption input #} - -
    - - {# Upload spinner overlay #} - - - {# Hidden file input #} - -
    - - {# ── Title ── #} - - - {# ── Excerpt ── #} - - - {# ── Editor mount point ── #} -
    - - {# ── Initial Lexical JSON from Ghost ── #} - - - {# ── Status + Publish mode + Save footer ── #} - {% set already_emailed = ghost_post and ghost_post.email and ghost_post.email.status %} -
    - - - {# Publish mode — only relevant when publishing #} - - - {# Newsletter picker — only when email is involved #} - - - - - {% if save_success %} - Saved. - {% endif %} - {% if request.args.get('publish_requested') %} - Publish requested — an admin will review. - {% endif %} - {% if post and post.publish_requested %} - Publish requested - {% endif %} - {% if already_emailed %} - - Emailed{% if ghost_post.newsletter %} to {{ ghost_post.newsletter.name }}{% endif %} - - {% endif %} -
    - - {# ── Publish-mode show/hide logic ── #} - -
    - -{# ── Koenig editor assets ── #} - - - - diff --git a/browser/templates/_types/post_edit/_nav.html b/browser/templates/_types/post_edit/_nav.html deleted file mode 100644 index 0b1d08a..0000000 --- a/browser/templates/_types/post_edit/_nav.html +++ /dev/null @@ -1,5 +0,0 @@ -{% import 'macros/links.html' as links %} -{% call links.link(url_for('blog.post.admin.settings', slug=post.slug), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - - settings -{% endcall %} diff --git a/browser/templates/_types/post_edit/_oob_elements.html b/browser/templates/_types/post_edit/_oob_elements.html deleted file mode 100644 index 694096c..0000000 --- a/browser/templates/_types/post_edit/_oob_elements.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-admin-header-child', 'post_edit-header-child', '_types/post_edit/header/_header.html')}} - - {% from '_types/post/admin/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block mobile_menu %} - {% include '_types/post_edit/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post_edit/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post_edit/header/_header.html b/browser/templates/_types/post_edit/header/_header.html deleted file mode 100644 index 60e07e7..0000000 --- a/browser/templates/_types/post_edit/header/_header.html +++ /dev/null @@ -1,14 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='post_edit-row', oob=oob) %} - {% call links.link(url_for('blog.post.admin.edit', slug=post.slug), hx_select_search) %} - -
    - edit -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/post_edit/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/post_edit/index.html b/browser/templates/_types/post_edit/index.html deleted file mode 100644 index b5c7212..0000000 --- a/browser/templates/_types/post_edit/index.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends '_types/post/admin/index.html' %} - -{% block post_admin_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('post-admin-header-child', '_types/post_edit/header/_header.html') %} - {% block post_edit_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/post_edit/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post_edit/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post_entries/_main_panel.html b/browser/templates/_types/post_entries/_main_panel.html deleted file mode 100644 index 342041e..0000000 --- a/browser/templates/_types/post_entries/_main_panel.html +++ /dev/null @@ -1,48 +0,0 @@ -
    - - {# Associated Entries List #} - {% include '_types/post/admin/_associated_entries.html' %} - - {# Calendars Browser #} -
    -

    Browse Calendars

    - {% for calendar in all_calendars %} -
    - - {% if calendar.post.feature_image %} - {{ calendar.post.title }} - {% else %} -
    - {% endif %} -
    -
    - - {{ calendar.name }} -
    -
    - {{ calendar.post.title }} -
    -
    -
    -
    -
    Loading calendar...
    -
    -
    - {% else %} -
    No calendars found.
    - {% endfor %} -
    -
    \ No newline at end of file diff --git a/browser/templates/_types/post_entries/_nav.html b/browser/templates/_types/post_entries/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/post_entries/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/post_entries/_oob_elements.html b/browser/templates/_types/post_entries/_oob_elements.html deleted file mode 100644 index 3ef5559..0000000 --- a/browser/templates/_types/post_entries/_oob_elements.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-admin-header-child', 'post_entries-header-child', '_types/post_entries/header/_header.html')}} - - {% from '_types/post/admin/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/post_entries/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include "_types/post_entries/_main_panel.html" %} -{% endblock %} - - diff --git a/browser/templates/_types/post_entries/header/_header.html b/browser/templates/_types/post_entries/header/_header.html deleted file mode 100644 index 019c000..0000000 --- a/browser/templates/_types/post_entries/header/_header.html +++ /dev/null @@ -1,17 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='post_entries-row', oob=oob) %} - {% call links.link(url_for('blog.post.admin.entries', slug=post.slug), hx_select_search) %} - -
    - entries -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/post_entries/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/post_entries/index.html b/browser/templates/_types/post_entries/index.html deleted file mode 100644 index 382d297..0000000 --- a/browser/templates/_types/post_entries/index.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends '_types/post/admin/index.html' %} - - - -{% block post_admin_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('post-admin-header-child', '_types/post_entries/header/_header.html') %} - {% block post_entries_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/post_entries/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post_entries/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post_settings/_main_panel.html b/browser/templates/_types/post_settings/_main_panel.html deleted file mode 100644 index 038fab1..0000000 --- a/browser/templates/_types/post_settings/_main_panel.html +++ /dev/null @@ -1,198 +0,0 @@ -{# ── Post/Page Settings Form ── #} -{% set gp = ghost_post or {} %} -{% set _is_page = post.is_page if post else False %} - -{% macro field_label(text, field_for=None) %} - -{% endmacro %} - -{% macro text_input(name, value='', placeholder='', type='text', maxlength=None) %} - -{% endmacro %} - -{% macro textarea_input(name, value='', placeholder='', rows=3, maxlength=None) %} - -{% endmacro %} - -{% macro checkbox_input(name, checked=False, label='') %} - -{% endmacro %} - -{% macro section(title, open=False) %} -
    - - {{ title }} - -
    - {{ caller() }} -
    -
    -{% endmacro %} - -
    - - - -
    - - {# ── General ── #} - {% call section('General', open=True) %} -
    - {{ field_label('Slug', 'settings-slug') }} - {{ text_input('slug', gp.slug or '', 'page-slug' if _is_page else 'post-slug') }} -
    -
    - {{ field_label('Published at', 'settings-published_at') }} - -
    -
    - {{ checkbox_input('featured', gp.featured, 'Featured page' if _is_page else 'Featured post') }} -
    -
    - {{ field_label('Visibility', 'settings-visibility') }} - -
    -
    - {{ checkbox_input('email_only', gp.email_only, 'Email only') }} -
    - {% endcall %} - - {# ── Tags ── #} - {% call section('Tags') %} -
    - {{ field_label('Tags (comma-separated)', 'settings-tags') }} - {% set tag_names = gp.tags|map(attribute='name')|list|join(', ') if gp.tags else '' %} - {{ text_input('tags', tag_names, 'news, updates, featured') }} -

    Unknown tags will be created automatically.

    -
    - {% endcall %} - - {# ── Feature Image ── #} - {% call section('Feature Image') %} -
    - {{ field_label('Alt text', 'settings-feature_image_alt') }} - {{ text_input('feature_image_alt', gp.feature_image_alt or '', 'Describe the feature image') }} -
    - {% endcall %} - - {# ── SEO / Meta ── #} - {% call section('SEO / Meta') %} -
    - {{ field_label('Meta title', 'settings-meta_title') }} - {{ text_input('meta_title', gp.meta_title or '', 'SEO title', maxlength=300) }} -

    Recommended: 70 characters. Max: 300.

    -
    -
    - {{ field_label('Meta description', 'settings-meta_description') }} - {{ textarea_input('meta_description', gp.meta_description or '', 'SEO description', rows=2, maxlength=500) }} -

    Recommended: 156 characters.

    -
    -
    - {{ field_label('Canonical URL', 'settings-canonical_url') }} - {{ text_input('canonical_url', gp.canonical_url or '', 'https://example.com/original-post', type='url') }} -
    - {% endcall %} - - {# ── Facebook / OpenGraph ── #} - {% call section('Facebook / OpenGraph') %} -
    - {{ field_label('OG title', 'settings-og_title') }} - {{ text_input('og_title', gp.og_title or '') }} -
    -
    - {{ field_label('OG description', 'settings-og_description') }} - {{ textarea_input('og_description', gp.og_description or '', rows=2) }} -
    -
    - {{ field_label('OG image URL', 'settings-og_image') }} - {{ text_input('og_image', gp.og_image or '', 'https://...', type='url') }} -
    - {% endcall %} - - {# ── X / Twitter ── #} - {% call section('X / Twitter') %} -
    - {{ field_label('Twitter title', 'settings-twitter_title') }} - {{ text_input('twitter_title', gp.twitter_title or '') }} -
    -
    - {{ field_label('Twitter description', 'settings-twitter_description') }} - {{ textarea_input('twitter_description', gp.twitter_description or '', rows=2) }} -
    -
    - {{ field_label('Twitter image URL', 'settings-twitter_image') }} - {{ text_input('twitter_image', gp.twitter_image or '', 'https://...', type='url') }} -
    - {% endcall %} - - {# ── Advanced ── #} - {% call section('Advanced') %} -
    - {{ field_label('Custom template', 'settings-custom_template') }} - {{ text_input('custom_template', gp.custom_template or '', 'custom-page.hbs' if _is_page else 'custom-post.hbs') }} -
    - {% endcall %} - -
    - - {# ── Save footer ── #} -
    - - - {% if save_success %} - Saved. - {% endif %} -
    -
    diff --git a/browser/templates/_types/post_settings/_nav.html b/browser/templates/_types/post_settings/_nav.html deleted file mode 100644 index a08d80a..0000000 --- a/browser/templates/_types/post_settings/_nav.html +++ /dev/null @@ -1,5 +0,0 @@ -{% import 'macros/links.html' as links %} -{% call links.link(url_for('blog.post.admin.edit', slug=post.slug), hx_select_search, select_colours, True, aclass=styles.nav_button) %} - - edit -{% endcall %} diff --git a/browser/templates/_types/post_settings/_oob_elements.html b/browser/templates/_types/post_settings/_oob_elements.html deleted file mode 100644 index d2d6beb..0000000 --- a/browser/templates/_types/post_settings/_oob_elements.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('post-admin-header-child', 'post_settings-header-child', '_types/post_settings/header/_header.html')}} - - {% from '_types/post/admin/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - -{% block mobile_menu %} - {% include '_types/post_settings/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post_settings/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/post_settings/header/_header.html b/browser/templates/_types/post_settings/header/_header.html deleted file mode 100644 index ba187fe..0000000 --- a/browser/templates/_types/post_settings/header/_header.html +++ /dev/null @@ -1,14 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='post_settings-row', oob=oob) %} - {% call links.link(url_for('blog.post.admin.settings', slug=post.slug), hx_select_search) %} - -
    - settings -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/post_settings/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/post_settings/index.html b/browser/templates/_types/post_settings/index.html deleted file mode 100644 index 59835f4..0000000 --- a/browser/templates/_types/post_settings/index.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends '_types/post/admin/index.html' %} - -{% block post_admin_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('post-admin-header-child', '_types/post_settings/header/_header.html') %} - {% block post_settings_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/post_settings/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/post_settings/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/product/_added.html b/browser/templates/_types/product/_added.html deleted file mode 100644 index 9ee4fed..0000000 --- a/browser/templates/_types/product/_added.html +++ /dev/null @@ -1,25 +0,0 @@ -{% set oob='true' %} -{% import '_types/product/_cart.html' as _cart %} -{% from '_types/cart/_mini.html' import mini with context %} -{{mini()}} - -{{ _cart.add(d.slug, cart, oob='true')}} - -{% from '_types/product/_cart.html' import cart_item with context %} - -{% if cart | sum(attribute="quantity") > 0 %} - {% if item.quantity > 0 %} - {{ cart_item(oob='true')}} - {% else %} - {{ cart_item(oob='delete')}} - {% endif %} - {% from '_types/cart/_cart.html' import summary %} - - {{ summary(cart, total,calendar_total, calendar_cart_entries, oob='true')}} - -{% else %} - {% set cart=[] %} - {% from '_types/cart/_cart.html' import show_cart with context %} - {{ show_cart( oob='true') }} - -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/product/_cart.html b/browser/templates/_types/product/_cart.html deleted file mode 100644 index 4947d86..0000000 --- a/browser/templates/_types/product/_cart.html +++ /dev/null @@ -1,278 +0,0 @@ -{% macro add(slug, cart, oob='false') %} -{% set quantity = cart - | selectattr('product.slug', 'equalto', slug) - | sum(attribute='quantity') %} - -
    - - {% if not quantity %} -
    - - - - -
    - - {% else %} -
    - -
    - - - -
    - - - - - - - - - {{ quantity }} - - - - - - -
    - - - -
    -
    - {% endif %} -
    -{% endmacro %} - - - -{% macro cart_item(oob=False) %} - -{% set p = item.product %} -{% set unit_price = p.special_price or p.regular_price %} -
    -
    - {% if p.image %} - {{ p.title }} - {% else %} -
    - No image -
    'market', 'product', p.slug - {% endif %} -
    - - {# Details #} -
    -
    -
    -

    - {% set href=market_product_url(p.slug, market_place=item.market_place) %} - - {{ p.title }} - -

    - - {% if p.brand %} -

    - {{ p.brand }} -

    - {% endif %} - - {% if item.is_deleted %} -

    - - This item is no longer available or price has changed -

    - {% endif %} -
    - - {# Unit price #} -
    - {% if unit_price %} - {% set symbol = "£" if p.regular_price_currency == "GBP" else p.regular_price_currency %} -

    - {{ symbol }}{{ "%.2f"|format(unit_price) }} -

    - {% if p.special_price and p.special_price != p.regular_price %} -

    - {{ symbol }}{{ "%.2f"|format(p.regular_price) }} -

    - {% endif %} - {% else %} -

    No price

    - {% endif %} -
    -
    - -
    -
    - Quantity - {% set qty_url = cart_quantity_url(item.product_id) if cart_quantity_url is defined else market_product_url(p.slug, 'cart', item.market_place) %} -
    - - - -
    - - {{ item.quantity }} - -
    - - - -
    - - {% if cart_delete_url is defined %} -
    - - -
    - {% endif %} -
    - -
    - {% if unit_price %} - {% set line_total = unit_price * item.quantity %} - {% set symbol = "£" if p.regular_price_currency == "GBP" else p.regular_price_currency %} -

    - Line total: - {{ symbol }}{{ "%.2f"|format(line_total) }} -

    - {% endif %} -
    -
    -
    -
    - -{% endmacro %} diff --git a/browser/templates/_types/product/_main_panel.html b/browser/templates/_types/product/_main_panel.html deleted file mode 100644 index cf8df31..0000000 --- a/browser/templates/_types/product/_main_panel.html +++ /dev/null @@ -1,131 +0,0 @@ -{# Main panel fragment for HTMX navigation - product detail content #} -{% import 'macros/stickers.html' as stick %} -{% import '_types/product/prices.html' as prices %} -{% set prices_ns = namespace() %} -{{ prices.set_prices(d, prices_ns)}} - - {# Product detail grid from content block #} -
    -
    - {% if d.images and d.images|length > 0 %} -
    - {# --- like button overlay in top-right --- #} - {% if g.user %} -
    - {% set slug = d.slug %} - {% set liked = liked_by_current_user %} - {% include "_types/browse/like/button.html" %} -
    - {% endif %} - -
    -
    - {{ d.title }} - - {% for l in d.labels %} - - {% endfor %} -
    -
    - {{ d.brand }} -
    -
    - - {% if d.images|length > 1 %} - - - {% endif %} -
    - -
    -
    - {% for u in d.images %} - - - {% endfor %} -
    -
    - {% else %} -
    - {# Even if no image, still render the like button in the corner for consistency #} - {% if g.user %} -
    - {% set slug = d.slug %} - {% set liked = liked_by_current_user %} - {% include "_types/browse/like/button.html" %} -
    - {% endif %} - - No image -
    - {% endif %} - -
    - {% for s in d.stickers %} - {{ stick.sticker(asset_url('stickers/' + s + '.svg'), s, True, size=40) }} - {% endfor %} -
    -
    - -
    - {# Optional extras shown quietly #} -
    - {% if d.price_per_unit or d.price_per_unit_raw %} -
    Unit price: {{ prices.price_str(d.price_per_unit, d.price_per_unit_raw, d.price_per_unit_currency) }}
    - {% endif %} - {% if d.case_size_raw %} -
    Case size: {{ d.case_size_raw }}
    - {% endif %} - -
    - - {% if d.description_short or d.description_html %} -
    - {% if d.description_short %} -

    {{ d.description_short }}

    - {% endif %} - {% if d.description_html %} -
    - {{ d.description_html | safe }} -
    - {% endif %} -
    - {% endif %} - - {% if d.sections and d.sections|length %} -
    - {% for sec in d.sections %} -
    - - {{ sec.title }} - - -
    - {{ sec.html | safe }} -
    -
    - {% endfor %} -
    - {% endif %} -
    - -
    -
    diff --git a/browser/templates/_types/product/_meta.html b/browser/templates/_types/product/_meta.html deleted file mode 100644 index aebb684..0000000 --- a/browser/templates/_types/product/_meta.html +++ /dev/null @@ -1,106 +0,0 @@ -{# --- social/meta_product.html --- #} -{# Context expected: - site, d (Product), request -#} - -{# Visibility → robots: index unless soft-deleted #} -{% set robots_here = 'noindex,nofollow' if d.deleted_at else 'index,follow' %} - -{# Compute canonical #} -{% set _site_url = site().url.rstrip('/') if site and site().url else '' %} -{% set _product_path = request.path if request else ('/products/' ~ (d.slug or '')) %} -{% set canonical = _site_url ~ _product_path if _site_url else (request.url if request else None) %} - -{# Include common base (charset, viewport, robots default, RSS, Org/WebSite JSON-LD) #} -{% set robots_override = robots_here %} -{% include 'social/meta_base.html' %} - -{# ---- Titles / descriptions ---- #} -{% set base_product_title = d.title or base_title %} -{% set og_title = base_product_title %} -{% set tw_title = base_product_title %} - -{# Description: prefer short, then HTML stripped #} -{% set desc_source = d.description_short - or (d.description_html|striptags if d.description_html else '') %} -{% set description = (desc_source|trim|replace('\n',' ')|replace('\r',' ')|striptags)|truncate(160, True, '…') %} - -{# ---- Image priority: product image, then first gallery image, then site default ---- #} -{% set image_url = d.image - or ((d.images|first).url if d.images and (d.images|first).url else None) - or (site().default_image if site and site().default_image else None) %} - -{# ---- Price / offer helpers ---- #} -{% set price = d.special_price or d.regular_price or d.rrp %} -{% set price_currency = d.special_price_currency or d.regular_price_currency or d.rrp_currency %} - -{# ---- Basic meta ---- #} -{{ base_product_title }} - -{% if canonical %}{% endif %} - -{# ---- Open Graph ---- #} - - - - -{% if canonical %}{% endif %} -{% if image_url %}{% endif %} - -{# Optional product OG price tags #} -{% if price and price_currency %} - - -{% endif %} -{% if d.brand %} - -{% endif %} -{% if d.sku %} - -{% endif %} - -{# ---- Twitter ---- #} - -{% if site and site().twitter_site %}{% endif %} - - -{% if image_url %}{% endif %} - -{# ---- JSON-LD Product ---- #} -{% set jsonld = { - "@context": "https://schema.org", - "@type": "Product", - "name": d.title, - "image": image_url, - "description": description, - "sku": d.sku, - "brand": d.brand, - "url": canonical -} %} - -{# Brand as proper object if present #} -{% if d.brand %} - {% set jsonld = jsonld | combine({ - "brand": { - "@type": "Brand", - "name": d.brand - } - }) %} -{% endif %} - -{# Offers if price available #} -{% if price and price_currency %} - {% set jsonld = jsonld | combine({ - "offers": { - "@type": "Offer", - "price": price, - "priceCurrency": price_currency, - "url": canonical, - "availability": "https://schema.org/InStock" - } - }) %} -{% endif %} - - diff --git a/browser/templates/_types/product/_oob_elements.html b/browser/templates/_types/product/_oob_elements.html deleted file mode 100644 index 589d369..0000000 --- a/browser/templates/_types/product/_oob_elements.html +++ /dev/null @@ -1,49 +0,0 @@ -{% extends 'oob_elements.html' %} -{# OOB elements for HTMX navigation - product extends browse so use similar structure #} -{% import 'macros/layout.html' as layout %} -{% import 'macros/stickers.html' as stick %} -{% import '_types/product/prices.html' as prices %} -{% set prices_ns = namespace() %} -{{ prices.set_prices(d, prices_ns)}} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - - -{% block oobs %} - {% from '_types/market/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('market-header-child', 'product-header-child', '_types/product/header/_header.html')}} - -{% endblock %} - - - -{% block mobile_menu %} - {% include '_types/market/mobile/_nav_panel.html' %} - {% include '_types/browse/_admin.html' %} -{% endblock %} - -{% block filter %} - {% call layout.details() %} - {% call layout.summary('blog-child-header') %} - {% endcall %} - {% call layout.menu('blog-child-menu') %} - {% endcall %} - {% endcall %} - - {% call layout.details() %} - {% call layout.summary('product-child-header') %} - {% endcall %} - {% call layout.menu('item-child-menu') %} - {% endcall %} - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/product/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/product/_prices.html b/browser/templates/_types/product/_prices.html deleted file mode 100644 index e56339f..0000000 --- a/browser/templates/_types/product/_prices.html +++ /dev/null @@ -1,33 +0,0 @@ -{% import '_types/product/_cart.html' as _cart %} - {# ---- Price block ---- #} - {% import '_types/product/prices.html' as prices %} - {% set prices_ns = namespace() %} - {{ prices.set_prices(d, prices_ns)}} - -
    - {{ _cart.add(d.slug, cart)}} - - {% if prices_ns.sp_val %} -
    - Special price -
    -
    - {{ prices.price_str(prices_ns.sp_val, prices_ns.sp_raw, prices_ns.sp_cur) }} -
    - {% if prices_ns.sp_val and prices_ns.rp_val %} -
    - {{ prices.price_str(prices_ns.rp_val, prices_ns.rp_raw, prices_ns.rp_cur) }} -
    - {% endif %} - {% elif prices_ns.rp_val %} - -
    - {{ prices.price_str(prices_ns.rp_val, prices_ns.rp_raw, prices_ns.rp_cur) }} -
    - {% endif %} - {{ prices.rrp(prices_ns) }} - -
    - diff --git a/browser/templates/_types/product/_title.html b/browser/templates/_types/product/_title.html deleted file mode 100644 index 0b3be43..0000000 --- a/browser/templates/_types/product/_title.html +++ /dev/null @@ -1,2 +0,0 @@ - -
    {{ d.title }}
    diff --git a/browser/templates/_types/product/admin/_nav.html b/browser/templates/_types/product/admin/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/product/admin/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/product/admin/_oob_elements.html b/browser/templates/_types/product/admin/_oob_elements.html deleted file mode 100644 index 84acac6..0000000 --- a/browser/templates/_types/product/admin/_oob_elements.html +++ /dev/null @@ -1,40 +0,0 @@ -{% extends 'oob_elements.html' %} - - -{# OOB elements for HTMX navigation - all elements that need updating #} -{# Import shared OOB macros #} -{% from '_types/root/header/_oob.html' import root_header_start, root_header_end with context %} -{% from '_types/root/_oob_menu.html' import mobile_menu with context %} - - - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('product-header-child', 'product-admin-header-child', '_types/product/admin/header/_header.html')}} - - {% from '_types/product/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% from '_types/root/_n/macros.html' import header with context %} -{% call header(id='product-header-child', oob=True) %} - {% call header() %} - {% from '_types/product/admin/header/_header.html' import header_row with context %} - {{header_row()}} -
    - -
    - {% endcall %} -{% endcall %} - - -{% block mobile_menu %} - {% include '_types/product/admin/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include '_types/product/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/product/admin/header/_header.html b/browser/templates/_types/product/admin/header/_header.html deleted file mode 100644 index eacdf7d..0000000 --- a/browser/templates/_types/product/admin/header/_header.html +++ /dev/null @@ -1,11 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='product-admin-row', oob=oob) %} - {% call links.link(url_for('market.browse.product.admin', product_slug=d.slug), hx_select_search ) %} - admin!! - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/product/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/product/admin/index.html b/browser/templates/_types/product/admin/index.html deleted file mode 100644 index d1cb714..0000000 --- a/browser/templates/_types/product/admin/index.html +++ /dev/null @@ -1,39 +0,0 @@ -{% extends '_types/product/index.html' %} - -{% import 'macros/layout.html' as layout %} - -{% block product_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('market-header-child', '_types/product/admin/header/_header.html') %} - {% block product_admin_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - - -{% block ___app_title %} - {% import 'macros/links.html' as links %} - {% call links.menu_row() %} - {% call links.link(url_for('market.browse.product.admin', product_slug=slug), hx_select_search) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/product/admin/_nav.html' %} - {% endcall %} - {% endcall %} -{% endblock %} - - - -{% block _main_mobile_menu %} - {% include '_types/product/admin/_nav.html' %} -{% endblock %} - -{% block aside %} -{% endblock %} - - -{% block content %} -{% include '_types/product/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/product/header/_header.html b/browser/templates/_types/product/header/_header.html deleted file mode 100644 index 6608fce..0000000 --- a/browser/templates/_types/product/header/_header.html +++ /dev/null @@ -1,15 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='product-row', oob=oob) %} - {% call links.link(url_for('market.browse.product.product_detail', product_slug=d.slug), hx_select_search ) %} - {% include '_types/product/_title.html' %} - {% endcall %} - {% include '_types/product/_prices.html' %} - {% call links.desktop_nav() %} - {% include '_types/browse/_admin.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/product/index.html b/browser/templates/_types/product/index.html deleted file mode 100644 index 31ccd88..0000000 --- a/browser/templates/_types/product/index.html +++ /dev/null @@ -1,61 +0,0 @@ -{% extends '_types/browse/index.html' %} - -{% block meta %} - {% include '_types/product/_meta.html' %} -{% endblock %} - - -{% import 'macros/stickers.html' as stick %} -{% import '_types/product/prices.html' as prices %} -{% set prices_ns = namespace() %} -{{ prices.set_prices(d, prices_ns)}} - - - -{% block market_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('market-header-child', '_types/product/header/_header.html') %} - {% block product_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {% include '_types/browse/_admin.html' %} -{% endblock %} - - - -{% block filter %} - -{% call layout.details() %} - {% call layout.summary('blog-child-header') %} - {% block blog_child_summary %} - {% endblock %} - {% endcall %} - {% call layout.menu('blog-child-menu') %} - {% block post_child_menu %} - {% endblock %} - {% endcall %} - {% endcall %} - - {% call layout.details() %} - {% call layout.summary('product-child-header') %} - {% block item_child_summary %} - {% endblock %} - {% endcall %} - {% call layout.menu('item-child-menu') %} - {% block item_child_menu %} - {% endblock %} - {% endcall %} - {% endcall %} - -{% endblock %} - -{% block aside %} -{% endblock %} - -{% block content %} - {% include '_types/product/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/product/prices.html b/browser/templates/_types/product/prices.html deleted file mode 100644 index be9cc4c..0000000 --- a/browser/templates/_types/product/prices.html +++ /dev/null @@ -1,66 +0,0 @@ -{# ---- Price formatting helpers ---- #} -{% set _sym = {'GBP':'£','EUR':'€','USD':'$'} %} -{% macro price_str(val, raw, cur) -%} - {%- if raw -%} - {{ raw }} - {%- elif val is number -%} - {{ (_sym.get(cur) or '') ~ ('%.2f'|format(val)) }} - {%- else -%} - {{ val or '' }} - {%- endif -%} -{%- endmacro %} - - -{% macro set_prices(item, ns) -%} - -{% set ns.sp_val = item.special_price or (item.oe_list_price and item.oe_list_price.special) %} -{% set ns.sp_raw = item.special_price_raw or (item.oe_list_price and item.oe_list_price.special_raw) %} -{% set ns.sp_cur = item.special_price_currency or (item.oe_list_price and item.oe_list_price.special_currency) %} - -{% set ns.rp_val = item.regular_price or item.rrp or (item.oe_list_price and item.oe_list_price.rrp) %} -{% set ns.rp_raw = item.regular_price_raw or item.rrp_raw or (item.oe_list_price and item.oe_list_price.rrp_raw) %} -{% set ns.rp_cur = item.regular_price_currency or item.rrp_currency or (item.oe_list_price and item.oe_list_price.rrp_currency) %} - -{% set ns.case_size_count = (item.case_size_count or 1) %} -{% set ns.rrp = item.rrp_raw[0] ~ "%.2f"|format(item.rrp * (ns.case_size_count)) %} -{% set ns.rrp_raw = item.rrp_raw %} - -{%- endmacro %} - - -{% macro rrp(ns) -%} - {% if ns.rrp %} -
    - rrp: - - {{ ns.rrp }} - -
    - {% endif %} -{%- endmacro %} - - -{% macro card_price(item) %} - - -{# price block unchanged #} - {% set _sym = {'GBP':'£','EUR':'€','USD':'$'} %} - {% set sp_val = item.special_price or (item.oe_list_price and item.oe_list_price.special) %} - {% set sp_raw = item.special_price_raw or (item.oe_list_price and item.oe_list_price.special_raw) %} - {% set sp_cur = item.special_price_currency or (item.oe_list_price and item.oe_list_price.special_currency) %} - {% set rp_val = item.regular_price or item.rrp or (item.oe_list_price and item.oe_list_price.rrp) %} - {% set rp_raw = item.regular_price_raw or item.rrp_raw or (item.oe_list_price and item.oe_list_price.rrp_raw) %} - {% set rp_cur = item.regular_price_currency or item.rrp_currency or (item.oe_list_price and item.oe_list_price.rrp_currency) %} - {% set sp_str = sp_raw if sp_raw else ( (_sym.get(sp_cur, '') ~ ('%.2f'|format(sp_val))) if sp_val is number else (sp_val or '')) %} - {% set rp_str = rp_raw if rp_raw else ( (_sym.get(rp_cur, '') ~ ('%.2f'|format(rp_val))) if rp_val is number else (rp_val or '')) %} -
    - {% if sp_val %} -
    {{ sp_str }}
    - {% if rp_val %} -
    {{ rp_str }}
    - {% endif %} - {% elif rp_val %} -
    {{ rp_str }}
    - {% endif %} -
    -{% endmacro %} diff --git a/browser/templates/_types/root/header/_header.html b/browser/templates/_types/root/header/_header.html index 0564756..348bba3 100644 --- a/browser/templates/_types/root/header/_header.html +++ b/browser/templates/_types/root/header/_header.html @@ -8,12 +8,9 @@ {% macro header_row(oob=False) %} {% call links.menu_row(id='root-row', oob=oob) %}
    - {# Cart mini #} + {# Cart mini — fetched from cart app as fragment #} {% if cart_mini_html %} {{ cart_mini_html | safe }} - {% else %} - {% from '_types/cart/_mini.html' import mini with context %} - {{mini()}} {% endif %} {# Site title #} @@ -26,17 +23,9 @@ @@ -47,12 +36,6 @@
    {% if auth_menu_html %} {{ auth_menu_html | safe }} - {% else %} - {% if g.user %} - {% include '_types/root/mobile/_full_user.html' %} - {% else %} - {% include '_types/root/mobile/_sign_in.html' %} - {% endif %} {% endif %}
    {% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/root/settings/_main_panel.html b/browser/templates/_types/root/settings/_main_panel.html deleted file mode 100644 index 9f4c9a8..0000000 --- a/browser/templates/_types/root/settings/_main_panel.html +++ /dev/null @@ -1,2 +0,0 @@ -
    -
    diff --git a/browser/templates/_types/root/settings/_nav.html b/browser/templates/_types/root/settings/_nav.html deleted file mode 100644 index f9d4420..0000000 --- a/browser/templates/_types/root/settings/_nav.html +++ /dev/null @@ -1,5 +0,0 @@ -{% from 'macros/admin_nav.html' import admin_nav_item %} -{{ admin_nav_item(url_for('menu_items.list_menu_items'), 'bars', 'Menu Items', select_colours) }} -{{ admin_nav_item(url_for('snippets.list_snippets'), 'puzzle-piece', 'Snippets', select_colours) }} -{{ admin_nav_item(url_for('blog.tag_groups_admin.index'), 'tags', 'Tag Groups', select_colours) }} -{{ admin_nav_item(url_for('settings.cache'), 'refresh', 'Cache', select_colours) }} diff --git a/browser/templates/_types/root/settings/_oob_elements.html b/browser/templates/_types/root/settings/_oob_elements.html deleted file mode 100644 index fbe1bf3..0000000 --- a/browser/templates/_types/root/settings/_oob_elements.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{# Import shared OOB macros #} -{% from '_types/root/header/_oob_.html' import root_header with context %} - -{% block oobs %} - - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-header-child', 'root-settings-header-child', '_types/root/settings/header/_header.html')}} - - {% from '_types/root/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} -{% include '_types/root/settings/_nav.html' %} -{% endblock %} - - -{% block content %} - {% include '_types/root/settings/_main_panel.html' %} -{% endblock %} - diff --git a/browser/templates/_types/root/settings/cache/_header.html b/browser/templates/_types/root/settings/cache/_header.html deleted file mode 100644 index 64f8535..0000000 --- a/browser/templates/_types/root/settings/cache/_header.html +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='cache-row', oob=oob) %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{ admin_nav_item(url_for('settings.cache'), 'refresh', 'Cache', select_colours, aclass='') }} - {% call links.desktop_nav() %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/root/settings/cache/_main_panel.html b/browser/templates/_types/root/settings/cache/_main_panel.html deleted file mode 100644 index 854012d..0000000 --- a/browser/templates/_types/root/settings/cache/_main_panel.html +++ /dev/null @@ -1,14 +0,0 @@ -
    -
    -
    - - -
    -
    -
    -
    diff --git a/browser/templates/_types/root/settings/cache/_oob_elements.html b/browser/templates/_types/root/settings/cache/_oob_elements.html deleted file mode 100644 index 5989bf7..0000000 --- a/browser/templates/_types/root/settings/cache/_oob_elements.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends 'oob_elements.html' %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-settings-header-child', 'cache-header-child', '_types/root/settings/cache/_header.html')}} - - {% from '_types/root/settings/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - -{% block mobile_menu %} -{% endblock %} - -{% block content %} - {% include '_types/root/settings/cache/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/root/settings/cache/index.html b/browser/templates/_types/root/settings/cache/index.html deleted file mode 100644 index 05706f8..0000000 --- a/browser/templates/_types/root/settings/cache/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/root/settings/index.html' %} - -{% block root_settings_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/root/settings/cache/_header.html' import header_row with context %} - {{ header_row() }} -
    - {% block cache_header_child %} - {% endblock %} -
    - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/root/settings/cache/_main_panel.html' %} -{% endblock %} - -{% block _main_mobile_menu %} -{% endblock %} diff --git a/browser/templates/_types/root/settings/header/_header.html b/browser/templates/_types/root/settings/header/_header.html deleted file mode 100644 index 69e7c72..0000000 --- a/browser/templates/_types/root/settings/header/_header.html +++ /dev/null @@ -1,11 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='root-settings-row', oob=oob) %} - {% call links.link(url_for('settings.home'), hx_select_search) %} - {{ links.admin() }} - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/root/settings/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} \ No newline at end of file diff --git a/browser/templates/_types/root/settings/index.html b/browser/templates/_types/root/settings/index.html deleted file mode 100644 index 1773f3d..0000000 --- a/browser/templates/_types/root/settings/index.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends '_types/root/_index.html' %} -{% import 'macros/layout.html' as layout %} - -{% block root_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('root-settings-header-child', '_types/root/settings/header/_header.html') %} - {% block root_settings_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {% include '_types/root/settings/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/root/settings/_main_panel.html' %} -{% endblock %} \ No newline at end of file diff --git a/browser/templates/_types/slot/__description.html b/browser/templates/_types/slot/__description.html deleted file mode 100644 index 7897fd2..0000000 --- a/browser/templates/_types/slot/__description.html +++ /dev/null @@ -1,13 +0,0 @@ -{% macro description(slot, oob=False) %} -
    - {{ slot.description or ''}} -
    - -{% endmacro %} diff --git a/browser/templates/_types/slot/_description.html b/browser/templates/_types/slot/_description.html deleted file mode 100644 index 32e28e6..0000000 --- a/browser/templates/_types/slot/_description.html +++ /dev/null @@ -1,5 +0,0 @@ -

    - {% if slot.description %} - {{ slot.description }} - {% endif %} -

    diff --git a/browser/templates/_types/slot/_edit.html b/browser/templates/_types/slot/_edit.html deleted file mode 100644 index deebc4f..0000000 --- a/browser/templates/_types/slot/_edit.html +++ /dev/null @@ -1,182 +0,0 @@ -
    - -
    -
    - - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - Days - - - {# pre-check "All" if every day is true on this slot #} - {% set all_days_checked = - slot|getattr('mon') - and slot|getattr('tue') - and slot|getattr('wed') - and slot|getattr('thu') - and slot|getattr('fri') - and slot|getattr('sat') - and slot|getattr('sun') %} - -
    - {# "All" toggle – no name so it’s not submitted #} - - - {# Individual days, with data-day like the add form #} - {% for key, label in [ - ('mon','Mon'),('tue','Tue'),('wed','Wed'),('thu','Thu'), - ('fri','Fri'),('sat','Sat'),('sun','Sun') - ] %} - {% set is_checked = slot|getattr(key) %} - - {% endfor %} -
    -
    - - -
    - - -
    - -
    - - - -
    -
    -
    diff --git a/browser/templates/_types/slot/_main_panel.html b/browser/templates/_types/slot/_main_panel.html deleted file mode 100644 index 80f94ba..0000000 --- a/browser/templates/_types/slot/_main_panel.html +++ /dev/null @@ -1,73 +0,0 @@ -
    - -
    -
    - Days -
    -
    - {% set days = slot.days_display.split(', ') %} - {% if days and days[0] != "—" %} -
    - {% for day in days %} - - {{ day }} - - {% endfor %} -
    - {% else %} - No days - {% endif %} -
    -
    - - -
    -
    - Flexible -
    -
    - {{ 'yes' if slot.flexible else 'no' }} -
    -
    - - -
    -
    -
    - Time -
    -
    - {{ slot.time_start.strftime('%H:%M') }} — {{ slot.time_end.strftime('%H:%M') }} -
    -
    - -
    -
    - Cost -
    -
    - {{ ('%.2f'|format(slot.cost)) if slot.cost is not none else '' }} -
    -
    -
    - -
    - -{% if oob %} - {% from '_types/slot/__description.html' import description %} - {{description(slot, oob=True)}} - -{% endif %} \ No newline at end of file diff --git a/browser/templates/_types/slot/_oob_elements.html b/browser/templates/_types/slot/_oob_elements.html deleted file mode 100644 index 3b82170..0000000 --- a/browser/templates/_types/slot/_oob_elements.html +++ /dev/null @@ -1,15 +0,0 @@ -{% extends "oob_elements.html" %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('slots-header-child', 'slot-header-child', '_types/slot/header/_header.html')}} - - {% from '_types/slots/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - - -{% block content %} - {% include '_types/slot/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/slot/header/_header.html b/browser/templates/_types/slot/header/_header.html deleted file mode 100644 index 1176b4b..0000000 --- a/browser/templates/_types/slot/header/_header.html +++ /dev/null @@ -1,26 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='slot-row', oob=oob) %} - {% call links.link( - url_for('calendars.calendar.slots.slot.get', slug=post.slug, calendar_slug=calendar.slug, slot_id=slot.id), - hx_select_search, - ) %} -
    -
    - -
    - {{ slot.name }} -
    -
    - {% from '_types/slot/__description.html' import description %} - {{description(slot)}} -
    - {% endcall %} - {% call links.desktop_nav() %} - {#% include '_types/slot/_nav.html' %#} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/slot/index.html b/browser/templates/_types/slot/index.html deleted file mode 100644 index 265be24..0000000 --- a/browser/templates/_types/slot/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/slots/index.html' %} -{% import 'macros/layout.html' as layout %} - - -{% block slots_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('slot-header-child', '_types/slot/header/_header.html') %} - {% block slot_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {#% include '_types/slot/_nav.html' %#} -{% endblock %} - -{% block content %} - {% include '_types/slot/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/slots/_add.html b/browser/templates/_types/slots/_add.html deleted file mode 100644 index 83e8cbd..0000000 --- a/browser/templates/_types/slots/_add.html +++ /dev/null @@ -1,125 +0,0 @@ -
    -
    -
    - - -
    - -
    - - -
    - -
    - -
    - {# "All" toggle – no name so it’s not submitted #} - - - {# Individual days #} - {% for key, label in [ - ('mon','Mon'),('tue','Tue'),('wed','Wed'),('thu','Thu'), - ('fri','Fri'),('sat','Sat'),('sun','Sun') - ] %} - - {% endfor %} -
    -
    - -
    - - -
    - -
    - - -
    - -
    - - -
    - - {# NEW: flexible flag #} -
    - - -
    -
    - -
    - - - -
    -
    diff --git a/browser/templates/_types/slots/_add_button.html b/browser/templates/_types/slots/_add_button.html deleted file mode 100644 index dec2aee..0000000 --- a/browser/templates/_types/slots/_add_button.html +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/browser/templates/_types/slots/_main_panel.html b/browser/templates/_types/slots/_main_panel.html deleted file mode 100644 index a2ac263..0000000 --- a/browser/templates/_types/slots/_main_panel.html +++ /dev/null @@ -1,26 +0,0 @@ -
    - - - - - - - - - - - - - {% for s in slots %} - {% include '_types/slots/_row.html' %} - {% else %} - - {% endfor %} - -
    NameFlexibleDaysTimeCostActions
    No slots yet.
    - - -
    - {% include '_types/slots/_add_button.html' %} -
    -
    diff --git a/browser/templates/_types/slots/_oob_elements.html b/browser/templates/_types/slots/_oob_elements.html deleted file mode 100644 index acf0d05..0000000 --- a/browser/templates/_types/slots/_oob_elements.html +++ /dev/null @@ -1,15 +0,0 @@ -{% extends "oob_elements.html" %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('calendar-header-child', 'slots-header-child', '_types/slots/header/_header.html')}} - - {% from '_types/calendar/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - - -{% block content %} - {% include '_types/slots/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/slots/_row.html b/browser/templates/_types/slots/_row.html deleted file mode 100644 index a54d2ae..0000000 --- a/browser/templates/_types/slots/_row.html +++ /dev/null @@ -1,63 +0,0 @@ -{% import 'macros/links.html' as links %} - - -
    - {% call links.link( - url_for('calendars.calendar.slots.slot.get', slug=post.slug, calendar_slug=calendar.slug, slot_id=s.id), - hx_select_search, - aclass=styles.pill - ) %} - {{ s.name }} - {% endcall %} -
    - {% set slot = s %} - {% include '_types/slot/_description.html' %} - - - {{ 'yes' if s.flexible else 'no' }} - - - {% set days = s.days_display.split(', ') %} - {% if days and days[0] != "—" %} -
    - {% for day in days %} - - {{ day }} - - {% endfor %} -
    - {% else %} - No days - {% endif %} - - - {{ s.time_start.strftime('%H:%M') }} - {{ s.time_end.strftime('%H:%M') }} - - - {{ ('%.2f'|format(s.cost)) if s.cost is not none else '' }} - - - - - diff --git a/browser/templates/_types/slots/header/_header.html b/browser/templates/_types/slots/header/_header.html deleted file mode 100644 index 110fb29..0000000 --- a/browser/templates/_types/slots/header/_header.html +++ /dev/null @@ -1,19 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='slots-row', oob=oob) %} - {% call links.link( - url_for('calendars.calendar.slots.get', slug=post.slug, calendar_slug= calendar.slug), - hx_select_search, - ) %} - -
    - slots -
    - {% endcall %} - {% call links.desktop_nav() %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/slots/index.html b/browser/templates/_types/slots/index.html deleted file mode 100644 index 453ba5f..0000000 --- a/browser/templates/_types/slots/index.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends '_types/calendar/index.html' %} - -{% block calendar_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('slots-header-child', '_types/slots/header/_header.html') %} - {% block slots_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - -{% block _main_mobile_menu %} - {#% include '_types/calendar/_nav.html' %#} -{% endblock %} - - - -{% block content %} - {% include '_types/slots/_main_panel.html' %} -{% endblock %} \ No newline at end of file diff --git a/browser/templates/_types/snippets/_list.html b/browser/templates/_types/snippets/_list.html deleted file mode 100644 index 2b982ca..0000000 --- a/browser/templates/_types/snippets/_list.html +++ /dev/null @@ -1,73 +0,0 @@ -
    - {% if snippets %} -
    - {% for s in snippets %} -
    - {# Name #} -
    -
    {{ s.name }}
    -
    - {% if s.user_id == g.user.id %} - You - {% else %} - User #{{ s.user_id }} - {% endif %} -
    -
    - - {# Visibility badge #} - {% set badge_colours = { - 'private': 'bg-stone-200 text-stone-700', - 'shared': 'bg-blue-100 text-blue-700', - 'admin': 'bg-amber-100 text-amber-700', - } %} - - {{ s.visibility }} - - - {# Admin: inline visibility select #} - {% if is_admin %} - - {% endif %} - - {# Delete button #} - {% if s.user_id == g.user.id or is_admin %} - - {% endif %} -
    - {% endfor %} -
    - {% else %} -
    - -

    No snippets yet. Create one from the blog editor.

    -
    - {% endif %} -
    diff --git a/browser/templates/_types/snippets/_main_panel.html b/browser/templates/_types/snippets/_main_panel.html deleted file mode 100644 index 73b50b7..0000000 --- a/browser/templates/_types/snippets/_main_panel.html +++ /dev/null @@ -1,9 +0,0 @@ -
    -
    -

    Snippets

    -
    - -
    - {% include '_types/snippets/_list.html' %} -
    -
    diff --git a/browser/templates/_types/snippets/_oob_elements.html b/browser/templates/_types/snippets/_oob_elements.html deleted file mode 100644 index a1377cf..0000000 --- a/browser/templates/_types/snippets/_oob_elements.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends 'oob_elements.html' %} - -{# OOB elements for HTMX navigation - all elements that need updating #} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('root-settings-header-child', 'snippets-header-child', '_types/snippets/header/_header.html')}} - - {% from '_types/root/settings/header/_header.html' import header_row with context %} - {{header_row(oob=True)}} -{% endblock %} - -{% block mobile_menu %} -{% endblock %} - -{% block content %} - {% include '_types/snippets/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/snippets/header/_header.html b/browser/templates/_types/snippets/header/_header.html deleted file mode 100644 index 0882518..0000000 --- a/browser/templates/_types/snippets/header/_header.html +++ /dev/null @@ -1,9 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='snippets-row', oob=oob) %} - {% from 'macros/admin_nav.html' import admin_nav_item %} - {{ admin_nav_item(url_for('snippets.list_snippets'), 'puzzle-piece', 'Snippets', select_colours, aclass='') }} - {% call links.desktop_nav() %} - {% endcall %} - {% endcall %} -{% endmacro %} diff --git a/browser/templates/_types/snippets/index.html b/browser/templates/_types/snippets/index.html deleted file mode 100644 index 90f0106..0000000 --- a/browser/templates/_types/snippets/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/root/settings/index.html' %} - -{% block root_settings_header_child %} - {% from '_types/root/_n/macros.html' import header with context %} - {% call header() %} - {% from '_types/snippets/header/_header.html' import header_row with context %} - {{ header_row() }} -
    - {% block snippets_header_child %} - {% endblock %} -
    - {% endcall %} -{% endblock %} - -{% block content %} - {% include '_types/snippets/_main_panel.html' %} -{% endblock %} - -{% block _main_mobile_menu %} -{% endblock %} diff --git a/browser/templates/_types/ticket_type/_edit.html b/browser/templates/_types/ticket_type/_edit.html deleted file mode 100644 index b8326c6..0000000 --- a/browser/templates/_types/ticket_type/_edit.html +++ /dev/null @@ -1,103 +0,0 @@ -
    - -
    -
    - - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - -
    - - - -
    -
    -
    diff --git a/browser/templates/_types/ticket_type/_main_panel.html b/browser/templates/_types/ticket_type/_main_panel.html deleted file mode 100644 index 4bb7dac..0000000 --- a/browser/templates/_types/ticket_type/_main_panel.html +++ /dev/null @@ -1,50 +0,0 @@ -
    - -
    -
    -
    - Name -
    -
    - {{ ticket_type.name }} -
    -
    - -
    -
    - Cost -
    -
    - £{{ ('%.2f'|format(ticket_type.cost)) if ticket_type.cost is not none else '0.00' }} -
    -
    - -
    -
    - Count -
    -
    - {{ ticket_type.count }} -
    -
    -
    - - -
    diff --git a/browser/templates/_types/ticket_type/_nav.html b/browser/templates/_types/ticket_type/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/ticket_type/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/ticket_type/_oob_elements.html b/browser/templates/_types/ticket_type/_oob_elements.html deleted file mode 100644 index 824e62a..0000000 --- a/browser/templates/_types/ticket_type/_oob_elements.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "oob_elements.html" %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('ticket_types-header-child', 'ticket_type-header-child', '_types/ticket_type/header/_header.html')}} - - {% from '_types/ticket_types/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/ticket_type/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/ticket_type/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/ticket_type/header/_header.html b/browser/templates/_types/ticket_type/header/_header.html deleted file mode 100644 index 3f3b594..0000000 --- a/browser/templates/_types/ticket_type/header/_header.html +++ /dev/null @@ -1,33 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='ticket_type-row', oob=oob) %} - {% call links.link( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.ticket_types.ticket_type.get', - slug=post.slug, - calendar_slug=calendar.slug, - year=year, - month=month, - day=day, - entry_id=entry.id, - ticket_type_id=ticket_type.id - ), - hx_select_search, - ) %} -
    -
    - -
    - {{ ticket_type.name }} -
    -
    -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/ticket_type/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/ticket_type/index.html b/browser/templates/_types/ticket_type/index.html deleted file mode 100644 index 245992c..0000000 --- a/browser/templates/_types/ticket_type/index.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends '_types/ticket_types/index.html' %} -{% import 'macros/layout.html' as layout %} - -{% block ticket_types_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('ticket_types-header-child', '_types/ticket_type/header/_header.html') %} - {% block ticket_type_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {#% include '_types/ticket_type/_nav.html' %#} -{% endblock %} - -{% block content %} - {% include '_types/ticket_type/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/ticket_types/_add.html b/browser/templates/_types/ticket_types/_add.html deleted file mode 100644 index 9e3e825..0000000 --- a/browser/templates/_types/ticket_types/_add.html +++ /dev/null @@ -1,87 +0,0 @@ -
    -
    -
    - - -
    - -
    - - -
    - -
    - - -
    -
    - -
    - - - -
    -
    diff --git a/browser/templates/_types/ticket_types/_add_button.html b/browser/templates/_types/ticket_types/_add_button.html deleted file mode 100644 index 525bc46..0000000 --- a/browser/templates/_types/ticket_types/_add_button.html +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/browser/templates/_types/ticket_types/_main_panel.html b/browser/templates/_types/ticket_types/_main_panel.html deleted file mode 100644 index 2afaa7a..0000000 --- a/browser/templates/_types/ticket_types/_main_panel.html +++ /dev/null @@ -1,24 +0,0 @@ -
    - - - - - - - - - - - {% for tt in ticket_types %} - {% include '_types/ticket_types/_row.html' %} - {% else %} - - {% endfor %} - -
    NameCostCountActions
    No ticket types yet.
    - - -
    - {% include '_types/ticket_types/_add_button.html' %} -
    -
    diff --git a/browser/templates/_types/ticket_types/_nav.html b/browser/templates/_types/ticket_types/_nav.html deleted file mode 100644 index f5c504d..0000000 --- a/browser/templates/_types/ticket_types/_nav.html +++ /dev/null @@ -1,2 +0,0 @@ -{% from 'macros/admin_nav.html' import placeholder_nav %} -{{ placeholder_nav() }} diff --git a/browser/templates/_types/ticket_types/_oob_elements.html b/browser/templates/_types/ticket_types/_oob_elements.html deleted file mode 100644 index a746f17..0000000 --- a/browser/templates/_types/ticket_types/_oob_elements.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "oob_elements.html" %} - -{% block oobs %} - {% from '_types/root/_n/macros.html' import oob_header with context %} - {{oob_header('entry-admin-header-child', 'ticket_types-header-child', '_types/ticket_types/header/_header.html')}} - - {% from '_types/entry/admin/header/_header.html' import header_row with context %} - {{ header_row(oob=True) }} -{% endblock %} - - -{% block mobile_menu %} - {% include '_types/ticket_types/_nav.html' %} -{% endblock %} - -{% block content %} - {% include '_types/ticket_types/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_types/ticket_types/_row.html b/browser/templates/_types/ticket_types/_row.html deleted file mode 100644 index 00e4ffa..0000000 --- a/browser/templates/_types/ticket_types/_row.html +++ /dev/null @@ -1,57 +0,0 @@ -{% import 'macros/links.html' as links %} - - -
    - {% call links.link( - url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.ticket_types.ticket_type.get', - slug=post.slug, - calendar_slug=calendar.slug, - year=year, - month=month, - day=day, - entry_id=entry.id, - ticket_type_id=tt.id - ), - hx_select_search, - aclass=styles.pill - ) %} - {{ tt.name }} - {% endcall %} -
    - - - £{{ ('%.2f'|format(tt.cost)) if tt.cost is not none else '0.00' }} - - - {{ tt.count }} - - - - - diff --git a/browser/templates/_types/ticket_types/header/_header.html b/browser/templates/_types/ticket_types/header/_header.html deleted file mode 100644 index 757ab8f..0000000 --- a/browser/templates/_types/ticket_types/header/_header.html +++ /dev/null @@ -1,25 +0,0 @@ -{% import 'macros/links.html' as links %} -{% macro header_row(oob=False) %} - {% call links.menu_row(id='ticket_types-row', oob=oob) %} - {% call links.link(url_for( - 'calendars.calendar.day.calendar_entries.calendar_entry.ticket_types.get', - slug=post.slug, - calendar_slug=calendar.slug, - entry_id=entry.id, - year=year, - month=month, - day=day - ), hx_select_search) %} - -
    - ticket types -
    - {% endcall %} - {% call links.desktop_nav() %} - {% include '_types/ticket_types/_nav.html' %} - {% endcall %} - {% endcall %} -{% endmacro %} - - - diff --git a/browser/templates/_types/ticket_types/index.html b/browser/templates/_types/ticket_types/index.html deleted file mode 100644 index 9d0362a..0000000 --- a/browser/templates/_types/ticket_types/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends '_types/entry/admin/index.html' %} - -{% block entry_admin_header_child %} - {% from '_types/root/_n/macros.html' import index_row with context %} - {% call index_row('ticket_type-header-child', '_types/ticket_types/header/_header.html') %} - {% block ticket_types_header_child %} - {% endblock %} - {% endcall %} -{% endblock %} - - -{% block _main_mobile_menu %} - {% include '_types/ticket_types/_nav.html' %} -{% endblock %} - - - -{% block content %} - {% include '_types/ticket_types/_main_panel.html' %} -{% endblock %} diff --git a/browser/templates/_widgets/container_card/calendar_entries.html b/browser/templates/_widgets/container_card/calendar_entries.html deleted file mode 100644 index 52da849..0000000 --- a/browser/templates/_widgets/container_card/calendar_entries.html +++ /dev/null @@ -1,36 +0,0 @@ -{# Associated entries on blog listing cards — loaded via widget registry #} -{% set widget_entries = post[w.context_key] if post[w.context_key] is defined else [] %} -{% if widget_entries %} -
    -

    Events:

    -
    -
    - {% for entry in widget_entries %} - {% set _entry_path = '/' + post.slug + '/calendars/' + entry.calendar_slug + '/' + entry.start_at.year|string + '/' + entry.start_at.month|string + '/' + entry.start_at.day|string + '/entries/' + entry.id|string + '/' %} - -
    {{ entry.name }}
    -
    - {{ entry.start_at.strftime('%a, %b %d') }} -
    -
    - {{ entry.start_at.strftime('%H:%M') }} - {% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %} -
    -
    - {% endfor %} -
    -
    -
    - - -{% endif %} diff --git a/browser/templates/_widgets/container_nav/calendar_entries.html b/browser/templates/_widgets/container_nav/calendar_entries.html deleted file mode 100644 index 0156a8f..0000000 --- a/browser/templates/_widgets/container_nav/calendar_entries.html +++ /dev/null @@ -1,38 +0,0 @@ -{# Calendar entries nav items — loaded via widget registry #} -{% set entry_list = ctx.entries if ctx.entries is defined else [] %} -{% set current_page = ctx.page if ctx.page is defined else 1 %} -{% set has_more_entries = ctx.has_more if ctx.has_more is defined else False %} - -{% for entry in entry_list %} - {% set _entry_path = '/' + post.slug + '/calendars/' + entry.calendar_slug + '/' + entry.start_at.year|string + '/' + entry.start_at.month|string + '/' + entry.start_at.day|string + '/entries/' + entry.id|string + '/' %} - - {% if post.feature_image %} - {{ post.title }} - {% else %} -
    - {% endif %} -
    -
    {{ entry.name }}
    -
    - {{ entry.start_at.strftime('%b %d, %Y at %H:%M') }} - {% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %} -
    -
    -
    -{% endfor %} - -{# Load more entries one at a time until container is full #} -{% if has_more_entries %} -
    -
    -{% endif %} diff --git a/browser/templates/_widgets/container_nav/calendar_links.html b/browser/templates/_widgets/container_nav/calendar_links.html deleted file mode 100644 index f0c3022..0000000 --- a/browser/templates/_widgets/container_nav/calendar_links.html +++ /dev/null @@ -1,10 +0,0 @@ -{# Calendar link nav items — loaded via widget registry #} -{% for calendar in ctx.calendars %} - {% set local_href=events_url('/' + post.slug + '/calendars/' + calendar.slug + '/') %} - - -
    {{calendar.name}}
    -
    -{% endfor %} diff --git a/browser/templates/_widgets/container_nav/market_links.html b/browser/templates/_widgets/container_nav/market_links.html deleted file mode 100644 index 0419cfd..0000000 --- a/browser/templates/_widgets/container_nav/market_links.html +++ /dev/null @@ -1,9 +0,0 @@ -{# Market link nav items — loaded via widget registry #} -{% for m in ctx.markets %} - - -
    {{m.name}}
    -
    -{% endfor %} diff --git a/browser/templates/aside_clear.html b/browser/templates/aside_clear.html deleted file mode 100644 index e091ac2..0000000 --- a/browser/templates/aside_clear.html +++ /dev/null @@ -1,7 +0,0 @@ - - diff --git a/browser/templates/filter_clear.html b/browser/templates/filter_clear.html deleted file mode 100644 index fc3901e..0000000 --- a/browser/templates/filter_clear.html +++ /dev/null @@ -1,5 +0,0 @@ -
    -
    diff --git a/browser/templates/macros/date.html b/browser/templates/macros/date.html deleted file mode 100644 index 5954f28..0000000 --- a/browser/templates/macros/date.html +++ /dev/null @@ -1,7 +0,0 @@ -{% macro dt(d) -%} -{{ d.astimezone().strftime('%-d %b %Y, %H:%M') if d.tzinfo else d.strftime('%-d %b %Y, %H:%M') }} -{%- endmacro %} - -{% macro t(d) -%} -{{ d.astimezone().strftime('%H:%M') if d.tzinfo else d.strftime('%H:%M') }} -{%- endmacro %} diff --git a/browser/templates/macros/filters.html b/browser/templates/macros/filters.html deleted file mode 100644 index 8d13887..0000000 --- a/browser/templates/macros/filters.html +++ /dev/null @@ -1,117 +0,0 @@ -{# - Unified filter macros for browse/shop pages - Consolidates duplicate mobile/desktop filter components -#} - -{% macro filter_item(href, is_on, title, icon_html, count=none, variant='desktop') %} - {# - Generic filter item (works for labels, stickers, etc.) - variant: 'desktop' or 'mobile' - #} - {% set base_class = "flex flex-col items-center justify-center" %} - {% if variant == 'mobile' %} - {% set item_class = base_class ~ " p-1 rounded hover:bg-stone-50" %} - {% set count_class = "text-[10px] text-stone-500 mt-1 leading-none tabular-nums" if count != 0 else "text-md text-red-500 font-bold mt-1 leading-none tabular-nums" %} - {% else %} - {% set item_class = base_class ~ " py-2 w-full h-full" %} - {% set count_class = "text-xs text-stone-500 leading-none justify-self-end tabular-nums" if count != 0 else "text-md text-red-500 font-bold leading-none justify-self-end tabular-nums" %} - {% endif %} - - - {{ icon_html | safe }} - {% if count is not none %} - {{ count }} - {% endif %} - -{% endmacro %} - - -{% macro labels_list(labels, selected_labels, current_local_href, variant='desktop') %} - {# - Unified labels filter list - variant: 'desktop' or 'mobile' - #} - {% import 'macros/stickers.html' as stick %} - - {% if variant == 'mobile' %} - - {% endif %} -{% endmacro %} - - -{% macro stickers_list(stickers, selected_stickers, current_local_href, variant='desktop') %} - {# - Unified stickers filter list - variant: 'desktop' or 'mobile' - #} - {% import 'macros/stickers.html' as stick %} - - {% if variant == 'mobile' %} - - - {% endif %} -{% endmacro %} - -