diff --git a/index.html b/index.html index 5ff8016a..ad6f815d 100644 --- a/index.html +++ b/index.html @@ -17,6 +17,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + SOPT makers 모집 지원하기 + + diff --git a/makersManifest.webmanifest b/makersManifest.webmanifest deleted file mode 100644 index 10ba6b5a..00000000 --- a/makersManifest.webmanifest +++ /dev/null @@ -1,14 +0,0 @@ -{ - "icons": [ - { - "src": "/makers_192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "/makers_512.png", - "type": "image/png", - "sizes": "512x512" - } - ] -} diff --git a/manifest.webmanifest b/manifest.webmanifest index c02ef4c7..10ba6b5a 100644 --- a/manifest.webmanifest +++ b/manifest.webmanifest @@ -1,14 +1,14 @@ { "icons": [ { - "src": "/icon-192.png", + "src": "/makers_192.png", "type": "image/png", "sizes": "192x192" }, { - "src": "/icon-512.png", + "src": "/makers_512.png", "type": "image/png", "sizes": "512x512" } ] -} \ No newline at end of file +} diff --git a/package.json b/package.json index 7f2db006..fdf0c7ac 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "react": "^18.2.0", "react-daum-postcode": "^3.1.3", "react-dom": "^18.2.0", - "react-helmet-async": "^2.0.5", "react-hook-form": "^7.51.5", "react-responsive": "^10.0.0", "react-router-dom": "^6.23.1" diff --git a/src/App.tsx b/src/App.tsx index 8739cd47..e164e54c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -5,10 +5,11 @@ import { MutationCache, QueryCache, QueryClient, QueryClientProvider } from '@ta import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { AxiosError } from 'axios'; import { useCallback, useEffect, useRef, useState } from 'react'; -import { HelmetProvider } from 'react-helmet-async'; import { RouterProvider, createBrowserRouter } from 'react-router-dom'; import Layout from '@components/Layout'; +import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { RecruitingInfoContext, RecruitingInfoType } from '@store/recruitingInfoContext'; import { ModeType, ThemeContext } from '@store/themeContext'; import { dark, light } from 'styles/theme.css'; @@ -109,6 +110,8 @@ const App = () => { }, []), }; + const deviceType = useDevice(); + useEffect(() => { if (!isAmplitudeInitialized) { init(import.meta.env.VITE_AMPLITUDE_API_KEY); @@ -127,8 +130,8 @@ const App = () => { return ( <> - - + + @@ -137,8 +140,8 @@ const App = () => { - - + + ); }; diff --git a/src/common/components/Button/index.tsx b/src/common/components/Button/index.tsx index 9c5c207b..48430d18 100644 --- a/src/common/components/Button/index.tsx +++ b/src/common/components/Button/index.tsx @@ -1,7 +1,7 @@ -import { useId, type ButtonHTMLAttributes, type ReactNode } from 'react'; +import { useContext, useId, type ButtonHTMLAttributes, type ReactNode } from 'react'; import { Link, To } from 'react-router-dom'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import ButtonLoading from 'views/loadings/ButtonLoading'; import { buttonFontVar, container, outsideBox, paddings } from './style.css'; @@ -26,7 +26,7 @@ const Button = ({ isLink = false, ...buttonElementProps }: ButtonProps) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { disabled, type = 'button' } = buttonElementProps; const Tag = isLink ? Link : 'button'; diff --git a/src/common/components/Callout/index.tsx b/src/common/components/Callout/index.tsx index a611d86c..f2de0556 100644 --- a/src/common/components/Callout/index.tsx +++ b/src/common/components/Callout/index.tsx @@ -1,12 +1,11 @@ import { colors } from '@sopt-makers/colors'; import { IconAlertCircle } from '@sopt-makers/icons'; +import { useContext, type HTMLAttributes, type ReactNode } from 'react'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonVar, container, warningWrapperVar } from './style.css'; -import type { HTMLAttributes, ReactNode } from 'react'; - interface CalloutProps extends HTMLAttributes { children?: ReactNode; size?: 'sm' | 'lg'; @@ -14,7 +13,7 @@ interface CalloutProps extends HTMLAttributes { } const Callout = ({ children, size = 'sm', Button, ...calloutElementProps }: CalloutProps) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); return (
diff --git a/src/common/components/Checkbox/index.tsx b/src/common/components/Checkbox/index.tsx index 8c4aafbe..305f7677 100644 --- a/src/common/components/Checkbox/index.tsx +++ b/src/common/components/Checkbox/index.tsx @@ -33,7 +33,6 @@ const Checkbox = ({ })} type="checkbox" className={`amp-unmask ${hiddenCheckbox}`} - disabled {...checkboxElementProps} /> diff --git a/src/common/components/Dialog/index.tsx b/src/common/components/Dialog/index.tsx index 492183a5..b4a23bdb 100644 --- a/src/common/components/Dialog/index.tsx +++ b/src/common/components/Dialog/index.tsx @@ -1,7 +1,7 @@ -import { forwardRef, type DialogHTMLAttributes, type ReactNode } from 'react'; +import { forwardRef, useContext, type DialogHTMLAttributes, type ReactNode } from 'react'; import { createPortal } from 'react-dom'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { containerVar } from './style.css'; @@ -10,7 +10,7 @@ interface DialogProps extends DialogHTMLAttributes { } const Dialog = forwardRef(({ children, ...dialogElementProps }: DialogProps, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); return createPortal( diff --git a/src/common/components/Input/components/Description/index.tsx b/src/common/components/Input/components/Description/index.tsx index b18a0bbf..0101107f 100644 --- a/src/common/components/Input/components/Description/index.tsx +++ b/src/common/components/Input/components/Description/index.tsx @@ -1,13 +1,13 @@ import { useContext } from 'react'; import { TextBoxProps } from '@components/Input/types'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { descriptionFontVar, descriptionVar } from './style.css'; -import { FormContext } from '../TextBox'; // TextBox 내부 Input 하단의 부가텍스트 const Description = ({ children, styleType = 'default' }: Pick) => { - const { deviceType } = useContext(FormContext); + const { deviceType } = useContext(DeviceTypeContext); return
{children}
; }; diff --git a/src/common/components/Input/components/InputButton/index.tsx b/src/common/components/Input/components/InputButton/index.tsx index 34417a7b..b7208dcb 100644 --- a/src/common/components/Input/components/InputButton/index.tsx +++ b/src/common/components/Input/components/InputButton/index.tsx @@ -1,14 +1,14 @@ import { useContext } from 'react'; import Button from '@components/Button'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonVar } from './style.css'; import { InputButtonProps } from './types'; -import { FormContext } from '../TextBox'; // TextBox 내부 InputLine 우측 버튼 const InputButton = ({ isLoading, text, ...props }: InputButtonProps) => { - const { deviceType } = useContext(FormContext); + const { deviceType } = useContext(DeviceTypeContext); return ( @@ -67,7 +56,7 @@ interface MyPageProps { } const MyPage = ({ part, applicationPass }: MyPageProps) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { recruitingInfo: { name, season }, } = useContext(RecruitingInfoContext); diff --git a/src/views/PasswordPage/index.tsx b/src/views/PasswordPage/index.tsx index a0deb9ee..4637fbc3 100644 --- a/src/views/PasswordPage/index.tsx +++ b/src/views/PasswordPage/index.tsx @@ -1,6 +1,8 @@ +import { useContext } from 'react'; + import Title from '@components/Title'; import useDate from '@hooks/useDate'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import NoMore from 'views/ErrorPage/components/NoMore'; import BigLoading from 'views/loadings/BigLoding'; @@ -8,7 +10,7 @@ import PasswordForm from './components/PasswordForm'; import { containerVar } from './style.css'; const PasswordPage = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { NoMoreRecruit, isLoading, isMakers } = useDate(); if (isLoading) return ; diff --git a/src/views/ResultPage/components/FinalResult.tsx b/src/views/ResultPage/components/FinalResult.tsx index b30a0ba1..c3afa225 100644 --- a/src/views/ResultPage/components/FinalResult.tsx +++ b/src/views/ResultPage/components/FinalResult.tsx @@ -4,7 +4,7 @@ import { ko } from 'date-fns/locale'; import { useContext, useEffect } from 'react'; import Title from '@components/Title'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { RecruitingInfoContext } from '@store/recruitingInfoContext'; import BigLoading from 'views/loadings/BigLoding'; @@ -25,7 +25,7 @@ import imgSoptLogoWebp from '../assets/imgSoptLogo.webp'; import useGetFinalResult from '../hooks/useGetFinalResult'; const Content = ({ pass }: { pass?: boolean }) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { recruitingInfo: { name, soptName, season, group, isMakers, finalPassConfirmStart }, } = useContext(RecruitingInfoContext); @@ -100,7 +100,7 @@ const Content = ({ pass }: { pass?: boolean }) => { }; const FinalResult = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { finalResult, finalResultIsLoading } = useGetFinalResult(); const { recruitingInfo: { isMakers }, diff --git a/src/views/ResultPage/components/ScreeningResult.tsx b/src/views/ResultPage/components/ScreeningResult.tsx index c8759ded..60b14c5d 100644 --- a/src/views/ResultPage/components/ScreeningResult.tsx +++ b/src/views/ResultPage/components/ScreeningResult.tsx @@ -4,7 +4,7 @@ import { ko } from 'date-fns/locale'; import { useContext, useEffect } from 'react'; import Title from '@components/Title'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { RecruitingInfoContext } from '@store/recruitingInfoContext'; import BigLoading from 'views/loadings/BigLoding'; @@ -25,7 +25,7 @@ import imgSoptLogoWebp from '../assets/imgSoptLogo.webp'; import useGetScreeningResult from '../hooks/useGetScreeningResult'; const Content = ({ pass }: { pass?: boolean }) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { recruitingInfo: { name, soptName, season, interviewStart, interviewEnd, applicationPassConfirmStart, isMakers }, } = useContext(RecruitingInfoContext); @@ -110,7 +110,7 @@ const Content = ({ pass }: { pass?: boolean }) => { }; const ScreeningResult = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { recruitingInfo: { isMakers }, handleSaveRecruitingInfo, diff --git a/src/views/ReviewPage/index.tsx b/src/views/ReviewPage/index.tsx index dcf5868e..9afaaaed 100644 --- a/src/views/ReviewPage/index.tsx +++ b/src/views/ReviewPage/index.tsx @@ -2,8 +2,8 @@ import { useCallback, useContext, useEffect, useRef, useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import useDate from '@hooks/useDate'; -import { useDevice } from '@hooks/useDevice'; import useScrollToHash from '@hooks/useScrollToHash'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { RecruitingInfoContext } from '@store/recruitingInfoContext'; import ApplyCategory from 'views/ApplyPage/components/ApplyCategory'; import ApplyHeader from 'views/ApplyPage/components/ApplyHeader'; @@ -20,7 +20,7 @@ import NoMore from 'views/ErrorPage/components/NoMore'; import BigLoading from 'views/loadings/BigLoding'; const ReviewPage = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const preventReviewDialog = useRef(null); const sectionsRef = useRef([]); diff --git a/src/views/SignInPage/components/SignInInfo/index.tsx b/src/views/SignInPage/components/SignInInfo/index.tsx index 3e187ff0..3a01d74e 100644 --- a/src/views/SignInPage/components/SignInInfo/index.tsx +++ b/src/views/SignInPage/components/SignInInfo/index.tsx @@ -4,13 +4,13 @@ import { Link } from 'react-router-dom'; import Callout from '@components/Callout'; import Title from '@components/Title'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { RecruitingInfoContext } from '@store/recruitingInfoContext'; import { calloutButtonVar } from './style.css'; const SignInInfo = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { recruitingInfo: { soptName, isMakers, season, group }, } = useContext(RecruitingInfoContext); diff --git a/src/views/SignInPage/index.tsx b/src/views/SignInPage/index.tsx index 7d8e7e1e..6222eb9d 100644 --- a/src/views/SignInPage/index.tsx +++ b/src/views/SignInPage/index.tsx @@ -1,5 +1,7 @@ +import { useContext } from 'react'; + import useDate from '@hooks/useDate'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import NoMore from 'views/ErrorPage/components/NoMore'; import BigLoading from 'views/loadings/BigLoding'; @@ -8,7 +10,7 @@ import SignInInfo from './components/SignInInfo'; import { containerVar } from './style.css'; const SignInPage = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { isLoading, NoMoreRecruit, isMakers } = useDate(); if (isLoading) return ; diff --git a/src/views/SignupPage/index.tsx b/src/views/SignupPage/index.tsx index 260ed87e..f7a5251a 100644 --- a/src/views/SignupPage/index.tsx +++ b/src/views/SignupPage/index.tsx @@ -1,6 +1,8 @@ +import { useContext } from 'react'; + import Title from '@components/Title'; import useDate from '@hooks/useDate'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import NoMore from 'views/ErrorPage/components/NoMore'; import BigLoading from 'views/loadings/BigLoding'; @@ -8,7 +10,7 @@ import SignupForm from './components/SignupForm'; import { containerVar } from './style.css'; const SignupPage = () => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const { NoMoreRecruit, NoMoreApply, isLoading, isMakers } = useDate(); if (isLoading) return ; diff --git a/src/views/dialogs/CompleteDialog/index.tsx b/src/views/dialogs/CompleteDialog/index.tsx index 97d6c47d..1e3137e9 100644 --- a/src/views/dialogs/CompleteDialog/index.tsx +++ b/src/views/dialogs/CompleteDialog/index.tsx @@ -1,13 +1,13 @@ -import { forwardRef } from 'react'; +import { forwardRef, useContext } from 'react'; import { Link } from 'react-router-dom'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar, subTextVar } from '../style.css'; const CompleteDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); return ( diff --git a/src/views/dialogs/DraftDialog/index.tsx b/src/views/dialogs/DraftDialog/index.tsx index 6796ac49..1c400324 100644 --- a/src/views/dialogs/DraftDialog/index.tsx +++ b/src/views/dialogs/DraftDialog/index.tsx @@ -1,12 +1,12 @@ -import { forwardRef } from 'react'; +import { forwardRef, useContext } from 'react'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar } from '../style.css'; const DraftDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); return ( diff --git a/src/views/dialogs/ExistingApplicantDialog/index.tsx b/src/views/dialogs/ExistingApplicantDialog/index.tsx index 0ef54018..5833e7ba 100644 --- a/src/views/dialogs/ExistingApplicantDialog/index.tsx +++ b/src/views/dialogs/ExistingApplicantDialog/index.tsx @@ -1,13 +1,13 @@ -import { forwardRef } from 'react'; +import { forwardRef, useContext } from 'react'; import { Link } from 'react-router-dom'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar } from '../style.css'; const ExistingApplicantDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); return ( diff --git a/src/views/dialogs/ExitDialog/index.tsx b/src/views/dialogs/ExitDialog/index.tsx index a7701048..94c07b73 100644 --- a/src/views/dialogs/ExitDialog/index.tsx +++ b/src/views/dialogs/ExitDialog/index.tsx @@ -1,12 +1,12 @@ -import { forwardRef } from 'react'; +import { forwardRef, useContext } from 'react'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar, subTextVar } from '../style.css'; const ExitDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); return ( diff --git a/src/views/dialogs/PreventApplyDialog/index.tsx b/src/views/dialogs/PreventApplyDialog/index.tsx index 268400ee..0e138a01 100644 --- a/src/views/dialogs/PreventApplyDialog/index.tsx +++ b/src/views/dialogs/PreventApplyDialog/index.tsx @@ -1,12 +1,12 @@ -import { forwardRef, type KeyboardEvent } from 'react'; +import { forwardRef, useContext, type KeyboardEvent } from 'react'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar } from '../style.css'; const PreventApplyDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const handlePreventESCKeyPress = (e: KeyboardEvent) => { if (e.key === 'Escape') e.preventDefault(); diff --git a/src/views/dialogs/PreventReviewDialog/index.tsx b/src/views/dialogs/PreventReviewDialog/index.tsx index 6a9fb416..96ce8ac7 100644 --- a/src/views/dialogs/PreventReviewDialog/index.tsx +++ b/src/views/dialogs/PreventReviewDialog/index.tsx @@ -1,13 +1,13 @@ -import { forwardRef, type KeyboardEvent } from 'react'; +import { forwardRef, useContext, type KeyboardEvent } from 'react'; import { Link } from 'react-router-dom'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar, subTextVar } from '../style.css'; const PreventReviewDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const handlePreventESCKeyPress = (e: KeyboardEvent) => { if (e.key === 'Escape') e.preventDefault(); diff --git a/src/views/dialogs/SessionExpiredDialog/index.tsx b/src/views/dialogs/SessionExpiredDialog/index.tsx index 4cb1bb3f..2a57b872 100644 --- a/src/views/dialogs/SessionExpiredDialog/index.tsx +++ b/src/views/dialogs/SessionExpiredDialog/index.tsx @@ -1,13 +1,13 @@ import { track } from '@amplitude/analytics-browser'; -import { forwardRef, type KeyboardEvent } from 'react'; +import { forwardRef, useContext, type KeyboardEvent } from 'react'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import { buttonInside, buttonOutside, buttonOutsideVar, buttonWrapperVar, mainTextVar, subTextVar } from '../style.css'; const SessionExpiredDialog = forwardRef((_, ref) => { - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const handlePreventESCKeyPress = (e: KeyboardEvent) => { if (e.key === 'Escape') e.preventDefault(); diff --git a/src/views/dialogs/SubmitDialog/index.tsx b/src/views/dialogs/SubmitDialog/index.tsx index 3dfe58f1..d1fd33ec 100644 --- a/src/views/dialogs/SubmitDialog/index.tsx +++ b/src/views/dialogs/SubmitDialog/index.tsx @@ -1,8 +1,8 @@ import { track } from '@amplitude/analytics-browser'; -import { type ChangeEvent, forwardRef, useState } from 'react'; +import { type ChangeEvent, forwardRef, useContext, useState } from 'react'; import Dialog from '@components/Dialog'; -import { useDevice } from '@hooks/useDevice'; +import { DeviceTypeContext } from '@store/deviceTypeContext'; import ButtonLoading from 'views/loadings/ButtonLoading'; import { @@ -49,7 +49,7 @@ const SubmitDialog = forwardRef( ({ userInfo: { name, email, phone, part }, dataIsPending, onSendData }, ref) => { const [isChecked, setIsChecked] = useState(false); - const deviceType = useDevice(); + const { deviceType } = useContext(DeviceTypeContext); const handleCheck = (e: ChangeEvent) => { setIsChecked(e.target.checked); diff --git a/yarn.lock b/yarn.lock index 8c66ee7d..31102e96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3094,13 +3094,6 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" @@ -3418,7 +3411,7 @@ long@^5.0.0: resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -3815,20 +3808,6 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.2" -react-fast-compare@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-helmet-async@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.5.tgz#cfc70cd7bb32df7883a8ed55502a1513747223ec" - integrity sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg== - dependencies: - invariant "^2.2.4" - react-fast-compare "^3.2.2" - shallowequal "^1.1.0" - react-hook-form@^7.51.5: version "7.51.5" resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.51.5.tgz#4afbfb819312db9fea23e8237a3a0d097e128b43" @@ -4064,11 +4043,6 @@ shallow-equal@^3.1.0: resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-3.1.0.tgz#e7a54bac629c7f248eff6c2f5b63122ba4320bec" integrity sha512-pfVOw8QZIXpMbhBWvzBISicvToTiM5WBF1EeAUZDDSb5Dt29yl4AYbyywbJFSEsRUMr7gJaxqCdr4L3tQf9wVg== -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"