Todo/static/css/styles.css

277 lines
4.6 KiB
CSS
Raw Normal View History

2024-08-18 04:29:25 +00:00
* {
margin: 0;
font-family: sans-serif;
}
nav {
height: 48px;
line-height: 48px;
2024-08-18 04:29:25 +00:00
border-bottom: 2px solid black;
}
#nav-container {
max-width: 1000px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
2024-08-18 04:29:25 +00:00
}
.nav-section {
padding: 0 13px;
display: flex;
flex-direction: row;
gap: 15px;
}
2024-08-18 04:29:25 +00:00
#new-button {
text-transform: uppercase;
cursor: pointer;
text-align: center;
font-size: 2em;
font-weight: 600;
font-family: sans-serif;
color: inherit;
text-decoration: none;
display: inline-block;
}
.focus-highlight:hover {
2024-08-18 04:29:25 +00:00
background-color: #ddd;
}
#profile {
position: relative;
}
#profile-icon {
padding: 0 10px;
cursor: pointer;
}
#profile-dropdown {
position: absolute;
top: 48px;
right: 0px;
height: 0;
width: 100px;
z-index: 9999;
border: 0px solid black;
transition: height .5s, border-width 0s .5s;
overflow: hidden;
background-color: white;
}
#profile:hover > #profile-dropdown {
height: 64px;
border-width: 2px;
transition: height .5s, border-width 0s;
}
#profile-dropdown > div {
cursor: pointer;
line-height: 32px;
padding: 0 4px;
}
2024-08-18 04:29:25 +00:00
#main-content {
height: calc(100vh - 100px);
height: calc(100lvh - 100px);
position: relative;
}
#lists {
height: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 38px;
padding: 25px;
}
#overdue-list {
border: 4px solid hsl(0, 90%, 67.72%);
}
#today-list {
border: 4px solid hsl(210, 57.14%, 58.04%);
}
#upcoming-list {
border: 4px solid hsl(262.5, 44.44%, 58.62%);
}
.todo-list {
width: 300px;
height: min(calc(100lvh - 100px), 450px);
border: 4px solid black;
border-radius: 12px;
overflow: hidden;
}
.todo-list-title {
height: 50px;
line-height: 50px;
text-align: center;
color: #333;
font-size: 2rem;
}
.todo-list-items {
max-height: min(calc(100lvh - 150px), 400px);
overflow-y: scroll;
}
#overdue-list > .todo-list-title {
background-color: #FAA0A0;
}
#today-list > .todo-list-title {
background-color: #A7C7E7;
}
#upcoming-list > .todo-list-title {
background-color: #C3B1E1;
}
.todo-item {
height: 40px;
margin: 6px;
padding: 0 12px;
border-radius: 5px;
border: 1px solid gray;
display: flex;
align-items: center;
justify-content: start;
gap: 10px;
}
[data-show-completed="false"]
.todo-item:has(input[type="checkbox"]:checked) {
display: none;
}
2024-08-18 04:29:25 +00:00
.todo-text {
flex: 1;
text-wrap: nowrap;
overflow: hidden;
}
.todo-item-actions {
max-width: 0px;
overflow: hidden;
transition: max-width .2s;
display: flex;
flex-direction: row;
align-items: center;
justify-content: end;
gap: 5px;
}
.todo-item:hover > .todo-item-actions {
max-width: 30%;
transition: max-width .7s;
}
.todo-item-actions > i {
cursor: pointer;
}
2024-08-20 05:26:47 +00:00
form {
2024-10-01 19:32:55 +00:00
position: absolute;
left: 50%;
top: 50%;
2024-08-18 04:29:25 +00:00
transform: translate(-50%, -50%);
2024-10-01 19:32:55 +00:00
border: 2px solid black;
border-radius: 10px;
width: min(calc(100vw - 110px), 900px);
height: min(calc(100lvh - 250px), 440px);
background: white;
box-shadow: black 5px 5px 5px -3px;
2024-08-18 04:29:25 +00:00
visibility: hidden;
opacity: 0;
transition: visibility 1s, top .5s, opacity .5s linear;
display: flex;
flex-direction: column;
padding: 30px;
}
2024-08-20 05:26:47 +00:00
form:target {
2024-10-01 19:32:55 +00:00
top: 48%;
2024-08-18 04:29:25 +00:00
visibility: visible;
opacity: 1;
transition: visibility 0s, top .5s, opacity .5s linear;
}
2024-08-20 05:26:47 +00:00
.form-title {
2024-08-18 04:29:25 +00:00
font-size: 2em;
font-weight: bold;
margin-top: -10px;
}
2024-08-20 05:26:47 +00:00
.form-container {
2024-08-18 04:29:25 +00:00
display: flex;
flex: 1;
flex-direction: row;
}
2024-08-20 05:26:47 +00:00
.form-column {
2024-08-18 04:29:25 +00:00
flex: 1;
padding: 20px;
}
2024-08-20 05:26:47 +00:00
.form-column input {
2024-08-18 04:29:25 +00:00
margin-bottom: 20px;
}
2024-08-20 05:26:47 +00:00
.form-button-container {
2024-08-18 04:29:25 +00:00
display: flex;
flex-direction: row;
align-items: center;
justify-content: end;
margin: 0 10px;
gap: 20px;
}
2024-08-20 05:26:47 +00:00
form .button {
2024-08-18 04:29:25 +00:00
padding: 10px 20px;
text-decoration: none;
border: 2px solid;
border-radius: 6px;
box-shadow: black 2px 2px 3px 0;
background-color: white;
font-size: 1rem;
cursor: pointer;
}
2024-08-20 05:26:47 +00:00
form .button:hover {
2024-08-18 04:29:25 +00:00
background-color: #ddd;
}
2024-08-20 05:26:47 +00:00
.form-close-button {
2024-08-18 04:29:25 +00:00
color: initial;
}
2024-08-20 05:26:47 +00:00
.form-save-button {
2024-08-18 04:29:25 +00:00
color: blue;
border-color: blue;
}
2024-08-19 22:02:45 +00:00
.new-item, .filler-item {
display: none;
}
[data-item-count="0"]
.filler-item {
display: block;
width: calc(100% - 12px);
flex: 1;
text-align: center;
font-weight: bold;
font-size: 1.5rem;
line-height: 40px;
margin: 6px;
}