diff --git a/@types/styled.d.ts b/@types/styled.d.ts
new file mode 100644
index 0000000..a4270bf
--- /dev/null
+++ b/@types/styled.d.ts
@@ -0,0 +1,9 @@
+import 'styled-components';
+
+import { theme } from 'styles/theme';
+
+export type Theme = typeof theme;
+
+declare module 'styled-components' {
+ export interface DefaultTheme extends Theme {}
+}
diff --git a/src/pages/_app.js b/pages/_app.tsx
similarity index 67%
rename from src/pages/_app.js
rename to pages/_app.tsx
index b43f55e..d394d06 100644
--- a/src/pages/_app.js
+++ b/pages/_app.tsx
@@ -1,13 +1,13 @@
import { ThemeProvider } from 'styled-components';
-import { theme } from '../styles/theme';
-import GlobalStyle from '../styles/globals';
+import { theme } from 'styles/theme';
+import GlobalStyles from 'styles/global';
function MyApp({ Component, pageProps }) {
return (
-
+
);
}
diff --git a/src/pages/_document.js b/pages/_document.tsx
similarity index 83%
rename from src/pages/_document.js
rename to pages/_document.tsx
index a7564bf..31f0c13 100644
--- a/src/pages/_document.js
+++ b/pages/_document.tsx
@@ -1,8 +1,17 @@
-import Document, { Html, Head, Main, NextScript } from 'next/document';
+import Document, {
+ DocumentInitialProps,
+ DocumentContext,
+ Html,
+ Head,
+ Main,
+ NextScript,
+} from 'next/document';
import { ServerStyleSheet } from 'styled-components';
export default class MyDocument extends Document {
- static async getInitialProps(ctx) {
+ static async getInitialProps(
+ ctx: DocumentContext,
+ ): Promise {
const sheet = new ServerStyleSheet();
const originalRenderPage = ctx.renderPage;
diff --git a/styles/Home.module.css b/styles/Home.module.css
deleted file mode 100644
index 42e7e60..0000000
--- a/styles/Home.module.css
+++ /dev/null
@@ -1,122 +0,0 @@
-.container {
- min-height: 100vh;
- padding: 0 0.5rem;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-
-.main {
- padding: 5rem 0;
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-
-.footer {
- width: 100%;
- height: 100px;
- border-top: 1px solid #eaeaea;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.footer img {
- margin-left: 0.5rem;
-}
-
-.footer a {
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.title a {
- color: #0070f3;
- text-decoration: none;
-}
-
-.title a:hover,
-.title a:focus,
-.title a:active {
- text-decoration: underline;
-}
-
-.title {
- margin: 0;
- line-height: 1.15;
- font-size: 4rem;
-}
-
-.title,
-.description {
- text-align: center;
-}
-
-.description {
- line-height: 1.5;
- font-size: 1.5rem;
-}
-
-.code {
- background: #fafafa;
- border-radius: 5px;
- padding: 0.75rem;
- font-size: 1.1rem;
- font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
- Bitstream Vera Sans Mono, Courier New, monospace;
-}
-
-.grid {
- display: flex;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;
- max-width: 800px;
- margin-top: 3rem;
-}
-
-.card {
- margin: 1rem;
- flex-basis: 45%;
- padding: 1.5rem;
- text-align: left;
- color: inherit;
- text-decoration: none;
- border: 1px solid #eaeaea;
- border-radius: 10px;
- transition: color 0.15s ease, border-color 0.15s ease;
-}
-
-.card:hover,
-.card:focus,
-.card:active {
- color: #0070f3;
- border-color: #0070f3;
-}
-
-.card h3 {
- margin: 0 0 1rem 0;
- font-size: 1.5rem;
-}
-
-.card p {
- margin: 0;
- font-size: 1.25rem;
- line-height: 1.5;
-}
-
-.logo {
- height: 1em;
-}
-
-@media (max-width: 600px) {
- .grid {
- width: 100%;
- flex-direction: column;
- }
-}
diff --git a/styles/global.ts b/styles/global.ts
new file mode 100644
index 0000000..31e7803
--- /dev/null
+++ b/styles/global.ts
@@ -0,0 +1,27 @@
+import { createGlobalStyle } from 'styled-components';
+
+export default createGlobalStyle`
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ background: ${({ theme }) => theme.colors.background};
+ color: ${({ theme }) => theme.colors.black};
+
+ font-family: 'Roboto',sans-serif;
+ font-size: 1rem;
+ font-weight: 400;
+ }
+
+ input,
+ button {
+ outline: 0;
+ }
+
+ button {
+ cursor: pointer;
+ }
+`;
diff --git a/styles/globals.css b/styles/globals.css
deleted file mode 100644
index e5e2dcc..0000000
--- a/styles/globals.css
+++ /dev/null
@@ -1,16 +0,0 @@
-html,
-body {
- padding: 0;
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
- Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
-}
-
-a {
- color: inherit;
- text-decoration: none;
-}
-
-* {
- box-sizing: border-box;
-}
diff --git a/styles/theme/colors.ts b/styles/theme/colors.ts
new file mode 100644
index 0000000..71b21f1
--- /dev/null
+++ b/styles/theme/colors.ts
@@ -0,0 +1,9 @@
+export const colors = {
+ background: '#055388',
+ white: '#ffffff',
+ black: '#000000',
+ 'black-secondary': '#212121',
+ alto: '#dbdbdb',
+ title: '#2e384d',
+ green: 'rgb(81, 215, 100)',
+};
diff --git a/styles/theme/index.ts b/styles/theme/index.ts
new file mode 100644
index 0000000..1b8ef66
--- /dev/null
+++ b/styles/theme/index.ts
@@ -0,0 +1,5 @@
+import { colors } from './colors';
+
+export const theme = {
+ colors,
+};