webclient: message timestamps, confirm dialog, layout and UX fixes
- Add useTime.js: relative time labels ("just now", "5m ago", HH:MM) with auto-refresh every 30s
- Show message timestamps below user bubbles and assistant replies
- Show session last_active time in sidebar below preview
- Add ConfirmDialog.vue + useConfirm.js: kit-styled modal confirm, wired to delete in SessionItem
- SessionList: switch RecycleScroller → DynamicScroller to support variable item heights
- SessionItem: remove fixed 74px height; show action buttons always on touch devices (hover: none)
- MessageList: constrain content to max-width 920px centered (message-list-inner, input-row)
- MessageList: replace TransitionGroup with plain v-for; animate only new messages via .msg-enter CSS class, history loads silently without scroll animation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 6feeba9 commit d378b79654a7d75953ec192a10cb0cb192f9ae1b
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 16 Apr
Showing 16 changed files
View
webclient/dist/assets/index-B3sK1CT9.js 0 → 100644
Not supported
View
webclient/dist/assets/index-BDuEstCz.css 100644 → 0
View
webclient/dist/assets/index-BUB7Wbp2.css 0 → 100644
View
webclient/dist/assets/index-BvNbvwky.js 100644 → 0
Not supported
View
webclient/dist/index.html
View
webclient/src/App.vue
View
webclient/src/components/chat/MessageList.vue
View
webclient/src/components/messages/AssistantMessage.vue
View
webclient/src/components/messages/UserMessage.vue
View
webclient/src/components/sidebar/SessionItem.vue
View
webclient/src/components/sidebar/SessionList.vue
View
webclient/src/components/ui/ConfirmDialog.vue 0 → 100644
View
webclient/src/composables/useConfirm.js 0 → 100644
View
webclient/src/composables/useTime.js 0 → 100644
View
webclient/src/stores/chat.js
View
webclient/src/styles/app.scss