MCPcopy
hub / github.com/Peppermint-Lab/peppermint / Tickets

Function Tickets

apps/client/pages/issues/index.tsx:66–780  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

64);
65
66export default function Tickets() {
67 const router = useRouter();
68 const { t } = useTranslation("peppermint");
69
70 const token = getCookie("session");
71 const { data, status, error, refetch } = useQuery(
72 "allusertickets",
73 () => getUserTickets(token),
74 {
75 refetchInterval: 5000,
76 }
77 );
78
79 const user = useUser();
80
81 const high = "bg-red-100 text-red-800";
82 const low = "bg-blue-100 text-blue-800";
83 const normal = "bg-green-100 text-green-800";
84
85 const [selectedPriorities, setSelectedPriorities] = useState<string[]>(() => {
86 const saved = localStorage.getItem('all_selectedPriorities');
87 return saved ? JSON.parse(saved) : [];
88 });
89
90 const [selectedStatuses, setSelectedStatuses] = useState<string[]>(() => {
91 const saved = localStorage.getItem('all_selectedStatuses');
92 return saved ? JSON.parse(saved) : [];
93 });
94
95 const [selectedAssignees, setSelectedAssignees] = useState<string[]>(() => {
96 const saved = localStorage.getItem('all_selectedAssignees');
97 return saved ? JSON.parse(saved) : [];
98 });
99
100 // Update local storage when filters change
101 useEffect(() => {
102 localStorage.setItem('all_selectedPriorities', JSON.stringify(selectedPriorities));
103 localStorage.setItem('all_selectedStatuses', JSON.stringify(selectedStatuses));
104 localStorage.setItem('all_selectedAssignees', JSON.stringify(selectedAssignees));
105 }, [selectedPriorities, selectedStatuses, selectedAssignees]);
106
107 const [users, setUsers] = useState<any[]>([]);
108
109 const handlePriorityToggle = (priority: string) => {
110 setSelectedPriorities((prev) =>
111 prev.includes(priority)
112 ? prev.filter((p) => p !== priority)
113 : [...prev, priority]
114 );
115 };
116
117 const handleStatusToggle = (status: string) => {
118 setSelectedStatuses((prev) =>
119 prev.includes(status)
120 ? prev.filter((s) => s !== status)
121 : [...prev, status]
122 );
123 };

Callers

nothing calls this directly

Calls 11

useUserFunction · 0.90
cnFunction · 0.90
toastFunction · 0.90
getUserTicketsFunction · 0.70
fetchUsersFunction · 0.70
handlePriorityToggleFunction · 0.70
handleStatusToggleFunction · 0.70
handleAssigneeToggleFunction · 0.70
updateTicketStatusFunction · 0.70
updateTicketAssigneeFunction · 0.70
updateTicketPriorityFunction · 0.70

Tested by

no test coverage detected