|
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>
|
|---|
|
|
| webclient/dist/assets/index-B3sK1CT9.js 0 → 100644 |
|---|
|
Not supported
|
| webclient/dist/assets/index-BDuEstCz.css 100644 → 0 |
|---|
| webclient/dist/assets/index-BUB7Wbp2.css 0 → 100644 |
|---|
| webclient/dist/assets/index-BvNbvwky.js 100644 → 0 |
|---|
|
Not supported
|
| webclient/dist/index.html |
|---|
| webclient/src/App.vue |
|---|
| webclient/src/components/chat/MessageList.vue |
|---|
| webclient/src/components/messages/AssistantMessage.vue |
|---|
| webclient/src/components/messages/UserMessage.vue |
|---|
| webclient/src/components/sidebar/SessionItem.vue |
|---|
| webclient/src/components/sidebar/SessionList.vue |
|---|
| webclient/src/components/ui/ConfirmDialog.vue 0 → 100644 |
|---|
| webclient/src/composables/useConfirm.js 0 → 100644 |
|---|
| webclient/src/composables/useTime.js 0 → 100644 |
|---|
| webclient/src/stores/chat.js |
|---|
| webclient/src/styles/app.scss |
|---|