diff --git a/.gitignore b/.gitignore index f1e0b50..4a4d54e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ __pycache__ /drcr/config.toml +/drcr/static/build /instance /venv diff --git a/drcr/css/main.css b/drcr/css/main.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/drcr/css/main.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/drcr/css/tailwind.config.js b/drcr/css/tailwind.config.js new file mode 100644 index 0000000..cd868d8 --- /dev/null +++ b/drcr/css/tailwind.config.js @@ -0,0 +1,11 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./*/templates/**/*.html"], + theme: { + extend: {}, + fontFamily: { + "sans": ["Roboto Flex", "Helvetica", "Arial", "sans-serif"], + } + }, + plugins: [], +} diff --git a/drcr/templates/base_tailwind.html b/drcr/templates/base_tailwind.html new file mode 100644 index 0000000..766db18 --- /dev/null +++ b/drcr/templates/base_tailwind.html @@ -0,0 +1,80 @@ +{# DrCr: Web-based double-entry bookkeeping framework + Copyright (C) 2022–2024 Lee Yingtong Li (RunasSudo) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +#} + + + + + + + {% block title %}{% endblock %} + + + + + {% block body %} +
+ {# Navigation bar #} + + +
+
+
+ {% block content %}{% endblock %} +
+
+
+ + {% if config['DEBUG'] %} +
+
+
+ Queries executed in {{ dbtime() }} msec. Page generated in __EXECUTION_TIME__ msec. +
+
+
+ {% endif %} +
+ {% endblock %} + + {% block scripts %}{% endblock %} + + diff --git a/drcr/templates/report.html b/drcr/templates/report.html index c982536..c2e5f15 100644 --- a/drcr/templates/report.html +++ b/drcr/templates/report.html @@ -1,5 +1,5 @@ {# DrCr: Web-based double-entry bookkeeping framework - Copyright (C) 2022–2023 Lee Yingtong Li (RunasSudo) + Copyright (C) 2022–2024 Lee Yingtong Li (RunasSudo) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by @@ -15,13 +15,13 @@ along with this program. If not, see . #} -{% extends 'base.html' %} +{% extends 'base_tailwind.html' %} {% block title %}{{ report.title }}{% endblock %} {% macro render_section(section) %} {% if section.title %} - {{ section.title }} + {{ section.title }} {% endif %} @@ -35,35 +35,39 @@ {% if entry.__class__.__name__ == 'Section' %} {{ render_section(entry) }} {% elif entry.__class__.__name__ == 'Subtotal' %} - - {{ entry.text }} - {{ entry.amount.format_accounting() }} + + {{ entry.text }} + {{ entry.amount.format_accounting() }} {% elif entry.__class__.__name__ == 'Spacer' %} -   +   {% else %} - - <{{ 'th' if entry.heading else 'td' }}> + + {% if entry.heading %}{% else %}{% endif %} {% if entry.link %} - {{ entry.text }} + {{ entry.text }} {% else %} {{ entry.text }} {% endif %} - <{{ 'th' if entry.heading else 'td' }} class="text-end">{{ entry.amount.format_accounting() }} + {% if entry.heading %}{% else %}{% endif %} + {{ entry.amount.format_accounting() }} + {% endif %} {% endif %} {% endmacro %} {% block content %} -

{{ report.title }}

+

+ {{ report.title }} +

- +
- + - +