summaryrefslogtreecommitdiff
path: root/storefront/pages/register.js
diff options
context:
space:
mode:
authorertopogo <erwin.t.pombett@gmail.com>2026-02-01 02:53:13 +0100
committerertopogo <erwin.t.pombett@gmail.com>2026-02-01 02:53:13 +0100
commitbc6f65dc9afa29fbb94038b1cfd5cbee2d87719c (patch)
tree745095c67dc674567d4e0823388252b104a2e17e /storefront/pages/register.js
parente704383cb20e7016794ccc793eda057a609be835 (diff)
feat: mise à jour storefront + checkout
Diffstat (limited to 'storefront/pages/register.js')
-rw-r--r--storefront/pages/register.js200
1 files changed, 100 insertions, 100 deletions
diff --git a/storefront/pages/register.js b/storefront/pages/register.js
index 48831ea..688a09e 100644
--- a/storefront/pages/register.js
+++ b/storefront/pages/register.js
@@ -1,100 +1,100 @@
-import { useState } from "react"
-import { useRouter } from "next/router"
-import { medusaClient } from "../lib/medusa-client"
-
-export default function RegisterPage() {
- const router = useRouter()
- const [form, setForm] = useState({
- first_name: "",
- last_name: "",
- email: "",
- password: "",
- })
- const [status, setStatus] = useState("")
- const [isLoading, setIsLoading] = useState(false)
-
- const handleChange = (event) => {
- const { name, value } = event.target
- setForm((prev) => ({ ...prev, [name]: value }))
- }
-
- const handleSubmit = async (event) => {
- event.preventDefault()
- setStatus("")
- setIsLoading(true)
-
- try {
- await medusaClient.customers.create(form)
- setStatus("Compte créé. Vous pouvez vous connecter.")
- router.push("/login")
- } catch (error) {
- setStatus("Impossible de créer le compte pour le moment.")
- } finally {
- setIsLoading(false)
- }
- }
-
- return (
- <div style={{ maxWidth: "420px", margin: "0 auto" }}>
- <h1>Créer un compte</h1>
- <form onSubmit={handleSubmit} style={{ display: "grid", gap: "1rem" }}>
- <label>
- Prénom
- <input
- name="first_name"
- value={form.first_name}
- onChange={handleChange}
- required
- style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
- />
- </label>
- <label>
- Nom
- <input
- name="last_name"
- value={form.last_name}
- onChange={handleChange}
- required
- style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
- />
- </label>
- <label>
- Email
- <input
- name="email"
- type="email"
- value={form.email}
- onChange={handleChange}
- required
- style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
- />
- </label>
- <label>
- Mot de passe
- <input
- name="password"
- type="password"
- value={form.password}
- onChange={handleChange}
- required
- style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
- />
- </label>
- <button
- type="submit"
- disabled={isLoading}
- style={{
- border: "1px solid #ccc",
- background: "#fff",
- borderRadius: "6px",
- padding: "0.6rem",
- cursor: "pointer",
- }}
- >
- {isLoading ? "Création..." : "Créer mon compte"}
- </button>
- {status && <p>{status}</p>}
- </form>
- </div>
- )
-}
+import { useState } from "react"
+import { useRouter } from "next/router"
+import { medusaClient } from "../lib/medusa-client"
+
+export default function RegisterPage() {
+ const router = useRouter()
+ const [form, setForm] = useState({
+ first_name: "",
+ last_name: "",
+ email: "",
+ password: "",
+ })
+ const [status, setStatus] = useState("")
+ const [isLoading, setIsLoading] = useState(false)
+
+ const handleChange = (event) => {
+ const { name, value } = event.target
+ setForm((prev) => ({ ...prev, [name]: value }))
+ }
+
+ const handleSubmit = async (event) => {
+ event.preventDefault()
+ setStatus("")
+ setIsLoading(true)
+
+ try {
+ await medusaClient.customers.create(form)
+ setStatus("Compte créé. Vous pouvez vous connecter.")
+ router.push("/login")
+ } catch (error) {
+ setStatus("Impossible de créer le compte pour le moment.")
+ } finally {
+ setIsLoading(false)
+ }
+ }
+
+ return (
+ <div style={{ maxWidth: "420px", margin: "0 auto" }}>
+ <h1>Créer un compte</h1>
+ <form onSubmit={handleSubmit} style={{ display: "grid", gap: "1rem" }}>
+ <label>
+ Prénom
+ <input
+ name="first_name"
+ value={form.first_name}
+ onChange={handleChange}
+ required
+ style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
+ />
+ </label>
+ <label>
+ Nom
+ <input
+ name="last_name"
+ value={form.last_name}
+ onChange={handleChange}
+ required
+ style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
+ />
+ </label>
+ <label>
+ Email
+ <input
+ name="email"
+ type="email"
+ value={form.email}
+ onChange={handleChange}
+ required
+ style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
+ />
+ </label>
+ <label>
+ Mot de passe
+ <input
+ name="password"
+ type="password"
+ value={form.password}
+ onChange={handleChange}
+ required
+ style={{ width: "100%", padding: "0.5rem", marginTop: "0.5rem" }}
+ />
+ </label>
+ <button
+ type="submit"
+ disabled={isLoading}
+ style={{
+ border: "1px solid #ccc",
+ background: "#fff",
+ borderRadius: "6px",
+ padding: "0.6rem",
+ cursor: "pointer",
+ }}
+ >
+ {isLoading ? "Création..." : "Créer mon compte"}
+ </button>
+ {status && <p>{status}</p>}
+ </form>
+ </div>
+ )
+}