PageSourceSearch

https://smart-photo.ai/assets/dashboard-B5YSqQD-.js

js smart-photo.ai collected 2026-10-05 15:05:38 UTC 3,647 bytes, 1 lines download raw bytes

1import{w as f,j as e,L as l}from"./main-Bmw7chmx.js";import{u as d}from"./useQuery-CraJ5e4a.js";import{l as p}from"./client.server-fn-Ie_765AG.js";import{l as N}from"./category.server-fn-BNcBB7Nd.js";import{C as t,a as r,b as a,d as i}from"./card-b87ydQ_i.js";import{B as c}from"./button-BeDxX-zt.js";import{B as g}from"./badge-CX3GSaZ2.js";import{P as y}from"./plus-BRqKgJb7.js";import{C as m}from"./camera-OG3mblrd.js";import{U as w}from"./users-D74NhNOL.js";import{F as b}from"./folder-open-CiuKHLe5.js";import"./index-BWxGFLm8.js";function P(){const o=d({queryKey:["sessions"],queryFn:()=>f()}),x=d({queryKey:["clients"],queryFn:()=>p()}),j=d({queryKey:["categories"],queryFn:()=>N()}),n=o.data??[],h=x.data??[],u=j.data??[];return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:"Dashboard"}),e.jsx("p",{className:"text-muted-foreground",children:"Witaj w panelu zarządzania studio"})]}),e.jsx(c,{asChild:!0,children:e.jsxs(l,{to:"/studio/sessions",children:[e.jsx(y,{className:"mr-2 h-4 w-4"}),"Nowa sesja"]})})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[e.jsxs(t,{children:[e.jsxs(r,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(a,{className:"text-sm font-medium",children:"Sesje"}),e.jsx(m,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(i,{children:[e.jsx("div",{className:"text-2xl font-bold",children:n.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Łączna liczba sesji"})]})]}),e.jsxs(t,{children:[e.jsxs(r,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(a,{className:"text-sm font-medium",children:"Klienci"}),e.jsx(w,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(i,{children:[e.jsx("div",{className:"text-2xl font-bold",children:h.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Zarejestrowanych klientów"})]})]}),e.jsxs(t,{children:[e.jsxs(r,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(a,{className:"text-sm font-medium",children:"Kategorie"}),e.jsx(b,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsxs(i,{children:[e.jsx("div",{className:"text-2xl font-bold",children:u.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Kategorii sesji"})]})]})]}),e.jsxs(t,{children:[e.jsx(r,{children:e.jsx(a,{children:"Ostatnie sesje"})}),e.jsx(i,{children:o.isLoading?e.jsx("p",{className:"text-muted-foreground",children:"Ładowanie..."}):n.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[e.jsx(m,{className:"mb-4 h-12 w-12 text-muted-foreground/50"}),e.jsx("p",{className:"text-muted-foreground",children:"Brak sesji. Utwórz pierwszą sesję."}),e.jsx(c,{asChild:!0,className:"mt-4",variant:"outline",children:e.jsx(l,{to:"/studio/sessions",children:"Utwórz sesję"})})]}):e.jsx("div",{className:"space-y-3",children:n.slice(0,5).map(s=>e.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:s.name}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.slug})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[s.isShared&&e.jsx(g,{variant:"secondary",children:"Udostępniona"}),e.jsx(c,{variant:"ghost",size:"sm",asChild:!0,children:e.jsx(l,{to:"/studio/sessions/$sessionId",params:{sessionId:s.id},children:"Otwórz"})})]})]},s.id))})})]})]})}export{P as component};

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.