feat: localize "Plan" to "Paket" in UI components for consistency
This commit is contained in:
parent
ccc6204178
commit
51902b00b7
@ -34,7 +34,7 @@ const groups = [
|
||||
items: [
|
||||
{ title: 'Dashboard', url: '/admin/dashboard', icon: LayoutDashboard },
|
||||
{ title: 'Jenis Bisnis', url: '/admin/business-types', icon: BriefcaseBusiness },
|
||||
{ title: 'Plans', url: '/admin/plans', icon: CreditCard },
|
||||
{ title: 'Paket', url: '/admin/plans', icon: CreditCard },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@ -69,7 +69,7 @@ const formLoading = ref(false)
|
||||
const deleteLoading = ref(false)
|
||||
|
||||
// --- Computed ---
|
||||
const formTitle = computed(() => formMode.value === 'create' ? 'Tambah Plan' : 'Edit Plan')
|
||||
const formTitle = computed(() => formMode.value === 'create' ? 'Tambah Paket' : 'Edit Paket')
|
||||
|
||||
// --- Table callbacks ---
|
||||
function openCreateForm() {
|
||||
@ -106,7 +106,7 @@ async function handleToggleStatus(plan: Plan, value: boolean) {
|
||||
p.id === plan.id ? { ...p, is_active: value } : p
|
||||
)
|
||||
}
|
||||
toast.success(`Plan berhasil di${value ? 'aktifkan' : 'nonaktifkan'}`)
|
||||
toast.success(`Paket berhasil di${value ? 'aktifkan' : 'nonaktifkan'}`)
|
||||
} catch (e: any) {
|
||||
toast.error(e?.data?.message ?? 'Gagal mengubah status')
|
||||
}
|
||||
@ -138,19 +138,19 @@ async function handleFormSubmit() {
|
||||
method: 'POST',
|
||||
body,
|
||||
})
|
||||
toast.success('Plan berhasil ditambahkan')
|
||||
toast.success('Paket berhasil ditambahkan')
|
||||
} else {
|
||||
await $fetch(`${config.public.apiBase}/plans/${selectedPlan.value!.id}`, {
|
||||
method: 'PUT',
|
||||
body,
|
||||
})
|
||||
toast.success('Plan berhasil diperbarui')
|
||||
toast.success('Paket berhasil diperbarui')
|
||||
}
|
||||
|
||||
formOpen.value = false
|
||||
await refresh()
|
||||
} catch (e: any) {
|
||||
toast.error(e?.data?.message ?? 'Gagal menyimpan plan')
|
||||
toast.error(e?.data?.message ?? 'Gagal menyimpan paket')
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
@ -164,12 +164,12 @@ async function handleConfirmDelete() {
|
||||
await $fetch(`${config.public.apiBase}/plans/${selectedPlan.value.id}`, {
|
||||
method: 'DELETE',
|
||||
})
|
||||
toast.success('Plan berhasil dihapus')
|
||||
toast.success('Paket berhasil dihapus')
|
||||
deleteOpen.value = false
|
||||
selectedPlan.value = null
|
||||
await refresh()
|
||||
} catch (e: any) {
|
||||
toast.error(e?.data?.message ?? 'Gagal menghapus plan')
|
||||
toast.error(e?.data?.message ?? 'Gagal menghapus paket')
|
||||
} finally {
|
||||
deleteLoading.value = false
|
||||
}
|
||||
@ -220,7 +220,7 @@ watch(deleteOpen, (val) => {
|
||||
<div class="flex flex-col gap-4 py-4 md:gap-6 md:py-6">
|
||||
<div class="px-4 lg:px-6">
|
||||
<div class="flex items-center justify-between">
|
||||
<h1 class="text-2xl font-bold">Plans</h1>
|
||||
<h1 class="text-2xl font-bold">Paket</h1>
|
||||
<Button size="sm" @click="openCreateForm">
|
||||
<Plus class="h-4 w-4 mr-1" />
|
||||
Tambah
|
||||
@ -324,7 +324,7 @@ watch(deleteOpen, (val) => {
|
||||
</Dialog>
|
||||
|
||||
<!-- ==================== DELETE DIALOG ==================== -->
|
||||
<DeleteDialog v-model:open="deleteOpen" title="Hapus Plan" :item-name="selectedPlan?.name" :loading="deleteLoading"
|
||||
<DeleteDialog v-model:open="deleteOpen" title="Hapus Paket" :item-name="selectedPlan?.name" :loading="deleteLoading"
|
||||
@confirm="handleConfirmDelete" />
|
||||
</SidebarProvider>
|
||||
</template>
|
||||
|
||||
30
docs/history/2026-07-25-plans-to-paket.md
Normal file
30
docs/history/2026-07-25-plans-to-paket.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Localisasi Module Plans: Plan → Paket
|
||||
|
||||
**Tanggal:** 2026-07-25
|
||||
**Status:** Selesai
|
||||
|
||||
## Tujuan
|
||||
Mengganti seluruh teks "Plan"/"Plans" yang ditampilkan ke user menjadi "Paket" agar konsisten menggunakan Bahasa Indonesia.
|
||||
|
||||
## Yang Dikerjakan
|
||||
|
||||
### 1. Halaman Plans (`index.vue`)
|
||||
- Judul halaman: `Plans` → `Paket`
|
||||
- Form dialog: `Tambah Plan` / `Edit Plan` → `Tambah Paket` / `Edit Paket`
|
||||
- Delete dialog: `Hapus Plan` → `Hapus Paket`
|
||||
- Toast sukses: `Plan berhasil ditambahkan/diperbarui/dihapus/diaktifkan` → `Paket berhasil ...`
|
||||
- Toast error: `Gagal menyimpan plan` / `Gagal menghapus plan` → `Gagal menyimpan paket` / `Gagal menghapus paket`
|
||||
|
||||
### 2. Sidebar Navigation (`AppSidebar.vue`)
|
||||
- Label menu: `Plans` → `Paket`
|
||||
|
||||
## File yang Diubah
|
||||
|
||||
| File | Aksi | Detail |
|
||||
|------|------|--------|
|
||||
| `app/pages/admin/plans/index.vue` | Diubah | 9 perubahan string "Plan" → "Paket" di UI text |
|
||||
| `app/components/AppSidebar.vue` | Diubah | 1 perubahan label navigasi "Plans" → "Paket" |
|
||||
|
||||
## Notes
|
||||
- Hanya UI string literals yang diubah. Nama variabel (`selectedPlan`, `plans`, dll) dan kode tetap menggunakan "Plan".
|
||||
- Endpoint API (`/v1/plans`) tidak diubah.
|
||||
Loading…
Reference in New Issue
Block a user