Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update react monorepo to v19 (major) #725

Merged
merged 2 commits into from
Jan 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions components/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const AStyled = styled('a')`
text-decoration: 'none';
`;

const Header: FC<HeaderProps> = ({ siteTitle }) => (
const Header: FC<HeaderProps> = ({ siteTitle = '' }) => (
<HeaderDiv>
<HeaderWrapper>
<H1Styled>
Expand All @@ -32,11 +32,7 @@ const Header: FC<HeaderProps> = ({ siteTitle }) => (
);

interface HeaderProps {
siteTitle: string;
siteTitle?: string;
}

Header.defaultProps = {
siteTitle: ``,
};

export default Header;
20 changes: 15 additions & 5 deletions components/language_switch.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,23 @@ import React from 'react';
import { useRouter } from 'next/router';
import Link from 'next/link';

import { Button, ButtonGroup, Col } from '@bootstrap-styled/v4';
import { Button, Col } from '@bootstrap-styled/v4';
import { styled } from 'styled-components';
import { PdfIcon } from './icons/pdf';
const FloatingButtonGroup = styled(ButtonGroup)`
> a {

const FloatingButtonGroup = styled('div')`
> .btn {
text-decoration: none;
}
border-radius: 0;
padding: 0.4rem 0.5rem;
font-size: 0.875rem;
};
> :first-child {
border-radius: 0.25rem 0 0 0.25rem;
};
> :last-child {
border-radius: 0 0.25rem 0.25rem 0;
};
`;

const LanguageCol = styled(Col)`
Expand Down Expand Up @@ -45,7 +55,7 @@ export const LanguageSwitch = ({ className = '' }) => {
<PdfIconStyled />
</LinkStyled>

<FloatingButtonGroup className={className} size="sm">
<FloatingButtonGroup className={className}>
<Link href={{ href: '/' }} locale="en" passHref legacyBehavior>
<Button color={locale === 'en' ? 'primary' : 'secondary'}>EN</Button>
</Link>
Expand Down
38 changes: 21 additions & 17 deletions components/video.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { type FC, useState, useCallback, useEffect, useRef } from 'react';
import { useState, useCallback, useEffect, useRef, type FC, type ReactPortal } from 'react';
import { createPortal } from 'react-dom';
import { Modal, ModalHeader, ModalBody } from '@bootstrap-styled/v4';
import { useRouter } from 'next/router';
import { LangType } from '@cv/helpers/date';
import type { LangType } from '@cv/helpers/date';
import { styled } from 'styled-components';

interface DisableScrollProps {
Expand Down Expand Up @@ -89,21 +89,25 @@ const VideoModal: FC<VideoModalProps> = ({ video }) => {

useDisableScroll({ element: document.body, disabled: open });

return createPortal(
<StyledModal isOpen={open} size="lg" toggle={closeHandler} onClosed={closedHandler} onOpened={openedHandler}>
<ModalHeader toggle={closeHandler}>{title}</ModalHeader>
<ModalBody>
{/* biome-ignore lint/a11y/useMediaCaption: <explanation> */}
<video controls width="100%" ref={videoRef} poster={`/api/video/${video}.webp`}>
{!isMSEdge && <source src={`/api/video/${video}.av1.mp4`} type="video/mp4; codecs=av01.0.05M.08" />}
<source src={`/api/video/${video}.m4v`} type="video/mp4; codecs=hvc1" />
<source src={`/api/video/${video}.mp4`} type="video/mp4; codecs=avc1" />
<source src={`/api/video/${video}.webm`} type="video/webm" />
Sorry, your browser doesn&apos;t support embedded videos.
</video>
</ModalBody>
</StyledModal>,
document.body,
return (
<>
{createPortal(
<StyledModal isOpen={open} size="lg" toggle={closeHandler} onClosed={closedHandler} onOpened={openedHandler}>
<ModalHeader toggle={closeHandler}>{title}</ModalHeader>
<ModalBody>
{/* biome-ignore lint/a11y/useMediaCaption: <explanation> */}
<video controls width="100%" ref={videoRef} poster={`/api/video/${video}.webp`}>
{!isMSEdge && <source src={`/api/video/${video}.av1.mp4`} type="video/mp4; codecs=av01.0.05M.08" />}
<source src={`/api/video/${video}.m4v`} type="video/mp4; codecs=hvc1" />
<source src={`/api/video/${video}.mp4`} type="video/mp4; codecs=avc1" />
<source src={`/api/video/${video}.webm`} type="video/webm" />
Sorry, your browser doesn&apos;t support embedded videos.
</video>
</ModalBody>
</StyledModal>,
document.body,
)}
</>
);
};

Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,18 @@
"next-pwa": "^5.6.0",
"polished": "^4.2.2",
"postcss": "^8.4.31",
"react": "18.3.1",
"react-dom": "18.3.1",
"react": "19.0.0",
"react-dom": "19.0.0",
"rollbar": "^2.26.2",
"styled-components": "^6.1.0",
"styled-components": "^6.1.14",
"styled-jsx": "^5.1.2",
"styled-reset": "^4.5.1"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.0.0",
"@types/react": "18.3.18",
"@types/react-dom": "18.3.5",
"@types/react": "19.0.1",
"@types/react-dom": "19.0.1",
"@types/styled-components": "^5.1.29",
"typescript": "5.7.3"
},
Expand Down
4 changes: 2 additions & 2 deletions pages/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useEffect } from 'react';
import { NextPage } from 'next';
import type { NextPage } from 'next';
import { useRouter } from 'next/router';
import Head from 'next/head';

Expand All @@ -21,7 +21,7 @@ import { Rollbar } from '@cv/components/head/rollbar';
import { Connect } from '@cv/components/head/connect';
import { Font } from '@cv/components/head/font';
import { Canonical } from '@cv/components/head/canonical';
import { type LangType } from '@cv/helpers/date';
import type { LangType } from '@cv/helpers/date';
import { type ConfigProps, ConfigProvider } from '@cv/helpers/config_context';

import dynamic from 'next/dynamic';
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@
]
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
"exclude": ["node_modules", ".next"]
}
75 changes: 31 additions & 44 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1840,19 +1840,12 @@ __metadata:
languageName: node
linkType: hard

"@types/prop-types@npm:*":
version: 15.7.14
resolution: "@types/prop-types@npm:15.7.14"
checksum: 10c0/1ec775160bfab90b67a782d735952158c7e702ca4502968aa82565bd8e452c2de8601c8dfe349733073c31179116cf7340710160d3836aa8a1ef76d1532893b1
languageName: node
linkType: hard

"@types/react-dom@npm:18.3.5":
version: 18.3.5
resolution: "@types/react-dom@npm:18.3.5"
peerDependencies:
"@types/react": ^18.0.0
checksum: 10c0/b163d35a6b32a79f5782574a7aeb12a31a647e248792bf437e6d596e2676961c394c5e3c6e91d1ce44ae90441dbaf93158efb4f051c0d61e2612f1cb04ce4faa
"@types/react-dom@npm:19.0.1":
version: 19.0.1
resolution: "@types/react-dom@npm:19.0.1"
dependencies:
"@types/react": "npm:*"
checksum: 10c0/fb40069a7c5c70475155dff91d25ff5a51226c14d45c8ad55894480366876426981c8be63ef322486af879bb220bf48443f2344c1a89cb75a47a1a761acee9d3
languageName: node
linkType: hard

Expand All @@ -1865,13 +1858,12 @@ __metadata:
languageName: node
linkType: hard

"@types/react@npm:18.3.18":
version: 18.3.18
resolution: "@types/react@npm:18.3.18"
"@types/react@npm:19.0.1":
version: 19.0.1
resolution: "@types/react@npm:19.0.1"
dependencies:
"@types/prop-types": "npm:*"
csstype: "npm:^3.0.2"
checksum: 10c0/8fb2b00672072135d0858dc9db07873ea107cc238b6228aaa2a9afd1ef7a64a7074078250db38afbeb19064be8ea6af5eac32d404efdd5f45e093cc4829d87f8
checksum: 10c0/25eb69114abb9a6d5fc4414ee584388275bbc9ac32976449cf58b95fe9880efe6b3f936c3842be9bed8c571546a9752e8d3e2095288381e9c809269f5f574f2e
languageName: node
linkType: hard

Expand Down Expand Up @@ -2607,8 +2599,8 @@ __metadata:
"@bootstrap-styled/provider": "npm:^2.0.3"
"@bootstrap-styled/v4": "npm:^3.4.0"
"@types/node": "npm:^22.0.0"
"@types/react": "npm:18.3.18"
"@types/react-dom": "npm:18.3.5"
"@types/react": "npm:19.0.1"
"@types/react-dom": "npm:19.0.1"
"@types/styled-components": "npm:^5.1.29"
date-fns: "npm:^4.0.0"
dotenv: "npm:^16.3.1"
Expand All @@ -2617,10 +2609,10 @@ __metadata:
next-pwa: "npm:^5.6.0"
polished: "npm:^4.2.2"
postcss: "npm:^8.4.31"
react: "npm:18.3.1"
react-dom: "npm:18.3.1"
react: "npm:19.0.0"
react-dom: "npm:19.0.0"
rollbar: "npm:^2.26.2"
styled-components: "npm:^6.1.0"
styled-components: "npm:^6.1.14"
styled-jsx: "npm:^5.1.2"
styled-reset: "npm:^4.5.1"
typescript: "npm:5.7.3"
Expand Down Expand Up @@ -4151,7 +4143,7 @@ __metadata:
languageName: node
linkType: hard

"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0":
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.4.0":
version: 1.4.0
resolution: "loose-envify@npm:1.4.0"
dependencies:
Expand Down Expand Up @@ -4937,15 +4929,14 @@ __metadata:
languageName: node
linkType: hard

"react-dom@npm:18.3.1":
version: 18.3.1
resolution: "react-dom@npm:18.3.1"
"react-dom@npm:19.0.0":
version: 19.0.0
resolution: "react-dom@npm:19.0.0"
dependencies:
loose-envify: "npm:^1.1.0"
scheduler: "npm:^0.23.2"
scheduler: "npm:^0.25.0"
peerDependencies:
react: ^18.3.1
checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85
react: ^19.0.0
checksum: 10c0/a36ce7ab507b237ae2759c984cdaad4af4096d8199fb65b3815c16825e5cfeb7293da790a3fc2184b52bfba7ba3ff31c058c01947aff6fd1a3701632aabaa6a9
languageName: node
linkType: hard

Expand Down Expand Up @@ -5003,12 +4994,10 @@ __metadata:
languageName: node
linkType: hard

"react@npm:18.3.1":
version: 18.3.1
resolution: "react@npm:18.3.1"
dependencies:
loose-envify: "npm:^1.1.0"
checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3
"react@npm:19.0.0":
version: 19.0.0
resolution: "react@npm:19.0.0"
checksum: 10c0/9cad8f103e8e3a16d15cb18a0d8115d8bd9f9e1ce3420310aea381eb42aa0a4f812cf047bb5441349257a05fba8a291515691e3cb51267279b2d2c3253f38471
languageName: node
linkType: hard

Expand Down Expand Up @@ -5327,12 +5316,10 @@ __metadata:
languageName: node
linkType: hard

"scheduler@npm:^0.23.2":
version: 0.23.2
resolution: "scheduler@npm:0.23.2"
dependencies:
loose-envify: "npm:^1.1.0"
checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78
"scheduler@npm:^0.25.0":
version: 0.25.0
resolution: "scheduler@npm:0.25.0"
checksum: 10c0/a4bb1da406b613ce72c1299db43759526058fdcc413999c3c3e0db8956df7633acf395cb20eb2303b6a65d658d66b6585d344460abaee8080b4aa931f10eaafe
languageName: node
linkType: hard

Expand Down Expand Up @@ -5949,7 +5936,7 @@ __metadata:
languageName: node
linkType: hard

"styled-components@npm:^6.1.0":
"styled-components@npm:^6.1.14":
version: 6.1.14
resolution: "styled-components@npm:6.1.14"
dependencies:
Expand Down
Loading