diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 89c5c24..124a9b8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,6 +8,7 @@ "name": "syntrx-frontend", "version": "0.1.0", "dependencies": { + "@vercel/analytics": "^1.3.1", "clsx": "^2.1.1", "lucide-react": "^0.451.0", "react": "^18.3.1", @@ -1318,6 +1319,44 @@ "@types/react": "^18.0.0" } }, + "node_modules/@vercel/analytics": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.6.1.tgz", + "integrity": "sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==", + "license": "MPL-2.0", + "peerDependencies": { + "@remix-run/react": "^2", + "@sveltejs/kit": "^1 || ^2", + "next": ">= 13", + "react": "^18 || ^19 || ^19.0.0-rc", + "svelte": ">= 4", + "vue": "^3", + "vue-router": "^4" + }, + "peerDependenciesMeta": { + "@remix-run/react": { + "optional": true + }, + "@sveltejs/kit": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + }, + "vue-router": { + "optional": true + } + } + }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 18e3936..43b39bf 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,7 +15,7 @@ "recharts": "^2.13.0", "lucide-react": "^0.451.0", "clsx": "^2.1.1", - "@vercel/analytics": "^1.3.1" + "@vercel/analytics": "^1.6.1" }, "devDependencies": { "@types/react": "^18.3.11", diff --git a/frontend/src/lib/auth.tsx b/frontend/src/lib/auth.tsx new file mode 100644 index 0000000..633e143 --- /dev/null +++ b/frontend/src/lib/auth.tsx @@ -0,0 +1,19 @@ +import { createContext, useContext, ReactNode } from "react"; + +interface AuthContextType { + user: null; +} + +const AuthContext = createContext({ user: null }); + +export function AuthProvider({ children }: { children: ReactNode }) { + return ( + + {children} + + ); +} + +export function useAuth() { + return useContext(AuthContext); +} diff --git a/frontend/src/pages/Login.tsx b/frontend/src/pages/Login.tsx new file mode 100644 index 0000000..4e00952 --- /dev/null +++ b/frontend/src/pages/Login.tsx @@ -0,0 +1,8 @@ +export default function Login() { + return ( +
+

Login

+

Login page coming soon...

+
+ ); +} diff --git a/frontend/src/pages/Signup.tsx b/frontend/src/pages/Signup.tsx new file mode 100644 index 0000000..5fde9c2 --- /dev/null +++ b/frontend/src/pages/Signup.tsx @@ -0,0 +1,8 @@ +export default function Signup() { + return ( +
+

Sign Up

+

Sign up page coming soon...

+
+ ); +}