@@ -12,6 +12,5 @@ export default async function Metar() {
),
ssr: false
});
-
- return
;
+ return
;
}
diff --git a/weather-ui/src/components/Sidebar/Sidebar.css b/weather-ui/src/components/Sidebar/Sidebar.css
new file mode 100644
index 0000000..d5d086d
--- /dev/null
+++ b/weather-ui/src/components/Sidebar/Sidebar.css
@@ -0,0 +1,11 @@
+.sidebar {
+ width: 62px;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+
+ .option-group {
+ display: flex;
+ flex-direction: column;
+ }
+}
diff --git a/weather-ui/src/components/Sidebar/index.tsx b/weather-ui/src/components/Sidebar/index.tsx
new file mode 100644
index 0000000..fe98409
--- /dev/null
+++ b/weather-ui/src/components/Sidebar/index.tsx
@@ -0,0 +1,5 @@
+import './Sidebar.css';
+
+export default function Sidebar() {
+ return
;
+}
diff --git a/weather-ui/src/components/Topbar/index.tsx b/weather-ui/src/components/Topbar/index.tsx
new file mode 100644
index 0000000..ab21317
--- /dev/null
+++ b/weather-ui/src/components/Topbar/index.tsx
@@ -0,0 +1,27 @@
+'use client';
+
+import { Avatar } from 'antd';
+import Search from 'antd/es/input/Search';
+import { useRouter } from 'next/navigation';
+import { AiOutlineUser } from 'react-icons/ai';
+
+export default function Topbar() {
+ const router = useRouter();
+
+ function onSearch(value: string) {
+ router.push(`/airports/${value}`);
+ }
+
+ return (
+
+ );
+}
diff --git a/weather-ui/src/lib/AntdRegistry.tsx b/weather-ui/src/lib/AntdRegistry.tsx
new file mode 100644
index 0000000..289a635
--- /dev/null
+++ b/weather-ui/src/lib/AntdRegistry.tsx
@@ -0,0 +1,14 @@
+'use client';
+
+import React from 'react';
+import { createCache, extractStyle, StyleProvider } from '@ant-design/cssinjs';
+import type Entity from '@ant-design/cssinjs/es/Cache';
+import { useServerInsertedHTML } from 'next/navigation';
+
+const StyledComponentsRegistry = ({ children }: { children: React.ReactNode }) => {
+ const cache = React.useMemo
(() => createCache(), [createCache]);
+ useServerInsertedHTML(() => );
+ return {children};
+};
+
+export default StyledComponentsRegistry;
diff --git a/weather-ui/styles/Home.module.css b/weather-ui/styles/Home.module.css
deleted file mode 100755
index 32a57d5..0000000
--- a/weather-ui/styles/Home.module.css
+++ /dev/null
@@ -1,116 +0,0 @@
-.container {
- padding: 0 2rem;
-}
-
-.main {
- min-height: 100vh;
- padding: 4rem 0;
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-
-.footer {
- display: flex;
- flex: 1;
- padding: 2rem 0;
- border-top: 1px solid #eaeaea;
- justify-content: center;
- align-items: center;
-}
-
-.footer a {
- display: flex;
- justify-content: center;
- align-items: center;
- flex-grow: 1;
-}
-
-.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 {
- margin: 4rem 0;
- 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;
-}
-
-.card {
- margin: 1rem;
- 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;
- max-width: 300px;
-}
-
-.card:hover,
-.card:focus,
-.card:active {
- color: #0070f3;
- border-color: #0070f3;
-}
-
-.card h2 {
- margin: 0 0 1rem 0;
- font-size: 1.5rem;
-}
-
-.card p {
- margin: 0;
- font-size: 1.25rem;
- line-height: 1.5;
-}
-
-.logo {
- height: 1em;
- margin-left: 0.5rem;
-}
-
-@media (max-width: 600px) {
- .grid {
- width: 100%;
- flex-direction: column;
- }
-}
diff --git a/weather-ui/styles/globals.css b/weather-ui/styles/globals.css
index e7fa77c..2e18714 100755
--- a/weather-ui/styles/globals.css
+++ b/weather-ui/styles/globals.css
@@ -33,4 +33,16 @@ a {
user-select: none;
pointer-events: none;
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
-}
\ No newline at end of file
+}
+
+.content {
+ display: flex;
+ flex-direction: row;
+ flex: 1;
+ overflow: hidden;
+}
+
+.wrapper > nav {
+ flex: 0 0 56px;
+ overflow: hidden;
+}
diff --git a/weather-ui/tailwind.config.js b/weather-ui/tailwind.config.js
index 64070ab..34859d4 100644
--- a/weather-ui/tailwind.config.js
+++ b/weather-ui/tailwind.config.js
@@ -4,5 +4,8 @@ module.exports = {
theme: {
extend: {}
},
- plugins: []
+ plugins: [],
+ corePlugins: {
+ preflight: false
+ }
};