diff --git a/deno.lock b/deno.lock index b10a404..15d7921 100644 --- a/deno.lock +++ b/deno.lock @@ -1,6 +1,7 @@ { "version": "5", "specifiers": { + "npm:@solidjs/router@~0.15.4": "0.15.4_solid-js@1.9.11__seroval@1.5.0", "npm:@tailwindcss/vite@^4.1.13": "4.1.18_vite@7.3.1__picomatch@4.0.3", "npm:solid-devtools@~0.34.3": "0.34.5_solid-js@1.9.11__seroval@1.5.0_vite@7.3.1__picomatch@4.0.3_@babel+core@7.28.6", "npm:solid-js@^1.9.9": "1.9.11_seroval@1.5.0", @@ -555,6 +556,12 @@ "solid-js" ] }, + "@solidjs/router@0.15.4_solid-js@1.9.11__seroval@1.5.0": { + "integrity": "sha512-WOpgg9a9T638cR+5FGbFi/IV4l2FpmBs1GpIMSPa0Ce9vyJN7Wts+X2PqMf9IYn0zUj2MlSJtm1gp7/HI/n5TQ==", + "dependencies": [ + "solid-js" + ] + }, "@tailwindcss/node@4.1.18": { "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", "dependencies": [ @@ -1104,6 +1111,7 @@ "workspace": { "packageJson": { "dependencies": [ + "npm:@solidjs/router@~0.15.4", "npm:@tailwindcss/vite@^4.1.13", "npm:solid-devtools@~0.34.3", "npm:solid-js@^1.9.9", diff --git a/package.json b/package.json index 8071e1e..27cd31b 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "vite-plugin-solid": "^2.11.8" }, "dependencies": { + "@solidjs/router": "^0.15.4", "solid-js": "^1.9.9" } } diff --git a/src/App.tsx b/src/App.tsx deleted file mode 100644 index 4ab6d01..0000000 --- a/src/App.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import type { Component } from "solid-js"; - -const App: Component = () => { - return ( -
-

Washing Machine

-
- - -
-
- ); -}; - -export default App; diff --git a/src/Home.tsx b/src/Home.tsx new file mode 100644 index 0000000..74466f4 --- /dev/null +++ b/src/Home.tsx @@ -0,0 +1,42 @@ +import type { Component } from "solid-js"; +import { useNavigate } from "@solidjs/router"; + +const Home: Component = () => { + const naviguate = useNavigate(); + + const onSubmit = (e: SubmitEvent) => { + // TODO: Validate handle before submit?? + e.preventDefault(); + + const form = e.target as HTMLFormElement; + const handleSearch = form.elements.namedItem("handle") as HTMLInputElement; + const handle = handleSearch.value; + + naviguate(`/wash/${handle}`); + }; + + return ( +
+

Washing Machine

+
+ +
+ + +
+
+
+ ); +}; + +export default Home; diff --git a/src/index.tsx b/src/index.tsx index f1135e7..762ee27 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -3,7 +3,8 @@ import "./index.css"; import { render } from "solid-js/web"; import "solid-devtools"; -import App from "./App.tsx"; +import Home from "./Home.tsx"; +import { Route, Router } from "@solidjs/router"; const root = document.getElementById("root"); @@ -13,4 +14,12 @@ if (import.meta.env.DEV && !(root instanceof HTMLElement)) { ); } -render(() => , root!); +render( + () => ( + + +

:3

} /> +
+ ), + root!, +);