1import{r,j as t,H as T,b as j}from"./app-CT5W2w1e.js";import{A,S as O}from"./AppLayout-Bp2mCWJC.js";import{A as L}from"./AnimeCard-D2wpQ6oR.js";import{X as k}from"./x-btf9WeGQ.js";import{S as w}from"./search-B2rcMn1K.js";import{A as R}from"./arrow-right-CiNpS7wM.js";import{C as H}from"./chevron-left-CjiK7YW9.js";import{C as E}from"./chevron-right-C7k0Tinf.js";import"./Footer-C9AN1H7A.js";import"./createLucideIcon-Cf1dIAnO.js";import"./zap-DiHSG1tP.js";import"./star-Bx4yTjGg.js";import"./twitter-DnUcnvqX.js";import"./users-B6jT6Gbo.js";import"./log-out-DLsg0oMs.js";import"./clock-DfWuQZFw.js";const F=["#","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],M=[{value:"latest",label:"Terbaru"},{value:"popular",label:"Terpopuler"},{value:"rating",label:"Rating Tertinggi"},{value:"title",label:"Judul (A-Z)"}],$=[{value:"all",label:"Semua Status"},{value:"Ongoing",label:"Ongoing"},{value:"Completed",label:"Completed"},{value:"Hiatus",label:"Hiatus"}];function ee({animes:s,genres:N,filters:o={}}){const[d,i]=r.useState(o.search||""),[c,b]=r.useState(o.sort||"latest"),[x,h]=r.useState(o.status||"all"),[n,p]=r.useState(o.letter||""),[m,g]=r.useState(o.genre||""),[v,S]=r.useState(!1),l=(e={})=>{const a={search:e.search!==void 0?e.search:d,sort:e.sort!==void 0?e.sort:c,status:e.status!==void 0?e.status:x,letter:e.letter!==void 0?e.letter:n,genre:e.genre!==void 0?e.genre:m};Object.keys(a).forEach(u=>{(!a[u]||a[u]==="all")&&delete a[u]}),j.get("/movies",a,{preserveScroll:!0,replace:!0})},y=e=>{const a=n===e?"":e;p(a),l({letter:a})},C=e=>{e.preventDefault(),l()},f=()=>{i(""),b("latest"),h("all"),p(""),g(""),j.get("/movies",{},{preserveScroll:!0,replace:!0})},_=d||c!=="latest"||x!=="all"||n||m;return t.jsxs(A,{children:[t.jsx(T,{title:"Movie Anime List"}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 w-full",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6",children:[t.jsxs("div",{children:[t.jsx("h1",{className:"text-2xl font-extrabold text-slate-900 dark:text-white tracking-tight",children:"Movie Anime List"}),t.jsxs("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-0.5",children:[s.total," anime ditemukan"]})]}),_&&t.jsxs("button",{onClick:f,className:"flex items-center gap-1.5 text-xs font-semibold text-red-500 hover:text-red-700 border border-red-200 hover:border-red-400 bg-red-50 hover:bg-red-100 px-3 py-1.5 rounded-lg transition-all",children:[t.jsx(k,{className:"w-3.5 h-3.5"})," Reset Filter"]})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 mb-5",children:[t.jsxs("form",{onSubmit:C,className:"flex-1 relative",children:[t.jsx(w,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-400 pointer-events-none"}),t.jsx("input",{type:"text",value:d,onChange:e=>i(e.target.value),placeholder:"Cari judul anime...",className:"w-full pl-10 pr-10 py-2.5 rounded-xl bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-700 text-sm text-slate-800 dark:text-slate-100 placeholder:text-slate-400 outline-none focus:border-blue-400 focus:ring-2 focus:ring-blue-100 transition-all shadow-sm"}),d&&t.jsx("button",{type:"button",onClick:()=>{i(""),l({search:""})},className:"absolute right-10 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-700 dark:text-slate-200",children:t.jsx(k,{className:"w-4 h-4"})}),t.jsx("button",{type:"submit",className:"absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 hover:text-blue-600",children:t.jsx(R,{className:"w-4 h-4"})})]}),t.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[t.jsx("select",{value:c,onChange:e=>{b(e.target.value),l({sort:e.target.value})},className:"h-10 px-3 rounded-xl bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-700 text-sm text-slate-700 dark:text-slate-200 outline-none focus:border-blue-400 shadow-sm cursor-pointer",children:M.map(e=>t.jsx("option",{value:e.value,children:e.label},e.value))}),t.jsxs("button",{onClick:()=>S(e=>!e),className:`flex items-center gap-2 h-10 px-3.5 rounded-xl border text-sm font-semibold transition-all shadow-sm ${v?"bg-red-600 border-red-600 text-white":"bg-white dark:bg-slate-900 border-slate-200 dark:border-slate-700 text-slate-600 dar
1k:text-slate-300 hover:border-slate-300"}`,children:[t.jsx(O,{className:"w-4 h-4"}),t.jsx("span",{className:"hidden sm:inline",children:"Filter"})]})]})]}),v&&t.jsx("div",{className:"mb-5 bg-white dark:bg-slate-900 rounded-2xl border border-slate-200 dark:border-slate-700 p-4 shadow-sm animate-in fade-in slide-in-from-top-2 duration-200",children:t.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-semibold text-slate-600 dark:text-slate-300 mb-1.5 uppercase tracking-wide",children:"Status"}),t.jsx("select",{value:x,onChange:e=>{h(e.target.value),l({status:e.target.value})},className:"w-full h-10 px-3 rounded-xl bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-slate-700 text-sm text-slate-700 dark:text-slate-200 outline-none focus:border-blue-400",children:$.map(e=>t.jsx("option",{value:e.value,children:e.label},e.value))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-semibold text-slate-600 dark:text-slate-300 mb-1.5 uppercase tracking-wide",children:"Genre"}),t.jsxs("select",{value:m,onChange:e=>{g(e.target.value),l({genre:e.target.value})},className:"w-full h-10 px-3 rounded-xl bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-slate-700 text-sm text-slate-700 dark:text-slate-200 outline-none focus:border-blue-400",children:[t.jsx("option",{value:"",children:"Semua Genre"}),(N||[]).map(e=>t.jsx("option",{value:e.slug,children:e.name},e.id))]})]})]})}),t.jsx("div",{className:"mb-6 bg-white dark:bg-slate-900 rounded-2xl border border-slate-200 dark:border-slate-700 p-4 shadow-sm",children:t.jsx("div",{className:"flex flex-wrap gap-1.5 justify-center",children:F.map(e=>t.jsx("button",{onClick:()=>y(e),className:`w-9 h-9 rounded-lg font-semibold text-sm transition-all duration-150 ${n===e?"bg-gradient-to-r from-red-500 to-red-400 text-white shadow-lg shadow-red-500/20":"bg-slate-100 dark:bg-slate-800 text-slate-500 dark:text-slate-400 hover:bg-slate-200 hover:text-slate-800 dark:text-slate-100"}`,children:e},e))})}),s.data.length>0?t.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-4",children:s.data.map(e=>t.jsx(L,{anime:e},e.id))}):t.jsxs("div",{className:"flex flex-col items-center justify-center py-24 text-center",children:[t.jsx(w,{className:"w-12 h-12 text-slate-300 mb-4"}),t.jsx("p",{className:"text-slate-500 dark:text-slate-400 font-semibold text-lg",children:"Tidak ada anime ditemukan"}),t.jsx("p",{className:"text-slate-400 text-sm mt-1",children:"Coba ubah filter atau kata kunci pencarian"}),t.jsx("button",{onClick:f,className:"mt-4 px-4 py-2 bg-red-600 text-white rounded-lg text-sm font-semibold hover:bg-red-700 transition-colors",children:"Reset Filter"})]}),s.last_page>1&&t.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2 mt-10 select-none",children:[t.jsxs("a",{href:s.prev_page_url||"#",className:`flex items-center gap-1 px-3 py-2 rounded-lg border text-sm font-medium transition-all ${s.prev_page_url?"border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900 text-slate-700 dark:text-slate-200 hover:bg-red-50 shadow-sm":"opacity-40 pointer-events-none"}`,children:[t.jsx(H,{className:"w-4 h-4"})," Sebelumnya"]}),s.links.slice(1,-1).map((e,a)=>t.jsx("a",{href:e.url||"#",className:`px-3 py-2 rounded-lg border text-sm font-semibold transition-all ${e.active?"bg-red-600 border-red-600 text-white shadow":"bg-white dark:bg-slate-900 border-slate-200 dark:border-slate-700 text-slate-700 dark:text-slate-200 hover:bg-red-50 shadow-sm"}`,dangerouslySetInnerHTML:{__html:e.label}},a)),t.jsxs("a",{href:s.next_page_url||"#",className:`flex items-center gap-1 px-3 py-2 rounded-lg border text-sm font-medium transition-all ${s.next_page_url?"border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900 text-slate-700 dark:text-slate-200 hover:bg-red-50 shadow-sm":"opacity-40 pointer-events-none"}`,children:["Berikutnya ",t.jsx(E,{className:"w-4 h-4"})]})]})]})]})}export{ee 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.