{"version":3,"file":"AuthStore.CyUEswB3.mjs","names":[],"sources":["https:/framerusercontent.com/modules/5Hf2Jk6Zw5XLAgq2Zxb0/Bp1UmyLH4eVuOY5TFhbS/AuthStore.js"],"sourcesContent":["console.log(\"🔥 2supabaseClient LOADED\");import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{useEffect}from\"react\";import{supabase,clearTechsonAuthStorage}from\"https://framerusercontent.com/modules/Q3LUDnPfRHT630UiV6WD/NCveEaSerW8zgNU9NAz2/supabase.js\";const isBrowser=typeof window!==\"undefined\";export const useAuthStore=createStore({loading:true,isLoggedIn:false,userId:null,email:null,role:null,error:null,fullName:null,companyName:null,avatarUrl:null,discountRate:null});/* =====================================================\n   🧩 HELPERS\n===================================================== */function normalizeRole(raw){const v=String(raw??\"\").trim().toLowerCase();if(v===\"admin\"||v===\"seller\"||v===\"customer\")return v;return null;}function isLockError(err){const msg=String(err?.message||err||\"\");return msg.includes(\"NavigatorLockManager\")||msg.includes(\"acquiring an exclusive\")||msg.includes(\"timed out waiting\")||msg.includes(\"lock:\");}async function safeSessionGetOnce(){const first=await supabase.auth.getSession();if(!first?.error)return first;if(isLockError(first.error)){console.warn(\"⚠️ getSession lock error → clearing storage & retry\",first.error);if(isBrowser)clearTechsonAuthStorage();await new Promise(r=>setTimeout(r,120));return await supabase.auth.getSession();}return first;}/* =====================================================\n   🔑 ROLE FETCH\n===================================================== */async function fetchRole(userId){try{if(!supabase||!userId)return null;const{data,error}=await supabase.from(\"profiles\").select(\"role\").eq(\"id\",userId).maybeSingle();if(error){console.warn(\"fetchRole error:\",error);return null;}return normalizeRole(data?.role);}catch(e){console.warn(\"fetchRole crash:\",e);return null;}}/* =====================================================\n   👤 PROFILE FETCH\n===================================================== */async function fetchProfile(userId){const empty={fullName:null,companyName:null,avatarUrl:null,discountRate:null};try{if(!supabase||!userId)return empty;const{data,error}=await supabase.from(\"profiles\").select(\"full_name, company_name, avatar_url, discount_rate\").eq(\"id\",userId).maybeSingle();if(error){console.warn(\"fetchProfile error:\",error);return empty;}return{fullName:data?.full_name||null,companyName:data?.company_name||null,avatarUrl:data?.avatar_url||null,discountRate:data?.discount_rate??null};}catch(e){console.warn(\"fetchProfile crash:\",e);return empty;}}/* =====================================================\n   🧠 HOOK\n===================================================== */export function useAuth(){const[auth,setAuth]=useAuthStore();const login=async(email,pass)=>{setAuth({...auth,loading:true,error:null});if(!supabase){setAuth({...auth,loading:false,error:\"Supabase client yok.\"});return{ok:false,error:\"Supabase client yok.\"};}const{data,error}=await supabase.auth.signInWithPassword({email,password:pass});if(error){setAuth({...auth,loading:false,error:error.message});return{ok:false,error:error.message};}const user=data.user;if(!user){setAuth({...auth,loading:false,error:\"User bulunamadı.\"});return{ok:false,error:\"User bulunamadı.\"};}// ✅ FIX: Login sırasında metadata'dan company_name'i profile'a yaz\n// (eğer mail onayı yüzünden kayıt sırasında yazılamamışsa)\ntry{const meta=user.user_metadata;if(meta?.company_name){const{data:existing}=await supabase.from(\"profiles\").select(\"company_name\").eq(\"id\",user.id).maybeSingle();if(!existing?.company_name){await supabase.from(\"profiles\").update({company_name:meta.company_name,full_name:meta.company_name}).eq(\"id\",user.id);console.log(\"✅ company_name metadata'dan profile'a yazıldı\");}}}catch(e){console.warn(\"login metadata sync error:\",e);}const role=await fetchRole(user.id);const prof=await fetchProfile(user.id);setAuth({loading:false,isLoggedIn:true,userId:user.id,email:user.email||null,role,error:null,fullName:prof.fullName,companyName:prof.companyName,avatarUrl:prof.avatarUrl,discountRate:prof.discountRate});return{ok:true};};/* =====================================================\n       🧾 CUSTOMER REGISTER\n       ✅ FIX: company_name artık user_metadata'ya da yazılıyor\n       Böylece mail onayı olsa bile bilgi kaybolmuyor\n    ===================================================== */const registerCustomer=async(email,pass,companyName)=>{try{if(!supabase)return{ok:false,error:\"Supabase client yok.\"};// ✅ FIX: signUp sırasında company_name'i metadata'ya yaz\n// Mail onayı açık olsa bile metadata user'da saklanır\nconst{data,error}=await supabase.auth.signUp({email,password:pass,options:{data:{company_name:companyName,full_name:companyName,role:\"customer\"}}});if(error)return{ok:false,error:error.message};const userId=data?.user?.id;// ✅ FIX: Mail confirmation varsa userId olabilir ama session olmayabilir\n// identities boşsa = zaten kayıtlı kullanıcı\nif(data?.user&&data.user.identities?.length===0){return{ok:false,error:\"Bu e-posta adresi zaten kayıtlı. Giriş yapmayı deneyin.\"};}// Mail onayı gerekiyorsa (session yok ama user var)\nif(!data?.session&&userId){// Profile'a yazmayı dene — RLS izin vermeyebilir ama deneyelim\ntry{const{error:upErr}=await supabase.from(\"profiles\").upsert({id:userId,role:\"customer\",email:email,company_name:companyName,full_name:companyName,discount_rate:0},{onConflict:\"id\"});if(upErr){console.warn(\"profiles upsert (pre-confirm) error:\",upErr,\"— metadata'da saklandı, login'de yazılacak\");}}catch(e){console.warn(\"profiles upsert catch:\",e);}return{ok:true,requireConfirm:true};}// Session varsa (mail onayı kapalı) → direkt yaz\nif(userId){const{error:upErr}=await supabase.from(\"profiles\").upsert({id:userId,role:\"customer\",email:email,company_name:companyName,full_name:companyName,discount_rate:0},{onConflict:\"id\"});if(upErr)console.warn(\"profiles upsert error:\",upErr);}return{ok:true};}catch(e){return{ok:false,error:e?.message||\"Register crash\"};}};/* =====================================================\n       ✍️ PROFILE UPDATE\n    ===================================================== */const updateProfile=async payload=>{try{if(!supabase||!auth.userId)return{ok:false,error:\"Login yok.\"};const{error}=await supabase.from(\"profiles\").update(payload).eq(\"id\",auth.userId);if(error)return{ok:false,error:error.message};const prof=await fetchProfile(auth.userId);setAuth({...auth,fullName:prof.fullName,companyName:prof.companyName,avatarUrl:prof.avatarUrl,discountRate:prof.discountRate});return{ok:true};}catch(e){return{ok:false,error:e?.message||\"Update crash\"};}};/* =====================================================\n       🚪 LOGOUT (popup reset entegre)\n    ===================================================== */const logout=async()=>{try{if(supabase)await supabase.auth.signOut();}catch{}// ✅ logout olunca popup tekrar aktif olsun\nif(isBrowser){try{localStorage.removeItem(\"customer_login_popup_seen\");sessionStorage.removeItem(\"customer_login_popup_closed_session\");}catch{}}setAuth({loading:false,isLoggedIn:false,userId:null,email:null,role:null,error:null,fullName:null,companyName:null,avatarUrl:null,discountRate:null});};return{auth,login,logout,registerCustomer,updateProfile};}/* =====================================================\n   🔁 SESSION AUTO LOAD + LISTENER\n===================================================== */let authListenerMounted=false;export function useAuthAutoRefresh(){const[auth,setAuth]=useAuthStore();useEffect(()=>{if(!supabase){setAuth({loading:false,isLoggedIn:false,userId:null,email:null,role:null,error:\"Supabase client yok.\",fullName:null,companyName:null,avatarUrl:null,discountRate:null});return;}const w=isBrowser?window:{};if(isBrowser&&w.__techson_auth_listener_v3){(async()=>{try{const{data,error}=await safeSessionGetOnce();if(error)console.warn(\"getSession error:\",error);const user=data?.session?.user;if(!user){setAuth({loading:false,isLoggedIn:false,userId:null,email:null,role:null,error:null,fullName:null,companyName:null,avatarUrl:null,discountRate:null});return;}// ✅ FIX: Session yüklenince de metadata sync yap\ntry{const meta=user.user_metadata;if(meta?.company_name){const{data:existing}=await supabase.from(\"profiles\").select(\"company_name\").eq(\"id\",user.id).maybeSingle();if(!existing?.company_name){await supabase.from(\"profiles\").update({company_name:meta.company_name,full_name:meta.company_name}).eq(\"id\",user.id);}}}catch(e){console.warn(\"session metadata sync error:\",e);}const role=await fetchRole(user.id);const prof=await fetchProfile(user.id);setAuth({loading:false,isLoggedIn:true,userId:user.id,email:user.email||null,role,error:null,fullName:prof.fullName,companyName:prof.companyName,avatarUrl:prof.avatarUrl,discountRate:prof.discountRate});}catch(e){console.warn(\"loadSession (sync) crash:\",e);}})();return;}if(isBrowser)w.__techson_auth_listener_v3=true;let mounted=true;async function loadSession(){try{const{data,error}=await safeSessionGetOnce();if(!mounted)return;if(error)console.warn(\"getSession error:\",error);const user=data?.session?.user;if(!user){setAuth({loading:false,isLoggedIn:false,userId:null,email:null,role:null,error:null,fullName:null,companyName:null,avatarUrl:null,discountRate:null});return;}// ✅ FIX: İlk session load'da da metadata sync\ntry{const meta=user.user_metadata;if(meta?.company_name){const{data:existing}=await supabase.from(\"profiles\").select(\"company_name\").eq(\"id\",user.id).maybeSingle();if(!existing?.company_name){await supabase.from(\"profiles\").update({company_name:meta.company_name,full_name:meta.company_name}).eq(\"id\",user.id);}}}catch(e){console.warn(\"initial metadata sync error:\",e);}const role=await fetchRole(user.id);const prof=await fetchProfile(user.id);if(!mounted)return;setAuth({loading:false,isLoggedIn:true,userId:user.id,email:user.email||null,role,error:null,fullName:prof.fullName,companyName:prof.companyName,avatarUrl:prof.avatarUrl,discountRate:prof.discountRate});}catch(e){console.warn(\"loadSession crash:\",e);if(!mounted)return;setAuth({loading:false,isLoggedIn:false,userId:null,email:null,role:null,error:e?.message||\"Session y\\xfcklenemedi.\",fullName:null,companyName:null,avatarUrl:null,discountRate:null});}}loadSession();const{data:sub}=supabase.auth.onAuthStateChange(async(_event,session)=>{if(!mounted)return;const user=session?.user;if(!user){setAuth({loading:false,isLoggedIn:false,userId:null,email:null,role:null,error:null,fullName:null,companyName:null,avatarUrl:null,discountRate:null});return;}// ✅ FIX: Auth state change'de de metadata sync\ntry{const meta=user.user_metadata;if(meta?.company_name){const{data:existing}=await supabase.from(\"profiles\").select(\"company_name\").eq(\"id\",user.id).maybeSingle();if(!existing?.company_name){await supabase.from(\"profiles\").update({company_name:meta.company_name,full_name:meta.company_name}).eq(\"id\",user.id);}}}catch(e){console.warn(\"authChange metadata sync error:\",e);}const role=await fetchRole(user.id);const prof=await fetchProfile(user.id);if(!mounted)return;setAuth({loading:false,isLoggedIn:true,userId:user.id,email:user.email||null,role,error:null,fullName:prof.fullName,companyName:prof.companyName,avatarUrl:prof.avatarUrl,discountRate:prof.discountRate});});return()=>{mounted=false;sub?.subscription?.unsubscribe?.();};},[]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useAuth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AuthState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RoleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAuthAutoRefresh\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAuthStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AuthStore.map"],"mappings":"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"}