From beacb965368d486b83bcc650b61f73b9de5f34a5 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 7 Oct 2025 10:37:36 +0200 Subject: [PATCH] added project description to kanban view --- frontend/src/routes/project/Kanban.svelte | 10 ++++- translations/src/main/resources/de.json | 1 + translations/src/main/resources/en.json | 1 + web/src/main/resources/web/css/bloodshed.css | 47 +++++++++++++++----- web/src/main/resources/web/css/default.css | 39 +++++++++------- web/src/main/resources/web/css/winter.css | 47 +++++++++++++++----- 6 files changed, 103 insertions(+), 42 deletions(-) diff --git a/frontend/src/routes/project/Kanban.svelte b/frontend/src/routes/project/Kanban.svelte index a702f76..6de95df 100644 --- a/frontend/src/routes/project/Kanban.svelte +++ b/frontend/src/routes/project/Kanban.svelte @@ -7,10 +7,12 @@ import { t } from '../../translations.svelte.js'; import { user } from '../../user.svelte.js'; - import Card from './KanbanCard.svelte'; - import LineEditor from '../../Components/LineEditor.svelte'; + import Card from './KanbanCard.svelte'; + import LineEditor from '../../Components/LineEditor.svelte'; + import MarkdownEditor from '../../Components/MarkdownEditor.svelte'; let { id } = $props(); + let descr = $state(false); let filter_input = $state(''); let router = useTinyRouter(); if (router.hasQueryParam('filter')) filter_input = router.getQueryParam('filter'); @@ -189,6 +191,10 @@ {/if} {#if project} +
descr = !descr}> + {t('description')} – {t('expand_on_click')} + {@html project.description.rendered} +
diff --git a/translations/src/main/resources/de.json b/translations/src/main/resources/de.json index c081c79..16329f4 100644 --- a/translations/src/main/resources/de.json +++ b/translations/src/main/resources/de.json @@ -80,6 +80,7 @@ "end": "Ende", "estimated_time": "geschätzte Zeit", "estimated_times": "geschätzte Zeiten", + "expand_on_click": "Anklicken zum Anzeigen", "extended_settings": "erweiterte Einstellungen", "failed": "fehlgeschlagen", diff --git a/translations/src/main/resources/en.json b/translations/src/main/resources/en.json index 7fdbc5b..af5b1ee 100644 --- a/translations/src/main/resources/en.json +++ b/translations/src/main/resources/en.json @@ -80,6 +80,7 @@ "end": "end", "estimated_time": "estimated duration", "estimated_times": "estimated durations", + "expand_on_click": "click to expand", "extended_settings": "extended settings", "failed": "failed", diff --git a/web/src/main/resources/web/css/bloodshed.css b/web/src/main/resources/web/css/bloodshed.css index 27f0690..79fe389 100644 --- a/web/src/main/resources/web/css/bloodshed.css +++ b/web/src/main/resources/web/css/bloodshed.css @@ -36,6 +36,15 @@ button{ border-style: solid; } +fieldset[tabindex="0"]{ + max-height: 55px; + overflow: hidden; +} + +fieldset[tabindex="0"]:focus-within{ + max-height: unset; +} + footer { position: fixed; bottom: 0; @@ -53,6 +62,22 @@ nav { border-bottom: 1px solid; } +td, tr{ + vertical-align: baseline; +} + +.archive { + position: fixed; + top: 10px; + right: 10px; + width: 200px; + height: 30px; + z-index: 100; + border-radius: 5px; + text-align: center; + border: 1px solid; +} + .error { padding: 5px; border-radius: 6px; @@ -63,17 +88,6 @@ nav { border-radius: 6px; } -fieldset[tabindex="0"]{ - max-height: 55px; - overflow: hidden; -} - -fieldset[tabindex="0"]:focus-within{ - max-height: unset; -} -td, tr{ - vertical-align: baseline; -} .customer, .sender, .invoice_meta{ @@ -193,6 +207,15 @@ textarea{ right: 20px; } +.kanban.description{ + max-height: 50px; + overflow: hidden; +} + +.kanban.description.active{ + max-height: unset; +} + .project th, .task th{ text-align: right; @@ -362,7 +385,7 @@ a.wikilink{ } .grid2 > :nth-child(2n-1){ - text-align: initial ; + text-align: initial; padding-top: 8px; } } \ No newline at end of file diff --git a/web/src/main/resources/web/css/default.css b/web/src/main/resources/web/css/default.css index fe43dfb..79fe389 100644 --- a/web/src/main/resources/web/css/default.css +++ b/web/src/main/resources/web/css/default.css @@ -36,6 +36,15 @@ button{ border-style: solid; } +fieldset[tabindex="0"]{ + max-height: 55px; + overflow: hidden; +} + +fieldset[tabindex="0"]:focus-within{ + max-height: unset; +} + footer { position: fixed; bottom: 0; @@ -53,14 +62,6 @@ nav { border-bottom: 1px solid; } -fieldset[tabindex="0"]{ - max-height: 55px; - overflow: hidden; -} - -fieldset[tabindex="0"]:focus-within{ - max-height: unset; -} td, tr{ vertical-align: baseline; } @@ -206,6 +207,15 @@ textarea{ right: 20px; } +.kanban.description{ + max-height: 50px; + overflow: hidden; +} + +.kanban.description.active{ + max-height: unset; +} + .project th, .task th{ text-align: right; @@ -267,6 +277,10 @@ nav > form{ display:inline; } +li > a > p:nth-child(1){ + display: inline; +} + .timetracks .duration{ font-weight: bold; } @@ -374,11 +388,4 @@ a.wikilink{ text-align: initial; padding-top: 8px; } -} - - - - - - - +} \ No newline at end of file diff --git a/web/src/main/resources/web/css/winter.css b/web/src/main/resources/web/css/winter.css index 27f0690..79fe389 100644 --- a/web/src/main/resources/web/css/winter.css +++ b/web/src/main/resources/web/css/winter.css @@ -36,6 +36,15 @@ button{ border-style: solid; } +fieldset[tabindex="0"]{ + max-height: 55px; + overflow: hidden; +} + +fieldset[tabindex="0"]:focus-within{ + max-height: unset; +} + footer { position: fixed; bottom: 0; @@ -53,6 +62,22 @@ nav { border-bottom: 1px solid; } +td, tr{ + vertical-align: baseline; +} + +.archive { + position: fixed; + top: 10px; + right: 10px; + width: 200px; + height: 30px; + z-index: 100; + border-radius: 5px; + text-align: center; + border: 1px solid; +} + .error { padding: 5px; border-radius: 6px; @@ -63,17 +88,6 @@ nav { border-radius: 6px; } -fieldset[tabindex="0"]{ - max-height: 55px; - overflow: hidden; -} - -fieldset[tabindex="0"]:focus-within{ - max-height: unset; -} -td, tr{ - vertical-align: baseline; -} .customer, .sender, .invoice_meta{ @@ -193,6 +207,15 @@ textarea{ right: 20px; } +.kanban.description{ + max-height: 50px; + overflow: hidden; +} + +.kanban.description.active{ + max-height: unset; +} + .project th, .task th{ text-align: right; @@ -362,7 +385,7 @@ a.wikilink{ } .grid2 > :nth-child(2n-1){ - text-align: initial ; + text-align: initial; padding-top: 8px; } } \ No newline at end of file