Skip to content

Commit

Permalink
fix: Show year
Browse files Browse the repository at this point in the history
  • Loading branch information
bicstone committed Jun 17, 2023
1 parent 85d8c70 commit b330ac3
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 26 deletions.
4 changes: 3 additions & 1 deletion src/features/Timeline/TimelineArticleCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ export const query = graphql`

export type TimelineArticleCardProps = {
item: TimelineArticleCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineArticleCard = ({
item,
showYear = false,
...props
}: TimelineArticleCardProps): JSX.Element => {
const date = formatDateTime(item.date, "M月d日");
const date = formatDateTime(item.date, showYear ? "yy年M月d日" : "M月d日");

return (
<TimelineCardBase
Expand Down
7 changes: 6 additions & 1 deletion src/features/Timeline/TimelineCertificationCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,18 @@ export const query = graphql`

export type TimelineCertificationCardProps = {
item: TimelineCertificationCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineCertificationCard = ({
item,
showYear = false,
...props
}: TimelineCertificationCardProps): JSX.Element => {
const dateFormatted = formatDateTime(item.date, "M月d日");
const dateFormatted = formatDateTime(
item.date,
showYear ? "yy年M月d日" : "M月d日"
);
const endDateFormatted = formatDateTime(item.endDate, "yy年M月d日");
const subTitle =
item.endDate !== "" ? (
Expand Down
4 changes: 3 additions & 1 deletion src/features/Timeline/TimelineHistoryCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ export const query = graphql`

export type TimelineHistoryCardProps = {
item: TimelineHistoryCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineHistoryCard = ({
item,
showYear = false,
...props
}: TimelineHistoryCardProps): JSX.Element => {
const date = formatDateTime(item.date, "M月");
const date = formatDateTime(item.date, showYear ? "yy年M月" : "M月");

return (
<TimelineCardBase
Expand Down
62 changes: 45 additions & 17 deletions src/features/Timeline/TimelineList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,33 +109,59 @@ export const query = graphql`

interface TimelineItemProps {
item: TimelineListProps["groups"]["group"][number]["nodes"][number];
showYear?: boolean;
}

const TimelineItem = ({ item }: TimelineItemProps): JSX.Element | null => {
const TimelineItem = ({
item,
showYear = false,
}: TimelineItemProps): JSX.Element | null => {
switch (item.__typename) {
case "ArticlesYaml":
return <TimelineArticleCard key={item.id} item={item} />;
case "ArticlesYaml": {
return (
<TimelineArticleCard key={item.id} item={item} showYear={showYear} />
);
}

case "CertificationsYaml":
return <TimelineCertificationCard key={item.id} item={item} />;
case "CertificationsYaml": {
return (
<TimelineCertificationCard
key={item.id}
item={item}
showYear={showYear}
/>
);
}

case "HistoriesYaml":
return <TimelineHistoryCard key={item.id} item={item} />;
case "HistoriesYaml": {
return (
<TimelineHistoryCard key={item.id} item={item} showYear={showYear} />
);
}

case "OssesYaml":
return <TimelineOssCard key={item.id} item={item} />;
case "OssesYaml": {
return <TimelineOssCard key={item.id} item={item} showYear={showYear} />;
}

case "ProjectsYaml":
return <TimelineProjectCard key={item.id} item={item} />;
case "ProjectsYaml": {
return (
<TimelineProjectCard key={item.id} item={item} showYear={showYear} />
);
}

case "SlidesYaml":
return <TimelineSlideCard key={item.id} item={item} />;
case "SlidesYaml": {
return (
<TimelineSlideCard key={item.id} item={item} showYear={showYear} />
);
}

case "Mdx":
return <TimelineMdxCard key={item.id} item={item} />;
case "Mdx": {
return <TimelineMdxCard key={item.id} item={item} showYear={showYear} />;
}

default:
default: {
return null;
}
}
};

Expand Down Expand Up @@ -181,7 +207,9 @@ export const TimelineList = ({
components={{
List: Container,
}}
itemContent={(index, item) => <TimelineItem key={index} item={item} />}
itemContent={(index, item) => (
<TimelineItem key={index} item={item} showYear />
)}
overscan={10}
style={{
height: "100%",
Expand Down
4 changes: 3 additions & 1 deletion src/features/Timeline/TimelineMdxCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ export const query = graphql`

export type TimelineMdxCardProps = {
item: TimelineMdxCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineMdxCard = ({
item,
showYear = false,
...props
}: TimelineMdxCardProps): JSX.Element => {
const date = formatDateTime(item.date, "M月d日");
const date = formatDateTime(item.date, showYear ? "yy年M月d日" : "M月d日");

return (
<TimelineCardBase
Expand Down
4 changes: 3 additions & 1 deletion src/features/Timeline/TimelineOssCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ export const query = graphql`

export type TimelineOssCardProps = {
item: TimelineOssCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineOssCard = ({
item,
showYear = false,
...props
}: TimelineOssCardProps): JSX.Element => {
const date = formatDateTime(item.date, "M月");
const date = formatDateTime(item.date, showYear ? "yy年M月" : "M月");

return (
<TimelineCardBase
Expand Down
8 changes: 6 additions & 2 deletions src/features/Timeline/TimelineProjectCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,19 @@ export const query = graphql`

export type TimelineProjectCardProps = {
item: TimelineProjectCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineProjectCard = ({
item,
showYear = false,
...props
}: TimelineProjectCardProps): JSX.Element => {
const format =
item.fields.dateYear === item.fields.endDateYear ? "M月" : "yy年M月";
const dateFormatted = formatDateTime(item.date, "M月");
item.fields.dateYear !== item.fields.endDateYear || showYear
? "yy年M月"
: "M月";
const dateFormatted = formatDateTime(item.date, showYear ? "yy年M月" : "M月");
const endDateFormatted = formatDateTime(item.endDate, format);
const subTitle =
item.endDate !== "" ? (
Expand Down
4 changes: 3 additions & 1 deletion src/features/Timeline/TimelineSlideCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ export const query = graphql`

export type TimelineSlideCardProps = {
item: TimelineSlideCardFragment;
showYear?: boolean;
} & CardProps;

export const TimelineSlideCard = ({
item,
showYear = false,
...props
}: TimelineSlideCardProps): JSX.Element => {
const date = formatDateTime(item.date, "M月d日");
const date = formatDateTime(item.date, showYear ? "yy年M月d日" : "M月d日");

return (
<TimelineCardBase
Expand Down
2 changes: 1 addition & 1 deletion static

0 comments on commit b330ac3

Please sign in to comment.