1import{Z as w,j as e,aM as y,L as D,e as t,am as P,B as r,U as A,$ as T,h as C,C as i,d as n,E as B,o as j,w as _,i as L}from"./index-C6--jTPa.js";import{B as g}from"./badge-BpH-XLTX.js";import{T as $,a as k,b as x,c as M}from"./tabs-D8fM3BSH.js";import{k as E,l as F}from"./useFreelancing-BFs7pmNN.js";import{A as S,a as z,b as U,c as O,d as V,e as q,f as H,g as R,h as Z}from"./alert-dialog-DDqXwZ2v.js";import{P as G}from"./plus-CmT-yh5c.js";import{B as u}from"./briefcase-CnE3LvCG.js";import{C as p}from"./clock-CNf17kMS.js";import{T as I}from"./trash-2-C35Irn9n.js";import{f as J}from"./formatDistanceToNow-pSmOr6Jk.js";import"./index-DBJC-V3p.js";const ie=()=>{const{user:f,loading:N}=w(),{data:a,isLoading:v}=E(),b=F();if(N)return null;if(!f)return e.jsx(y,{to:"/login",replace:!0});if(v)return e.jsx("div",{className:"min-h-screen flex items-center justify-center",children:e.jsx(D,{className:"h-8 w-8 animate-spin text-primary"})});const d=(a==null?void 0:a.filter(s=>s.status==="open"))||[],o=(a==null?void 0:a.filter(s=>s.status==="in_progress"||s.status==="under_review"))||[],m=(a==null?void 0:a.filter(s=>s.status==="completed"||s.status==="cancelled"))||[];return e.jsx("div",{className:"min-h-screen py-24",children:e.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsxs(t,{to:"/freelancing",className:"inline-flex items-center text-muted-foreground hover:text-foreground mb-2 text-sm",children:[e.jsx(P,{className:"h-4 w-4 mr-2"}),"Back to Marketplace"]}),e.jsx("h1",{className:"text-3xl font-bold",children:"My Projects"}),e.jsx("p",{className:"text-muted-foreground mt-1",children:"Manage your posted projects and view proposals"})]}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsx(t,{to:"/freelancing/profile",children:e.jsxs(r,{variant:"outline",className:"gap-2",children:[e.jsx(A,{className:"h-4 w-4"}),"Freelancer Profile"]})}),e.jsx(t,{to:"/freelancing/browse",children:e.jsxs(r,{variant:"outline",className:"gap-2",children:[e.jsx(T,{className:"h-4 w-4"}),"Browse Projects"]})}),e.jsx(t,{to:"/freelancing/messages",children:e.jsxs(r,{variant:"outline",className:"gap-2",children:[e.jsx(C,{className:"h-4 w-4"}),"Messages"]})}),e.jsx(t,{to:"/freelancing/post",children:e.jsxs(r,{className:"btn-premium gap-2",children:[e.jsx(G,{className:"h-4 w-4"}),"Post New Project"]})})]})]}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 md:gap-6 mb-8",children:[e.jsx(i,{className:"glass-card",children:e.jsx(n,{className:"pt-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"icon-bg-blue w-12 h-12 rounded-xl flex items-center justify-center",children:e.jsx(u,{className:"h-6 w-6 text-blue"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-2xl font-bold",children:(a==null?void 0:a.length)||0}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Total"})]})]})})}),e.jsx(i,{className:"glass-card",children:e.jsx(n,{className:"pt-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"icon-bg-green w-12 h-12 rounded-xl flex items-center justify-center",children:e.jsx(B,{className:"h-6 w-6 text-green"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-2xl font-bold",children:d.length}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Open"})]})]})})}),e.jsx(i,{className:"glass-card",children:e.jsx(n,{className:"pt-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"icon-bg-orange w-12 h-12 rounded-xl flex items-center justify-center",children:e.jsx(p,{className:"h-6 w-6 text-orange"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-2xl font-bold",children:o.length}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Active"})]})]})})}),e.jsx(i,{className:"glass-card",children:e.jsx(n,{className:"pt-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"icon-bg-purple w-12 h-12 rounded-xl flex items-center justify-center",children:e.jsx(j,{className:"h-6 w-6 text-purple"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-2xl font-bold",children:(a==null?void 0:a.reduce((s,c)=>s+(c.proposals_count||0),0))||0}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Proposals"})]})]})})})]}),e.jsxs($,{defaultValue:"open",children:[e.jsxs(k,{className:"mb-6",children:[e.jsxs(x,{value:"open",children:["Open (",d.length,")"]}),e.jsxs(x,{value:"active",children:["Active (",o.length,")"]}),e.jsxs(x,{value:"closed",children:["Closed (",m.length,")"]})]}),[{value:"open",list:d},{value:"active",list:o},{value:"closed",list:m}].map(({value:s,list:c})=>e.jsx(M,{value:s,children:c.length>0?e.jsx("div",{className:"space-y-4",children:c.map(l=>{var h;return e.jsx(i,{className:`glass-card ${s==="closed"?"opacity-75":""}`,children:e.jsx(n,{className:"pt-6",children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[e.jsx(t,{to:`/freelancing/project/${l.id}`,className:"text-xl font-semibold hover:text-primary transition-colors",children:l.title}),e.jsx(g,{variant:"secondary",className:"capitalize",children:(h=l.status)==null?void 0:h.replace("_"," ")})]}),e.jsx("p",{className:"text-muted-foreground mt-1 line-clamp-2",children:l.description}),e.jsxs("div",{className:"flex items-center gap-4 mt-4 text-sm text-muted-foreground flex-wrap",children:[e.jsx(g,{variant:"outline",children:l.category}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(_,{className:"h-4 w-4"}),l.budget_min&&l.budget_max?`$${l.budget_min} - $${l.budget_max}`:"Budget TBD"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(j,{className:"h-4 w-4"}),l.proposals_count," proposals"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(p,{className:"h-4 w-4"}),J(new Date(l.created_at),{addSuffix:!0})]})]})]}),e.jsxs("div",{className:"flex gap-2 ml-4",children:[e.jsx(t,{to:`/freelancing/project/${l.id}`,children:e.jsxs(r,{variant:"outline",size:"sm",className:"gap-1",children:[e.jsx(L,{className:"h-4 w-4"})," View"]})}),s==="open"&&e.jsxs(S,{children:[e.jsx(z,{asChild:!0,children:e.jsx(r,{variant:"outline",size:"sm",className:"gap-1 text-destructive hover:text-destructive",children:e.jsx(I,{className:"h-4 w-4"})})}),e.jsxs(U,{children:[e.jsxs(O,{children:[e.jsx(V,{children:"Delete Project?"}),e.jsxs(q,{children:['This will permanently delete "',l.title,'" and all associated data. This action cannot be undone.']})]}
1),e.jsxs(H,{children:[e.jsx(R,{children:"Cancel"}),e.jsx(Z,{onClick:()=>b.mutate(l.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})]})]})]})})},l.id)})}):e.jsx(i,{className:"glass-card",children:e.jsxs(n,{className:"py-12 text-center",children:[e.jsx(u,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),e.jsxs("h3",{className:"text-xl font-semibold mb-2",children:["No ",s," projects"]}),s==="open"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-muted-foreground mb-6",children:"Post a project to start receiving proposals"}),e.jsx(t,{to:"/freelancing/post",children:e.jsx(r,{className:"btn-premium",children:"Post a Project"})})]})]})})},s))]})]})})};export{ie as default};
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.