Files

86 lines
2.3 KiB
TypeScript

import Image from "next/image";
import type { ReactNode } from "react";
import { StoreProvider } from "./StoreProvider";
import { Nav } from "./components/Nav";
import "./styles/globals.css";
import styles from "./styles/layout.module.css";
interface Props {
readonly children: ReactNode;
}
export default function RootLayout({ children }: Props) {
return (
<StoreProvider>
<html lang="en">
<body>
<section className={styles.container}>
<Nav />
<header className={styles.header}>
<Image
src="/logo.svg"
className={styles.logo}
alt="logo"
width={100}
height={100}
/>
</header>
<main className={styles.main}>{children}</main>
<footer className={styles.footer}>
<span>Learn </span>
<a
className={styles.link}
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
React
</a>
<span>, </span>
<a
className={styles.link}
href="https://redux.js.org"
target="_blank"
rel="noopener noreferrer"
>
Redux
</a>
<span>, </span>
<a
className={styles.link}
href="https://redux-toolkit.js.org"
target="_blank"
rel="noopener noreferrer"
>
Redux Toolkit
</a>
<span>, </span>
<a
className={styles.link}
href="https://react-redux.js.org"
target="_blank"
rel="noopener noreferrer"
>
React Redux
</a>
,<span> and </span>
<a
className={styles.link}
href="https://reselect.js.org"
target="_blank"
rel="noopener noreferrer"
>
Reselect
</a>
</footer>
</section>
</body>
</html>
</StoreProvider>
);
}