fix: UI polish and provider fixes

- Add animate-pulse CSS animation for loading states
- Add Ctrl+I/Ctrl+B markdown shortcuts in chat input
- Improve chat input resize with mirror element
- Add reasoning duration display and shimmer effect
- Add confirmation dialog for deleting all models
- Simplify RowVirtualizerDynamic resize handling
- Fix DialogType imports (type -> value)
- Fix ollama cloud model name resolution
- Make vllm auth header optional
- Various icon and styling fixes
This commit is contained in:
Zoe
2026-05-11 17:44:00 -05:00
parent 6ee5b2cbbe
commit 57e7a92cd1
14 changed files with 177 additions and 39 deletions
+23 -3
View File
@@ -53,6 +53,20 @@ const toggleReasoning = async () => {
scrollToBottom('instant');
handleScroll();
};
const formatDuration = (ms: number) => {
const seconds = ms / 1000;
const minutes = Math.floor(seconds / 60);
const hours = Math.floor(minutes / 60);
if (hours > 0) {
return `${hours}h ${minutes % 60}m ${(seconds % 60).toFixed(1)}s`;
} else if (minutes > 0) {
return `${minutes}m ${(seconds % 60).toFixed(1)}s`;
} else {
return `${seconds.toFixed(1)}s`;
}
}
</script>
<template>
@@ -63,10 +77,16 @@ const toggleReasoning = async () => {
]">
<span class="flex items-center gap-1">
<span
class="w-[24px] h-[24px] flex-shrink-0 rounded-lg overflow-hidden bg-[var(--bg-surface)] flex items-center justify-center">
<span class="i-mynaui-atom text-2.5 text-[var(--reasoning-accent)]"></span>
class="w-6 h-6 flex-shrink-0 rounded-lg overflow-hidden bg-[var(--bg-surface)] flex items-center justify-center">
<span class="i-mynaui-atom text-3 text-[var(--reasoning-accent)]"></span>
</span>
<span v-if="!part.finished" class="animate-pulse">
Deep Thinking
</span>
<span v-else>
Deeply Thought (in {{ formatDuration(new Date(part.lastUpdatedAt).getTime() - new
Date(part.createdAt).getTime()) }})
</span>
Deep Thinking
</span>
<span class="i-mynaui-chevron-down w-4 h-4 text-[var(--text-secondary)]"
:class="reasoningOpen ? '' : '-rotate-90'"></span>