Skip to content

Commit f4d70bc

Browse files
committed
refactor(dependencies): migrate to Material 7
1 parent 9595084 commit f4d70bc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1688
-2887
lines changed

.github/actions/setup/action.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
runs:
2+
steps:
3+
- uses: pnpm/action-setup@v4
4+
with:
5+
version: latest
6+
- uses: actions/setup-node@v4
7+
with:
8+
cache: pnpm
9+
node-version-file: package.json
10+
- shell: bash
11+
run: pnpm install --frozen-lockfile
12+
using: 'composite'

.github/workflows/preview.yaml

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

.github/workflows/release.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Release
2+
3+
env:
4+
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
5+
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
6+
7+
on: push
8+
9+
jobs:
10+
lint:
11+
name: Lint
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v6
16+
- name: Setup dependencies
17+
uses: ./.github/actions/setup
18+
- name: Run lint tasks
19+
run: pnpm lint
20+
21+
tests:
22+
name: Tests
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@v6
27+
- name: Setup dependencies
28+
uses: ./.github/actions/setup
29+
- name: Run tests
30+
run: pnpm test:coverage
31+
- name: Report coverage
32+
if: always()
33+
uses: davelosert/vitest-coverage-report-action@v2
34+
35+
preview:
36+
name: Preview
37+
needs: [lint, tests]
38+
outputs:
39+
url: ${{ steps.deploy.outputs.url }}
40+
runs-on: ubuntu-latest
41+
steps:
42+
- name: Checkout repository
43+
uses: actions/checkout@v6
44+
- name: Setup dependencies
45+
uses: ./.github/actions/setup
46+
- name: Set up Vercel
47+
run: pnpm add --global vercel@latest
48+
- name: Pulling project settings
49+
run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
50+
- name: Build
51+
run: vercel build --token=${{ secrets.VERCEL_TOKEN }}
52+
- name: Deploy
53+
run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} >> $GITHUB_STEP_SUMMARY
54+
55+
release:
56+
name: Release
57+
if: ${{ github.ref == 'refs/heads/master' }}
58+
needs: preview
59+
runs-on: ubuntu-latest
60+
steps:
61+
- name: Checkout repository
62+
uses: actions/checkout@v6
63+
- name: Setup dependencies
64+
uses: ./.github/actions/setup
65+
- name: Set up Vercel
66+
run: pnpm add --global vercel@latest
67+
- name: Pulling project settings
68+
run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
69+
- name: Build
70+
run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
71+
- name: Deploy
72+
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} >> $GITHUB_STEP_SUMMARY

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
.husky/_/
21
.next/
3-
.vercel/
2+
build/
43
coverage/
54
node_modules/
6-
.env*.local
75
tsconfig.tsbuildinfo

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22.19.0
1+
24.12.0

app/(welcome)/Articles.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
'use client';
22

3-
import { Button, ButtonGroup, Grid2 as Grid } from '@mui/material';
4-
import { useEffect, useRef, useState, type ComponentProps } from 'react';
3+
import { Button, ButtonGroup, Grid } from '@mui/material';
4+
import {
5+
useEffect,
6+
useRef,
7+
useState,
8+
type ComponentPropsWithoutRef,
9+
} from 'react';
510

611
import { ArticleCard } from '@/components/ArticleCard/ArticleCard';
712

813
const INITIAL_SIZE = 4;
914

1015
type Props = {
11-
articles: ComponentProps<typeof ArticleCard>[];
16+
articles: ComponentPropsWithoutRef<typeof ArticleCard>[];
1217
};
1318

1419
export const Articles = ({ articles }: Props) => {

app/(welcome)/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Grid2 as Grid } from '@mui/material';
1+
import { Grid } from '@mui/material';
22
import { type Metadata } from 'next';
33

44
import { Markdown } from '@/components/Markdown/Markdown';

app/layout.tsx

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { Footer } from '@/components/Footer/Footer';
1616
import { Header } from '@/components/Header/Header';
1717
import { Sidebar } from '@/components/Sidebar/Sidebar';
1818
import { LayoutProvider } from '@/contexts/Layout';
19-
import { TrackingProvider } from '@/contexts/Tracking';
19+
import { Tracking } from '@/contexts/Tracking';
2020
import { primary } from '@/theme/palette';
2121
import { theme } from '@/theme/theme';
2222
import { getClock } from '@/tools/clock/getClock';
@@ -28,11 +28,13 @@ export const dynamicParams = false;
2828

2929
export const metadata: Metadata = {
3030
description: 'The Doomsday Wiki',
31+
keywords: ['Doomsday', 'Legacy', 'Magic: the Gathering'],
3132
title: { default: 'doomsday.wiki', template: '%s • doomsday.wiki' },
3233
};
3334

3435
export const viewport: Viewport = {
3536
initialScale: 1,
37+
minimumScale: 1,
3638
themeColor: primary[500],
3739
width: 'device-width',
3840
};
@@ -60,51 +62,51 @@ export default async ({ children }: PropsWithChildren) => {
6062
component="body"
6163
sx={{ display: 'flex' }}
6264
>
63-
<InitColorSchemeScript attribute="class" />
64-
<TrackingProvider>
65-
<AppRouterCacheProvider>
66-
<ThemeProvider theme={theme}>
67-
<CssBaseline />
68-
<LayoutProvider>
69-
<Sidebar>
70-
<Drawer clock={clock} menu={MENU} />
71-
</Sidebar>
72-
<Header />
73-
<Container
74-
component="main"
75-
maxWidth="xl"
65+
<InitColorSchemeScript attribute="data" />
66+
<AppRouterCacheProvider>
67+
<ThemeProvider theme={theme}>
68+
<Tracking />
69+
<CssBaseline />
70+
<LayoutProvider>
71+
<Sidebar>
72+
<Drawer clock={clock} menu={MENU} />
73+
</Sidebar>
74+
<Header />
75+
<Container
76+
component="main"
77+
maxWidth="xl"
78+
sx={{
79+
display: 'grid',
80+
gridTemplateAreas:
81+
'"offset offset" "banner banner" "content toc" "footer toc"',
82+
gridTemplateColumns: '1fr auto',
83+
gridTemplateRows: 'auto auto 1fr auto',
84+
minHeight: '100vh',
85+
}}
86+
>
87+
<Toolbar role="presentation" sx={{ gridArea: 'offset' }} />
88+
<Box
7689
sx={{
77-
display: 'grid',
78-
gridTemplateAreas:
79-
'"offset offset" "banner banner" "content toc" "footer toc"',
80-
gridTemplateColumns: '1fr auto',
81-
gridTemplateRows: 'auto auto 1fr auto',
82-
minHeight: '100vh',
90+
display: 'contents',
91+
overflowWrap: 'anywhere',
92+
'> *': { mt: { xs: 2, sm: 3 } },
8393
}}
8494
>
85-
<Toolbar role="presentation" sx={{ gridArea: 'offset' }} />
86-
<Box
87-
sx={{
88-
display: 'contents',
89-
overflowWrap: 'anywhere',
90-
'> *': { mt: { xs: 2, sm: 3 } },
91-
}}
92-
>
93-
{children}
94-
</Box>
95-
<Footer
96-
sx={{
97-
gridArea: 'footer',
98-
pb: 3,
99-
position: 'relative', // NOTE Force content above 404 background
100-
pt: 8,
101-
}}
102-
/>
103-
</Container>
104-
</LayoutProvider>
105-
</ThemeProvider>
106-
</AppRouterCacheProvider>
107-
</TrackingProvider>
95+
{children}
96+
</Box>
97+
<Footer
98+
sx={{
99+
gridArea: 'footer',
100+
pb: { xs: 2, sm: 3 },
101+
// NOTE Force content above 404 background
102+
position: 'relative',
103+
pt: 8,
104+
}}
105+
/>
106+
</Container>
107+
</LayoutProvider>
108+
</ThemeProvider>
109+
</AppRouterCacheProvider>
108110
</Box>
109111
</Box>
110112
);
File renamed without changes.

components/ArticleCard/ArticleCard.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { type ComponentProps } from 'react';
1+
import { type ComponentPropsWithoutRef } from 'react';
22

33
import { ArticleCard } from '@/components/ArticleCard/ArticleCard';
44
import { render, screen } from '@/tools/test';
@@ -8,7 +8,7 @@ jest.mock('@/components/ArticleChip/ArticleChip', () => ({
88
}));
99

1010
describe(ArticleCard.name, () => {
11-
let props: ComponentProps<typeof ArticleCard>;
11+
let props: ComponentPropsWithoutRef<typeof ArticleCard>;
1212

1313
beforeEach(() => {
1414
props = {

0 commit comments

Comments
 (0)