diff --git a/app/ListItem.tsx b/app/ListItem.tsx index 7a06920..ee900d6 100644 --- a/app/ListItem.tsx +++ b/app/ListItem.tsx @@ -1,10 +1,10 @@ import { StarIcon } from '@heroicons/react/24/solid'; -import dayjs from 'dayjs'; import Link from 'next/link'; import { generateSummaryEntity, SummaryEntity } from 'search-summary'; import { twMerge } from 'tailwind-merge'; import { Entry } from '../domain/Entry'; import { SearchQuery } from '../domain/SearchQuery'; +import dayjs from '../infra/dayjs'; import { Skelton } from './_components/Skelton'; import { Tags } from './_components/Tags'; diff --git a/app/Preview.tsx b/app/Preview.tsx index d18116e..8242aed 100644 --- a/app/Preview.tsx +++ b/app/Preview.tsx @@ -1,6 +1,6 @@ import { StarIcon } from '@heroicons/react/24/solid'; -import dayjs from 'dayjs'; import { Entry } from '../domain/Entry'; +import dayjs from '../infra/dayjs'; import { MarkdownText } from './_components/MarkdownText'; export const Preview = (props: { entry: Entry }) => { @@ -8,7 +8,7 @@ export const Preview = (props: { entry: Entry }) => {

- {dayjs(props.entry.createdAt).format('YYYY-MM-DD HH:mm')} + {dayjs(props.entry.createdAt).tz().format('YYYY-MM-DD HH:mm')}

{props.entry.starred && ( diff --git a/app/[uuid]/Article.tsx b/app/[uuid]/Article.tsx index ee2b598..f00a8f2 100644 --- a/app/[uuid]/Article.tsx +++ b/app/[uuid]/Article.tsx @@ -1,6 +1,6 @@ -import dayjs from 'dayjs'; import { PropsWithChildren } from 'react'; import { Entry } from '../../domain/Entry'; +import dayjs from '../../infra/dayjs'; import { MarkdownText } from '../_components/MarkdownText'; import { Skelton } from '../_components/Skelton'; import { Tags } from '../_components/Tags'; @@ -19,7 +19,7 @@ export const Article = (props: { entry: Entry }) => { {props.entry.text}

- {dayjs(props.entry.createdAt).format('YYYY-MM-DD')} + {dayjs(props.entry.createdAt).tz().format('YYYY-MM-DD')}

diff --git a/app/[uuid]/ArticleHeader.tsx b/app/[uuid]/ArticleHeader.tsx index f4783cb..96ae942 100644 --- a/app/[uuid]/ArticleHeader.tsx +++ b/app/[uuid]/ArticleHeader.tsx @@ -36,7 +36,7 @@ export const ArticleHeader = ({ const router = useRouter(); const { register, setValue, control, handleSubmit } = useForm
({ defaultValues: { - createdAt: dayjs(entry.createdAt).format('YYYY-MM-DDTHH:mm'), + createdAt: dayjs(entry.createdAt).tz().format('YYYY-MM-DDTHH:mm'), tags: entry.tags, starred: entry.starred, }, @@ -102,7 +102,7 @@ export const ArticleHeader = ({ } className="w-auto"> - {dayjs(entry.createdAt).format('YYYY-MM-DD')} + {dayjs(entry.createdAt).tz().format('YYYY-MM-DD')} } side="bottom" diff --git a/domain/Entry.ts b/domain/Entry.ts index 965b291..f5f591f 100644 --- a/domain/Entry.ts +++ b/domain/Entry.ts @@ -1,5 +1,6 @@ import crypto from 'crypto'; -import dayjs, { Dayjs } from 'dayjs'; +import { Dayjs } from 'dayjs'; +import dayjs from '../infra/dayjs'; export type Entry = { text: string; @@ -23,8 +24,8 @@ export const newEntry = (props: { starred: props.starred ?? false, uuid: props.uuid ?? crypto.randomUUID().replace(/-/g, '').toUpperCase(), tags: props.tags ?? [], - createdAt: dayjs(props.createdAt).format(), // current time if empty - modifiedAt: dayjs(props.modifiedAt).format(), + createdAt: dayjs(props.createdAt).tz().format(), // with timezone + modifiedAt: dayjs(props.modifiedAt).tz().format(), }; }; @@ -33,7 +34,7 @@ export const extractTagHistory = (posts: Entry[]): string[] => [ ]; // uniq // 基準になる日時 -const baseDate = dayjs('2023-06-23T02:25:00+09:00'); +const baseDate = dayjs.tz('2023-06-23T02:25'); export const sampleEntries: Entry[] = [ newEntry({ diff --git a/domain/__tests__/Tag.test.ts b/domain/__tests__/Tag.test.ts index 1a884d8..531a667 100644 --- a/domain/__tests__/Tag.test.ts +++ b/domain/__tests__/Tag.test.ts @@ -1,5 +1,5 @@ import assert from 'assert'; -import dayjs from 'dayjs'; +import dayjs from '../../infra/dayjs'; import { newEntry } from '../Entry'; import { tagNameToId, entriesTagToABs } from '../Tag'; diff --git a/infra/__tests__/entryRepository.test.ts b/infra/__tests__/entryRepository.test.ts index 7d1596f..a63cf90 100644 --- a/infra/__tests__/entryRepository.test.ts +++ b/infra/__tests__/entryRepository.test.ts @@ -1,6 +1,6 @@ import assert from 'assert'; -import dayjs from 'dayjs'; import { newEntry } from '../../domain/Entry'; +import dayjs from '../../infra/dayjs'; import * as entryRepository from '../entryRepository'; describe('Query:entriesRepository', () => { diff --git a/infra/__tests__/queue.test.ts b/infra/__tests__/queue.test.ts index 97b357a..02e38af 100644 --- a/infra/__tests__/queue.test.ts +++ b/infra/__tests__/queue.test.ts @@ -1,6 +1,6 @@ import assert from 'assert'; -import dayjs from 'dayjs'; import { newEntry } from '../../domain/Entry'; +import dayjs from '../../infra/dayjs'; import * as entryRepository from '../entryRepository'; import { entriesQueue } from '../queue';