1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ManageOverview-CMgvWBdS.js","assets/vendor-react-C9yDzYQD.js","assets/documentVisibilitySubscriptions-CqVNm4Da.js","assets/supabase-client-_h80EYw_.js","assets/vendor-supabase-BL1taoPA.js","assets/startup-platform-OWIpYyjW.js","assets/supabase-config-Bge368iX.js","assets/useAuth-Dz3EPsxs.js","assets/useUserSettings-COPNty3J.js","assets/runtime-preload-CFP917pd.js","assets/vendor-query-DpPswXvj.js","assets/startup-core-CGeUO7uJ.js","assets/startup-diagnostics-bridge-CKNiHJ_f.js","assets/app-BhliLHoU.js","assets/vendor-capacitor-8exTJy5k.js","assets/nativeAppStateSubscriptions-Cv_2m-ZS.js","assets/perfConfig-DEgIskwG.js","assets/button-CcIRk75H.js","assets/index-DyIfOVK5.js","assets/index-nwDrq1j8.js","assets/runtime-utils-GN4cODRt.js","assets/badge-Dri1da3C.js","assets/card-CwG3RaNF.js","assets/input-CJADGzyX.js","assets/fullApp-Ij3xCJOB.js","assets/lazyWithRetry-DtO62p5Q.js","assets/triangle-alert-FKyvs90R.js","assets/createLucideIcon-DNcTU-zM.js","assets/refresh-cw-Bjlnjg0v.js","assets/MoodContext-C8nY2rn-.js","assets/useSubscription-CEwnjYgb.js","assets/ThemeContext-jMT4gQSB.js","assets/mediaQueryStore-DwN5Dqg0.js","assets/idleStorage-BGANA5qp.js","assets/MusicContext-BRrKiaE0.js","assets/useDocumentVisibility-D-qOhV7W.js","assets/ActiveBoardContext-BjVE_FWv.js","assets/LaunchExperience-DCvaM2BK.js","assets/index-CuooO_kK.js","assets/index-BrpnBk_C.js","assets/index-C_zeqDvy.js","assets/index-CoOSNOH9.js","assets/loader-circle-CWK_zhHB.js","assets/vendor-router-X7RJKav4.js","assets/rumNavigation-BhIWA8ac.js","assets/publicProfileEditorRoute-Dxj-cXdW.js","assets/passiveScrollSubscriptions-CS-jkkI4.js","assets/collectionNavigation-Dty1iP6Q.js","assets/index-4EcyUccn.css","assets/user-plus-BPTeVkvT.js","assets/users-DC2VReCB.js","assets/layout-grid-DgmnG2AD.js","assets/folder-open-Bn7HwDJq.js","assets/file-text-B2HnMzWj.js","assets/compass-CZ-nBr9j.js","assets/trending-up-Bp5hVToW.js","assets/info-Cn1cLZ-U.js","assets/link-2-6cCY8DT2.js","assets/music-B4uV8cIM.js","assets/mic-Bff93sKD.js","assets/video-DibMJbQh.js","assets/image-Bt9rnFUc.js","assets/plus-CNl86JwM.js","assets/x-lNdY5pWw.js","assets/search-D7ByVMw5.js","assets/AdminBulkUploadModal-Ka_ilUka.js","assets/textarea-vEj0waFH.js","assets/dialog-DHNNRuDw.js","assets/index-BLLe0eFp.js","assets/Combination-DIDwI44r.js","assets/index-6bR26fvg.js","assets/select-BE1IGN5Z.js","assets/index-jVOyRz7F.js","assets/index-Bf_lj5FF.js","assets/index-CfYZuMWu.js","assets/index-CnKRQy80.js","assets/chevron-down-BFi_I8Zn.js","assets/check-MQhLD6FV.js","assets/chevron-up-DmrAct_7.js","assets/tabs-DdWd6h3i.js","assets/index-gOewhWoM.js","assets/switch-CM-712rT.js","assets/VoidDropZone-3EAG2fTe.js","assets/use-mobile-D5Xf5BKb.js","assets/clipboardPaste-CCCQEmTP.js","assets/PlatformIcons-CZxIbauj.js","assets/download-CzaTzqTz.js","assets/platforms-CiPJ7IcG.js","assets/PinterestImportStatusList-ImhKXH27.js","assets/image-utils-AdRSPECl.js","assets/circle-check-DwjPV3g7.js","assets/circle-alert-CTzjEn3-.js","assets/clock-3-SOj_j4bA.js","assets/external-link-n2tXYKjz.js","assets/vendor-date-D4HAbvGT.js","assets/upload-DddxHbzP.js","assets/link-CmL3GRNv.js","assets/pen-line-B-ZKUQwb.js","assets/globe-DJqDK8z8.js","assets/chevron-left-VZH14zeF.js","assets/UploadQueue-DWC6nTL0.js","assets/echoTypePolicy-DA-PDKiE.js","assets/bell-BfXb5drb.js","assets/rotate-ccw-BkMzxdp0.js","assets/useImageCompression-CcXi4sud.js","assets/heic-26Yd2oA8.js","assets/videoUtils-CgPXwgg1.js","assets/r2-upload-BKh8xYPI.js","assets/clock-Qxd67VZh.js","assets/circle-x-tTPWE6xb.js","assets/play-DCyyoljT.js","assets/pause-D8B9S2ve.js","assets/panels-top-left-CSwYcjk9.js","assets/AdminUserManagement-CSuMEVmC.js","assets/MainLayout-SlmExmjp.js","assets/useHaptics-BI0pxz1a.js","assets/likedPrefetch-D99g-XFi.js","assets/windowResizeSubscriptions-C3xwW4pN.js","assets/navigationPlacement-DOicjMCP.js","assets/routeModulePrefetch-CXa9VU96.js","assets/house-BaKZoOWV.js","assets/heart-DTG6gDEx.js","assets/useNetworkStatus-pTwuOFZz.js","assets/feedBatchMonitorVisibility-BVapLDZ4.js","assets/wifi-off-DgTu9GsA.js","assets/PageHeader-Dt7JKE_V.js","assets/UserMenu-Q9d71qTh.js","assets/echoReview-DxeV6pFI.js","assets/appStore-CvVedgBE.js","assets/chromeExtension-Ba1XSCfq.js","assets/dropdown-menu-BEBSGtMc.js","assets/circle-CkfN9-i9.js","assets/user-DrHqDh0A.js","assets/flame-CC1HVkaC.js","assets/star-PkyT3oQ1.js","assets/sparkles-COPkKMBj.js","assets/list-filter-CTkrhYiD.js","assets/trash-2-B7zVZuh_.js","assets/palette-C1bQO_bH.js","assets/settings-CwBkSc_
1i.js","assets/shield-CcxAGV9V.js","assets/activity-DQtDwZfv.js","assets/log-out-EKNp0o3i.js","assets/keyboard-C3NoqUai.js","assets/eye-Dkh28JiF.js","assets/PublicNavbar-B_1O9y3a.js","assets/AnimatedLogo-BHNlQQ7J.js","assets/exploreRoutePrefetch-DN_a1V5P.js","assets/directExploreWarmup-CQGnUogR.js","assets/popover-BqNd_ntB.js","assets/log-in-Dmz1RtMa.js","assets/sheet-CpTCe5Eu.js","assets/shareUrls-BBmEIcFl.js","assets/arrow-left-B8V7NEG8.js","assets/sliders-horizontal-Bf84lb4T.js","assets/mail-BW3XjlGt.js","assets/zap-BLOtyeeL.js","assets/sticky-note-B8w2Mnxi.js","assets/AdminUserControls-NMRop5E4.js","assets/alert-dialog-BZjXuitG.js","assets/user-round-D14u69W8.js","assets/ban-qJhRe8dJ.js","assets/save-bUzvHLwe.js","assets/lock-Dh-2FzOx.js","assets/eye-off-Dee1325O.js","assets/AdminReportsPanel-CaVqbLGt.js","assets/send-A4X7gax7.js","assets/AdminMediaBackfillPanel-UwrnbPui.js","assets/AdminPinterestRequestsPanel-D49_l9k1.js","assets/documentVisibleInterval-kwPiY7AC.js","assets/AdminAIWorkspacePanel-B65x12Ux.js","assets/cloudAiCostEstimate-DFc2VZN-.js","assets/database-JSGDloae.js","assets/cloud-C6Bmhi7u.js","assets/AdminErrorsPanel-BtxPhhXH.js","assets/errorReporting-CeP9RUm7.js","assets/shield-check-BaWy0clZ.js","assets/AdminProjectorControlPanel-CAXNnS7u.js","assets/bot-k6byap70.js","assets/trophy-BUL-VBOE.js"])))=>i.map(i=>d[i]); 2import{_ as e}from"./runtime-preload-CFP917pd.js";import{r as s,j as r,R as t}from"./vendor-react-C9yDzYQD.js";import{MainLayout as a}from"./MainLayout-SlmExmjp.js";import{PageHeader as o}from"./PageHeader-Dt7JKE_V.js";import{a as i,u as n}from"./useAuth-Dz3EPsxs.js";import{supabase as d}from"./supabase-client-_h80EYw_.js";import{B as l}from"./button-CcIRk75H.js";import{I as c}from"./input-CJADGzyX.js";import{T as m}from"./textarea-vEj0waFH.js";import{M as p}from"./MarkdownContent-Ct_GEzj3.js";import"./switch-CM-712rT.js";import{l as u}from"./lazyWithRetry-DtO62p5Q.js";import{r as x}from"./blobBase64-CpRzfLHw.js";import{a as h}from"./supabase-config-Bge368iX.js";import{a as g,u as f,b as j,L as b}from"./vendor-router-X7RJKav4.js";import{S as v}from"./shield-CcxAGV9V.js";import{C as w}from"./UserMenu-Q9d71qTh.js";import{c as N}from"./createLucideIcon-DNcTU-zM.js";import{B as y}from"./bell-BfXb5drb.js";import{U as k}from"./users-DC2VReCB.js";import{S as _}from"./sparkles-COPkKMBj.js";import{P as A}from"./plus-CNl86JwM.js";import{I as P}from"./image-Bt9rnFUc.js";import{T as C}from"./triangle-alert-FKyvs90R.js";import{F as S}from"./flag-DV5vL-V-.js";import{P as E}from"./pencil-uXnRhiXs.js";import{X as L}from"./x-lNdY5pWw.js";import{L as M}from"./loader-circle-CWK_zhHB.js";import{S as U}from"./send-A4X7gax7.js";import{P as R}from"./panels-top-left-CSwYcjk9.js";import{T as I}from"./trash-2-B7zVZuh_.js";import{a as T}from"./vendor-date-D4HAbvGT.js";import{R as O}from"./refresh-cw-Bjlnjg0v.js";const D=N("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]),q=N("ServerCog",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",key:"tn8das"}],["path",{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",key:"1g2pve"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m15.7 13.4-.9-.3",key:"1jwmzr"}],["path",{d:"m9.2 10.9-.9-.3",key:"qapnim"}],["path",{d:"m10.6 15.7.3-.9",key:"quwk0k"}],["path",{d:"m13.6 15.7-.4-1",key:"cb9xp7"}],["path",{d:"m10.8 9.3-.4-1",key:"1uaiz5"}],["path",{d:"m8.3 13.6 1-.4",key:"s6srou"}],["path",{d:"m14.7 10.8 1-.4",key:"4d31cq"}],["path",{d:"m13.4 8.3-.3.9",key:"1bm987"}]]),B=u("ManageOverview",()=>e(()=>import("./ManageOverview-CMgvWBdS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64])).then(e=>({default:e.ManageOverview})));u("AdminBulkUploadModal",()=>e(()=>import("./AdminBulkUploadModal-Ka_ilUka.js"),__vite__mapDeps([65,1,3,4,5,6,17,18,19,20,66,67,68,38,39,69,70,63,27,71,72,73,74,40,75,41,76,77,78,79,80,81,82,9,83,32,84,7,8,10,11,12,13,14,2,15,16,85,86,87,88,89,43,90,91,42,92,93,28,94,95,96,97,98,99,100,101,102,103,60,53,61,104,105,106,107,35,108,109,110,111,112,52])).then(e=>({default:e.AdminBulkUploadModal})));const V=u("AdminUserManagementPanel",()=>e(()=>import("./AdminUserManagement-CSuMEVmC.js"),__vite__mapDeps([113,9,1,114,20,115,8,3,4,5,6,10,11,12,13,14,2,15,16,116,46,83,32,117,31,7,33,25,118,119,43,120,27,51,62,64,121,29,30,122,36,123,84,124,125,126,127,128,129,89,130,38,39,18,73,74,69,40,70,80,77,131,67,68,63,132,133,92,102,134,135,136,137,138,139,76,140,141,142,143,93,144,145,17,19,146,50,147,148,149,54,150,23,21,71,72,75,41,78,151,152,94,153,86,154,42,155,98,95,52,56,156,53,57,157,60,61])).then(e=>({default:e.AdminUserManagementPanel}))),z=u("AdminUserControlsPanel",()=>e(()=>import("./AdminUserControls-NMRop5E4.js"),__vite__mapDeps([158,1,21,19,20,17,18,23,66,81,38,39,75,40,71,72,73,74,69,4,70,41,76,27,77,78,159,68,3,5,6,7,8,9,10,11,12,13,14,2,15,16,140,64,42,28,160,43,93,161,26,98,162,163,164,133,137,90])).then(e=>({default:e.AdminUserControlsPanel}))),$=u("AdminReportsPanel",()=>e(()=>import("./AdminReportsPanel-CaVqbLGt.js"),__vite__mapDeps([165,1,3,4,5,6,17,18,19,20,23,66,71,72,38,39,73,74,69,40,70,75,41,76,27,77,78,67,68,63,81,7,8,9,10,11,12,13,14,2,15,16,152,134,28,43,94,102,166,42])).then(e=>({default:e.AdminReportsPanel}))),W=u("AdminMediaBackfillPanel",()=>e(()=>import("./AdminMediaBackfillPanel-UwrnbPui.js"),__vite__mapDeps([167,1,3,4,5,6,17,18,19,20,7,8,9,10,11,12,13,14,2,15,16,
261,27,135,94,42,109])).then(e=>({default:e.AdminMediaBackfillPanel}))),F=u("AdminPinterestRequestsPanel",()=>e(()=>import("./AdminPinterestRequestsPanel-D49_l9k1.js"),__vite__mapDeps([168,1,3,4,5,6,17,18,19,20,23,71,72,38,39,73,74,69,40,70,75,41,76,27,77,78,7,8,9,10,11,12,13,14,2,15,16,169,26,42,28,112,62,94,156,164,63,108,64,90,43,52,61,137])).then(e=>({default:e.AdminPinterestRequestsPanel}))),H=u("AdminAIWorkspacePanel",()=>e(()=>import("./AdminAIWorkspacePanel-B65x12Ux.js").then(e=>e.A),__vite__mapDeps([170,9,1,79,38,39,18,80,73,74,20,3,4,5,6,25,13,11,12,17,19,81,75,40,7,8,10,14,2,15,16,171,35,27,172,135,173,26,77,42,110,108,141,64])).then(e=>({default:e.AdminAIWorkspacePanel}))),J=u("AdminErrorsPanel",()=>e(()=>import("./AdminErrorsPanel-BtxPhhXH.js"),__vite__mapDeps([174,1,17,18,19,20,7,8,3,4,5,6,9,10,11,12,13,14,2,15,16,175,90,27,26,166,93,176])).then(e=>({default:e.AdminErrorsPanel}))),K=u("AdminProjectorControlPanel",()=>e(()=>import("./AdminProjectorControlPanel-CAXNnS7u.js"),__vite__mapDeps([177,1,3,4,5,6,17,18,19,20,159,39,68,38,69,70,7,8,9,10,11,12,13,14,2,15,16,172,27,90,28,26,178,135,64,144,179,94,42,111,110])).then(e=>({default:e.AdminProjectorControlPanel}))),Y=new Set(["overview","projector","updates","user-control","users","ai","pinterest","media","errors","reports"]),Z=e=>{const s=e.replace(/^#/,"").trim().toLowerCase();return Y.has(s)?s:"overview"};function G(){const{isAdmin:e,isLoading:u}=i(),{toast:N}=n(),O=g(),D=f(),[G,X]=s.useState(()=>Z(window.location.hash)),[ee,se]=s.useState([]),[re,te]=s.useState({title:"",message:"",image_url:"",link:""}),[ae,oe]=s.useState(null),[ie,ne]=s.useState(!1),[de,le]=s.useState(!1),ce=s.useRef(null),me=s.useRef(null);s.useEffect(()=>{e&&ue()},[e]),s.useEffect(()=>{const e=O.hash.replace(/^#/,"").trim().toLowerCase(),s=Z(O.hash);X(e=>e===s?e:s),e&&!Y.has(e)&&D({pathname:"/admin",hash:"#overview"},{replace:!0})},[O.hash,D]);const pe=s.useCallback(e=>{X(e);const s=`#${e}`;O.hash!==s&&D({pathname:"/admin",hash:s},{replace:!0})},[O.hash,D]),ue=async()=>{const{data:e}=await d.from("app_updates").select("*").order("created_at",{ascending:!1});e&&se(e)},xe=()=>{te({title:"",message:"",image_url:"",link:""}),oe(null)};return u?null:e?r.jsx(a,{children:r.jsxs("div",{className:"max-w-6xl mx-auto p-6 space-y-8",children:[r.jsx(o,{rightAction:r.jsx("div",{className:"flex items-center gap-2",children:r.jsx(b,{to:"/admin/boards",children:r.jsxs(l,{size:"sm",className:"rounded-xl gap-2",children:[r.jsx(v,{className:"w-4 h-4"}),"Boards"]})})})}),r.jsx(Q,{}),r.jsxs("div",{className:"grid grid-cols-[repeat(5,max-content)] gap-2 p-1 bg-muted/30 rounded-2xl w-max max-w-full overflow-x-auto no-scrollbar",children:[r.jsxs("button",{onClick:()=>pe("overview"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("overview"===G?"bg-slate-900 text-white shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(w,{className:"w-4 h-4 inline mr-2"}),"Overview"]}),r.jsxs("button",{onClick:()=>pe("projector"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("projector"===G?"bg-cyan-600 text-white shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(q,{className:"w-4 h-4 inline mr-2"}),"Operations"]}),r.jsxs("button",{onClick:()=>pe("updates"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("updates"===G?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(y,{className:"w-4 h-4 inline mr-2"}),"Updates"]}),r.jsxs("button",{onClick:()=>pe("user-control"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("user-control"===G?"bg-destructive text-destructive-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(v,{className:"w-4 h-4 inline mr-2"}),"User Control"]}),r.jsxs("button",{onClick:()=>pe("users"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("users"===G?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(k,{className:"w-4 h-4 inline mr-2"}),"Users"]}),r.jsxs("button",{onClick:()=>pe("ai"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("ai"===G?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(_,{className:"w-4 h-4 inline mr-2"}),"AI"]}),r.jsxs("button",{onClick:()=>pe("pinterest"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("pinterest"===G?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(A,{className:"w-4 h-4 inline mr-2"}),"Imports"]}),r.jsxs("button",{onClick:()=>pe("media"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("media"===G?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(P,{className:"w-4 h-4 inline mr-2"}),"Media"]}),r.jsxs("button",{onClick:()=>pe("errors"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("errors"===G?"bg-destructive text-destructive-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(C,{className:"w-4 h-4 inline mr-2"}),"Errors"]}),r.jsxs("button",{onClick:()=>pe("reports"),className:"px-6 py-2.5 rounded-xl font-bold text-sm transition-all whitespace-nowrap "+("reports"===G?"bg-destructive text-destructive-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[r.jsx(S,{className:"w-4 h-4 inline mr-2"}),"Reports"]})]}),"overview"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsx(t.Suspense,{fallback:r.
2jsx("div",{className:"text-sm text-muted-foreground",children:"Loading overview..."}),children:r.jsx(B,{})})}),"projector"===G&&r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading background operationsâ¦"}),children:r.jsx(K,{})}),"updates"===G&&r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[r.jsx("div",{className:"space-y-6",children:r.jsxs("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[r.jsx("div",{className:"p-2 rounded-xl bg-primary/10",children:ae?r.jsx(E,{className:"w-5 h-5 text-primary"}):r.jsx(A,{className:"w-5 h-5 text-primary"})}),r.jsxs("div",{className:"flex items-center justify-between flex-1 gap-3",children:[r.jsx("h3",{className:"text-sm font-bold uppercase tracking-widest text-foreground/80",children:ae?"Edit Update":"New Update"}),ae&&r.jsxs(l,{type:"button",variant:"ghost",size:"sm",className:"rounded-xl h-9 px-3 text-xs",onClick:xe,children:[r.jsx(L,{className:"w-4 h-4 mr-1"}),"Cancel"]})]})]}),r.jsxs("form",{onSubmit:async e=>{var s,r;e.preventDefault();const t={title:re.title.trim(),message:re.message.trim(),image_url:re.image_url.trim(),link:re.link.trim()};if(!t.title||!t.message)return N({title:"Add an update "+(t.title?"message":"title"),description:"Updates need both a title and a message before they can be posted.",variant:"error"}),void(t.title?null==(r=me.current)||r.focus():null==(s=ce.current)||s.focus());ne(!0);try{const e=d.from("app_updates"),{error:s}=ae?await e.update(t).eq("id",ae):await e.insert([t]);if(s)throw s;N({title:ae?"Update saved! â¨":"Update posted! â¨",description:ae?"Your changes are now reflected in 'What's new?'":"Your users will now see this in 'What's new?'"}),xe(),ue()}catch(a){N({title:ae?"Failed to save update":"Failed to post update",description:a.message,variant:"error"})}finally{ne(!1)}},className:"space-y-4",noValidate:!0,children:[r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Title"}),r.jsx(c,{ref:ce,placeholder:"e.g. The Pulse is Live",value:re.title,onChange:e=>te({...re,title:e.target.value}),className:"bg-muted/30 border-none rounded-2xl h-12",required:!0,"aria-invalid":!re.title.trim()})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Message"}),r.jsx(m,{ref:me,placeholder:"What's changed?",value:re.message,onChange:e=>te({...re,message:e.target.value}),className:"bg-muted/30 border-none rounded-2xl min-h-[120px] resize-none",required:!0,"aria-invalid":!re.message.trim()})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Featured Image (Optional)"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(c,{placeholder:"https://...",value:re.image_url,onChange:e=>te({...re,image_url:e.target.value}),className:"bg-muted/30 border-none rounded-2xl h-12 flex-1"}),r.jsxs("div",{className:"relative",children:[r.jsx("input",{type:"file",accept:"image/*",onChange:async e=>{var s;const r=null==(s=e.target.files)?void 0:s[0];if(r){le(!0);try{const{data:{session:e}}=await d.auth.getSession();if(!e)throw new Error("No session");const s=r.name.split(".").pop(),t=`update-${Date.now()}.${s}`,a=await x(r),o=await fetch(`${h}/functions/v1/upload-to-r2`,{method:"POST",headers:{Authorization:`Bearer ${e.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({action:"upload",fileName:t,fileData:a,contentType:r.type||"image/jpeg",userId:e.user.id})}),i=await o.json();if(!i.success)throw new Error(`R2 upload failed: ${i.error}`);te(e=>({...e,image_url:i.url})),N({title:"Image uploaded! ð¼ï¸"})}catch(t){N({title:"Upload failed",description:t.message,variant:"error"})}finally{le(!1)}}},className:"absolute inset-0 opacity-0 cursor-pointer",disabled:de}),r.jsx(l,{type:"button",variant:"outline",className:"h-12 w-12 rounded-2xl border-dashed border-2 hover:bg-primary/5 hover:border-primary/50 transition-all p-0",disabled:de,children:de?r.jsx(M,{className:"w-4 h-4 animate-spin"}):r.jsx(A,{className:"w-4 h-4"})})]})]})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Action Link (Optional)"}),r.jsx(c,{placeholder:"/profile or https://...",value:re.link,onChange:e=>te({...re,link:e.target.value}),className:"bg-muted/30 border-none rounded-2xl h-12"})]}),r.jsxs(l,{type:"submit",className:"w-full h-12 rounded-2xl bg-primary hover:bg-primary/90 text-white font-bold gap-2 mt-4",disabled:ie,children:[r.jsx(U,{className:"w-4 h-4"}),ie?ae?"Saving...":"Posting...":ae?"Save Update":"Post Update"]})]})]})}),r.jsx("div",{className:"space-y-6",children:r.jsxs("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float h-fit",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[r.jsx("div",{className:"p-2 rounded-xl bg-primary/10",children:r.jsx(y,{className:"w-5 h-5 text-primary"})}),r.jsx("h3",{className:"text-sm font-bold uppercase tracking-widest text-foreground
2/80",children:"Active Updates"})]}),r.jsx("div",{className:"space-y-4 max-h-[600px] overflow-y-auto pr-2 custom-scrollbar",children:0===ee.length?r.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[r.jsx(R,{className:"w-12 h-12 mx-auto mb-4 opacity-10"}),r.jsx("p",{className:"text-xs font-medium",children:"No updates posted yet."})]}):ee.map(e=>r.jsxs("div",{className:"p-4 rounded-2xl bg-muted/20 border border-foreground/5 space-y-3 relative group",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("h4",{className:"text-xs font-bold text-foreground",children:e.title}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:()=>(e=>{oe(e.id),te({title:e.title||"",message:e.message||"",image_url:e.image_url||"",link:e.link||""})})(e),className:"p-1.5 hover:bg-primary/10 hover:text-primary rounded-lg transition-all text-muted-foreground/50 hover:text-primary",title:"Edit Update",children:r.jsx(E,{className:"w-3.5 h-3.5"})}),r.jsx("button",{onClick:()=>{window.confirm("Are you sure you want to delete this update?")&&(async e=>{const{error:s}=await d.from("app_updates").delete().eq("id",e);s?N({title:"Failed to delete update",description:s.message,variant:"error"}):ue()})(e.id)},className:"p-1.5 hover:bg-destructive/10 hover:text-destructive rounded-lg transition-all text-muted-foreground/50 hover:text-destructive",title:"Delete Update",children:r.jsx(I,{className:"w-3.5 h-3.5"})})]})]}),r.jsx(p,{content:e.message,className:"line-clamp-2 overflow-hidden pointer-events-none"}),r.jsx("div",{className:"flex items-center justify-between text-[9px] font-bold text-muted-foreground uppercase tracking-widest pt-1 border-t border-foreground
2/5",children:r.jsx("span",{children:T(new Date(e.created_at),"MMM dd, yyyy")})})]},e.id))})]})})]}),"user-control"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsx("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float",children:r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading user controls..."}),children:r.jsx(z,{})})})}),"users"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsx("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float",children:r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading users..."}),children:r.jsx(V,{embedded:!0})})})}),"ai"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading AI workspace..."}),children:r.jsx(H,{})})}),"pinterest"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsx("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float",children:r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading Pinterest imports..."}),children:r.jsx(F,{})})})}),"media"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsxs("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[r.jsx("div",{className:"p-2 rounded-xl bg-primary/10",children:r.jsx(P,{className:"w-5 h-5 text-primary"})}),r.jsx("h3",{className:"text-sm font-bold uppercase tracking-widest text-foreground/80",children:"Upload Backfills"})]}),r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading media tools..."}),children:r.jsx(W,{})})]})}),"errors"===G&&r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading error reporting..."}),children:r.jsx(J,{})}),"reports"===G&&r.jsx("div",{className:"grid grid-cols-1 gap-8",children:r.jsxs("div",{className:"bg-card border border-border/50 rounded-3xl p-6 shadow-float",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[r.jsx("div",{className:"p-2 rounded-xl bg-destructive/10",children:r.jsx(S,{className:"w-5 h-5 text-destructive"})}),r.jsx("h3",{className:"text-sm font-bold uppercase tracking-widest text-foreground/80",children:"Content Reports"})]}),r.jsx(t.Suspense,{fallback:r.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading reports..."}),children:r.jsx($,{})})]})})]})}):r.jsx(j,{to:"/"})}function Q(){const[e,t]=s.useState(!1),a="2026-09-22T20:36:38.047Z",o=(()=>{const e=Date.now()-new Date(a).getTime(),s=Math.floor(e/6e4),r=Math.floor(e/36e5),t=Math.floor(e/864e5);return s<2?"just now":r<1?`${s}m ago`:t<1?`${r}h ago`:`${t}d ago`})(),i=new Date(a).toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"});return r.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 rounded-2xl bg-muted/20 border border-foreground
2/5 text-[11px] font-mono",children:[r.jsxs("div",{className:"flex items-center gap-4 text-muted-foreground",children:[r.jsxs("span",{className:"flex items-center gap-1.5",children:[r.jsx(D,{className:"w-3 h-3 shrink-0"}),r.jsx("span",{className:"font-bold text-foreground",children:"42e676ad5d1e2e2cf35f19bf48ec2fc9240dbebd"})]}),o&&r.jsxs("span",{title:i??void 0,className:"cursor-default",children:["built ",r.jsx("span",{className:"text-foreground font-semibold",children:o})]}),!1]}),r.jsxs("button",{onClick:async()=>{t(!0);try{if(await d.from("system_settings").upsert({key:"app_version",value:"2026-09-22T20:36:38.047Z",updated_at:(new Date).toISOString()},{onConflict:"key"}),"serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistrations();await Promise.all(e.map(e=>e.unregister()))}if("caches"in window){const e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload()}catch{window.location.reload()}},disabled:e,className:"flex items-center gap-1.5 px-3 py-1 rounded-lg bg-foreground
2/5 hover:bg-foreground/10 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",title:"Clear service worker cache and hard reload to get the latest version",children:[r.jsx(O,{className:"w-3 h-3 "+(e?"animate-spin":"")}),"Force Update"]})]})}export{G 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.