diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..a48d1b4
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,23 @@
+{
+ "workbench.colorTheme": ".NET Purple theme dark",
+ "workbench.colorCustomizations": {
+ "activityBar.activeBackground": "#ce0c36",
+ "activityBar.background": "#ce0c36",
+ "activityBar.foreground": "#e7e7e7",
+ "activityBar.inactiveForeground": "#e7e7e799",
+ "activityBarBadge.background": "#2fb50b",
+ "activityBarBadge.foreground": "#e7e7e7",
+ "commandCenter.border": "#e7e7e799",
+ "sash.hoverBorder": "#ce0c36",
+ "statusBar.background": "#9e0929",
+ "statusBar.foreground": "#e7e7e7",
+ "statusBarItem.hoverBackground": "#ce0c36",
+ "statusBarItem.remoteBackground": "#9e0929",
+ "statusBarItem.remoteForeground": "#e7e7e7",
+ "titleBar.activeBackground": "#9e0929",
+ "titleBar.activeForeground": "#e7e7e7",
+ "titleBar.inactiveBackground": "#9e092999",
+ "titleBar.inactiveForeground": "#e7e7e799"
+ },
+ "peacock.color": "#9e0929"
+}
\ No newline at end of file
diff --git a/bun.lockb b/bun.lockb
index c620a90..5110204 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/package.json b/package.json
index 5e4927a..74bb56d 100644
--- a/package.json
+++ b/package.json
@@ -9,15 +9,18 @@
"lint": "next lint"
},
"dependencies": {
+ "leaflet": "^1.9.4",
+ "next": "13.5.4",
"react": "^18",
"react-dom": "^18",
- "next": "13.5.4"
+ "react-leaflet": "^4.2.1"
},
"devDependencies": {
"typescript": "^5",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
+ "@types/leaflet": "^1.9.6",
"autoprefixer": "^10",
"postcss": "^8",
"tailwindcss": "^3",
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000..cbd81c1
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 0000000..8d144a0
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000..a033189
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 0000000..c31bb38
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 0000000..dc9110b
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..efb824e
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/next.svg b/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 0000000..5e2a42a
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "Parent Grin",
+ "short_name": "parentgrin",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/public/vercel.svg b/public/vercel.svg
deleted file mode 100644
index d2f8422..0000000
--- a/public/vercel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/app/favicon.ico b/src/app/favicon.ico
deleted file mode 100644
index 718d6fe..0000000
Binary files a/src/app/favicon.ico and /dev/null differ
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index ae84562..a27c0df 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,22 +1,28 @@
-import './globals.css'
-import type { Metadata } from 'next'
-import { Inter } from 'next/font/google'
+import "./globals.css";
+import type { Metadata } from "next";
+import { Inter } from "next/font/google";
-const inter = Inter({ subsets: ['latin'] })
+const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
- title: 'Create Next App',
- description: 'Generated by create next app',
-}
+ title: "ParentGrin Falcon",
+ description: "Laser focused on your kids",
+ manifest: "/site.webmanifest",
+ icons: {
+ icon: "/favicon.ico",
+ },
+};
export default function RootLayout({
children,
}: {
- children: React.ReactNode
+ children: React.ReactNode;
}) {
return (
-
{children}
+
+ {children}
+
- )
+ );
}
diff --git a/src/app/map/page.tsx b/src/app/map/page.tsx
new file mode 100644
index 0000000..a1a4e03
--- /dev/null
+++ b/src/app/map/page.tsx
@@ -0,0 +1,15 @@
+import React from "react";
+import MainMap from "@/components/maps/main-map";
+
+const MapPage = async () => {
+ return (
+
+ );
+};
+
+export default MapPage;
diff --git a/src/app/page.tsx b/src/app/page.tsx
index e38c626..5390197 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,113 +1,9 @@
-import Image from 'next/image'
+import Image from "next/image";
export default function Home() {
return (
-
-
- Get started by editing
- src/app/page.tsx
-
-
-
-
-
-
-
-
-
+ I am home
- )
+ );
}
diff --git a/src/components/maps/main-map.tsx b/src/components/maps/main-map.tsx
new file mode 100644
index 0000000..1c0b83d
--- /dev/null
+++ b/src/components/maps/main-map.tsx
@@ -0,0 +1,27 @@
+"use client";
+import React from "react";
+import { Marker, Popup } from "react-leaflet";
+import { MapContainer } from "react-leaflet/MapContainer";
+import { TileLayer } from "react-leaflet/TileLayer";
+import { useMap } from "react-leaflet/hooks";
+import 'leaflet/dist/leaflet.css';
+
+
+type MainMapProps = {
+ initialLocation?: string;
+};
+
+const MainMap: React.FC = ({ initialLocation }) => {
+ return (
+
+
+
+
+
+ );
+};
+
+export default MainMap;