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.
1 line
20 KiB
JavaScript
1 line
20 KiB
JavaScript
(()=>{var e={};e.id=9752,e.ids=[9752],e.modules={72934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},55315:e=>{"use strict";e.exports=require("path")},17360:e=>{"use strict";e.exports=require("url")},48614:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>n.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>c,routeModule:()=>p,tree:()=>d}),r(92647),r(40656),r(40509),r(70546);var s=r(30170),i=r(45002),a=r(83876),n=r.n(a),l=r(66299),o={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>l[e]);r.d(t,o);let d=["",{children:["specials",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,92647)),"/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/app/specials/page.tsx"]}]},{metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,57481))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(r.bind(r,40656)),"/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/app/layout.tsx"],error:[()=>Promise.resolve().then(r.bind(r,40509)),"/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/app/error.tsx"],"not-found":[()=>Promise.resolve().then(r.bind(r,70546)),"/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/app/not-found.tsx"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,57481))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}],c=["/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/app/specials/page.tsx"],u="/specials/page",m={require:r,loadChunk:()=>Promise.resolve()},p=new s.AppPageRouteModule({definition:{kind:i.x.APP_PAGE,page:"/specials/page",pathname:"/specials",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},90361:(e,t,r)=>{Promise.resolve().then(r.bind(r,66696)),Promise.resolve().then(r.bind(r,39261)),Promise.resolve().then(r.t.bind(r,34080,23))},76442:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});let s=(0,r(26323).Z)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]])},6683:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});let s=(0,r(26323).Z)("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]])},37013:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});let s=(0,r(26323).Z)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},92647:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>E});var s=r(72051),i=r(94604),a=r(6669),n=r(26269);function l(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}var o=function(e){let t=function(e){let t=n.forwardRef((e,t)=>{let{children:r,...s}=e;if(n.isValidElement(r)){let e,i;let a=(e=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?r.ref:(e=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?r.props.ref:r.props.ref||r.ref,o=function(e,t){let r={...t};for(let s in t){let i=e[s],a=t[s];/^on[A-Z]/.test(s)?i&&a?r[s]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(r[s]=i):"style"===s?r[s]={...i,...a}:"className"===s&&(r[s]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(s,r.props);return r.type!==n.Fragment&&(o.ref=t?function(...e){return t=>{let r=!1,s=e.map(e=>{let s=l(e,t);return r||"function"!=typeof s||(r=!0),s});if(r)return()=>{for(let t=0;t<s.length;t++){let r=s[t];"function"==typeof r?r():l(e[t],null)}}}}(t,a):a),n.cloneElement(r,o)}return n.Children.count(r)>1?n.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),r=n.forwardRef((e,r)=>{let{children:i,...a}=e,l=n.Children.toArray(i),o=l.find(c);if(o){let e=o.props.children,i=l.map(t=>t!==o?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,s.jsx)(t,{...a,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,i):null})}return(0,s.jsx)(t,{...a,ref:r,children:i})});return r.displayName=`${e}.Slot`,r}("Slot"),d=Symbol("radix.slottable");function c(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d}var u=r(36272);let m=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,p=u.W,x=(e,t)=>r=>{var s;if((null==t?void 0:t.variants)==null)return p(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:a}=t,n=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],s=null==a?void 0:a[e];if(null===t)return null;let n=m(t)||m(s);return i[e][n]}),l=r&&Object.entries(r).reduce((e,t)=>{let[r,s]=t;return void 0===s||(e[r]=s),e},{});return p(e,n,null==t?void 0:null===(s=t.compoundVariants)||void 0===s?void 0:s.reduce((e,t)=>{let{class:r,className:s,...i}=t;return Object.entries(i).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...a,...l}[t]):({...a,...l})[t]===r})?[...e,r,s]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)};var h=r(37170);let f=x("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function v({className:e,variant:t,size:r,asChild:i=!1,...a}){return s.jsx(i?o:"button",{"data-slot":"button",className:(0,h.cn)(f({variant:t,size:r,className:e})),...a})}let g=x("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function b({className:e,variant:t,asChild:r=!1,...i}){return s.jsx(r?o:"span",{"data-slot":"badge",className:(0,h.cn)(g({variant:t}),e),...i})}let y=x("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function j({className:e,variant:t,...r}){return s.jsx("div",{"data-slot":"alert",role:"alert",className:(0,h.cn)(y({variant:t}),e),...r})}function N({className:e,...t}){return s.jsx("div",{"data-slot":"alert-description",className:(0,h.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}var k=r(86449);let w=(0,k.Z)("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),P=(0,k.Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),_=(0,k.Z)("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]),M=(0,k.Z)("Percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]),C=(0,k.Z)("Gift",[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]]),S=(0,k.Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var Z=r(53160),D=r.n(Z);let O=[{title:"First Tattoo Special",discount:"20% OFF",description:"Perfect for first-time clients ready to start their tattoo journey",details:["Valid for tattoos under 4 hours","Includes free consultation","Must mention at booking","Cannot combine with other offers"],validUntil:"March 31, 2024",icon:w,color:"bg-primary"},{title:"Flash Friday",discount:"$50 OFF",description:"Choose from our curated flash designs every Friday",details:["Pre-designed flash sheets available","Walk-ins welcome 2-6 PM","First come, first served","Small to medium sizes only"],validUntil:"Every Friday",icon:P,color:"bg-secondary"},{title:"Referral Reward",discount:"$75 CREDIT",description:"Refer a friend and both get rewarded",details:["Friend must complete their tattoo","Credit applied to your next session","No limit on referrals","Friend gets 10% off their first tattoo"],validUntil:"Ongoing",icon:_,color:"bg-accent"}],R=[{title:"Spring Touch-Up Special",description:"Refresh your existing tattoos for the warmer months",offer:"Free consultation + 15% off touch-ups",period:"March - May"},{title:"Summer Color Pop",description:"Add vibrant colors to existing black and grey pieces",offer:"20% off color additions",period:"June - August"},{title:"Fall Portfolio Building",description:"Help our apprentices build their portfolios",offer:"Discounted rates on select designs",period:"September - November"},{title:"Holiday Gift Cards",description:"Perfect gifts for tattoo enthusiasts",offer:"Buy $200+ gift card, get $25 bonus",period:"December - January"}],F=[{title:"VIP Membership",price:"$50/year",benefits:["10% off all tattoos","Priority booking","Free touch-ups within 6 months","Exclusive flash designs","Birthday month special"]},{title:"Collector's Club",price:"$100/year",benefits:["15% off all tattoos","Skip the deposit on bookings","Free aftercare products","Private portfolio previews","Annual appreciation event invite"]}];function q(){return s.jsx("div",{className:"container mx-auto px-4 py-8",children:(0,s.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,s.jsxs)("div",{className:"text-center mb-12",children:[s.jsx("h1",{className:"font-playfair text-4xl md:text-5xl font-bold mb-6",children:"Current Specials & Offers"}),s.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto text-balance",children:"Take advantage of our current promotions and special offers. Save on your next tattoo while getting the same high-quality work from our talented artists."})]}),(0,s.jsxs)(j,{className:"mb-8 border-primary/20 bg-primary/5",children:[s.jsx(M,{className:"h-4 w-4 text-primary"}),(0,s.jsxs)(N,{children:[s.jsx("strong",{children:"Limited Time:"})," All specials are subject to availability and cannot be combined with other offers unless specified. Book early to secure your spot!"]})]}),(0,s.jsxs)("div",{className:"mb-12",children:[s.jsx("h2",{className:"font-playfair text-3xl font-bold mb-8 text-center",children:"Featured Specials"}),s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:O.map((e,t)=>{let r=e.icon;return(0,s.jsxs)(a.Zb,{className:"relative overflow-hidden hover:shadow-xl transition-all duration-300",children:[s.jsx("div",{className:`absolute top-0 right-0 ${e.color} text-white px-3 py-1 text-sm font-bold`,children:e.discount}),(0,s.jsxs)(a.Ol,{className:"pb-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-3 mb-3",children:[s.jsx("div",{className:`p-2 rounded-full ${e.color} text-white`,children:s.jsx(r,{className:"w-5 h-5"})}),s.jsx(a.ll,{className:"font-playfair text-xl",children:e.title})]}),s.jsx("p",{className:"text-muted-foreground",children:e.description})]}),(0,s.jsxs)(a.aY,{children:[s.jsx("ul",{className:"space-y-2 mb-4",children:e.details.map((e,t)=>(0,s.jsxs)("li",{className:"text-sm flex items-start space-x-2",children:[s.jsx("span",{className:"w-1.5 h-1.5 bg-primary rounded-full mt-2 flex-shrink-0"}),s.jsx("span",{children:e})]},t))}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)(b,{variant:"outline",className:"text-xs",children:["Valid until ",e.validUntil]}),s.jsx(v,{size:"sm",className:"bg-white text-black hover:bg-gray-100 !text-black",children:"Book Now"})]})]})]},t)})})]}),(0,s.jsxs)("div",{className:"mb-12",children:[s.jsx("h2",{className:"font-playfair text-3xl font-bold mb-8 text-center",children:"Seasonal Offers"}),s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:R.map((e,t)=>s.jsx(a.Zb,{className:"hover:shadow-lg transition-shadow duration-300",children:(0,s.jsxs)(a.aY,{className:"p-6",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[s.jsx("h3",{className:"font-playfair text-xl font-bold",children:e.title}),s.jsx(b,{variant:"secondary",children:e.period})]}),s.jsx("p",{className:"text-muted-foreground mb-3",children:e.description}),s.jsx("div",{className:"bg-primary/10 p-3 rounded-lg",children:s.jsx("p",{className:"font-semibold text-primary",children:e.offer})})]})},t))})]}),(0,s.jsxs)("div",{className:"mb-12",children:[s.jsx("h2",{className:"font-playfair text-3xl font-bold mb-8 text-center",children:"Membership Programs"}),s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:F.map((e,t)=>(0,s.jsxs)(a.Zb,{className:"relative hover:shadow-xl transition-all duration-300",children:[(0,s.jsxs)(a.Ol,{className:"text-center pb-4",children:[s.jsx("div",{className:"mx-auto w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mb-4",children:s.jsx(C,{className:"w-8 h-8 text-primary"})}),s.jsx(a.ll,{className:"font-playfair text-2xl",children:e.title}),s.jsx("div",{className:"text-3xl font-bold text-primary",children:e.price})]}),(0,s.jsxs)(a.aY,{children:[s.jsx("ul",{className:"space-y-3",children:e.benefits.map((e,t)=>(0,s.jsxs)("li",{className:"flex items-start space-x-2",children:[s.jsx(w,{className:"w-4 h-4 text-primary mt-1 flex-shrink-0"}),s.jsx("span",{className:"text-sm",children:e})]},t))}),s.jsx(v,{className:"w-full mt-6 bg-primary hover:bg-primary/90",children:"Join Now"})]})]},t))})]}),(0,s.jsxs)(a.Zb,{className:"mb-12 border-muted",children:[s.jsx(a.Ol,{children:s.jsx(a.ll,{className:"font-playfair text-xl",children:"Terms & Conditions"})}),s.jsx(a.aY,{children:(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 text-sm text-muted-foreground",children:[(0,s.jsxs)("div",{children:[s.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"General Terms"}),(0,s.jsxs)("ul",{className:"space-y-1",children:[s.jsx("li",{children:"• Specials cannot be combined unless stated"}),s.jsx("li",{children:"• Valid ID required for all appointments"}),s.jsx("li",{children:"• Deposits still required for all bookings"}),s.jsx("li",{children:"• Subject to artist availability"})]})]}),(0,s.jsxs)("div",{children:[s.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Booking Requirements"}),(0,s.jsxs)("ul",{className:"space-y-1",children:[s.jsx("li",{children:"• Must mention special at time of booking"}),s.jsx("li",{children:"• Cannot be applied to existing bookings"}),s.jsx("li",{children:"• Some restrictions may apply"}),s.jsx("li",{children:"• Management reserves right to modify offers"})]})]})]})})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[s.jsx(a.Zb,{className:"bg-primary text-primary-foreground",children:(0,s.jsxs)(a.aY,{className:"p-6 text-center",children:[s.jsx(S,{className:"w-8 h-8 mx-auto mb-4"}),s.jsx("h3",{className:"font-playfair text-xl font-bold mb-2",children:"Ready to Save?"}),s.jsx("p",{className:"mb-4 opacity-90",children:"Book your appointment and mention your preferred special"}),s.jsx(v,{asChild:!0,className:"bg-white !bg-white text-black !text-black hover:bg-gray-100 hover:!text-black border border-gray-200",children:s.jsx(D(),{href:"/book",children:"Book Now"})})]})}),s.jsx(a.Zb,{className:"bg-secondary text-secondary-foreground",children:(0,s.jsxs)(a.aY,{className:"p-6 text-center",children:[s.jsx(C,{className:"w-8 h-8 mx-auto mb-4"}),s.jsx("h3",{className:"font-playfair text-xl font-bold mb-2",children:"Gift Cards Available"}),s.jsx("p",{className:"mb-4 opacity-90",children:"Perfect for tattoo enthusiasts in your life"}),s.jsx(v,{asChild:!0,variant:"outline",className:"border-white text-white hover:bg-white hover:text-black bg-transparent",children:s.jsx(D(),{href:"/gift-cards",children:"Buy Gift Cards"})})]})})]})]})})}var A=r(86006);function E(){return(0,s.jsxs)("main",{className:"min-h-screen",children:[s.jsx(i.W,{}),s.jsx("div",{className:"pt-16",children:s.jsx(q,{})}),s.jsx(A.$,{})]})}},6669:(e,t,r)=>{"use strict";r.d(t,{Ol:()=>n,SZ:()=>o,Zb:()=>a,aY:()=>d,ll:()=>l});var s=r(72051);r(26269);var i=r(37170);function a({className:e,...t}){return s.jsx("div",{"data-slot":"card",className:(0,i.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function n({className:e,...t}){return s.jsx("div",{"data-slot":"card-header",className:(0,i.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})}function l({className:e,...t}){return s.jsx("div",{"data-slot":"card-title",className:(0,i.cn)("leading-none font-semibold",e),...t})}function o({className:e,...t}){return s.jsx("div",{"data-slot":"card-description",className:(0,i.cn)("text-muted-foreground text-sm",e),...t})}function d({className:e,...t}){return s.jsx("div",{"data-slot":"card-content",className:(0,i.cn)("px-6",e),...t})}},37170:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var s=r(36272),i=r(51472);function a(...e){return(0,i.m6)((0,s.W)(e))}},53160:(e,t,r)=>{"use strict";let{createProxy:s}=r(45347);e.exports=s("/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/node_modules/next/dist/client/link.js")},54203:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return r}});class r{static get(e,t,r){let s=Reflect.get(e,t,r);return"function"==typeof s?s.bind(e):s}static set(e,t,r,s){return Reflect.set(e,t,r,s)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9379,9234,7598,9906,5773,7903],()=>r(48614));module.exports=s})(); |