diff --git a/app/components/flow/satusehat/list.vue b/app/components/flow/satusehat/list.vue new file mode 100644 index 00000000..c1634333 --- /dev/null +++ b/app/components/flow/satusehat/list.vue @@ -0,0 +1,107 @@ + + + diff --git a/app/components/pub/base/service-status.type.ts b/app/components/pub/base/service-status.type.ts new file mode 100644 index 00000000..f3d15cd0 --- /dev/null +++ b/app/components/pub/base/service-status.type.ts @@ -0,0 +1,7 @@ +export interface ServiceStatus { + serviceName: string + serviceDesc: string + sessionActive: boolean + status: 'connected' | 'connecting' | 'error' | 'disconnected' + isSkeleton?: boolean +} diff --git a/app/components/pub/base/service-status.vue b/app/components/pub/base/service-status.vue new file mode 100644 index 00000000..853e0469 --- /dev/null +++ b/app/components/pub/base/service-status.vue @@ -0,0 +1,68 @@ + + + diff --git a/app/components/pub/base/summary-card.type.ts b/app/components/pub/base/summary-card.type.ts index 64304eaf..be04a9ce 100644 --- a/app/components/pub/base/summary-card.type.ts +++ b/app/components/pub/base/summary-card.type.ts @@ -1,7 +1,7 @@ export interface Summary { title: string icon: Component - metric: number + metric: number | string trend: number timeframe: 'yearly' | 'monthly' | 'weekly' | 'daily' } diff --git a/app/components/pub/base/summary-card.vue b/app/components/pub/base/summary-card.vue index d3413111..d6454627 100644 --- a/app/components/pub/base/summary-card.vue +++ b/app/components/pub/base/summary-card.vue @@ -41,7 +41,7 @@ const isTrending = computed(() => (props.stat?.trend ?? 0) > 0) - + @@ -54,10 +54,8 @@ const isTrending = computed(() => (props.stat?.trend ?? 0) > 0) {{ props.stat.metric.toLocaleString('id-ID') }}

- + {{ props.stat.trend.toFixed(1) }}% diff --git a/app/lib/page-permission.ts b/app/lib/page-permission.ts index 797dd077..3106506a 100644 --- a/app/lib/page-permission.ts +++ b/app/lib/page-permission.ts @@ -9,4 +9,12 @@ export const PAGE_PERMISSIONS = { billing: ['R'], management: ['R'], }, + '/satusehat': { + doctor: ['R'], + nurse: ['R'], + admisi: ['C', 'R', 'U', 'D'], + pharmacy: ['R'], + billing: ['R'], + management: ['R'], + }, } as const satisfies Record diff --git a/app/pages/(features)/satusehat/[id]/detail.vue b/app/pages/(features)/satusehat/[id]/detail.vue new file mode 100644 index 00000000..c1014755 --- /dev/null +++ b/app/pages/(features)/satusehat/[id]/detail.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/pages/(features)/satusehat/[id]/edit.vue b/app/pages/(features)/satusehat/[id]/edit.vue new file mode 100644 index 00000000..351fe46e --- /dev/null +++ b/app/pages/(features)/satusehat/[id]/edit.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/pages/(features)/satusehat/add.vue b/app/pages/(features)/satusehat/add.vue new file mode 100644 index 00000000..d1fee557 --- /dev/null +++ b/app/pages/(features)/satusehat/add.vue @@ -0,0 +1,40 @@ + + + diff --git a/app/pages/(features)/satusehat/index.vue b/app/pages/(features)/satusehat/index.vue new file mode 100644 index 00000000..2c7bb9f5 --- /dev/null +++ b/app/pages/(features)/satusehat/index.vue @@ -0,0 +1,39 @@ + + +