1import{j as e}from"./ui-core-BMY9F9vW.js";import{r as u}from"./react-vendor-uGzgjzEW.js";import{c as C,j as S,s as N,C as d,g as o,h as c,k as n,e as x,L as t,N as g,S as I,B as P}from"./index-DXrWXkT8.js";import{I as l}from"./input-ByolrXpp.js";import{S as w}from"./separator-DN0A2kVh.js";import{A as F}from"./AdminLayout-Dur0fPPQ.js";import{G as E}from"./globe-BtF3fsyl.js";import{M as T}from"./mail-DL4Mcotq.js";import{M as _}from"./map-pin-CV7htcr0.js";import{S as j}from"./share-2-D67Trw_e.js";import{S as A}from"./save-Bkhm_tkN.js";import"./supabase-i9FzwWqL.js";import"./charts-DH0PfTUd.js";import"./query-D4fcjEII.js";import"./router-gtAilnr2.js";import"./ui-forms-Csj1jrcw.js";import"./ui-select-D1VYNzR8.js";import"./ui-layout-lgrd0dg4.js";import"./badge-vBWsTbac.js";import"./dropdown-menu-BUtQZTR_.js";import"./chevron-right-0-mtkrmL.js";import"./check-C3MfMKIV.js";import"./house-DPnk91d7.js";import"./avatar-41SiK4Ab.js";import"./car-DyVhwSj6.js";import"./calendar-CKBmHviD.js";import"./credit-card-mD_UO4Ov.js";import"./star-DDH-vj-Q.js";import"./user-DmcV43hq.js";import"./palette-usY-GRCN.js";import"./users-Cj-ViMnA.js";const L=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],M=C("bell",L),he=()=>{const{toast:p}=S(),[s,f]=u.useState({siteName:"Vehicars",siteDescription:"Your trusted automotive partner",contactEmail:"[email protected]",supportEmail:"[email protected]",enableRegistration:!0,enableEmailNotifications:!0,enableMaintenanceMode:!1,maxFileUploadSize:"10",facebookPixelId:"",tiktokPixelId:"",dealerAddress:"",dealerCity:"",dealerState:"",dealerZip:"",dealerLatitude:"",dealerLongitude:""}),[v,k]=u.useState(!1);u.useEffect(()=>{b()},[]);const b=async()=>{try{const{data:i,error:m}=await N.from("site_settings").select("*");if(m)throw m;if(i){const r={};i.forEach(h=>{r[h.key]=h.value||""}),f(h=>({...h,facebookPixelId:r.facebook_pixel_id||"",tiktokPixelId:r.tiktok_pixel_id||"",dealerAddress:r.dealer_address||"",dealerCity:r.dealer_city||"",dealerState:r.dealer_state||"",dealerZip:r.dealer_zip||"",dealerLatitude:r.dealer_latitude||"",dealerLongitude:r.dealer_longitude||""}))}}catch{}},y=async()=>{k(!0);try{const i=[{key:"facebook_pixel_id",value:s.facebookPixelId},{key:"tiktok_pixel_id",value:s.tiktokPixelId},{key:"dealer_address",value:s.dealerAddress},{key:"dealer_city",value:s.dealerCity},{key:"dealer_state",value:s.dealerState},{key:"dealer_zip",value:s.dealerZip},{key:"dealer_latitude",value:s.dealerLatitude},{key:"dealer_longitude",value:s.dealerLongitude}];for(const m of i){const{error:r}=await N.from("site_settings").upsert(m,{onConflict:"key"});if(r)throw r}p({title:"Settings saved",description:"Your changes have been saved successfully."})}catch{p({title:"Error",description:"Failed to save settings. Please try again.",variant:"destructive"})}finally{k(!1)}},a=(i,m)=>{f(r=>({...r,[i]:m}))};return e.jsx(F,{title:"Settings",subtitle:"Configure your website settings and preferences",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsxs(d,{children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(E,{className:"mr-2 h-5 w-5"}),"Site Settings"]}),e.jsx(n,{children:"Basic website configuration"})]}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(t,{htmlFor:"siteName",children:"Site Name"}),e.jsx(l,{id:"siteName",value:s.siteName,onChange:i=>a("siteName",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"siteDescription",children:"Site Description"}),e.jsx(l,{id:"siteDescription",value:s.siteDescription,onChange:i=>a("siteDescription",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"maxFileUploadSize",children:"Max File Upload Size (MB)"}),e.jsx(l,{id:"maxFileUploadSize",type:"number",value:s.maxFileUploadSize,onChange:i=>a("maxFileUploadSize",i.target.value)})]})]})]}),e.jsxs(d,{children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(T,{className:"mr-2 h-5 w-5"}),"Email Settings"]}),e.jsx(n,{children:"Configure email addresses and notifications"})]}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(t,{htmlFor:"contactEmail",children:"Contact Email"}),e.jsx(l,{id:"contactEmail",type:"email",value:s.contactEmail,onChange:i=>a("contactEmail",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"supportEmail",children:"Support Email"}),e.jsx(l,{id:"supportEmail",type:"email",value:s.supportEmail,onChange:i=>a("supportEmail",i.target.value)})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(t,{children:"Email Notifications"}),e.jsx("p",{className:"text-sm text-gray-500",children:"Send email notifications to users"})]}),e.jsx(g,{checked:s.enableEmailNotifications,onCheckedChange:i=>a("enableEmailNotifications",i)})]})]})]}),e.jsxs(d,{children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(I,{className:"mr-2 h-5 w-5"}),"Security Settings"]}),e.jsx(n,{children:"Manage security and access controls"})]}),e.jsxs(x,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(t,{children:"User Registration"}),e.jsx("p",{className:"text-sm text-gray-500",children:"Allow new users to register"})]}),e.jsx(g,{checked:s.enableRegistration,onCheckedChange:i=>a("enableRegistration",i)})]}),e.jsx(w,{}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(t,{className:"text-red-600",children:"Maintenance Mode"}),e.jsx("p",{className:"text-sm text-gray-500",children:"Temporarily disable the website"})]}),e.jsx(g,{checked:s.enableMaintenanceMode,onCheckedChange:i=>a("enableMaintenanceMode",i)})]})]})]}),e.jsxs(d,{className:"lg:col-span-2",children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(_,{className:"mr-2 h-5 w-5"}),"Dealer Location"]}),e.jsx(n,{children:"Configure your dealership address for product feeds (TikTok, Facebook catalogs)"})]}),e.jsxs(x,{children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"lg:col-span-2",children:[e.jsx(t,{htmlFor:"dealerAddress",children:"Street Address"}),e.jsx(l,{id:"dealerAddress",placeholder:"e.g., 550 Auto Center Dr",value:s.dealerAddress,onChange:i=>a("dealerAddress",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"dealerCity",children:"City"}),e.jsx(l,{id:"dealerCity",placeholder:"e.g., Watsonville",value:s.dealerCity,onChange:i=>a("dealerCity",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"dealerState",children:"State"}),e.jsx(l,{id:"dealerState",placeholder:"e.g., CA",value:s.dealerState,onChange:i=>a("dealerState",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"dealerZip",children:"ZIP Co
1de"}),e.jsx(l,{id:"dealerZip",placeholder:"e.g., 95076",value:s.dealerZip,onChange:i=>a("dealerZip",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"dealerLatitude",children:"Latitude"}),e.jsx(l,{id:"dealerLatitude",placeholder:"e.g., 36.9106",value:s.dealerLatitude,onChange:i=>a("dealerLatitude",i.target.value)})]}),e.jsxs("div",{children:[e.jsx(t,{htmlFor:"dealerLongitude",children:"Longitude"}),e.jsx(l,{id:"dealerLongitude",placeholder:"e.g., -121.7563",value:s.dealerLongitude,onChange:i=>a("dealerLongitude",i.target.value)})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"This location is used for TikTok and Facebook product catalogs. You can find coordinates using Google Maps."})]})]}),e.jsxs(d,{children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(M,{className:"mr-2 h-5 w-5"}),"Notification Settings"]}),e.jsx(n,{children:"Configure system notifications"})]}),e.jsx(x,{className:"space-y-4",children:e.jsxs("div",{className:"text-sm text-gray-600",children:[e.jsx("p",{children:"⢠New user registrations"}),e.jsx("p",{children:"⢠Car inquiries"}),e.jsx("p",{children:"⢠System updates"}),e.jsx("p",{children:"⢠Security alerts"})]})})]}),e.jsxs(d,{children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(j,{className:"mr-2 h-5 w-5"}),"TikTok Pixel"]}),e.jsx(n,{children:"Track user behavior for TikTok Ads"})]}),e.jsx(x,{className:"space-y-4",children:e.jsxs("div",{children:[e.jsx(t,{htmlFor:"tiktokPixelId",children:"TikTok Pixel ID"}),e.jsx(l,{id:"tiktokPixelId",placeholder:"Enter your TikTok Pixel ID",value:s.tiktokPixelId,onChange:i=>a("tiktokPixelId",i.target.value)}),e.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Find your Pixel ID in TikTok Events Manager. After saving, refresh the page to activate tracking."})]})})]}),e.jsxs(d,{children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(j,{className:"mr-2 h-5 w-5"}),"Facebook Pixel"]}),e.jsx(n,{children:"Track user behavior for Facebook Ads"})]}),e.jsx(x,{className:"space-y-4",children:e.jsxs("div",{children:[e.jsx(t,{htmlFor:"facebookPixelId",children:"Facebook Pixel ID"}),e.jsx(l,{id:"facebookPixelId",placeholder:"Enter your Facebook Pixel ID",value:s.facebookPixelId,onChange:i=>a("facebookPixelId",i.target.value)}),e.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Find your Pixel ID in Facebook Events Manager. After saving, refresh the page to activate tracking."})]})})]}),e.jsxs(d,{className:"lg:col-span-2",children:[e.jsxs(o,{children:[e.jsxs(c,{className:"flex items-center",children:[e.jsx(j,{className:"mr-2 h-5 w-5"}),"Active Tracking Pixels"]}),e.jsx(n,{children:"Overview of tracking pixels collecting data on your website"})]}),e.jsx(x,{children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border border-border rounded-lg bg-muted/50",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("div",{className:`w-3 h-3 rounded-full ${s.facebookPixelId?"bg-green-500":"bg-gray-300"}`}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-foreground",children:"Facebook Pixel"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.facebookPixelId?`ID: ${s.facebookPixelId.substring(0,4)}****${s.facebookPixelId.substring(s.facebookPixelId.length-4)}`:"Not configured"})]})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("p",{className:`text-sm font-medium ${s.facebookPixelId?"text-green-600":"text-gray-500"}`,children:s.facebookPixelId?"Active":"Inactive"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.facebookPixelId?"Collecting data":"No data collection"})]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 border border-border rounded-lg bg-muted/50",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("div",{className:`w-3 h-3 rounded-full ${s.tiktokPixelId?"bg-green-500":"bg-gray-300"}`}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-foreground",children:"TikTok Pixel"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.tiktokPixelId?`ID: ${s.tiktokPixelId.substring(0,4)}****${s.tiktokPixelId.substring(s.tiktokPixelId.length-4)}`:"Not configured"})]})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("p",{className:`text-sm font-medium ${s.tiktokPixelId?"text-green-600":"text-gray-500"}`,children:s.tiktokPixelId?"Active":"Inactive"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.tiktokPixelId?"Collecting data":"No data collection"})]})]})]})})]})]}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(P,{onClick:y,disabled:v,className:"bg-blue-600 hover:bg-blue-700",children:[e.jsx(A,{className:"mr-2 h-4 w-4"}),v?"Saving...":"Save Settings"]})})]})})};export{he as default};
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.