diff --git a/frontend/src/routes/tags/TagList.svelte b/frontend/src/routes/tags/TagList.svelte
index 38a1095..d0fe7f3 100644
--- a/frontend/src/routes/tags/TagList.svelte
+++ b/frontend/src/routes/tags/TagList.svelte
@@ -85,17 +85,6 @@
$effect(() => loadTags(id));
-
-
{#if error}
{error}
{/if}
diff --git a/web/src/main/resources/web/css/default.css b/web/src/main/resources/web/css/default.css
index a49e83a..97a51a4 100644
--- a/web/src/main/resources/web/css/default.css
+++ b/web/src/main/resources/web/css/default.css
@@ -7,6 +7,7 @@ a {
color: orange;
text-decoration: none;
}
+
body {
font-family: sans;
background: black;
@@ -36,6 +37,7 @@ button{
border-style: solid;
border-color: yellow red red yellow;
}
+
footer {
position: fixed;
bottom: 0;
@@ -44,6 +46,7 @@ footer {
margin: 5px;
background: black;
}
+
nav {
position: sticky;
z-index: 100;
@@ -53,6 +56,7 @@ nav {
margin: 0 0 10px 0;
border-bottom: 1px solid orange;
}
+
.error {
background: red;
color: black;
@@ -239,6 +243,12 @@ textarea{
min-height: 1.3em;
}
+.taglist .tag{
+ border: 1px solid orange;
+ border-radius: 5px;
+ padding: 5px;
+}
+
.taglist .tag button{
background: transparent;
color: orange;
diff --git a/web/src/main/resources/web/css/winter.css b/web/src/main/resources/web/css/winter.css
index 7c952fe..1f438e4 100644
--- a/web/src/main/resources/web/css/winter.css
+++ b/web/src/main/resources/web/css/winter.css
@@ -1,15 +1,18 @@
+@font-face {
+ font-family: "awesome";
+ src: url("/fontawesome-webfont.woff");
+}
+
a {
color: black;
+ text-decoration: none;
}
body {
+ font-family: sans;
background: white;
color: navy;
-}
-
-button:disabled{
- color:lightgray;
- border-color:lightgray;
+ margin: 0 0 40px 0;
}
fieldset {
@@ -34,20 +37,235 @@ button{
border-style: solid;
border-color: darkgray black black darkgray;
}
+
footer {
- position: sticky;
+ position: fixed;
bottom: 0;
width: 100%;
text-align: center;
+ margin: 5px;
+ background: white;
+ }
+
+nav {
+ position: sticky;
+ z-index: 100;
+ top: 0;
+ background: #dfe4ff;
padding: 5px;
- margin-top: 5px;
- background: white;
- border-color: cyan;
- border-style: dashed;
- border-width: 1px 0 0;
+ margin: 0 0 10px 0;
+ border-bottom: 1px solid blue;
}
+.error {
+ background: red;
+ color: black;
+ padding: 5px;
+ 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{
+ float: left;
+}
+
+.clear{
+ clear: both;
+}
.position_selector{
- background: rgba(255,255,255,0.8);
+ background: rgba(0,0,0,0.7);
backdrop-filter: blur(3px);
+}
+.task.cancelled > a {
+ text-decoration: line-through;
+ color: gray;
+}
+.task.started > a {
+ color: green;
+}
+.task.pending > a {
+ color: #606060;
+}
+.task.complete > a {
+ color: green;
+}
+.task.complete > a:before {
+ content: "✓ ";
+}
+
+.symbol {
+ font-family: awesome;
+ font-size: 20px;
+ font-weight: normal;
+}
+
+.settings {
+ position: fixed;
+ background: black;
+ top: 60px;
+ left: 10px;
+ right: 10px;
+ padding: 10px;
+ border: 1px solid blue;
+ border-radius: 5px;
+}
+
+.project:not(.list) .name,
+.task .name{
+ font-size: 32px;
+ font-weight: bold;
+}
+
+.symbol{
+ padding: 1px;
+}
+
+li.task > button{
+ display: none;
+}
+
+li.task{
+ padding: 5px 0;
+}
+
+li.task:hover > button{
+ display: initial;
+}
+textarea{
+ color: white;
+ background: #333;
+ font-weight: black;
+}
+
+.kanban .add_task,
+.kanban .box,
+.kanban .head,
+.kanban .user{
+ border-radius: 5px;
+ margin: 2px;
+ min-height: 50px;
+ color: black;
+ padding: 2px;
+}
+.kanban .box{
+ background: #white;
+ position: relative;
+}
+.kanban .box .title{
+ display: inline-block;
+ padding-bottom: 15px;
+}
+.kanban .add_task,
+.kanban .head,
+.kanban .user{
+ background: white;
+ border: 1px solid blue;
+ color: blue;
+ text-align: center;
+}
+.kanban .highlight{
+ background: #4b3000;
+}
+.kanban .estimate{
+ border: 0 none;
+ position: absolute;
+ top: 0;
+ right: 0;
+ font-weight: bold;
+ font-size: 0.6em;
+}
+.kanban .due_date{
+ position: absolute;
+ font-weight: bold;
+ font-size: 0.6em;
+ bottom: 0;
+ right: 0;
+}
+
+.kanban .tags {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ font-size: 0.6em;
+}
+.kanban .user,
+.kanban .head {
+ position: sticky;
+ top: 50px;
+ z-index: 20;
+}
+
+.kanban .filter{
+ position: absolute;
+ top: 60px;
+ right: 20px;
+}
+.kanban .state_10 .box,
+.kanban .state_100 .box{
+ background: #adc8d9;;
+}
+.kanban .state_20 .box{
+ background: #e0ffdf;
+}
+.kanban .state_40 .box{
+ background: #b2ffa8;
+}
+.kanban .state_60 .box{
+ background: #d3ff00;
+}
+.project th,
+.task th{
+ text-align: right;
+ padding-right: 10px;
+}
+
+.project th button,
+.task th button{
+ display: block;
+ margin: 5px 0 5px auto;
+}
+
+.taglist .editor > span{
+ display: inline-block;
+ min-width: 150px;
+ min-height: 1.3em;
+}
+
+.taglist .tag{
+ border: 1px solid blue;
+ border-radius: 5px;
+ padding: 5px;
+}
+
+.taglist .tag button{
+ background: transparent;
+ color: blue;
+ border: 0 none;
+}
+
+fieldset.bookmark{
+ position: relative;
+}
+
+fieldset.bookmark legend.date{
+ position: absolute;
+ right: 0;
+ top: -17px;
+ background: black;
+}
+
+legend{
+ max-width: 75vw;
}
\ No newline at end of file