Skip to content

feat: skeleton loading for list tables#28

Merged
jlc488 merged 1 commit into
mainfrom
feat/table-loading-skeletons
Jun 3, 2026
Merged

feat: skeleton loading for list tables#28
jlc488 merged 1 commit into
mainfrom
feat/table-loading-skeletons

Conversation

@jlc488

@jlc488 jlc488 commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

EN

Replaces the default spinner overlay on the list screens with a table-shaped skeleton (header strip + placeholder rows) on first load, so the page hints at its structure instead of flashing an empty area. Matches the Skeleton already used on the dashboard.

  • new reusable <TableSkeleton :columns :rows :label /> (PrimeVue Skeleton)
  • shown via v-if="loading && !items.length"; the real table is v-else, so background refreshes keep showing data (no skeleton flash on reload)
  • applied to Users, Roles, Permissions, Groups, Tenants, Policies, Audit Logs (DataTable) and Menus (TreeTable)
  • common.loading i18n key (en/ko) for the aria-label

Verification: npm run build (vue-tsc type-check + Vite) — green.

KO (한국어)

리스트 화면의 기본 스피너 오버레이를 첫 로드 시 테이블 모양 스켈레톤(헤더 + 플레이스홀더 행)으로 교체. 빈 영역이 번쩍이는 대신 구조를 미리 보여줍니다. 대시보드에서 이미 쓰는 Skeleton과 일관.

  • 재사용 <TableSkeleton :columns :rows :label /> (PrimeVue Skeleton)
  • v-if="loading && !items.length"로 표시, 실제 테이블은 v-else백그라운드 새로고침은 데이터를 계속 표시
  • Users·Roles·Permissions·Groups·Tenants·Policies·Audit Logs(DataTable)와 Menus(TreeTable)에 적용
  • aria-label용 common.loading i18n 키(한/영)

검증: npm run build(vue-tsc + Vite) — green.

Replace the default spinner overlay on the list screens with a
table-shaped skeleton (header strip + placeholder rows) on first load, so
the page hints at its structure instead of flashing an empty area. Matches
the Skeleton already used on the dashboard.

- new reusable <TableSkeleton :columns :rows :label /> (PrimeVue Skeleton)
- shown via v-if="loading && !items.length"; the real table is v-else, so
  background refreshes keep showing data (no skeleton flash on reload)
- applied to Users, Roles, Permissions, Groups, Tenants, Policies,
  Audit Logs (DataTable) and Menus (TreeTable)
- common.loading i18n key (en/ko) for the aria-label

Verification: npm run build (vue-tsc + Vite) green.
@jlc488 jlc488 merged commit 64eab65 into main Jun 3, 2026
3 checks passed
@jlc488 jlc488 deleted the feat/table-loading-skeletons branch June 3, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant