@@ -37,9 +35,9 @@
{% if dump.type == 'request' %}
- Request
+ Request
{% else %}
- Response
+ Response
{% endif %}
diff --git a/templates/admin/user/index.html.twig b/templates/admin/user/index.html.twig
index d5b1d41..c4178cf 100644
--- a/templates/admin/user/index.html.twig
+++ b/templates/admin/user/index.html.twig
@@ -1,9 +1,7 @@
{% extends 'layout_admin.html.twig' %}
{% block content %}
-
- Benutzeraccounts
-
+ Benutzeraccounts
diff --git a/templates/base_admin.html.twig b/templates/base_admin.html.twig
index a22f927..eda8abd 100644
--- a/templates/base_admin.html.twig
+++ b/templates/base_admin.html.twig
@@ -9,10 +9,10 @@
{% block stylesheets %}
- {{ encore_entry_link_tags('app') }}
+ {{ encore_entry_link_tags('admin') }}
{% endblock %}
{% block javascripts %}
- {{ encore_entry_script_tags('app') }}
+ {{ encore_entry_script_tags('admin') }}
{% endblock %}
diff --git a/templates/components/badge.html.twig b/templates/components/badge.html.twig
new file mode 100644
index 0000000..a5b5a49
--- /dev/null
+++ b/templates/components/badge.html.twig
@@ -0,0 +1,11 @@
+{% set variant = variant ?? 'primary' %}
+{% set cva = html_cva('badge', {
+ variant: {
+ primary: 'bg-primary text-white',
+ success: 'bg-green-500 text-white',
+ warning: 'bg-red-500 text-white',
+ }
+}, [], { variant: 'primary' }) %}
+
+ {{ block('content') }}
+
diff --git a/templates/components/calendar/grid.html.twig b/templates/components/calendar/grid.html.twig
new file mode 100644
index 0000000..dd0fff4
--- /dev/null
+++ b/templates/components/calendar/grid.html.twig
@@ -0,0 +1,71 @@
+{% set weekdays = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'] %}
+
+ {% for month in months %}
+ {% set totalCols = month.firstDow + (month.days | length) %}
+
+
{{ month.label }}
+
+
+
+
+ {% for col in 0..(totalCols - 1) %}
+ {% set dow = col % 7 %}
+
+ {{ weekdays[dow] }}
+
+ {% endfor %}
+
+
+
+ {% if month.firstDow > 0 %}
+ {% for i in 1..month.firstDow %}
+
+ {% endfor %}
+ {% endif %}
+ {% for dayNum, day in month.days %}
+
+ {{ dayNum }}
+
+ {% endfor %}
+
+ {% for row in [
+ {label: 'Preis', key: 'hasPrice', color: 'bg-blue-500'},
+ {label: 'Verpfl.', key: 'hasBoard', color: 'bg-green-500'},
+ {label: 'Zusatzl.', key: 'hasAdditional', color: 'bg-amber-500'},
+ {label: 'n. v.', key: 'isBlocked', color: 'bg-red-500'},
+ ] %}
+
+
{{ row.label }}
+ {% if month.firstDow > 0 %}
+ {% for i in 1..month.firstDow %}
+
+ {% endfor %}
+ {% endif %}
+ {% for dayNum, day in month.days %}
+
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+ {% endfor %}
+
+
+
+ Preiskonfigurationen
+
+
+ Verpflegungsleistungen
+
+
+ optionale Zusatzleistungen
+
+
+ nicht verfügbar
+
+
diff --git a/templates/components/calendar/index.html.twig b/templates/components/calendar/index.html.twig
new file mode 100644
index 0000000..ab195ee
--- /dev/null
+++ b/templates/components/calendar/index.html.twig
@@ -0,0 +1,17 @@
+
+
+
+
+ ← {{ prevLabel }}
+
+
+ {{ nextLabel }} →
+
+
+
diff --git a/templates/components/dropdown/hxbutton.html.twig b/templates/components/dropdown/hxbutton.html.twig
new file mode 100644
index 0000000..442a9cb
--- /dev/null
+++ b/templates/components/dropdown/hxbutton.html.twig
@@ -0,0 +1,20 @@
+{% set warning = warning ?? false %}
+{% set method = method ?? 'get' %}
+
+ {{ block('content') }}
+
diff --git a/templates/_partials/_dropdown.html.twig b/templates/components/dropdown/index.html.twig
similarity index 50%
rename from templates/_partials/_dropdown.html.twig
rename to templates/components/dropdown/index.html.twig
index d4abf09..39d5322 100644
--- a/templates/_partials/_dropdown.html.twig
+++ b/templates/components/dropdown/index.html.twig
@@ -1,9 +1,16 @@
-
-
+
+
Funktionen
{{ icon('dots', 'w-6 h-6') }}
-
+
{% block content %}{% endblock %}
-
+
{% block button_confirm %}Ja{% endblock %}
diff --git a/templates/htmx_modal.html.twig b/templates/htmx_modal.html.twig
index f6a132b..5bb234c 100644
--- a/templates/htmx_modal.html.twig
+++ b/templates/htmx_modal.html.twig
@@ -1,8 +1,8 @@