diff --git a/frontend/app/javascript/dashboard/components/ui/TimeAgo.vue b/frontend/app/javascript/dashboard/components/ui/TimeAgo.vue index 5a039320..98a51586 100644 --- a/frontend/app/javascript/dashboard/components/ui/TimeAgo.vue +++ b/frontend/app/javascript/dashboard/components/ui/TimeAgo.vue @@ -13,6 +13,8 @@ const chineseShortTimestamp = timestamp => { .replace(/^(\d+)y$/, '$1年'); }; +export { chineseShortTimestamp }; + import { zhCN } from 'date-fns/locale'; import { dynamicTime, @@ -151,7 +153,7 @@ export default { content: tooltipText, delay: { show: 1000, hide: 0 }, }" - class="ml-auto leading-4 text-xxs text-n-slate-10 hover:text-n-slate-11" + class="ml-auto whitespace-nowrap leading-4 text-xxs text-n-slate-10 hover:text-n-slate-11" > {{ `${createdAtTime} • ${lastActivityTime}` }} diff --git a/frontend/app/javascript/dashboard/components/ui/specs/TimeAgo.spec.js b/frontend/app/javascript/dashboard/components/ui/specs/TimeAgo.spec.js new file mode 100644 index 00000000..5cd4df9f --- /dev/null +++ b/frontend/app/javascript/dashboard/components/ui/specs/TimeAgo.spec.js @@ -0,0 +1,15 @@ +import { chineseShortTimestamp } from '../TimeAgo.vue'; + +describe('chineseShortTimestamp', () => { + it.each([ + ['now', '刚刚'], + ['1m', '1分钟'], + ['1h', '1小时'], + ['12h', '12小时'], + ['1d', '1天'], + ['2mo', '2个月'], + ['1y', '1年'], + ])('formats %s as %s', (timestamp, expected) => { + expect(chineseShortTimestamp(timestamp)).toBe(expected); + }); +}); \ No newline at end of file