improve UI

This commit is contained in:
marlon-erler
2024-07-23 23:28:22 +02:00
parent 347d56fee8
commit 8ac71e87d4
7 changed files with 51 additions and 32 deletions
+14 -11
View File
@@ -82,11 +82,17 @@ main {
--primary-active: hsl(var(--hue), 80%, var(--accent-luma)); --primary-active: hsl(var(--hue), 80%, var(--accent-luma));
--text-on-color: hsl(0, 0%, var(--accent-text-luma)); --text-on-color: hsl(0, 0%, var(--accent-text-luma));
--link: hsl(var(--hue), 100%, var(--accent-luma)); --link: hsl(var(--hue), 100%, var(--accent-luma));
--surface: hsla(var(--hue), 80%, 30%, 5%);
--surface-hover: hsla(var(--hue), 100%, 5%, 10%);
--surface-active: hsla(var(--hue), 100%, 5%, 15%);
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
[color]:not([color=standard]) { [color]:not([color=standard]) {
--accent-luma: var(--accent-luma-dark); --accent-luma: var(--accent-luma-dark);
--accent-text-luma: var(--accent-text-luma-dark); --accent-text-luma: var(--accent-text-luma-dark);
--surface: hsla(var(--hue), 100%, 95%, 5%);
--surface-hover: hsla(var(--hue), 100%, 95%, 10%);
--surface-active: hsla(var(--hue), 100%, 95%, 15%);
} }
} }
[color]:not([color=standard]).tile { [color]:not([color=standard]).tile {
@@ -269,7 +275,7 @@ body[showing-chat] #chat-page-wrapper {
overflow: hidden; overflow: hidden;
} }
#chat-page > div > #main { #chat-page > div > #main {
width: calc(100% - var(--ribbon-size)); width: calc(100% - var(--ribbon-size) - 1px);
overflow-x: scroll; overflow-x: scroll;
scroll-behavior: smooth; scroll-behavior: smooth;
scroll-snap-type: x mandatory; scroll-snap-type: x mandatory;
@@ -314,19 +320,20 @@ body[showing-chat] #chat-page-wrapper {
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar { #chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar {
align-items: center; align-items: center;
} }
#chat-page > div > #ribbon {
width: calc(var(--ribbon-size) + 1px);
border-right: 1px solid var(--border);
padding-bottom: var(--safe-area-bottom);
}
#chat-page > div > #ribbon > span, #chat-page > div > #ribbon > span,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.ribbon { #chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.ribbon {
gap: calc(var(--gap-between-tiles) * 2); gap: var(--gap-between-tiles);
padding: var(--gap-between-tiles); padding: var(--gap-between-tiles);
} }
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar { #chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar {
justify-content: start; justify-content: start;
justify-content: space-between; justify-content: space-between;
} }
#chat-page > div > #ribbon {
width: var(--ribbon-size);
padding-bottom: var(--safe-area-bottom);
}
#chat-page > div > #ribbon > span { #chat-page > div > #ribbon > span {
height: 100%; height: 100%;
flex: 1; flex: 1;
@@ -350,6 +357,7 @@ body[showing-chat] #chat-page-wrapper {
max-width: calc(var(--control-height) - 2 * var(--gap-between-tiles)); max-width: calc(var(--control-height) - 2 * var(--gap-between-tiles));
min-height: unset; min-height: unset;
height: calc(var(--control-height) - 2 * var(--gap-between-tiles)); height: calc(var(--control-height) - 2 * var(--gap-between-tiles));
color: var(--primary);
} }
#chat-page > div > #ribbon button > .icon, #chat-page > div > #ribbon button > .icon,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar button > .icon { #chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar button > .icon {
@@ -363,11 +371,6 @@ body[showing-chat] #chat-page-wrapper {
overflow-x: auto; overflow-x: auto;
padding: 0px; padding: 0px;
} }
@media (max-width: 1024px) {
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar input {
border-left: 1px solid var(--surface-border);
}
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.title { #chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.title {
padding-left: var(--content-padding); padding-left: var(--content-padding);
} }
+13 -3
View File
@@ -1792,7 +1792,7 @@
return /* @__PURE__ */ createElement( return /* @__PURE__ */ createElement(
"button", "button",
{ {
class: "ghost ribbon-button", class: "ribbon-button",
"aria-label": label, "aria-label": label,
"toggle:selected": isSelected, "toggle:selected": isSelected,
"on:click": select "on:click": select
@@ -2237,6 +2237,16 @@
// src/View/ChatPages/boardPage.tsx // src/View/ChatPages/boardPage.tsx
function BoardPage(boardViewModel) { function BoardPage(boardViewModel) {
boardViewModel.loadData(); boardViewModel.loadData();
const mainContent = createProxyState(
[boardViewModel.selectedPage],
() => {
switch (boardViewModel.selectedPage.value) {
default: {
return /* @__PURE__ */ createElement("div", null);
}
}
}
);
return /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("span", null, /* @__PURE__ */ createElement( return /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("span", null, /* @__PURE__ */ createElement(
"button", "button",
{ {
@@ -2279,12 +2289,12 @@
), /* @__PURE__ */ createElement( ), /* @__PURE__ */ createElement(
"button", "button",
{ {
class: "primary", class: "ghost",
"aria-label": translations.chatPage.task.createTaskButtonAudioLabel, "aria-label": translations.chatPage.task.createTaskButtonAudioLabel,
"on:click": boardViewModel.showNewTaskModal "on:click": boardViewModel.showNewTaskModal
}, },
/* @__PURE__ */ createElement("span", { class: "icon" }, "add") /* @__PURE__ */ createElement("span", { class: "icon" }, "add")
))), /* @__PURE__ */ createElement("div", { class: "content" }), BoardSettingsModal(boardViewModel)); ))), /* @__PURE__ */ createElement("div", { class: "content", "children:set": mainContent }), BoardSettingsModal(boardViewModel));
} }
// src/View/ChatPages/taskPage.tsx // src/View/ChatPages/taskPage.tsx
+4 -2
View File
@@ -167,6 +167,9 @@ select:not(.tile *),
.tile { .tile {
background: var(--surface); background: var(--surface);
} }
[selected] {
background: var(--background);
}
@media (hover: hover) { @media (hover: hover) {
button:hover, button:hover,
select:hover, select:hover,
@@ -179,8 +182,7 @@ select:not(.tile *),
} }
button:active, button:active,
select:active, select:active,
button.tile.ghost:active, button.tile.ghost:active {
[selected] {
background: var(--surface-active); background: var(--surface-active);
} }
[selected]:active { [selected]:active {
+1 -1
View File
@@ -70,7 +70,7 @@ export function BoardPage(boardViewModel: BoardViewModel) {
<span class="icon">filter_alt</span> <span class="icon">filter_alt</span>
</button> </button>
<button <button
class="primary" class="ghost"
aria-label={translations.chatPage.task.createTaskButtonAudioLabel} aria-label={translations.chatPage.task.createTaskButtonAudioLabel}
on:click={boardViewModel.showNewTaskModal} on:click={boardViewModel.showNewTaskModal}
> >
+1 -1
View File
@@ -12,7 +12,7 @@ export function RibbonButton(
) { ) {
return ( return (
<button <button
class="ghost ribbon-button" class="ribbon-button"
aria-label={label} aria-label={label}
toggle:selected={isSelected} toggle:selected={isSelected}
on:click={select} on:click={select}
+10 -14
View File
@@ -44,7 +44,7 @@ body[showing-chat] #chat-page-wrapper {
} }
#chat-page > div > #main { #chat-page > div > #main {
width: calc(100% - var(--ribbon-size)); width: calc(100% - var(--ribbon-size) - 1px);
overflow-x: scroll; overflow-x: scroll;
scroll-behavior: smooth; scroll-behavior: smooth;
@@ -101,6 +101,12 @@ body[showing-chat] #chat-page-wrapper {
align-items: center; align-items: center;
} }
#chat-page > div > #ribbon {
width: calc(var(--ribbon-size) + 1px);
border-right: 1px solid var(--border);
padding-bottom: var(--safe-area-bottom);
}
#chat-page > div > #ribbon > span, #chat-page > div > #ribbon > span,
#chat-page #chat-page
> div > div
@@ -110,7 +116,7 @@ body[showing-chat] #chat-page-wrapper {
> .pane > .pane
> .toolbar > .toolbar
> span.ribbon { > span.ribbon {
gap: calc(var(--gap-between-tiles) * 2); gap: var(--gap-between-tiles);
padding: var(--gap-between-tiles); padding: var(--gap-between-tiles);
} }
@@ -119,12 +125,6 @@ body[showing-chat] #chat-page-wrapper {
justify-content: space-between; justify-content: space-between;
} }
#chat-page > div > #ribbon {
width: var(--ribbon-size);
padding-bottom: var(--safe-area-bottom);
}
#chat-page > div > #ribbon > span { #chat-page > div > #ribbon > span {
height: 100%; height: 100%;
@@ -162,6 +162,8 @@ body[showing-chat] #chat-page-wrapper {
min-height: unset; min-height: unset;
height: calc(var(--control-height) - 2 * var(--gap-between-tiles)); height: calc(var(--control-height) - 2 * var(--gap-between-tiles));
color: var(--primary);
} }
#chat-page > div > #ribbon button > .icon, #chat-page > div > #ribbon button > .icon,
@@ -189,12 +191,6 @@ body[showing-chat] #chat-page-wrapper {
padding: 0px; padding: 0px;
} }
@media (max-width: 1024px) {
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar input {
border-left: 1px solid var(--surface-border);
}
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.title { #chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.title {
padding-left: var(--content-padding); padding-left: var(--content-padding);
} }
+8
View File
@@ -6,12 +6,20 @@
--text-on-color: hsl(0, 0%, var(--accent-text-luma)); --text-on-color: hsl(0, 0%, var(--accent-text-luma));
--link: hsl(var(--hue), 100%, var(--accent-luma)); --link: hsl(var(--hue), 100%, var(--accent-luma));
--surface: hsla(var(--hue), 80%, 30%, 5%);
--surface-hover: hsla(var(--hue), 100%, 5%, 10%);
--surface-active: hsla(var(--hue), 100%, 5%, 15%);
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
[color]:not([color="standard"]) { [color]:not([color="standard"]) {
--accent-luma: var(--accent-luma-dark); --accent-luma: var(--accent-luma-dark);
--accent-text-luma: var(--accent-text-luma-dark); --accent-text-luma: var(--accent-text-luma-dark);
--surface: hsla(var(--hue), 100%, 95%, 5%);
--surface-hover: hsla(var(--hue), 100%, 95%, 10%);
--surface-active: hsla(var(--hue), 100%, 95%, 15%);
} }
} }