fix(frontend): MkDateSeparatedListで月の違う同じ日はセパレータが出ないのを修正 (#14545)

* fix(frontend): MkDateSeparatedListで月の違う同じ日はセパレータが出ないのを修正

* Update Changelog
This commit is contained in:
かっこかり 2024-09-15 12:20:29 +09:00 committed by GitHub
parent 837a8e15d8
commit e0f54d6a68
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 6 deletions

View File

@ -9,6 +9,7 @@
- Enhance: サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように - Enhance: サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように
- Enhance: アイコンデコレーション管理画面にプレビューを追加 - Enhance: アイコンデコレーション管理画面にプレビューを追加
- Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正 - Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正
- Fix: 月の違う同じ日はセパレータが表示されないのを修正
### Server ### Server
- Fix: ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正 - Fix: ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正

View File

@ -43,9 +43,9 @@ export default defineComponent({
setup(props, { slots, expose }) { setup(props, { slots, expose }) {
const $style = useCssModule(); // 使 const $style = useCssModule(); // 使
function getDateText(time: string) { function getDateText(dateInstance: Date) {
const date = new Date(time).getDate(); const date = dateInstance.getDate();
const month = new Date(time).getMonth() + 1; const month = dateInstance.getMonth() + 1;
return i18n.tsx.monthAndDay({ return i18n.tsx.monthAndDay({
month: month.toString(), month: month.toString(),
day: date.toString(), day: date.toString(),
@ -62,9 +62,16 @@ export default defineComponent({
})[0]; })[0];
if (el.key == null && item.id) el.key = item.id; if (el.key == null && item.id) el.key = item.id;
const date = new Date(item.createdAt);
const nextDate = props.items[i + 1] ? new Date(props.items[i + 1].createdAt) : null;
if ( if (
i !== props.items.length - 1 && i !== props.items.length - 1 &&
new Date(item.createdAt).getDate() !== new Date(props.items[i + 1].createdAt).getDate() nextDate != null && (
date.getFullYear() !== nextDate.getFullYear() ||
date.getMonth() !== nextDate.getMonth() ||
date.getDate() !== nextDate.getDate()
)
) { ) {
const separator = h('div', { const separator = h('div', {
class: $style['separator'], class: $style['separator'],
@ -78,12 +85,12 @@ export default defineComponent({
h('i', { h('i', {
class: `ti ti-chevron-up ${$style['date-1-icon']}`, class: `ti ti-chevron-up ${$style['date-1-icon']}`,
}), }),
getDateText(item.createdAt), getDateText(date),
]), ]),
h('span', { h('span', {
class: $style['date-2'], class: $style['date-2'],
}, [ }, [
getDateText(props.items[i + 1].createdAt), getDateText(nextDate),
h('i', { h('i', {
class: `ti ti-chevron-down ${$style['date-2-icon']}`, class: `ti ti-chevron-down ${$style['date-2-icon']}`,
}), }),