united-tattoo/.open-next/assets/_next/static/chunks/5360-bc2074e47478f077.js
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
11 KiB
JavaScript

"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5360],{57043:function(e,t,s){s.d(t,{Footer:function(){return o}});var r=s(57437),a=s(2265),i=s(27648),n=s(20265),l=s(62869);function o(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=()=>{t(window.scrollY>.5*window.innerHeight)};return window.addEventListener("scroll",e),e(),()=>window.removeEventListener("scroll",e)},[]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.z,{onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},className:"fixed bottom-8 right-8 z-50 rounded-full w-12 h-12 p-0 bg-white text-black hover:bg-gray-100 shadow-lg transition-all duration-300 ".concat(e?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),"aria-label":"Scroll to top",children:(0,r.jsx)(n.Z,{size:20})}),(0,r.jsx)("footer",{className:"bg-black text-white py-16 font-mono",children:(0,r.jsxs)("div",{className:"container mx-auto px-8",children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-8 items-start",children:[(0,r.jsxs)("div",{className:"md:col-span-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,r.jsx)("span",{className:"text-white",children:"↳"}),(0,r.jsx)("h4",{className:"text-white font-medium tracking-wide text-lg",children:"SERVICES"})]}),(0,r.jsx)("ul",{className:"space-y-3 text-base",children:[{name:"TRADITIONAL",count:""},{name:"REALISM",count:""},{name:"BLACKWORK",count:""},{name:"FINE LINE",count:""},{name:"WATERCOLOR",count:""},{name:"COVER-UPS",count:""},{name:"ANIME",count:""}].map((e,t)=>(0,r.jsx)("li",{children:(0,r.jsxs)(i.default,{href:"/book",className:"text-gray-400 hover:text-white transition-colors duration-200",children:[e.name,e.count&&(0,r.jsx)("span",{className:"text-white ml-2",children:e.count})]})},t))})]}),(0,r.jsxs)("div",{className:"md:col-span-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,r.jsx)("span",{className:"text-white",children:"↳"}),(0,r.jsx)("h4",{className:"text-white font-medium tracking-wide text-lg",children:"ARTISTS"})]}),(0,r.jsx)("ul",{className:"space-y-3 text-base",children:[{name:"CHRISTY_LUMBERG",count:""},{name:"ANGEL_ANDRADE",count:""},{name:"STEVEN_SOLE",count:""},{name:"DONOVAN_L",count:""},{name:"VIEW_ALL",count:""}].map((e,t)=>(0,r.jsx)("li",{children:(0,r.jsxs)(i.default,{href:"/artists",className:"text-gray-400 hover:text-white transition-colors duration-200",children:[e.name,e.count&&(0,r.jsx)("span",{className:"text-white ml-2",children:e.count})]})},t))})]}),(0,r.jsxs)("div",{className:"md:col-span-3",children:[(0,r.jsxs)("div",{className:"text-gray-500 text-sm leading-relaxed mb-4",children:["\xa9 ",(0,r.jsx)("span",{className:"text-white underline",children:"UNITED.TATTOO"})," LLC 2025",(0,r.jsx)("br",{}),"ALL RIGHTS RESERVED."]}),(0,r.jsxs)("div",{className:"text-gray-400 text-sm",children:["5160 FONTAINE BLVD",(0,r.jsx)("br",{}),"FOUNTAIN, CO 80817",(0,r.jsx)("br",{}),(0,r.jsx)(i.default,{href:"tel:+17196989004",className:"hover:text-white transition-colors",children:"(719) 698-9004"})]})]}),(0,r.jsxs)("div",{className:"md:col-span-3 space-y-8",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,r.jsx)("span",{className:"text-white",children:"↳"}),(0,r.jsx)("h4",{className:"text-white font-medium tracking-wide text-lg",children:"LEGAL"})]}),(0,r.jsxs)("ul",{className:"space-y-2 text-base",children:[(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"/aftercare",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"AFTERCARE"})}),(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"/deposit",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"DEPOSIT POLICY"})}),(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"/terms",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"TERMS OF SERVICE"})}),(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"/privacy",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"PRIVACY POLICY"})}),(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"#",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"WAIVER"})})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,r.jsx)("span",{className:"text-white",children:"↳"}),(0,r.jsx)("h4",{className:"text-white font-medium tracking-wide text-lg",children:"SOCIAL"})]}),(0,r.jsxs)("ul",{className:"space-y-2 text-base",children:[(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"https://www.instagram.com/unitedtattoo719",target:"_blank",rel:"noopener noreferrer",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"INSTAGRAM"})}),(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"https://www.facebook.com/unitedtattoo719",target:"_blank",rel:"noopener noreferrer",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"FACEBOOK"})}),(0,r.jsx)("li",{children:(0,r.jsx)(i.default,{href:"https://www.tiktok.com/@united.tattoo",target:"_blank",rel:"noopener noreferrer",className:"text-gray-400 hover:text-white transition-colors duration-200 underline",children:"TIKTOK"})})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,r.jsx)("span",{className:"text-white",children:"↳"}),(0,r.jsx)("h4",{className:"text-white font-medium tracking-wide text-lg",children:"CONTACT"})]}),(0,r.jsx)(i.default,{href:"mailto:info@united-tattoo.com",className:"text-gray-400 hover:text-white transition-colors duration-200 underline text-base",children:"INFO@UNITED-TATTOO.COM"})]})]})]}),(0,r.jsxs)("div",{className:"flex justify-end mt-8 gap-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-gray-400"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-white"})]})]})})]})}},41211:function(e,t,s){s.d(t,{Navigation:function(){return c}});var r=s(57437),a=s(2265),i=s(27648),n=s(62869),l=s(32489),o=s(58293);function c(){let[e,t]=(0,a.useState)(!1),[s,c]=(0,a.useState)(!1),[d,h]=(0,a.useState)("home");(0,a.useEffect)(()=>{let e=()=>{c(window.scrollY>50);let e=window.scrollY+100;for(let t of["home","artists","services","contact"]){let s=document.getElementById(t);if(s){let{offsetTop:r,offsetHeight:a}=s;if(e>=r&&e<r+a){h(t);break}}}};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]);let x=[{href:"#home",label:"Home",id:"home"},{href:"#artists",label:"Artists",id:"artists"},{href:"#services",label:"Services",id:"services"},{href:"#contact",label:"Contact",id:"contact"}];return(0,r.jsx)("nav",{className:"fixed top-0 left-0 right-0 z-50 transition-all duration-700 ease-out ".concat(s?"bg-black/95 backdrop-blur-md shadow-lg border-b border-white/10 opacity-100":"bg-black/80 backdrop-blur-md lg:bg-transparent lg:opacity-0 lg:pointer-events-none opacity-100"),children:(0,r.jsxs)("div",{className:"max-w-screen-2xl mx-auto px-6 lg:px-12",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between h-20",children:[(0,r.jsx)(i.default,{href:"/",className:"font-bold text-xl lg:text-2xl tracking-[0.2em] transition-all duration-500 drop-shadow-lg text-white",children:"UNITED TATTOO"}),(0,r.jsxs)("div",{className:"hidden lg:flex items-center space-x-12",children:[x.map(e=>(0,r.jsxs)(i.default,{href:e.href,className:"relative text-sm font-semibold tracking-[0.1em] uppercase transition-all duration-300 group ".concat(d===e.id?"text-white":"text-white/80 hover:text-white"),children:[e.label,(0,r.jsx)("span",{className:"absolute -bottom-1 left-0 h-0.5 bg-white transition-all duration-300 ".concat(d===e.id?"w-full":"w-0 group-hover:w-full")})]},e.href)),(0,r.jsx)(n.z,{asChild:!0,className:"bg-white hover:bg-gray-100 text-black !text-black px-8 py-3 text-sm font-semibold tracking-[0.05em] uppercase shadow-xl hover:shadow-2xl transition-all duration-300 hover:scale-105",children:(0,r.jsx)(i.default,{href:"/book",children:"Book Now"})})]}),(0,r.jsx)("button",{className:"lg:hidden p-4 rounded-lg transition-all duration-300 text-white hover:bg-white/10",onClick:()=>t(!e),"aria-label":"Toggle menu",children:e?(0,r.jsx)(l.Z,{size:24}):(0,r.jsx)(o.Z,{size:24})})]}),e&&(0,r.jsx)("div",{className:"lg:hidden bg-black/98 backdrop-blur-md border-t border-white/10",children:(0,r.jsxs)("div",{className:"px-6 py-8 space-y-5",children:[x.map(e=>(0,r.jsx)(i.default,{href:e.href,className:"px-4 py-4 block text-lg font-semibold tracking-[0.1em] uppercase transition-all duration-300 ".concat(d===e.id?"text-white border-l-4 border-white pl-4":"text-white/70 hover:text-white hover:pl-2"),onClick:()=>t(!1),children:e.label},e.href)),(0,r.jsx)(n.z,{asChild:!0,className:"w-full bg-white hover:bg-gray-100 text-black !text-black py-5 text-lg font-semibold tracking-[0.05em] uppercase shadow-xl mt-8",children:(0,r.jsx)(i.default,{href:"/book",onClick:()=>t(!1),children:"Book Now"})})]})})]})})}},62869:function(e,t,s){s.d(t,{d:function(){return l},z:function(){return o}});var r=s(57437);s(2265);var a=s(37053),i=s(90535),n=s(94508);let l=(0,i.j)("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 o(e){let{className:t,variant:s,size:i,asChild:o=!1,...c}=e,d=o?a.g7:"button";return(0,r.jsx)(d,{"data-slot":"button",className:(0,n.cn)(l({variant:s,size:i,className:t})),...c})}},94508:function(e,t,s){s.d(t,{cn:function(){return i}});var r=s(61994),a=s(53335);function i(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,a.m6)((0,r.W)(t))}}}]);