@@ -46,44 +56,20 @@ const AccountMenu = () => {
align="end"
className="bg-background border border-border shadow-lg z-50 min-w-[160px]"
>
- {user ? (
- <>
-
- {user.email}
-
- navigate("/profile")}
- className="cursor-pointer flex items-center gap-2 hover:!bg-[rgba(220,38,38,0.3)] focus:!bg-[rgba(220,38,38,0.3)] hover:!text-black focus:!text-black"
- >
-
- Min profil
-
-
-
- Logga ut
-
- >
- ) : (
- <>
-
-
-
- handleOpenAuth("login")}
- className="cursor-pointer hover:!bg-[rgba(220,38,38,0.3)] focus:!bg-[rgba(220,38,38,0.3)] hover:!text-black focus:!text-black"
- >
- Logga in
-
- >
- )}
+
+
+
+ handleOpenAuth("login")}
+ className="cursor-pointer hover:!bg-[rgba(220,38,38,0.3)] focus:!bg-[rgba(220,38,38,0.3)] hover:!text-black focus:!text-black"
+ >
+ Logga in
+
diff --git a/src/pages/Account.tsx b/src/pages/Account.tsx
new file mode 100644
index 0000000..a936aff
--- /dev/null
+++ b/src/pages/Account.tsx
@@ -0,0 +1,241 @@
+import { useState, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+import { z } from "zod";
+import { Button } from "@/components/ui/button";
+import { Input } from "@/components/ui/input";
+import { Label } from "@/components/ui/label";
+import { Textarea } from "@/components/ui/textarea";
+import { useAuth } from "@/hooks/useAuth";
+import { useToast } from "@/hooks/use-toast";
+import { supabase } from "@/integrations/supabase/client";
+import Header from "@/components/Header";
+import { LogOut, Save } from "lucide-react";
+
+const profileSchema = z.object({
+ display_name: z.string().trim().max(100, { message: "Namn får max vara 100 tecken" }).optional(),
+ phone: z.string().trim().max(20, { message: "Telefonnummer får max vara 20 tecken" }).optional(),
+ address: z.string().trim().max(500, { message: "Adress får max vara 500 tecken" }).optional(),
+});
+
+interface ProfileData {
+ display_name: string;
+ phone: string;
+ address: string;
+}
+
+const Account = () => {
+ const [profile, setProfile] = useState