parent
ac446f7b07
commit
8a85e3c5d9
@ -0,0 +1,21 @@ |
||||
.wrapper { |
||||
align-items: center; |
||||
justify-content: center; |
||||
display: flex; |
||||
flex-direction: column; |
||||
text-align: center; |
||||
width: 80%; |
||||
align-self: center; |
||||
margin: calc(40rem / 16) 0; |
||||
} |
||||
|
||||
|
||||
|
||||
.graphWrapper { |
||||
margin-top: calc(80rem / 16); |
||||
} |
||||
|
||||
|
||||
/* .textWrapper { |
||||
margin: 0 calc(100rem / 16); |
||||
} */ |
@ -0,0 +1,25 @@ |
||||
import React from "react"; |
||||
|
||||
import styles from "./FullComponentWrapper.module.css"; |
||||
|
||||
type FullComponentWrapperProps = { |
||||
children: React.ReactNode; |
||||
heading: string; |
||||
body: string; |
||||
}; |
||||
|
||||
export default function FullComponentWrapper({ |
||||
heading, |
||||
body, |
||||
children, |
||||
}: FullComponentWrapperProps) { |
||||
return ( |
||||
<div className={styles.wrapper}> |
||||
<div className={styles.textWrapper}> |
||||
<h3 className={styles.heading}>{heading}</h3> |
||||
<p className={styles.body}>{body}</p> |
||||
</div> |
||||
<div className={styles.graphWrapper}>{children}</div> |
||||
</div> |
||||
); |
||||
} |
@ -1,9 +1,20 @@ |
||||
import type { AppProps } from "next/app"; |
||||
import Head from "next/head"; |
||||
import React from "react"; |
||||
|
||||
import "./_app.css"; |
||||
import "./font.css"; |
||||
|
||||
export default function App({ Component, pageProps }: AppProps): JSX.Element { |
||||
return <Component {...pageProps} />; |
||||
return ( |
||||
<> |
||||
<Head> |
||||
<meta |
||||
name="viewport" |
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=0" |
||||
/> |
||||
</Head> |
||||
<Component {...pageProps} />; |
||||
</> |
||||
); |
||||
} |
||||
|
@ -0,0 +1,37 @@ |
||||
// https://stackoverflow.com/questions/36862334/get-viewport-window-height-in-reactjs
|
||||
import { useState, useEffect } from "react"; |
||||
|
||||
type WindowDimensions = { |
||||
width: number; |
||||
height: number; |
||||
}; |
||||
|
||||
const getWindowDimensions = (): WindowDimensions => { |
||||
const { innerWidth, innerHeight } = window; |
||||
|
||||
return { |
||||
width: innerWidth, |
||||
height: innerHeight, |
||||
}; |
||||
}; |
||||
|
||||
const useWindowDimensions = (): WindowDimensions => { |
||||
const [windowDimensions, setWindowDimensions] = useState<WindowDimensions>({ |
||||
width: 0, |
||||
height: 0, |
||||
}); |
||||
|
||||
const handleResize = () => { |
||||
setWindowDimensions(getWindowDimensions()); |
||||
}; |
||||
|
||||
useEffect(() => { |
||||
handleResize(); |
||||
window.addEventListener("resize", handleResize); |
||||
return () => window.removeEventListener("resize", handleResize); |
||||
}, []); |
||||
|
||||
return windowDimensions; |
||||
}; |
||||
|
||||
export default useWindowDimensions; |
Loading…
Reference in new issue