Sinkronisasi UI & API Admin - User Submenu Berita

This commit is contained in:
2025-08-08 14:31:28 +08:00
parent afc7bced44
commit a65529cb23
4 changed files with 95 additions and 15 deletions

View File

@@ -74,9 +74,11 @@ const berita = proxy({
totalPages: 1,
loading: false,
search: "",
async load(page = 1, limit = 10, search = "", kategori = "") {
this.loading = true;
this.page = page;
load: async (page = 1, limit = 10, search = "", kategori = "") => {
berita.findMany.loading = true; // ✅ Akses langsung via nama path
berita.findMany.page = page;
berita.findMany.search = search;
try {
const query: any = { page, limit };
if (search) query.search = search;
@@ -85,20 +87,20 @@ const berita = proxy({
const res = await ApiFetch.api.desa.berita["find-many"].get({ query });
if (res.status === 200 && res.data?.success) {
this.data = res.data.data ?? [];
this.totalPages = res.data.totalPages ?? 1;
berita.findMany.data = res.data.data ?? [];
berita.findMany.totalPages = res.data.totalPages ?? 1;
} else {
this.data = [];
this.totalPages = 1;
berita.findMany.data = [];
berita.findMany.totalPages = 1;
}
} catch (err) {
console.error("Gagal fetch berita paginated:", err);
this.data = [];
this.totalPages = 1;
berita.findMany.data = [];
berita.findMany.totalPages = 1;
} finally {
this.loading = false;
berita.findMany.loading = false;
}
}
},
},
findUnique: {

View File

@@ -89,7 +89,7 @@ function DetailBerita() {
<Button
onClick={() => {
if (beritaState.berita.findUnique.data) {
router.push(`/admin/desa/berita/${beritaState.berita.findUnique.data.id}/edit`);
router.push(`/admin/desa/berita/list-berita/${beritaState.berita.findUnique.data.id}/edit`);
}
}}
disabled={!beritaState.berita.findUnique.data}