1import{s as e}from"./index-gkl7PCFR.js";const o={overview:"can_overview","pickup-points":"can_pickup_points",availability:"can_availability",fleet:"can_fleet",calendar:"can_calendar",bookings:"can_bookings",seasons:"can_seasons",discounts:"can_discounts",agencies:"can_agencies",paypal:"can_paypal",contract:"can_contract",emails:"can_emails","admin-accounts":"can_admin_accounts",park:"can_park",totals:"can_totals"},l={overview:"Panoramica","pickup-points":"Punti ritiro",availability:"Disponibilità ",fleet:"Flotta",calendar:"Calendario",bookings:"Prenotazioni",seasons:"Stagioni",discounts:"Buoni sconto",agencies:"Agenzie",paypal:"PayPal",contract:"Contratto",emails:"Mail","admin-accounts":"Account admin",park:"Ente Parco",totals:"Mostra totali"};async function u(){const{data:n,error:a}=await e.from("admin_settings").select("id, demo_mode").eq("singleton",!0).maybeSingle();if(a)throw a;if(!n)throw new Error("Impostazioni admin non trovate");return n}async function m(n){const{data:a,error:t}=await e.rpc("set_admin_demo_mode",{p_enabled:n});if(t)throw t;return a}async function f(){const{data:n,error:a}=await e.from("admin_accounts").select("*").order("email",{ascending:!0});if(a)throw a;return n??[]}async function w(n){const{data:a,error:t}=await e.from("admin_accounts").select("*").eq("email",n.toLowerCase()).maybeSingle();if(t)throw t;return a??null}async function _(n){const a={...n,email:n.email.toLowerCase()};if(n.id){const{data:c,error:r}=await e.from("admin_accounts").update(a).eq("id",n.id).select("*").single();if(r)throw r;return c}const{data:t,error:s}=await e.from("admin_accounts").insert(a).select("*").single();if(s)throw s;return t}async function p(n){const{error:a}=await e.from("admin_accounts").delete().eq("id",n);if(a)throw a}const i="asinara_admin_session_v1";function y(n){const a={};return Object.keys(o).forEach(t=>{a[t]=!!n[o[t]]}),a}function g(){const n={};return Object.keys(o).forEach(a=>{n[a]=!0}),n}function S(){if(typeof window>"u")return null;try{const n=window.localStorage.getItem(i);return n?JSON.parse(n):null}catch{return null}}function A(n){typeof window>"u"||window.localStorage.setItem(i,JSON.stringify(n))}function b(){typeof window>"u"||window.localStorage.removeItem(i)}function h(n){return/^[^@\s]+@gmail\.com$/i.test(n.trim())}export{l as P,w as a,g as b,b as c,f as d,m as e,u as f,o as g,p as h,h as i,S as l,y as r,A as s,_ as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.