makearmy-app/.next/server/app/projects/page.js
2025-09-22 10:37:53 -04:00

1 line
No EOL
10 KiB
JavaScript

(()=>{var e={};e.id=893,e.ids=[893],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},36688:(e,s,r)=>{Promise.resolve().then(r.bind(r,54290))},54290:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});let t=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/app/app/projects/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/app/app/projects/page.tsx","default")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74256:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>x});var t=r(60687),a=r(76180),o=r.n(a),d=r(43210),i=r(16189),c=r(85814),l=r.n(c),n=r(30474);function x(){let e=(0,i.useSearchParams)().get("query")||"",[s,r]=(0,d.useState)(e),[a,c]=(0,d.useState)(e),[x,p]=(0,d.useState)([]),[m,b]=(0,d.useState)(!0),[u]=(0,d.useState)(["assets","documents","fixtures","projects","templates","test files","tools"]),j=e=>e?.toLowerCase().replace(/[_\s]/g,""),f=(0,d.useMemo)(()=>{let e=j(a);return x.filter(s=>[s.title??"",s.uploader??"",s.category??"",Array.isArray(s.tags)?s.tags.join(" "):""].filter(Boolean).some(s=>j(s).includes(e)))},[x,a]),g=(0,d.useMemo)(()=>{let e={};return x.forEach(s=>{Array.isArray(s.tags)&&s.tags.forEach(s=>{e[s]=(e[s]||0)+1})}),e},[x]),h=Object.entries(g).sort((e,s)=>(Number(s[1])||0)-(Number(e[1])||0)).slice(0,10).map(([e])=>e),v=[...x].sort((e,s)=>s.submission_id-e.submission_id).slice(0,10).flatMap(e=>e.tags||[]).filter((e,s,r)=>r.indexOf(e)===s).slice(0,10),y=new Set(x.map(e=>e.uploader).filter(Boolean)).size,N=Object.keys(g).length;return(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 p-6 max-w-7xl mx-auto",children:[(0,t.jsx)(o(),{id:"55279b04e627cd12",children:"mark{background:#ffde59;color:#242424;padding:0 2px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:1rem}.project-card{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;background-color:#242424;color:var(--card-foreground);border:1px solid var(--border);-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;overflow:hidden;height:150px}.project-image{width:150px;height:150px;-o-object-fit:cover;object-fit:cover}.project-content{padding:.75rem;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.project-tags{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.project-tags span,.flex.flex-wrap span{display:inline-block;margin-right:.25rem;margin-bottom:.25rem;padding:.25rem .5rem;background-color:var(--muted);color:var(--foreground);-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;font-size:.7rem;cursor:pointer;-webkit-transition:background-color.2s ease;-moz-transition:background-color.2s ease;-o-transition:background-color.2s ease;transition:background-color.2s ease}.project-tags span:hover,.flex.flex-wrap span:hover{background-color:#ffde59;color:#000}"}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 grid md:grid-cols-2 xl:grid-cols-3 gap-4 mb-6",children:[(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 card bg-card text-card-foreground p-4",children:[(0,t.jsx)("h1",{className:"jsx-55279b04e627cd12 text-xl font-bold mb-2",children:"Community Projects"}),(0,t.jsx)("input",{type:"search",value:s,onChange:e=>r(e.target.value),placeholder:"Search projects...",className:"jsx-55279b04e627cd12 w-full dark:bg-background border border-border rounded-md p-2"}),(0,t.jsx)(l(),{href:"/",className:"inline-block mt-4 px-4 py-2 bg-accent text-background rounded-md text-sm",children:"← Back to Main Menu"})]}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 card bg-card text-card-foreground p-4",children:[(0,t.jsx)("h2",{className:"jsx-55279b04e627cd12 text-md font-semibold mb-2",children:"Popular Tags"}),h.length>0?(0,t.jsx)("div",{className:"jsx-55279b04e627cd12 flex flex-wrap",children:h.map((e,s)=>(0,t.jsx)("span",{onClick:()=>r(e),title:e,className:"jsx-55279b04e627cd12",children:e},s))}):(0,t.jsx)("p",{className:"jsx-55279b04e627cd12 text-sm text-muted-foreground",children:"No tags yet."})]}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 card bg-card text-card-foreground p-4",children:[(0,t.jsx)("h2",{className:"jsx-55279b04e627cd12 text-md font-semibold mb-2",children:"Recent Tags"}),v.length>0?(0,t.jsx)("div",{className:"jsx-55279b04e627cd12 flex flex-wrap",children:v.map((e,s)=>(0,t.jsx)("span",{onClick:()=>r(e),title:e,className:"jsx-55279b04e627cd12",children:e},s))}):(0,t.jsx)("p",{className:"jsx-55279b04e627cd12 text-sm text-muted-foreground",children:"No recent tags."})]}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 card bg-card text-card-foreground p-4",children:[(0,t.jsx)("h2",{className:"jsx-55279b04e627cd12 text-md font-semibold mb-2",children:"Project Stats"}),(0,t.jsxs)("p",{className:"jsx-55279b04e627cd12 text-sm text-muted-foreground",children:["Total Projects: ",x.length]}),(0,t.jsxs)("p",{className:"jsx-55279b04e627cd12 text-sm text-muted-foreground",children:["Unique Uploaders: ",y]}),(0,t.jsxs)("p",{className:"jsx-55279b04e627cd12 text-sm text-muted-foreground",children:["Total Tags: ",N]})]}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 card bg-card text-card-foreground p-4",children:[(0,t.jsx)("h2",{className:"jsx-55279b04e627cd12 text-md font-semibold mb-2",children:"Browse by Category"}),(0,t.jsx)("div",{className:"jsx-55279b04e627cd12 flex flex-wrap",children:u.map((e,s)=>(0,t.jsx)("span",{onClick:()=>r(e),className:"jsx-55279b04e627cd12",children:"test_files"===e?"test files":e},s))})]}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 card bg-card text-card-foreground p-4 flex flex-col justify-between",children:[(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12",children:[(0,t.jsx)("h2",{className:"jsx-55279b04e627cd12 text-md font-semibold mb-2",children:"Submit a Project"}),(0,t.jsx)("p",{className:"jsx-55279b04e627cd12 text-sm text-muted-foreground mb-2",children:"Have a cool design, tool, or jig to share? Submit it to the community database."})]}),(0,t.jsx)("button",{disabled:!0,className:"jsx-55279b04e627cd12 bg-muted text-foreground text-sm px-4 py-2 rounded opacity-50 cursor-not-allowed",children:"Coming Soon"})]})]}),(0,t.jsx)("hr",{className:"jsx-55279b04e627cd12 my-8 border-border"}),m?(0,t.jsx)("p",{className:"jsx-55279b04e627cd12 text-muted",children:"Loading projects..."}):0===f.length?(0,t.jsx)("p",{className:"jsx-55279b04e627cd12 text-muted",children:"No projects found."}):(0,t.jsx)("div",{className:"jsx-55279b04e627cd12 card-grid",children:f.map(e=>(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 project-card",children:[(0,t.jsx)(n.default,{src:`https://forms.lasereverything.net/assets/${e.p_image?.filename_disk}`,alt:e.p_image?.title||"Project image",width:150,height:150,className:"project-image"}),(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12 project-content",children:[(0,t.jsxs)("div",{className:"jsx-55279b04e627cd12",children:[(0,t.jsx)(l(),{href:`/projects/${e.submission_id}`,className:"text-base font-semibold text-accent underline",children:e.title||"Untitled"}),(0,t.jsxs)("p",{className:"jsx-55279b04e627cd12 text-xs text-muted-foreground",children:["Uploaded by: ",e.uploader||"—"]}),(0,t.jsxs)("p",{className:"jsx-55279b04e627cd12 text-xs text-muted-foreground",children:["Category: ",e.category||"—"]})]}),(0,t.jsx)("div",{className:"jsx-55279b04e627cd12 project-tags",children:Array.isArray(e.tags)&&e.tags.length>0?e.tags.map((e,s)=>(0,t.jsx)("span",{onClick:()=>r(e),title:e,className:"jsx-55279b04e627cd12",children:e},s)):""})]})]},e.submission_id))})]})}},76578:(e,s,r)=>{"use strict";r.r(s),r.d(s,{GlobalError:()=>d.a,__next_app__:()=>x,pages:()=>n,routeModule:()=>p,tree:()=>l});var t=r(65239),a=r(48088),o=r(88170),d=r.n(o),i=r(30893),c={};for(let e in i)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>i[e]);r.d(s,c);let l={children:["",{children:["projects",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,54290)),"/app/app/projects/page.tsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,79437)),"/app/app/projects/layout.tsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/app/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,n=["/app/app/projects/page.tsx"],x={require:r,loadChunk:()=>Promise.resolve()},p=new t.AppPageRouteModule({definition:{kind:a.RouteKind.APP_PAGE,page:"/projects/page",pathname:"/projects",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},79437:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>o});var t=r(37413),a=r(61120);function o({children:e}){return(0,t.jsx)(a.Suspense,{fallback:null,children:e})}},94832:(e,s,r)=>{Promise.resolve().then(r.bind(r,74256))}};var s=require("../../webpack-runtime.js");s.C(e);var r=e=>s(s.s=e),t=s.X(0,[7719,4825,5814,598,1661],()=>r(76578));module.exports=t})();