Commit Graph

48 Commits

Author SHA1 Message Date
Khafid Prayoga a3905dd9b9 feat(data-table): add skeletonSize prop to customize loading rows
Add optional skeletonSize prop to control the number of skeleton rows displayed during loading. Defaults to 5 if not provided.
2025-09-03 15:34:11 +07:00
Khafid Prayoga a9c286bd0a feat(division): impl division list+entry
feat(form): add accessibility improvements to form components

- Add labelFor prop to Label component for better form element association
- Enhance Combobox with ARIA attributes for better screen reader support
- Update form fields with proper IDs and label associations

feat(pagination): adjust button width based on page number length

Add dynamic button sizing for pagination items to accommodate different digit lengths (1-99, 100-999, 1000+). This improves visual consistency when displaying varying page numbers.

feat(modal): add reusable dialog component and refactor division form

- Create new Dialog.vue component with configurable size and outside click prevention
- Replace inline dialog implementation in division list with new Dialog component
- Fix formatting in entry-form.vue

feat(data-table): add click handling for action cells

Implement handleActionCellClick function to manage click events on action cells, triggering dropdown buttons when clicked outside interactive elements. Add cursor-pointer class and click handler to action cells for better UX.

refactor(custom-ui): centralize action event strings in types

Replace hardcoded action event strings with constants from types.ts to improve maintainability and reduce potential typos

feat(confirmation): add reusable confirmation modal components

- Implement base confirmation.vue component with customizable props
- Create record-specific record-confirmation.vue for data operations
- Add comprehensive README.md documentation for usage
- Integrate confirmation flow in division list component

refactor(components): move dialog component to base directory and update imports

The dialog component was moved from custom-ui/modal to base/modal to better reflect its shared usage across the application. All import paths referencing the old location have been updated accordingly.

refactor(select): reorganize imports and adjust conditional formatting

- Reorder imports in Select.vue for better organization
- Adjust logical operator formatting in SelectContent.vue for consistency
2025-09-03 15:13:44 +07:00
Khafid Prayoga add19f33a2 feat(data-table): add size prop to action components
Add size prop configuration to action components in data table to allow consistent sizing. Update dropdown action component to accept size prop with default value.
2025-09-02 16:25:32 +07:00
Khafid Prayoga 664849e15b feat(division): add form dialog for creating new division
- Implement dialog form with validation schema for division creation
- Add combobox component for parent division selection
- Include form submission handling with reset and error states
- a11y
2025-09-02 16:14:40 +07:00
Khafid Prayoga 132068fcde feat(division): implement division list with pagination and search
- Add schema validation for query parameters
- Create pagination component with type definitions
- Implement division list view with search functionality
- Add data table configuration for division listing
- Handle pagination state and URL synchronization
2025-09-01 15:08:55 +07:00
Khafid Prayoga b1b324e688 refactor(data-table): improve type safety and component rendering
- Replace generic 'any' types with specific type imports for better type safety
- Add optional chaining for funcComponent to prevent potential runtime errors
- Update funcHtml and funcParsed to include rowIndex parameter in callbacks
2025-09-01 11:35:02 +07:00
Khafid Prayoga 529b8ef7df feat(installation): add installation entry form and pages
- Create new installation entry form component with validation
- Add installation list and add pages with basic routing
- Implement custom select component for encounter class selection
- Update SelectTrigger styling for better icon positioning
2025-08-29 16:33:20 +07:00
Khafid Prayoga 5e1775d057 feat(unit): add unit management pages and form components
- Create new unit list and add pages under org-src feature
- Implement unit entry form with validation using zod
- Update error types to support readonly path property
- Refactor field component to use shared error type
2025-08-29 13:39:59 +07:00
Khafid Prayoga 89710d9768 feat(combobox): add reusable combobox component with search and selection
Implement a combobox component with search functionality and item selection. The component supports displaying item labels with optional codes, maintains selected item state, and provides customizable placeholders. Items are sorted with selected items first followed by alphabetical order.
2025-08-28 15:24:14 +07:00
Abizrh 00d4419bc7 Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-fe into feat/user 2025-08-28 12:01:55 +07:00
Abizrh 4cb2e92235 enhance (pub): adjust component 2025-08-28 02:03:27 +07:00
Khafid Prayoga 6ad99d45f2 Fix/linter (#10)
* fix(style): formatting inconsistencies across codebase

- Remove trailing semicolons from TypeScript imports
- Fix Vue template indentation and line breaks
- Standardize component attribute formatting
- Remove unnecessary empty lines
- Reorder import statements for consistency

* chore: update import path and add editorconfig

Update SidebarNavLink import path to match new component structure and add standard editorconfig for consistent code formatting
2025-08-27 13:06:40 +07:00
Khafid Prayoga 153c171a3b refactor(ui): migrate button and pagination components to radix-vue
- Replace reka-ui imports with radix-vue in Button component
- Update pagination components to use direct radix-vue icons
- Simplify button variants styling and adjust size variants
- Remove unused data-slot attribute from Button component
2025-08-26 16:57:11 +07:00
Khafid Prayoga e21e5f1e7a refactor(ui): improve layout consistency and table styling
- Add container borders and padding for better visual hierarchy
- Standardize table cell borders across components
- Reset query params to defaults when changing resource type
- Clear data on fetch error to prevent stale data display
- Translate "No data available" to Indonesian
2025-08-26 15:15:14 +07:00
Khafid Prayoga 5685b31c48 feat(satusehat): implement query schema and improve data table
- Add schema.query.ts for query validation with zod
- Move constants to const.ts for better organization
- Refactor list.vue to use new query schema and constants
- Add empty state handling to data-table.vue
2025-08-26 13:10:09 +07:00
Khafid Prayoga de7a833ddc Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/satusehat 2025-08-25 14:58:45 +07:00
Khafid Prayoga 31084be5ce feat(loading-state): add loading indicators and skeleton UI for data tables
- Implement loading state management across patient, doctor and satusehat lists
- Add skeleton loading UI for data tables during data fetching
- Refactor loading state variable naming for consistency
- Make search nav optional in header component
- Update icon sizing in header for better responsiveness
- Implement url search params query state at satusehat
2025-08-25 13:33:28 +07:00
Abizrh f7815da6fc Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-fe into fix/structure 2025-08-25 10:07:24 +07:00
Abizrh 61b71f7e76 ⚠️ refactor (components): restructure components to custom-ui 2025-08-25 09:59:44 +07:00
Khafid Prayoga 92d6e2af10 Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/satusehat 2025-08-22 11:34:40 +07:00
Khafid Prayoga ae0acf84d0 refactor(ui): update import paths from @/lib/utils to ~/lib/utils
Standardize import paths across UI components to use ~/lib/utils alias instead of @/lib/utils for better consistency and maintainability.
2025-08-22 11:18:06 +07:00
Khafid Prayoga 6fe1bd2c48 feat(satusehat): add search component, card summary and date picker
- Implement search component with lucide-vue-next icon
- Create card summary component for displaying summary data
- Add date picker component with range selection functionality
- Update list configuration and styling
- Reorganize package.json structure
2025-08-21 14:43:42 +07:00
Khafid Prayoga d913724d62 feat(satusehat): add patient list components and integration
- Implement badge components for patient and status display
- Create list component with configurable table columns
- Add entry form for new patient registration
- Integrate with existing SatuSehat service flow
2025-08-20 14:50:17 +07:00
Khafid Prayoga ff67dd5146 Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/satusehat 2025-08-20 09:38:49 +07:00
Abizrh 5e4184d45a feat (doctor): implement doctor entry form and navigation 2025-08-19 17:57:32 +07:00
Khafid Prayoga 341c27679c refactor(data-table): improve type safety and rendering logic
- Replace ambiguous `object` types with more specific type definitions
- Separate HTML rendering from plain text interpolation for better security
- Simplify template logic by removing nested ternary operations
2025-08-19 16:51:21 +07:00
Khafid Prayoga 3e6e773313 style: add loader state on acquiring token 2025-08-19 15:50:17 +07:00
Khafid Prayoga 066a884bf0 Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/satusehat 2025-08-19 11:05:03 +07:00
Khafid Prayoga b1cb24cae3 feat(satusehat): add integration pages and components
Add new SatuSehat integration feature including:
- Page components for list, add, edit, and detail views
- Service status component and type definitions
- Summary card component updates for string metrics
- RBAC permissions configuration for SatuSehat routes
2025-08-19 11:01:28 +07:00
Abizrh fe46db6bc6 feat (dashboard): implement dashboard page with summary cards and quick actions 2025-08-15 16:30:48 +07:00
Abizrh 878211bc7f ⚠️ refactor (form): refactor label component for improved styling and responsiveness 2025-08-14 16:33:19 +07:00
Abizrh 922820f1b0 feat (base): introduce base data table component 2025-08-13 17:04:54 +07:00
Abizrh 929758fe00 🎨 enhance (layout): improve default layout styling 2025-08-13 13:24:56 +07:00
Abizrh d8d7d61fca enhance (auth): clear store on 401 and redirect to /401 2025-08-13 13:17:21 +07:00
Khafid Prayoga b51f4c248d Merge remote-tracking branch 'origin/dev' into feat/patient 2025-08-13 10:24:49 +07:00
Abizrh db9a87d825 feat (patient): add error page for patient add page permission 2025-08-13 10:12:12 +07:00
Abizrh d0e55217ed feat (pub/nav): add dropdown action components 2025-08-12 17:07:10 +07:00
Abizrh 7ae9a9adfe feat (patient): implement patient list and entry form 2025-08-12 17:01:50 +07:00
Khafid Prayoga 949aa718b6 add condition if zero trends , hide the timeframe 2025-08-12 14:58:29 +07:00
Khafid Prayoga 7f7dfe0a02 feat(pub/base): add reusable Summary Card + Summary type
- Add `summary-card.vue` with skeleton state 
- Add `summary-card.type.ts` with `Summary` interface and timeframe mapping 📅
2025-08-12 14:38:20 +07:00
Abizrh 500cdb6a21 🐛 fix (input): correct input border color and search input border 2025-08-12 14:18:20 +07:00
Abizrh 125d7857ce feat (rbac): implement role-based access control 2025-08-12 11:32:36 +07:00
Abizrh 59db7a8479 feat (form): add form components 2025-08-11 09:41:09 +07:00
Abizrh 659a320439 feat (header): add button click functionality 2025-08-10 17:08:09 +07:00
Abizrh 376af79449 feat (patient): add edit page 2025-08-08 20:38:16 +07:00
Abizrh 992c54fcd5 feat (styles): introduce main.css for base styles and css variables 2025-08-08 14:46:04 +07:00
Abizrh 2e01715df4 ⚙️ chore (config): add tailwind css and components config 2025-08-08 11:30:48 +07:00
Abizrh 645383e5cb feat (ui): add radix vue components library 2025-08-07 14:45:37 +07:00