mirror of
https://github.com/vercel/commerce.git
synced 2025-06-18 13:11:23 +00:00
Merge branch 'master' into hotfix/upgrade-next
This commit is contained in:
commit
178a5db7df
12
assets/chrome-bug.css
Normal file
12
assets/chrome-bug.css
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
* Chrome has a bug with transitions on load since 2012!
|
||||||
|
*
|
||||||
|
* To prevent a "pop" of content, you have to disable all transitions until
|
||||||
|
* the page is done loading.
|
||||||
|
*
|
||||||
|
* https://lab.laukstein.com/bug/input
|
||||||
|
* https://twitter.com/timer150/status/1345217126680899584
|
||||||
|
*/
|
||||||
|
body.loading * {
|
||||||
|
transition: none !important;
|
||||||
|
}
|
@ -2,7 +2,6 @@ import cn from 'classnames'
|
|||||||
import s from './Marquee.module.css'
|
import s from './Marquee.module.css'
|
||||||
import { FC, ReactNode, Component } from 'react'
|
import { FC, ReactNode, Component } from 'react'
|
||||||
import Ticker from 'react-ticker'
|
import Ticker from 'react-ticker'
|
||||||
import { useInView } from 'react-intersection-observer'
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
className?: string
|
className?: string
|
||||||
@ -23,18 +22,12 @@ const Maquee: FC<Props> = ({
|
|||||||
},
|
},
|
||||||
className
|
className
|
||||||
)
|
)
|
||||||
const [ref, inView] = useInView({
|
|
||||||
triggerOnce: true,
|
|
||||||
rootMargin: '200px 0px',
|
|
||||||
})
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={rootClassName} ref={ref}>
|
<div className={rootClassName}>
|
||||||
{inView ? (
|
<Ticker offset={80}>
|
||||||
<Ticker offset={80}>
|
{() => <div className={s.container}>{children}</div>}
|
||||||
{() => <div className={s.container}>{children}</div>}
|
</Ticker>
|
||||||
</Ticker>
|
|
||||||
) : null}
|
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,6 @@
|
|||||||
"postcss-nesting": "^7.0.1",
|
"postcss-nesting": "^7.0.1",
|
||||||
"react": "^16.14.0",
|
"react": "^16.14.0",
|
||||||
"react-dom": "^16.14.0",
|
"react-dom": "^16.14.0",
|
||||||
"react-intersection-observer": "^8.30.1",
|
|
||||||
"react-merge-refs": "^1.1.0",
|
"react-merge-refs": "^1.1.0",
|
||||||
"react-ticker": "^1.2.2",
|
"react-ticker": "^1.2.2",
|
||||||
"swr": "^0.3.11",
|
"swr": "^0.3.11",
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import '@assets/main.css'
|
import '@assets/main.css'
|
||||||
import 'keen-slider/keen-slider.min.css'
|
import 'keen-slider/keen-slider.min.css'
|
||||||
|
import '@assets/chrome-bug.css'
|
||||||
|
|
||||||
import { FC } from 'react'
|
import { FC, useEffect } from 'react'
|
||||||
import type { AppProps } from 'next/app'
|
import type { AppProps } from 'next/app'
|
||||||
|
|
||||||
import { ManagedUIContext } from '@components/ui/context'
|
import { ManagedUIContext } from '@components/ui/context'
|
||||||
@ -12,6 +13,10 @@ const Noop: FC = ({ children }) => <>{children}</>
|
|||||||
export default function MyApp({ Component, pageProps }: AppProps) {
|
export default function MyApp({ Component, pageProps }: AppProps) {
|
||||||
const Layout = (Component as any).Layout || Noop
|
const Layout = (Component as any).Layout || Noop
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
document.body.classList?.remove('loading')
|
||||||
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Head />
|
<Head />
|
||||||
|
23
pages/_document.tsx
Normal file
23
pages/_document.tsx
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import Document, {
|
||||||
|
DocumentContext,
|
||||||
|
Head,
|
||||||
|
Html,
|
||||||
|
Main,
|
||||||
|
NextScript,
|
||||||
|
} from 'next/document'
|
||||||
|
|
||||||
|
class MyDocument extends Document {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<Html>
|
||||||
|
<Head />
|
||||||
|
<body className="loading">
|
||||||
|
<Main />
|
||||||
|
<NextScript />
|
||||||
|
</body>
|
||||||
|
</Html>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MyDocument
|
@ -6395,11 +6395,6 @@ react-dom@^16.14.0:
|
|||||||
prop-types "^15.6.2"
|
prop-types "^15.6.2"
|
||||||
scheduler "^0.19.1"
|
scheduler "^0.19.1"
|
||||||
|
|
||||||
react-intersection-observer@^8.30.1:
|
|
||||||
version "8.30.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/react-intersection-observer/-/react-intersection-observer-8.30.1.tgz#e0ce4835d2834fc712b096aec65230de79eeaadb"
|
|
||||||
integrity sha512-BGHGkmWz/d4Gs+44jWkrZBtJ6//HGwouZ9ub+kRRoRfguw2JoDlVrgTDwkQ/deDJAR9keTkQmMilNu+onhqfgw==
|
|
||||||
|
|
||||||
react-is@16.13.1, react-is@^16.8.1:
|
react-is@16.13.1, react-is@^16.8.1:
|
||||||
version "16.13.1"
|
version "16.13.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user