Files
hipmi-mobile/service/api-admin/api-admin-voting.ts
bagasbanuna 76845b71b4 ## Perubahan Tampilan Admin
### File Baru (4)
- `screens/Admin/Voting/ScreenVotingStatus.tsx`
- `screens/Admin/Voting/ScreenVotingHistory.tsx`
- `screens/Admin/Voting/ScreenEventTypeOfEvent.tsx`
- `screens/Admin/Voting/BoxVotingStatus.tsx`

### File Diubah (3)
- `app/(application)/admin/voting/[status]/status.tsx` → 5 baris
- `app/(application)/admin/voting/history.tsx` → 5 baris
- `app/(application)/admin/event/type-of-event.tsx` → 5 baris

### API Updates (2)
- `service/api-admin/api-admin-voting.ts` → tambah param `page`
- `service/api-admin/api-master-admin.ts` → tambah param `page`

## Fitur Baru
- Pagination (infinite scroll)
- Pull-to-Refresh
- Skeleton Loading
- Empty State
- Search Functionality

### No Issue"
2026-02-18 14:28:15 +08:00

53 lines
1.1 KiB
TypeScript

import { typeRejectedData } from "@/types/type-collect-other";
import { apiConfig } from "../api-config";
export async function apiAdminVoting({
category,
search,
page = "1",
}: {
category: "dashboard" | "history" | "publish" | "review" | "report";
search?: string;
page?: string;
}) {
try {
const response = await apiConfig.get(
`/mobile/admin/voting?category=${category}&search=${search}&page=${page}`
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiAdminVotingById({ id }: { id: string }) {
try {
const response = await apiConfig.get(`/mobile/admin/voting/${id}`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiAdminVotingUpdateStatus({
id,
data,
status,
}: {
id: string;
data?: typeRejectedData;
status: "publish" | "review" | "reject";
}) {
try {
const response = await apiConfig.put(
`/mobile/admin/voting/${id}?status=${status}`,
{
data: data,
}
);
return response.data;
} catch (error) {
throw error;
}
}