Nicholai 16cee69250 __Admin dashboard scaffolded with D1 database and R2 file uploads__
This commit implements the core admin dashboard functionality including NextAuth authentication, Cloudflare D1 database integration with complete schema, and Cloudflare R2 file upload system for portfolio images. Features include artist management, appointment scheduling, and data migration capabilities.
2025-09-17 16:08:34 -06:00

1 line
12 KiB
JavaScript

"use strict";exports.id=3664,exports.ids=[3664],exports.modules={73664:(e,t,n)=>{n.d(t,{VY:()=>ea,aV:()=>eo,fC:()=>er,xz:()=>ei});var r=n(28964),o=n.t(r,2);function i(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}var a=n(97247);function l(e,t=[]){let n=[],o=()=>{let t=n.map(e=>r.createContext(e));return function(n){let o=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:o}}),[n,o])}};return o.scopeName=e,[function(t,o){let i=r.createContext(o),l=n.length;n=[...n,o];let u=t=>{let{scope:n,children:o,...u}=t,s=n?.[e]?.[l]||i,c=r.useMemo(()=>u,Object.values(u));return(0,a.jsx)(s.Provider,{value:c,children:o})};return u.displayName=t+"Provider",[u,function(n,a){let u=a?.[e]?.[l]||i,s=r.useContext(u);if(s)return s;if(void 0!==o)return o;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}(o,...t)]}function u(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(...e){return t=>{let n=!1,r=e.map(e=>{let r=u(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():u(e[t],null)}}}}function c(...e){return r.useCallback(s(...e),e)}var f=r.forwardRef((e,t)=>{let{children:n,...o}=e,i=r.Children.toArray(n),l=i.find(m);if(l){let e=l.props.children,n=i.map(t=>t!==l?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,a.jsx)(d,{...o,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,a.jsx)(d,{...o,ref:t,children:n})});f.displayName="Slot";var d=r.forwardRef((e,t)=>{let{children:n,...o}=e;if(r.isValidElement(n)){let e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(n);return r.cloneElement(n,{...function(e,t){let n={...t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...e)=>{i(...e),o(...e)}:o&&(n[r]=o):"style"===r?n[r]={...o,...i}:"className"===r&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}(o,n.props),ref:t?s(t,e):e})}return r.Children.count(n)>1?r.Children.only(null):null});d.displayName="SlotClone";var p=({children:e})=>(0,a.jsx)(a.Fragment,{children:e});function m(e){return r.isValidElement(e)&&e.type===p}var v=globalThis?.document?r.useLayoutEffect:()=>{},y=o["useId".toString()]||(()=>void 0),g=0;function w(e){let[t,n]=r.useState(y());return v(()=>{e||n(e=>e??String(g++))},[e]),e||(t?`radix-${t}`:"")}n(46817);var b=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,t)=>{let n=r.forwardRef((e,n)=>{let{asChild:r,...o}=e,i=r?f:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(i,{...o,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function h(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}function R({prop:e,defaultProp:t,onChange:n=()=>{}}){let[o,i]=function({defaultProp:e,onChange:t}){let n=r.useState(e),[o]=n,i=r.useRef(o),a=h(t);return r.useEffect(()=>{i.current!==o&&(a(o),i.current=o)},[o,i,a]),n}({defaultProp:t,onChange:n}),a=void 0!==e,l=a?e:o,u=h(n);return[l,r.useCallback(t=>{if(a){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else i(t)},[a,e,i,u])]}var N=r.createContext(void 0);function x(e){let t=r.useContext(N);return e||t||"ltr"}var C="rovingFocusGroup.onEntryFocus",E={bubbles:!1,cancelable:!0},M="RovingFocusGroup",[I,T,A]=function(e){let t=e+"CollectionProvider",[n,o]=l(t),[i,u]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:t,children:n}=e,o=r.useRef(null),l=r.useRef(new Map).current;return(0,a.jsx)(i,{scope:t,itemMap:l,collectionRef:o,children:n})};s.displayName=t;let d=e+"CollectionSlot",p=r.forwardRef((e,t)=>{let{scope:n,children:r}=e,o=c(t,u(d,n).collectionRef);return(0,a.jsx)(f,{ref:o,children:r})});p.displayName=d;let m=e+"CollectionItemSlot",v="data-radix-collection-item",y=r.forwardRef((e,t)=>{let{scope:n,children:o,...i}=e,l=r.useRef(null),s=c(t,l),d=u(m,n);return r.useEffect(()=>(d.itemMap.set(l,{ref:l,...i}),()=>void d.itemMap.delete(l))),(0,a.jsx)(f,{[v]:"",ref:s,children:o})});return y.displayName=m,[{Provider:s,Slot:p,ItemSlot:y},function(t){let n=u(e+"CollectionConsumer",t);return r.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},o]}(M),[j,S]=l(M,[A]),[D,O]=j(M),F=r.forwardRef((e,t)=>(0,a.jsx)(I.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,a.jsx)(I.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,a.jsx)(P,{...e,ref:t})})}));F.displayName=M;var P=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:o,loop:l=!1,dir:u,currentTabStopId:s,defaultCurrentTabStopId:f,onCurrentTabStopIdChange:d,onEntryFocus:p,preventScrollOnEntryFocus:m=!1,...v}=e,y=r.useRef(null),g=c(t,y),w=x(u),[N=null,M]=R({prop:s,defaultProp:f,onChange:d}),[I,A]=r.useState(!1),j=h(p),S=T(n),O=r.useRef(!1),[F,P]=r.useState(0);return r.useEffect(()=>{let e=y.current;if(e)return e.addEventListener(C,j),()=>e.removeEventListener(C,j)},[j]),(0,a.jsx)(D,{scope:n,orientation:o,dir:w,loop:l,currentTabStopId:N,onItemFocus:r.useCallback(e=>M(e),[M]),onItemShiftTab:r.useCallback(()=>A(!0),[]),onFocusableItemAdd:r.useCallback(()=>P(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>P(e=>e-1),[]),children:(0,a.jsx)(b.div,{tabIndex:I||0===F?-1:0,"data-orientation":o,...v,ref:g,style:{outline:"none",...e.style},onMouseDown:i(e.onMouseDown,()=>{O.current=!0}),onFocus:i(e.onFocus,e=>{let t=!O.current;if(e.target===e.currentTarget&&t&&!I){let t=new CustomEvent(C,E);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=S().filter(e=>e.focusable);$([e.find(e=>e.active),e.find(e=>e.id===N),...e].filter(Boolean).map(e=>e.ref.current),m)}}O.current=!1}),onBlur:i(e.onBlur,()=>A(!1))})})}),_="RovingFocusGroupItem",L=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:o=!0,active:l=!1,tabStopId:u,...s}=e,c=w(),f=u||c,d=O(_,n),p=d.currentTabStopId===f,m=T(n),{onFocusableItemAdd:v,onFocusableItemRemove:y}=d;return r.useEffect(()=>{if(o)return v(),()=>y()},[o,v,y]),(0,a.jsx)(I.ItemSlot,{scope:n,id:f,focusable:o,active:l,children:(0,a.jsx)(b.span,{tabIndex:p?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:i(e.onMouseDown,e=>{o?d.onItemFocus(f):e.preventDefault()}),onFocus:i(e.onFocus,()=>d.onItemFocus(f)),onKeyDown:i(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let o=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return U[o]}(e,d.orientation,d.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){"prev"===t&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop?function(e,t){return e.map((n,r)=>e[(t+r)%e.length])}(n,r+1):n.slice(r+1)}setTimeout(()=>$(n))}})})})});L.displayName=_;var U={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function $(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}var k=e=>{let{present:t,children:n}=e,o=function(e){var t,n;let[o,i]=r.useState(),a=r.useRef({}),l=r.useRef(e),u=r.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>n[e][t]??e,t));return r.useEffect(()=>{let e=V(a.current);u.current="mounted"===s?e:"none"},[s]),v(()=>{let t=a.current,n=l.current;if(n!==e){let r=u.current,o=V(t);e?c("MOUNT"):"none"===o||t?.display==="none"?c("UNMOUNT"):n&&r!==o?c("ANIMATION_OUT"):c("UNMOUNT"),l.current=e}},[e,c]),v(()=>{if(o){let e;let t=o.ownerDocument.defaultView??window,n=n=>{let r=V(a.current).includes(n.animationName);if(n.target===o&&r&&(c("ANIMATION_END"),!l.current)){let n=o.style.animationFillMode;o.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=n)})}},r=e=>{e.target===o&&(u.current=V(a.current))};return o.addEventListener("animationstart",r),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{t.clearTimeout(e),o.removeEventListener("animationstart",r),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}c("ANIMATION_END")},[o,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:r.useCallback(e=>{e&&(a.current=getComputedStyle(e)),i(e)},[])}}(t),i="function"==typeof n?n({present:o.isPresent}):r.Children.only(n),a=c(o.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(i));return"function"==typeof n||o.isPresent?r.cloneElement(i,{ref:a}):null};function V(e){return e?.animationName||"none"}k.displayName="Presence";var K="Tabs",[W,G]=l(K,[S]),B=S(),[z,q]=W(K),H=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:i,orientation:l="horizontal",dir:u,activationMode:s="automatic",...c}=e,f=x(u),[d,p]=R({prop:r,onChange:o,defaultProp:i});return(0,a.jsx)(z,{scope:n,baseId:w(),value:d,onValueChange:p,orientation:l,dir:f,activationMode:s,children:(0,a.jsx)(b.div,{dir:f,"data-orientation":l,...c,ref:t})})});H.displayName=K;var Y="TabsList",Z=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,i=q(Y,n),l=B(n);return(0,a.jsx)(F,{asChild:!0,...l,orientation:i.orientation,dir:i.dir,loop:r,children:(0,a.jsx)(b.div,{role:"tablist","aria-orientation":i.orientation,...o,ref:t})})});Z.displayName=Y;var J="TabsTrigger",Q=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...l}=e,u=q(J,n),s=B(n),c=et(u.baseId,r),f=en(u.baseId,r),d=r===u.value;return(0,a.jsx)(L,{asChild:!0,...s,focusable:!o,active:d,children:(0,a.jsx)(b.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":f,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:c,...l,ref:t,onMouseDown:i(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():u.onValueChange(r)}),onKeyDown:i(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&u.onValueChange(r)}),onFocus:i(e.onFocus,()=>{let e="manual"!==u.activationMode;d||o||!e||u.onValueChange(r)})})})});Q.displayName=J;var X="TabsContent",ee=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:o,forceMount:i,children:l,...u}=e,s=q(X,n),c=et(s.baseId,o),f=en(s.baseId,o),d=o===s.value,p=r.useRef(d);return r.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,a.jsx)(k,{present:i||d,children:({present:n})=>(0,a.jsx)(b.div,{"data-state":d?"active":"inactive","data-orientation":s.orientation,role:"tabpanel","aria-labelledby":c,hidden:!n,id:f,tabIndex:0,...u,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:n&&l})})});function et(e,t){return`${e}-trigger-${t}`}function en(e,t){return`${e}-content-${t}`}ee.displayName=X;var er=H,eo=Z,ei=Q,ea=ee}};