Process launcher requests into active items

This commit is contained in:
Andraxion 2026-06-26 23:35:24 -04:00
parent 4eef0d4850
commit 9f9b13aa01
3 changed files with 546 additions and 81 deletions

View file

@ -255,11 +255,50 @@ body {
padding-right: 4px;
}
.launcher-request-controls {
position: sticky;
top: 0;
z-index: 3;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 10px;
align-items: center;
padding: 12px;
border: 1px solid #365782;
border-radius: 12px;
background:
linear-gradient(180deg, rgba(16, 29, 56, 0.96) 0%, rgba(12, 22, 43, 0.96) 100%);
box-shadow:
0 10px 24px rgba(3, 8, 18, 0.26),
inset 0 0 0 1px rgba(10, 16, 32, 0.14);
}
.launcher-request-toolbar {
display: flex;
justify-content: flex-start;
}
.launcher-request-filter {
display: grid;
gap: 4px;
min-width: 190px;
}
.launcher-request-filter-label {
color: #9fb8e5;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.launcher-request-filter-select {
min-height: 40px;
border-color: #365782;
background: rgba(8, 16, 31, 0.88);
color: #eef6ff;
}
.launcher-request-composer {
display: grid;
gap: 10px;
@ -313,9 +352,23 @@ body {
box-shadow: inset 0 0 0 1px rgba(10, 16, 32, 0.14);
}
.launcher-request-entry.is-done {
border-color: #2f7e60;
background: rgba(15, 40, 33, 0.84);
.launcher-request-entry.is-clickable {
cursor: pointer;
}
.launcher-request-entry.is-active {
border-color: #4f79af;
}
.launcher-request-entry.is-pending {
border-color: #6d5f36;
background: rgba(45, 34, 15, 0.64);
}
.launcher-request-entry.is-expanded {
box-shadow:
0 14px 28px rgba(3, 8, 18, 0.28),
inset 0 0 0 1px rgba(10, 16, 32, 0.14);
}
.launcher-request-entry-head {
@ -325,19 +378,53 @@ body {
gap: 12px;
}
.launcher-request-check {
display: inline-flex;
align-items: center;
gap: 8px;
color: #eef6ff;
font-size: 12px;
font-weight: 700;
.launcher-request-entry-head-main {
display: flex;
align-items: flex-start;
gap: 10px;
min-width: 0;
}
.launcher-request-check input {
width: 16px;
height: 16px;
.launcher-request-status-pill {
padding: 4px 9px;
border: 1px solid #365782;
border-radius: 999px;
font-size: 10px;
font-weight: 800;
letter-spacing: 0.06em;
text-transform: uppercase;
white-space: nowrap;
}
.launcher-request-status-pill.is-active {
border-color: #2f7e60;
background: rgba(19, 73, 50, 0.88);
color: #b7f0d5;
}
.launcher-request-status-pill.is-pending {
border-color: #9c8140;
background: rgba(93, 70, 19, 0.78);
color: #ffe7a9;
}
.launcher-request-entry-title-block {
min-width: 0;
display: grid;
gap: 3px;
}
.launcher-request-entry-title {
margin: 0;
color: #eef6ff;
font-size: 14px;
line-height: 1.25;
}
.launcher-request-entry-category {
color: #9fb8e5;
font-size: 11px;
line-height: 1.35;
}
.launcher-request-delete-btn {
@ -354,6 +441,22 @@ body {
background: #672536;
}
.launcher-request-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.launcher-request-tag {
padding: 4px 8px;
border: 1px solid #365782;
border-radius: 999px;
background: rgba(25, 48, 87, 0.72);
color: #d7e7ff;
font-size: 11px;
line-height: 1;
}
.launcher-request-entry-text {
color: #d7e7ff;
font-size: 13px;
@ -361,11 +464,6 @@ body {
white-space: pre-wrap;
}
.launcher-request-entry.is-done .launcher-request-entry-text {
color: #9ec7b4;
text-decoration: line-through;
}
.launcher-request-entry-meta,
.launcher-request-empty {
color: #9fb8e5;
@ -373,6 +471,37 @@ body {
line-height: 1.4;
}
.launcher-request-expanded {
display: grid;
gap: 10px;
padding-top: 2px;
}
.launcher-request-expanded-block {
display: grid;
gap: 5px;
padding: 10px 12px;
border: 1px solid #365782;
border-radius: 10px;
background: rgba(8, 16, 31, 0.74);
}
.launcher-request-expanded-label {
color: #9fd8ff;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.launcher-request-expanded-copy {
margin: 0;
color: #d7e7ff;
font-size: 12px;
line-height: 1.5;
white-space: pre-wrap;
}
.launcher-request-error {
margin: 0;
color: #ff9aa4;
@ -1567,6 +1696,14 @@ button.danger:not(:disabled):hover {
flex-direction: column;
}
.launcher-request-controls {
grid-template-columns: 1fr;
}
.launcher-request-filter {
min-width: 0;
}
.launcher-primary-btn,
.launcher-secondary-btn {
width: 100%;