@@ -8,7 +8,7 @@
|
|||||||
let error = $state(null);
|
let error = $state(null);
|
||||||
let {
|
let {
|
||||||
getCandidates = async text => {},
|
getCandidates = async text => {},
|
||||||
heading = t('add_user'),
|
heading = t('add_object',{object:t('user')}),
|
||||||
users = $bindable({})
|
users = $bindable({})
|
||||||
} = $props();
|
} = $props();
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "awesome";
|
||||||
|
src: url("/fontawesome-webfont.woff");
|
||||||
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: red;
|
color: red;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
|
font-family: sans;
|
||||||
background: black;
|
background: black;
|
||||||
color: red;
|
color: red;
|
||||||
|
margin: 0 0 40px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
fieldset {
|
fieldset {
|
||||||
border: 1px solid red;
|
border: 1px solid red;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
input{
|
input{
|
||||||
@@ -21,17 +30,263 @@ input{
|
|||||||
}
|
}
|
||||||
|
|
||||||
button{
|
button{
|
||||||
background: red;
|
color: yellow;
|
||||||
|
background: #730000;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
padding: 5px 7px;
|
padding: 5px 7px;
|
||||||
border-width: 2px;
|
border-width: 2px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-color: yellow red red yellow;
|
border-color: orange brown brown orange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
button:disabled{
|
||||||
|
color: coral;
|
||||||
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
position: absolute;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
position: sticky;
|
||||||
|
z-index: 100;
|
||||||
|
top: 0;
|
||||||
|
background: #26220c;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
border-bottom: 1px solid orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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(0,0,0,0.7);
|
||||||
|
backdrop-filter: blur(3px);
|
||||||
|
}
|
||||||
|
.task.cancelled > a {
|
||||||
|
text-decoration: line-through;
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
.task.started > a {
|
||||||
|
color: chartreuse;
|
||||||
|
}
|
||||||
|
.task.pending > a {
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
.task.complete > a {
|
||||||
|
color: forestgreen;
|
||||||
|
}
|
||||||
|
.task.complete > a:before {
|
||||||
|
content: "✓ ";
|
||||||
|
}
|
||||||
|
|
||||||
|
.task.open > a {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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 orange;
|
||||||
|
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: #ffc586;
|
||||||
|
background: black;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kanban .add_task,
|
||||||
|
.kanban .box,
|
||||||
|
.kanban .head,
|
||||||
|
.kanban .user{
|
||||||
|
border-radius: 5px;
|
||||||
|
margin: 2px;
|
||||||
|
min-height: 50px;
|
||||||
|
color: black;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
.kanban .box{
|
||||||
|
background: #759eff;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.kanban .box .title{
|
||||||
|
display: inline-block;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
.kanban .add_task,
|
||||||
|
.kanban .head,
|
||||||
|
.kanban .user{
|
||||||
|
background: black;
|
||||||
|
border: 1px solid orange;
|
||||||
|
color: orange;
|
||||||
|
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: #573800;
|
||||||
|
}
|
||||||
|
.kanban .state_20 .box{
|
||||||
|
background: orange;
|
||||||
|
}
|
||||||
|
.kanban .state_40 .box{
|
||||||
|
background: khaki;
|
||||||
|
}
|
||||||
|
.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 red;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taglist .tag button{
|
||||||
|
background: transparent;
|
||||||
|
color: red;
|
||||||
|
border: 0 none;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldset.bookmark{
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
legend.date,
|
||||||
|
legend.time{
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
background: black;
|
||||||
|
}
|
||||||
|
legend.date{
|
||||||
|
top: -17px;
|
||||||
|
}
|
||||||
|
legend.time{
|
||||||
|
top: -25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
legend{
|
||||||
|
max-width: 75vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.companies .edit > * {
|
||||||
|
display: inline-block;
|
||||||
|
width: 46vw;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ li.task:hover > button{
|
|||||||
textarea{
|
textarea{
|
||||||
color: white;
|
color: white;
|
||||||
background: #333;
|
background: #333;
|
||||||
font-weight: black;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.kanban .add_task,
|
.kanban .add_task,
|
||||||
@@ -264,7 +264,7 @@ legend.date,
|
|||||||
legend.time{
|
legend.time{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
background: white;
|
background: black;
|
||||||
}
|
}
|
||||||
legend.date{
|
legend.date{
|
||||||
top: -17px;
|
top: -17px;
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ li.task:hover > button{
|
|||||||
textarea{
|
textarea{
|
||||||
color: blue;
|
color: blue;
|
||||||
background: lightcyan;;
|
background: lightcyan;;
|
||||||
font-weight: black;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.kanban .add_task,
|
.kanban .add_task,
|
||||||
|
|||||||
Reference in New Issue
Block a user