| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/elite-events-storybook/ |
Upload File : |
"use strict";(self.webpackChunkelite_events_nextjs=self.webpackChunkelite_events_nextjs||[]).push([[1065],{"./src/components/features/admin/dev/DevTicketManagement/DevTicketFilters.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{A:()=>DevTicketFilters});var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/next/dist/compiled/react/jsx-runtime.js"),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/next/dist/compiled/react/index.js"),_constants_dev_ticket__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./src/constants/dev-ticket.ts"),_components_ui_icons__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./src/components/ui/icons/index.ts");function DevTicketFilters({filters,onChange}){const[projects,setProjects]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]),[sprints,setSprints]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]),[users,setUsers]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]),[epics,setEpics]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]),[searchInput,setSearchInput]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(filters.search),[showAdvanced,setShowAdvanced]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(!1);(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{Promise.all([fetch("/api/dev/projects").then(res=>res.json()),fetch("/api/dev/sprints?status=ACTIVE").then(res=>res.json()),fetch("/api/admin/users").then(res=>res.json()),fetch("/api/dev/tickets/epics").then(res=>res.json())]).then(([projectsData,sprintsData,usersData,epicsData])=>{setProjects(projectsData.data||[]),setSprints(sprintsData.data||[]),setUsers(usersData.data||usersData.users||[]),setEpics(epicsData.data||[])}).catch(()=>{})},[]),(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{const timer=setTimeout(()=>{searchInput!==filters.search&&onChange({...filters,search:searchInput})},300);return()=>clearTimeout(timer)},[searchInput,filters,onChange]);const handleChange=(key,value)=>{onChange({...filters,[key]:value})},hasActiveFilters=Object.entries(filters).some(([key,v])=>"showDeleted"===key?"active"!==v:""!==v),hasAdvancedFilters=""!==filters.category||""!==filters.parentId||""!==filters.projectId||""!==filters.sprintId||""!==filters.milestoneId||""!==filters.assigneeId;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"bg-white rounded-lg border border-gray-200 p-4",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"lg:col-span-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Search"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"relative",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input",{type:"text",value:searchInput,onChange:e=>setSearchInput(e.target.value),placeholder:"Search tickets (title, number, description)...",className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_ui_icons__WEBPACK_IMPORTED_MODULE_3__.In,{name:"search",size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"})]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Status"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.status,onChange:e=>handleChange("status",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Statuses"}),Object.entries(_constants_dev_ticket__WEBPACK_IMPORTED_MODULE_2__.HS).map(([key,config])=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:key,children:config.label},key))]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Type"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.type,onChange:e=>handleChange("type",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Types"}),Object.entries(_constants_dev_ticket__WEBPACK_IMPORTED_MODULE_2__.Pn).map(([key,config])=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:key,children:config.label},key))]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Priority"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.priority,onChange:e=>handleChange("priority",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Priorities"}),Object.entries(_constants_dev_ticket__WEBPACK_IMPORTED_MODULE_2__.XB).map(([key,config])=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:key,children:config.label},key))]})]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4 mt-4",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Category"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.category,onChange:e=>handleChange("category",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Categories"}),Object.entries(_constants_dev_ticket__WEBPACK_IMPORTED_MODULE_2__.vV).map(([key,config])=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("option",{value:key,children:[config.icon," ",config.label]},key))]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"lg:col-span-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Parent (Epic/Phase)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.parentId,onChange:e=>handleChange("parentId",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Parents"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"null",children:"Root Level (No Parent)"}),epics.map(epic=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("option",{value:epic.id,children:[epic.ticketNumber," - ",epic.title]},epic.id))]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Show"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.showDeleted,onChange:e=>handleChange("showDeleted",e.target.value),className:"w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent "+("deleted"===filters.showDeleted?"border-red-300 bg-red-50 text-red-700":"border-gray-300"),children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"active",children:"Active Tickets"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"deleted",children:"Deleted (Trash)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"all",children:"All Tickets"})]})]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"mt-4 flex items-center justify-between",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("button",{type:"button",onClick:()=>setShowAdvanced(!showAdvanced),className:"text-sm text-indigo-600 hover:text-indigo-800 flex items-center gap-1",children:[showAdvanced?"Hide":"Show"," Advanced Filters",hasAdvancedFilters&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-xs bg-indigo-100 text-indigo-700 rounded-full",children:"Active"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_ui_icons__WEBPACK_IMPORTED_MODULE_3__.In,{name:"chevron-down",size:16,className:"transition-transform "+(showAdvanced?"rotate-180":"")})]}),hasActiveFilters&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button",{type:"button",onClick:()=>{setSearchInput(""),onChange({status:"",type:"",priority:"",category:"",parentId:"",projectId:"",sprintId:"",milestoneId:"",assigneeId:"",search:"",showDeleted:"active"})},className:"text-sm text-gray-600 hover:text-gray-800 hover:bg-gray-100 px-3 py-1 rounded-lg transition-colors",children:"Clear All Filters"})]}),showAdvanced&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mt-4 pt-4 border-t border-gray-200",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Project"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.projectId,onChange:e=>handleChange("projectId",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Projects"}),projects.map(project=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("option",{value:project.id,children:[project.key?`[${project.key}] `:"",project.name]},project.id))]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Sprint"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.sprintId,onChange:e=>handleChange("sprintId",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Sprints"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"null",children:"Backlog (No Sprint)"}),sprints.map(sprint=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:sprint.id,children:sprint.name},sprint.id))]})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Assignee"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select",{value:filters.assigneeId,onChange:e=>handleChange("assigneeId",e.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"",children:"All Assignees"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:"null",children:"Unassigned"}),users.map(user=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option",{value:user.id,children:user.name},user.id))]})]})]})]})}}}]);