Skip to content

Commit caca01c

Browse files
committed
[migrate] upgrade to Next.js 15, ESLint 9 & other latest Upstream packages
[add] Prettier CSS plugins Signed-off-by: South Drifted <shiy2008@gmail.com>
1 parent 9b5f090 commit caca01c

37 files changed

+3104
-2736
lines changed

.eslintrc.json

Lines changed: 0 additions & 10 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Open-source [Hackathon][1] Platform with **Git-based Cloud Development Environme
2020
## Technology stack
2121

2222
- Language: [TypeScript v5][5]
23-
- Component engine: [Next.js v14][6]
23+
- Component engine: [Next.js v15][6]
2424
- Component suite: [Bootstrap v5][7]
2525
- State management: [MobX v6][8]
2626
- PWA framework: [Workbox v6][9]

components/Activity/ActivityEditor.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export class ActivityEditor extends Component<ActivityEditorProps> {
6868
uri: bannerUrl,
6969
};
7070
});
71-
// @ts-ignore
71+
// @ts-expect-error Type compatibility issue
7272
await activityStore.updateOne(data, name);
7373

7474
if (!name && confirm(t('create_work_success'))) {
@@ -199,25 +199,25 @@ export class ActivityEditor extends Component<ActivityEditorProps> {
199199
</Form.Group>
200200

201201
<DateTimeInput
202+
key="enrollment"
202203
label={t('enrollment')}
203204
name="enrollment"
204-
key="enrollment"
205205
startAt={enrollmentStartedAt}
206206
endAt={enrollmentEndedAt}
207207
required
208208
/>
209209
<DateTimeInput
210+
key="event"
210211
label={t('activity_time')}
211212
name="event"
212-
key="event"
213213
startAt={eventStartedAt}
214214
endAt={eventEndedAt}
215215
required
216216
/>
217217
<DateTimeInput
218+
key="judge"
218219
label={t('judge_time')}
219220
name="judge"
220-
key="judge"
221221
startAt={judgeStartedAt}
222222
endAt={judgeEndedAt}
223223
required

components/Activity/EnrollmentStatistic.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export default class EnrollmentStatisticCharts extends Component<EnrollmentStati
9494
{Object.entries(answers).map(
9595
([title, answers]) =>
9696
!isEmpty(answers) && (
97-
<Col as="section" key={title}>
97+
<Col key={title} as="section">
9898
<SVGCharts>
9999
<Title>{title}</Title>
100100
<PieSeries

components/Activity/QuestionnairePreview.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ export interface QuestionnaireFormProps {
1313
export class QuestionnaireForm extends Component<QuestionnaireFormProps> {
1414
renderField = ({ options, multiple, title, ...props }: Question) =>
1515
options ? (
16-
<Form.Group as="li" className="mb-3" key={title}>
16+
<Form.Group key={title} as="li" className="mb-3">
1717
{title}
1818
<Row xs={1} sm={3} lg={4} className="mt-2">
1919
{options.map(value => (
2020
<Form.Check
21+
key={value}
2122
type={multiple ? 'checkbox' : 'radio'}
2223
label={value}
2324
name={title}
2425
value={value}
2526
id={value}
26-
key={value}
2727
/>
2828
))}
2929
</Row>
3030
</Form.Group>
3131
) : (
32-
<Form.Group as="li" className="mb-3 mt-2" key={title} controlId={title}>
32+
<Form.Group key={title} as="li" className="mb-3 mt-2" controlId={title}>
3333
{title}
3434
<Row>
3535
<Form.Label />

components/Git/Card.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export const GitCard: FC<GitCardProps> = observer(
5454
<Row as="ul" className="list-unstyled g-4" xs={4}>
5555
{languages &&
5656
Object.keys(languages).map(language => (
57-
<Col as="li" key={language}>
57+
<Col key={language} as="li">
5858
<GitLogo name={language} />
5959
</Col>
6060
))}

components/Git/CardList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const CardList: FC<XScrollListProps<GitTemplate>> = ({
2222
description,
2323
name = html_url.replace('https://github.com/', ''),
2424
}) => (
25-
<Col as="li" key={id}>
25+
<Col key={id} as="li">
2626
<Card className="shadow-sm">
2727
<Card.Body className="d-flex flex-column gap-3">
2828
<Card.Title as="h3" className="h5">
@@ -48,7 +48,7 @@ export const CardList: FC<XScrollListProps<GitTemplate>> = ({
4848
<Row as="ul" className="list-unstyled g-4" xs={4}>
4949
{languages &&
5050
Object.keys(languages).map(language => (
51-
<Col as="li" key={language}>
51+
<Col key={language} as="li">
5252
<GitLogo name={language} />
5353
</Col>
5454
))}

components/Git/GitTeamCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const GitTeamCard: FC<GitTeamCardProps> = observer(
4747
</nav>
4848
<Row as="ul" className="list-unstyled g-4" xs={4}>
4949
{languages.map(language => (
50-
<Col as="li" key={language}>
50+
<Col key={language} as="li">
5151
<GitLogo name={language} />
5252
</Col>
5353
))}

components/Git/List.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export const GitListLayout: FC<GitListLayoutProps> = ({
1717
}) => (
1818
<Row as="ul" className="list-unstyled g-4" xs={1} sm={2}>
1919
{defaultData?.map(item => (
20-
<Col as="li" key={item.id}>
20+
<Col key={item.id} as="li">
2121
<GitCard
2222
className="h-100 shadow-sm"
2323
{...item}

components/Git/TeamGitList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export const TeamGitListLayout: FC<TeamGitListLayoutProps> = ({
1717
}) => (
1818
<Row as="ul" className="list-unstyled g-4" xs={1} sm={2}>
1919
{defaultData?.map(item => (
20-
<Col as="li" key={item.id}>
20+
<Col key={item.id} as="li">
2121
<GitTeamCard
2222
className="h-100 shadow-sm"
2323
{...item}

0 commit comments

Comments
 (0)