Files
boc/backups/2026-07-12-1023/landvex-prod/assets/OrdererDashboard-5y9XrRsn.js
T
Bernt 58ca4e68db feat(boc): Complete Business Operations Center v1.0
- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics)
- Rust analytics service with parallel report generation
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables, full migrations
- Redis cache, sessions, pub/sub
- Kafka event streaming with Zookeeper
- WebSocket hub for real-time updates
- Automation engine with cron jobs, workflows, event triggers
- JWT authentication, multi-tenant from start
- Docker Compose with all services
- Nginx reverse proxy with rate limiting
- Integration tests passing
- Feature gap analysis against Fortnox/Odoo/Visma

Refs: BOC-001
2026-07-12 12:41:35 +00:00

17 lines
29 KiB
JavaScript

import{o as M,j as e,aU as ne,aV as le,v as i,aW as de,u as oe,a as z,p as me,n as xe,r as $,L as W,aX as V,x as s,ag as x,ah as h,ak as j,y as a,B as G,q as u,aY as C,A as he,C as pe,M as q,af as K,aZ as je,t as ue,z as ge}from"./index-oAPVDf-r.js";import{B as d}from"./badge-Qwi4CUXx.js";import{T as Ne,a as fe,b as S,c as ye}from"./tabs-CYk3p-Aj.js";import{u as ve}from"./useQuery-BxfmyRLz.js";import{R as be}from"./ROICalculator-DVEYTdny.js";import{E as we}from"./external-link-C86N9iPS.js";import{Z as B}from"./zap-RaPdKGJZ.js";import{C as U,D as X,L as ke}from"./layers-DZd3aBRI.js";import{T as E}from"./trending-up-Be0ZnpBQ.js";import{S as A}from"./shield-BWGzcrms.js";import{C as Se}from"./circle-alert-C1Hs9zwh.js";import{A as Ce}from"./arrow-left-m6EiMbb-.js";import{A as Ae}from"./index-B-MEeiYV.js";import{C as L}from"./clock-DRtqJZUo.js";import{A as P}from"./activity-B0zyNqjw.js";import{T as J}from"./triangle-alert-B87swlNS.js";import{V as De}from"./video-D6Sip5Dx.js";import{R as Ie}from"./radio-G_rzhIIH.js";import{R as H}from"./refresh-cw-DEBvxUr1.js";import{I as Q}from"./image-DuU1QaV8.js";import{E as y}from"./eye-G89nJUb2.js";import{S as Z}from"./send-DsElwFaU.js";import{F as Te}from"./file-text-CyDVAB5w.js";import{D as Y}from"./download-B0vydl5E.js";import{S as Le}from"./server-BrxxSdWs.js";import{K as Pe}from"./key-BAzZqC6d.js";import{B as qe}from"./building-2-w77rCUKE.js";import"./index-DGH-oZ97.js";import"./select-Bi-TzF3J.js";import"./chevron-down-QDDHZwZg.js";import"./check-CG8zylH4.js";import"./megaphone-CztbyYca.js";/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ee=M("FileCheck",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m9 15 2 2 4-4",key:"1grp1n"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const se=M("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Me=M("Webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]);function ze({url:t,title:c,className:o}){const v=()=>{const g=(window.screen.width-1200)/2,m=(window.screen.height-800)/2;window.open(t,c,`width=1200,height=800,left=${g},top=${m},menubar=no,toolbar=no,location=no,status=no`)};return e.jsxs(ne,{children:[e.jsx(le,{asChild:!0,children:e.jsx(i,{variant:"ghost",size:"icon",onClick:v,className:o,children:e.jsx(we,{className:"h-4 w-4"})})}),e.jsx(de,{children:e.jsx("p",{children:"Öppna i eget fönster"})})]})}const Be=t=>[{id:"operations",label:t("orderer.sections.operations"),icon:B,description:t("orderer.sections.operationsDesc")},{id:"analytics",label:t("orderer.sections.analytics"),icon:U,description:t("orderer.sections.analyticsDesc")},{id:"ads",label:"Ads",icon:E,description:t("orderer.sections.adsDesc")},{id:"integrations",label:t("orderer.sections.integrations"),icon:se,description:t("orderer.sections.integrationsDesc")},{id:"compliance",label:t("orderer.sections.compliance"),icon:A,description:t("orderer.sections.complianceDesc")}],ys=()=>{const t=oe(),{t:c}=z(),{user:o,isLoading:v}=me(),{ordererProfile:b,isLoading:D,isActiveOrderer:g}=xe(),[m,w]=$.useState("operations"),[N,I]=$.useState("active"),k=Be(c),{data:p=[],isLoading:T,refetch:n}=ve({queryKey:["orderer-missions",o==null?void 0:o.id],queryFn:async()=>{if(!o)return[];const{data:r,error:f}=await ge.from("missions").select("*").eq("created_by",o.id).order("created_at",{ascending:!1});if(f)throw f;return r},enabled:!!o}),l=p.filter(r=>r.status==="active"),_=p.filter(r=>r.status==="completed"),F=p.filter(r=>r.status==="active"&&new Date(r.created_at)>new Date(Date.now()-24*60*60*1e3)),ae=[],re=p.reduce((r,f)=>r+f.reward_credits,0);if(v||D)return e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:e.jsx(W,{className:"w-8 h-8 animate-spin text-primary"})});if(!o)return e.jsx(V,{to:"/auth",replace:!0});if(!b)return e.jsx(V,{to:"/orderer/register",replace:!0});if(!g)return e.jsxs("div",{className:"min-h-screen bg-background text-foreground pb-24",children:[e.jsx("main",{className:"p-4 space-y-6 pt-6",children:e.jsxs(s,{className:"glass-card border-amber-500/30",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(Se,{className:"w-5 h-5 text-amber-500"}),c("orderer.status.accountPendingApproval")]}),e.jsx(j,{children:c("orderer.status.profileBeingProcessed")})]}),e.jsx(a,{children:e.jsx(i,{variant:"outline",onClick:()=>t("/orderer/register"),children:c("orderer.status.viewStatus")})})]})}),e.jsx(G,{})]});const te=r=>{if(!r||r==="once")return c("orderer.frequency.once");switch(r){case"daily":return c("orderer.frequency.daily");case"weekly":return c("orderer.frequency.weekly");case"biweekly":return c("orderer.frequency.biweekly");case"monthly":return c("orderer.frequency.monthly");default:return r}},ie=r=>{switch(r){case"active":return e.jsx(d,{className:"bg-success text-success-foreground",children:c("orderer.missionStatus.active")});case"completed":return e.jsx(d,{variant:"secondary",children:c("orderer.missionStatus.delivered")});case"cancelled":return e.jsx(d,{variant:"destructive",children:c("orderer.missionStatus.cancelled")});case"pending":return e.jsx(d,{className:"bg-warning text-warning-foreground",children:c("orderer.missionStatus.pending")});case"disputed":return e.jsx(d,{variant:"destructive",children:c("orderer.missionStatus.disputed")});default:return e.jsx(d,{variant:"outline",children:r})}},ce=N==="active"?l:N==="delivered"?_:N==="pending"?F:p;return e.jsxs("div",{className:"min-h-screen-safe bg-background text-foreground pb-24 safe-area-x",children:[e.jsxs("main",{className:"p-4 space-y-6 safe-area-top",children:[e.jsxs(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(i,{variant:"ghost",size:"icon",onClick:()=>t("/"),className:"shrink-0",children:e.jsx(Ce,{className:"w-5 h-5"})}),e.jsx("div",{children:e.jsxs("h1",{className:"text-2xl font-bold",children:[e.jsx("span",{className:"text-primary font-mono",children:"x"}),"Zoom Dashboard"]})})]}),e.jsxs(i,{onClick:()=>t("/orderer/create-campaign"),children:[e.jsx(C,{className:"w-4 h-4 mr-2"}),c("orderer.createCampaign")]})]}),e.jsx(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.05},className:"overflow-x-auto -mx-4 px-4 scrollbar-hide",children:e.jsx("div",{className:"flex gap-1.5 sm:gap-2 min-w-max pb-2",children:k.map(r=>{const f=r.icon,O=m===r.id,R=["operations","analytics","ads"].includes(r.id);return e.jsxs("div",{className:"relative flex items-center",children:[e.jsxs("button",{onClick:()=>w(r.id),className:`flex items-center gap-1.5 sm:gap-2 px-2.5 sm:px-4 py-2 sm:py-2.5 rounded-lg border transition-all whitespace-nowrap ${O?"bg-primary text-primary-foreground border-primary shadow-lg":"bg-card border-border hover:bg-secondary/50"} ${R?"pr-8 sm:pr-10":""}`,children:[e.jsx(f,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{className:"font-medium text-xs sm:text-sm",children:r.label})]}),R&&e.jsx("div",{className:"absolute right-1 sm:right-1.5",children:e.jsx(ze,{url:`/orderer/${r.id}`,title:r.label,className:`h-6 w-6 ${O?"text-primary-foreground hover:bg-primary-foreground/20":"text-muted-foreground hover:bg-secondary"}`})})]},r.id)})})}),e.jsxs(Ae,{mode:"wait",children:[m==="operations"&&e.jsx(Ee,{missions:p,activeMissions:l,completedMissions:_,pendingMissions:F,disputedMissions:ae,totalSpent:re,operationsTab:N,setOperationsTab:I,filteredMissions:ce,missionsLoading:T,refetch:n,navigate:t,formatFrequency:te,getStatusBadge:ie},"operations"),m==="analytics"&&e.jsx(_e,{},"analytics"),m==="ads"&&e.jsx(Fe,{},"ads"),m==="integrations"&&e.jsx(Oe,{},"integrations"),m==="compliance"&&e.jsx(Re,{},"compliance")]})]}),e.jsx(G,{})]})},Ee=({missions:t,activeMissions:c,completedMissions:o,pendingMissions:v,disputedMissions:b,totalSpent:D,operationsTab:g,setOperationsTab:m,filteredMissions:w,missionsLoading:N,refetch:I,navigate:k,formatFrequency:p,getStatusBadge:T})=>{const{t:n}=z();return e.jsxs(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-4 gap-3",children:[e.jsx(s,{className:"glass-card",children:e.jsxs(a,{className:"p-3 text-center",children:[e.jsx(L,{className:"w-4 h-4 mx-auto text-warning mb-1"}),e.jsx("p",{className:"text-xl font-bold",children:v.length}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wide",children:n("orderer.missionStatus.pending")})]})}),e.jsx(s,{className:"glass-card",children:e.jsxs(a,{className:"p-3 text-center",children:[e.jsx(P,{className:"w-4 h-4 mx-auto text-primary mb-1"}),e.jsx("p",{className:"text-xl font-bold",children:c.length}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wide",children:n("orderer.missionStatus.active")})]})}),e.jsx(s,{className:"glass-card",children:e.jsxs(a,{className:"p-3 text-center",children:[e.jsx(he,{className:"w-4 h-4 mx-auto text-success mb-1"}),e.jsx("p",{className:"text-xl font-bold",children:o.length}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wide",children:n("orderer.missionStatus.delivered")})]})}),e.jsx(s,{className:"glass-card",children:e.jsxs(a,{className:"p-3 text-center",children:[e.jsx(J,{className:"w-4 h-4 mx-auto text-destructive mb-1"}),e.jsx("p",{className:"text-xl font-bold",children:b.length}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wide",children:n("orderer.missionStatus.disputed")})]})})]}),e.jsxs(s,{className:"glass-card border-primary/20",children:[e.jsxs(x,{className:"pb-3",children:[e.jsxs(h,{className:"text-lg flex items-center gap-2",children:[e.jsx(C,{className:"w-5 h-5 text-primary"}),n("orderer.operations.createMission")]}),e.jsx(j,{children:n("orderer.operations.defineLocationMedium")})]}),e.jsx(a,{children:e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",onClick:()=>k("/orderer/create-mission"),children:[e.jsx(pe,{className:"w-5 h-5 text-primary"}),e.jsx("span",{className:"text-xs",children:n("orderer.operations.photo")})]}),e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(De,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:n("orderer.operations.video")})]}),e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(Ie,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:n("orderer.operations.sensor")})]}),e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(P,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:n("orderer.operations.live")})]})]})})]}),e.jsxs(s,{className:"glass-card",children:[e.jsx(x,{className:"pb-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(h,{className:"text-lg",children:n("orderer.operations.assignments")}),e.jsx(i,{variant:"ghost",size:"sm",onClick:()=>I(),children:e.jsx(H,{className:"w-4 h-4"})})]})}),e.jsx(a,{children:e.jsxs(Ne,{value:g,onValueChange:m,children:[e.jsxs(fe,{className:"w-full mb-4 grid grid-cols-4",children:[e.jsx(S,{value:"pending",className:"text-xs",children:n("orderer.missionStatus.pending")}),e.jsx(S,{value:"active",className:"text-xs",children:n("orderer.missionStatus.active")}),e.jsx(S,{value:"delivered",className:"text-xs",children:n("orderer.missionStatus.delivered")}),e.jsx(S,{value:"all",className:"text-xs",children:n("common.all")})]}),e.jsx(ye,{value:g,className:"mt-0",children:N?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(W,{className:"w-6 h-6 animate-spin text-primary"})}):w.length===0?e.jsx("div",{className:"text-center py-4",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:n("orderer.operations.noAssignments")})}):e.jsx("div",{className:"space-y-3",children:w.map(l=>e.jsx("div",{className:"p-4 rounded-lg border border-border bg-secondary/20 hover:bg-secondary/40 transition-colors cursor-pointer",onClick:()=>k(`/orderer/mission/${l.id}`),children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[T(l.status),l.frequency&&l.frequency!=="once"&&e.jsxs(d,{variant:"outline",className:"text-xs gap-1",children:[e.jsx(H,{className:"w-3 h-3"}),p(l.frequency)]})]}),e.jsx("h4",{className:"font-medium truncate",children:l.title}),l.area_name&&e.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-1 mt-1",children:[e.jsx(q,{className:"w-3 h-3"}),l.area_name]}),e.jsxs("div",{className:"flex items-center gap-4 mt-2 text-xs text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Q,{className:"w-3 h-3"}),l.required_photos," assets"]}),e.jsxs("span",{className:"text-primary font-medium",children:[l.reward_credits," kr"]}),l.active_until&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(L,{className:"w-3 h-3"}),"SLA: ",new Date(l.active_until).toLocaleDateString("sv-SE")]})]})]}),e.jsx(i,{variant:"ghost",size:"sm",children:e.jsx(y,{className:"w-4 h-4"})})]})},l.id))})})]})})]}),e.jsxs(s,{className:"glass-card",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(Z,{className:"w-5 h-5 text-primary"}),"Distribution"]}),e.jsx(j,{children:"Aktivering, räckvidd och prioriterad distribution av uppdrag"})]}),e.jsx(a,{className:"space-y-4",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx(s,{className:"bg-secondary/30",children:e.jsx(a,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:e.jsx(q,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Zon-aktivering"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Skicka uppdrag till specifika områden"})]})]}),e.jsx(d,{variant:"outline",children:"Aktiv"})]})})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsx(a,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-accent/10 flex items-center justify-center",children:e.jsx(P,{className:"w-5 h-5 text-accent"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Contributor-prioritering"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Prioritera erfarna operatörer"})]})]}),e.jsx(d,{variant:"secondary",children:"Pro"})]})})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsx(a,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-warning/10 flex items-center justify-center",children:e.jsx(L,{className:"w-5 h-5 text-warning"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Temporär exponering"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Tidsbegränsade kampanjer"})]})]}),e.jsx(d,{variant:"secondary",children:"Pro"})]})})}),e.jsx(s,{className:"bg-gradient-to-r from-primary/10 to-accent/10 border-primary/20",children:e.jsx(a,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/20 flex items-center justify-center",children:e.jsx(B,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Sponsrade uppdrag"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Enterprise-grade distribution"})]})]}),e.jsx(d,{className:"bg-primary text-primary-foreground",children:"Enterprise"})]})})})]})})]}),e.jsx(s,{className:"glass-card border-dashed",children:e.jsxs(a,{className:"p-6 text-center",children:[e.jsx(Z,{className:"w-10 h-10 text-muted-foreground mx-auto mb-3"}),e.jsx("p",{className:"font-medium mb-1",children:"Reach Calculator"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Beräkna potentiell täckning baserat på geografi och målgrupp"}),e.jsx(i,{variant:"outline",children:"Se Analytics → ROI-kalkylator"})]})})]})},_e=()=>e.jsxs(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"space-y-6",children:[e.jsxs(s,{className:"glass-card",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(U,{className:"w-5 h-5 text-primary"}),"Analytics"]}),e.jsx(j,{children:"Geografiska mönster, tidsserier och AI-genererade insikter"})]}),e.jsxs(a,{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-3",children:[e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(K,{className:"w-8 h-8 text-primary"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Geografiska mönster"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Heatmaps, täckningsanalys, zoner"})]})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(E,{className:"w-8 h-8 text-accent"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Tidsserier"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Före/efter, förändringsdetektering"})]})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(J,{className:"w-8 h-8 text-warning"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Avvikelsedetektering"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Automatisk flaggning av anomalier"})]})]})})]}),e.jsx(s,{className:"bg-gradient-to-br from-primary/10 to-accent/10 border-primary/20",children:e.jsxs(a,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(B,{className:"w-4 h-4 text-primary"}),e.jsx("span",{className:"text-sm font-medium",children:"AI-genererade insikter"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Sekundärt värde från dina data — automatisk analys av mönster, korrelationer och prognoser baserat på insamlad data."})]})})]})]}),e.jsxs(s,{className:"glass-card",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(X,{className:"w-5 h-5 text-primary"}),"Data Vault"]}),e.jsx(j,{children:"Immutable rådata-arkiv med full metadata och versionshistorik"})]}),e.jsxs(a,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(s,{className:"bg-secondary/30",children:e.jsx(a,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:e.jsx(Te,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Original"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Omodifierad rådata"})]})]})})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsx(a,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-accent/10 flex items-center justify-center",children:e.jsx(ke,{className:"w-5 h-5 text-accent"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Processad"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"AI-behandlad"})]})]})})})]}),e.jsx(s,{className:"bg-secondary/20 border-dashed",children:e.jsxs(a,{className:"p-4",children:[e.jsx("h4",{className:"font-mono text-sm text-primary mb-3",children:"Metadata Schema"}),e.jsxs("div",{className:"space-y-2 text-sm font-mono",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"timestamp"}),e.jsx("span",{children:"ISO 8601"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"coordinates"}),e.jsx("span",{children:"WGS84"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"device"}),e.jsx("span",{children:"EXIF"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"contributor"}),e.jsx("span",{children:"UUID"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"hash"}),e.jsx("span",{children:"SHA-256"})]})]})]})}),e.jsxs(i,{variant:"outline",className:"w-full gap-2",children:[e.jsx(Y,{className:"w-4 h-4"}),"API Export / Bulk Download"]})]})]}),e.jsx(s,{className:"glass-card border-primary/20",children:e.jsxs(a,{className:"p-4 flex items-center gap-3",children:[e.jsx(Le,{className:"w-5 h-5 text-primary"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium text-sm",children:"Data Sources"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"0 aktiva contributors"})]}),e.jsx(d,{variant:"outline",children:"Coming soon"})]})})]}),Fe=()=>{const{t}=z();return e.jsxs(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"space-y-6",children:[e.jsxs(s,{className:"glass-card",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(E,{className:"w-5 h-5 text-primary"}),t("orderer.ads.title")]}),e.jsx(j,{children:t("orderer.ads.description")})]}),e.jsx(a,{className:"space-y-4",children:e.jsxs("div",{className:"grid gap-3",children:[e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(Q,{className:"w-8 h-8 text-primary"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("orderer.ads.brandAwareness")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("orderer.ads.brandAwarenessDesc")})]})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(q,{className:"w-8 h-8 text-accent"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("orderer.ads.localPresence")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("orderer.ads.localPresenceDesc")})]})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(y,{className:"w-8 h-8 text-warning"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("orderer.ads.impressions")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("orderer.ads.impressionsDesc")})]})]})})]})})]}),e.jsx(be,{})]})},Oe=()=>e.jsx(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"space-y-6",children:e.jsxs(s,{className:"glass-card",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(se,{className:"w-5 h-5 text-primary"}),"Integrations"]}),e.jsx(j,{children:"API-nycklar, webhooks och kopplingar till externa system"})]}),e.jsxs(a,{className:"space-y-4",children:[e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Pe,{className:"w-5 h-5 text-primary"}),e.jsx("span",{className:"font-medium",children:"API Keys"})]}),e.jsxs(i,{size:"sm",variant:"outline",children:[e.jsx(C,{className:"w-3 h-3 mr-1"}),"Ny nyckel"]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Inga API-nycklar genererade"})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Me,{className:"w-5 h-5 text-accent"}),e.jsx("span",{className:"font-medium",children:"Webhooks"})]}),e.jsxs(i,{size:"sm",variant:"outline",children:[e.jsx(C,{className:"w-3 h-3 mr-1"}),"Ny webhook"]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Inga webhooks konfigurerade"})]})}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-medium mb-3 text-muted-foreground",children:"Tillgängliga kopplingar"}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(K,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs",children:"GIS"})]}),e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(qe,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs",children:"ERP"})]}),e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(A,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs",children:"Försäkring"})]}),e.jsxs(i,{variant:"outline",className:"h-auto py-3 flex-col gap-1",disabled:!0,children:[e.jsx(ee,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("span",{className:"text-xs",children:"Myndigheter"})]})]})]})]})]})}),Re=()=>e.jsx(u.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"space-y-6",children:e.jsxs(s,{className:"glass-card",children:[e.jsxs(x,{children:[e.jsxs(h,{className:"flex items-center gap-2",children:[e.jsx(A,{className:"w-5 h-5 text-primary"}),"Compliance & Audit"]}),e.jsx(j,{children:"Loggar, åtkomsthistorik och juridiska beviskedjor"})]}),e.jsxs(a,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(je,{className:"w-8 h-8 text-primary"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium",children:"Aktivitetsloggar"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Fullständig historik över alla händelser"})]}),e.jsx(i,{size:"sm",variant:"ghost",children:e.jsx(y,{className:"w-4 h-4"})})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(ue,{className:"w-8 h-8 text-accent"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium",children:"Åtkomsthistorik"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Vem har sett/exporterat data"})]}),e.jsx(i,{size:"sm",variant:"ghost",children:e.jsx(y,{className:"w-4 h-4"})})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(ee,{className:"w-8 h-8 text-success"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium",children:"Godkännanden"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Attesterings- och godkännandeflöden"})]}),e.jsx(i,{size:"sm",variant:"ghost",children:e.jsx(y,{className:"w-4 h-4"})})]})}),e.jsx(s,{className:"bg-secondary/30",children:e.jsxs(a,{className:"p-4 flex items-center gap-4",children:[e.jsx(X,{className:"w-8 h-8 text-warning"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium",children:"Datakällor"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Spårbarhet för varje datapunkt"})]}),e.jsx(i,{size:"sm",variant:"ghost",children:e.jsx(y,{className:"w-4 h-4"})})]})})]}),e.jsx(s,{className:"bg-gradient-to-r from-success/10 to-primary/10 border-success/20",children:e.jsxs(a,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(A,{className:"w-4 h-4 text-success"}),e.jsx("span",{className:"font-medium text-sm",children:"Juridisk beviskedja"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Fullständig kedja av bevis för användning av flygbolag, försäkringsbolag och offentlig sektor."})]})}),e.jsxs(i,{variant:"outline",className:"w-full gap-2",children:[e.jsx(Y,{className:"w-4 h-4"}),"Exportera Audit-rapport"]})]})]})});export{ys as default};