Compare commits

...
3 Commits
Author SHA1 Message Date
dwrz e13d9d849d Refactor UI CSS 2026-11-02 03:30:15 +00:00
dwrz 7b7ac6c7ce Update biome config 2026-11-02 03:26:06 +00:00
dwrz 7224a2e573 Refactor model info UI 2026-11-02 03:25:54 +00:00
5 changed files with 26 additions and 28 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"$schema": "https://biomejs.dev/schemas/2.6.3/schema.json", "$schema": "https://biomejs.dev/schemas/2.6.4/schema.json",
"vcs": { "vcs": {
"enabled": true, "enabled": true,
"clientKind": "git", "clientKind": "git",
+21 -24
View File
@@ -86,8 +86,7 @@ body {
height: 100dvh; height: 100dvh;
max-width: calc(var(--measure) + var(--s3) * 2); max-width: calc(var(--measure) + var(--s3) * 2);
margin-inline: auto; margin-inline: auto;
padding: var(--s0); padding: 0 var(--s0);
padding-bottom: 0;
} }
/* ==================== */ /* ==================== */
@@ -102,7 +101,8 @@ body {
padding: var(--s1); padding: var(--s1);
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border-light); border: 1px solid var(--color-border-light);
border-radius: var(--radius); border-top: none;
border-radius: 0 0 var(--radius) var(--radius);
} }
.chat > * + * { .chat > * + * {
@@ -253,21 +253,6 @@ body {
gap: 0.125rem; gap: 0.125rem;
} }
.compose__model {
padding: 0 var(--s-1);
font-size: 0.7rem;
font-family: var(--font-mono);
color: var(--color-text-muted);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
line-height: 1;
}
.compose__model:empty {
display: none;
}
.compose__attachment { .compose__attachment {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -352,10 +337,25 @@ body {
/* ==================== */ /* ==================== */
.footer { .footer {
margin-top: var(--s0);
background: var(--color-bg); background: var(--color-bg);
} }
.footer__status {
padding: var(--s-2) var(--s-1);
font-size: 0.7rem;
font-family: var(--font-mono);
font-style: italic;
color: var(--color-text);
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.footer__status[hidden] {
display: none;
}
.footer__select { .footer__select {
height: 2rem; height: 2rem;
padding: 0 var(--s-1); padding: 0 var(--s-1);
@@ -376,15 +376,14 @@ body {
} }
.footer__toolbar { .footer__toolbar {
border-inline: none;
border-bottom: none;
display: flex; display: flex;
align-items: center; align-items: center;
gap: var(--s-2); gap: var(--s-2);
padding: var(--s-2); padding: var(--s-2);
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border-light); border: 1px solid var(--color-border-light);
border-radius: var(--radius); border-bottom: none;
border-radius: var(--radius) var(--radius) 0 0;
} }
.footer__toolbar-btn { .footer__toolbar-btn {
@@ -863,7 +862,6 @@ body {
@media (max-width: 639px) { @media (max-width: 639px) {
.container { .container {
padding: 0; padding: 0;
padding-top: var(--s-1);
} }
.chat { .chat {
@@ -872,7 +870,6 @@ body {
} }
.footer { .footer {
margin-top: var(--s-1);
padding-bottom: 0; padding-bottom: 0;
} }
+3 -2
View File
@@ -820,14 +820,15 @@ export class UI {
/** /**
* _updateComposeModelLabel sets the text and hover title of the * _updateComposeModelLabel sets the text and hover title of the
* compose bar's model indicator to the active provider/model. * footer status bar's model indicator to the active provider and model.
* @private * @private
*/ */
_updateComposeModelLabel() { _updateComposeModelLabel() {
const { provider, model } = this.getSelectedModel(); const { provider, model } = this.getSelectedModel();
const label = provider && model ? `${provider}/${model}` : ''; const label = provider && model ? `${provider} • ${model}` : '';
this.$composeModelLabel.textContent = label; this.$composeModelLabel.textContent = label;
this.$composeModelLabel.title = label; this.$composeModelLabel.title = label;
this.$composeModelLabel.hidden = !label;
} }
/** /**
@@ -35,7 +35,6 @@
> >
<svg class="icon"><use href="/static/icons.svg#location"></use></svg> <svg class="icon"><use href="/static/icons.svg#location"></use></svg>
</button> </button>
<span class="compose__model" id="compose-model-label"></span>
</div> </div>
<input type="file" id="file-input" multiple hidden /> <input type="file" id="file-input" multiple hidden />
<div class="compose__actions-right"> <div class="compose__actions-right">
@@ -1,5 +1,6 @@
{{ define "footer" }} {{ define "footer" }}
<footer class="footer"> <footer class="footer">
<div class="footer__status" id="compose-model-label" hidden></div>
{{ template "footer/compose" . }} {{ template "footer/compose" . }}
{{ template "footer/toolbar" . }} {{ template "footer/toolbar" . }}
</footer> </footer>