Commit Graph
66 Commits
Author SHA1 Message Date
Firman Ramdhani 5572bca964 refactor: implement nested menu support in sidebar using recursive components and flyout menus 2026-07-03 14:19:34 +07:00
Firman Ramdhani 81fa9aa9d6 feat: implement dynamic sidebar navigation with module-based routing and layout integration 2026-07-03 13:26:26 +07:00
Firman Ramdhani 0e9188aeae feat: implement single-page module with data services, transformers, and UI components 2026-07-03 11:53:48 +07:00
Firman Ramdhani 299ddaad27 feat: add initial implementation of state management for full-page presentation 2026-07-01 18:06:40 +07:00
Firman Ramdhani 8f14c4bc7b feat: add RowActions component for enhanced row-level actions in data grids
- Introduced RowActions component to manage row-level actions with tooltips and dropdown menus.
- Created types for row actions and page actions to standardize action properties.
- Implemented utility function to map action intents to Mantine theme colors.
- Updated CoreAppShell component to support optional slots for better flexibility.
- Added enterprise module structure with context hooks for managing module state and actions.
- Implemented draft management for forms to enhance user experience during data entry.
- Established context providers for detail, form, and index pages to streamline data handling.
- Updated dependencies to ensure compatibility with the latest versions.
2026-07-01 17:04:20 +07:00
Firman Ramdhani 1c2090f4fb feat(core-api): implement abstract data transformer architecture
- **Core API**: Introduced `IDataTransformer` interface and `BaseDataTransformer` abstract class.
- **Data Services**: Updated `BaseRemoteDataServices` and `DataServicesConfig` to support optional transformer injection. CRUD methods now auto-transform data mapping (DTO <-> Entity) when a transformer is provided.
- **Generics**: Updated `CommonRemoteDataServices` to forward the `TDTO` generic for strict type safety. Fixed `ApiResponse<T>` casting and excess property type checks.
- **Showcase/Samples**: Created `BookingTransformer` (snake_case to camelCase mapping) and injected it into `booking.data-services.ts`.
- **Advanced Showcase**: Added `AdvancedBookingTransformer` and `AdvancedBookingService` to demonstrate extending base transformers with custom methods (e.g., `getAvailabilityChart`).
- **Documentation**: Added comprehensive developer guide at `apps/docs-dev/src/packages/core-api/transformers.md`.
- **Testing**: Added 16 new unit tests for transformer integrations (identity and mock scenarios).

Note: The implementation is 100% backward compatible. All 49/49 tests pass and the TypeScript typecheck is entirely clean.
2026-07-01 11:13:09 +07:00
Firman Ramdhani 81de76a510 refactor: relocate shell-demo app to the showcase directory 2026-06-22 18:22:39 +07:00
Firman Ramdhani edc4e15325 refactor: rename navbar components and dimensions to sidebar for improved semantic consistency 2026-06-22 16:42:32 +07:00
Firman Ramdhani 25f3cd3b30 feat: implement CoreAppShell component with flexible layout configurations and state management context 2026-06-22 16:27:50 +07:00
Firman Ramdhani 4d2558cf71 refactor: memoize Zod schemas and internationalize form labels and messages in demo components 2026-06-22 11:34:25 +07:00
Firman Ramdhani 1ceceb6759 feat: add language switcher to showcase view using i18n hook 2026-06-22 11:27:11 +07:00
Firman Ramdhani edd71243a4 feat: implement FieldRichTextEditor component using TipTap and Mantine integration 2026-06-22 11:24:44 +07:00
Firman Ramdhani eaec6ec38f feat: replace ObjectSelect with LocalSelect and introduce custom FieldSelect wrappers for object-based RHF state management 2026-06-22 11:06:29 +07:00
Firman Ramdhani 195928d56a feat: add reusable AsyncSelect and ObjectSelect components with infinite scroll hook support 2026-06-16 01:23:36 +07:00
Firman Ramdhani 19066dde89 refactor: add trailing commas to zod schema definitions in reactive-watch-demo 2026-06-15 23:08:46 +07:00
Firman Ramdhani f9a6519da4 perf: stabilize useConditionalField default values with useRef and replace Zod superRefine with declarative unions for performance 2026-06-15 23:06:58 +07:00
Firman Ramdhani 50cce32ada feat: add useConditionalField hook and implement reactive form showcase examples 2026-06-15 22:03:11 +07:00
Firman Ramdhani a72b73bac4 feat: implement comprehensive Form UI library with React Hook Form integration, Zod validation, and i18n support. 2026-06-15 18:40:22 +07:00
Firman Ramdhani 5d9f0f6d94 refactor: restructure storage and environment modules; remove unused code
- Deleted unused PouchDB configuration and types from core storage.
- Removed Electron-related hooks and utilities that are no longer needed.
- Introduced new local storage management for application keys.
- Created a new environment wrapper for landing application.
- Added public HTTP client for landing application with minimal configuration.
- Implemented new PouchDB entities for items and POS configurations.
- Updated main application entry point to reflect new storage structure.
2026-05-29 17:36:34 +07:00
Firman Ramdhani 6712558eaf feat: implement PouchDB storage layer with CRUD operations and add showcase UI component 2026-05-29 15:35:14 +07:00
Firman Ramdhani 86c02e7111 feat: implement type-safe environment configuration and add .env.example files for web and landing apps 2026-05-29 13:43:31 +07:00
Firman Ramdhani dff05748f5 refactor: enhance i18n handling by implementing state management for active language and optimizing resource loading 2026-05-28 13:52:34 +07:00
Firman Ramdhani d0ebceb1bb refactor: decouple core-storage services from static keys and update i18n setup to use configurable storage adapters 2026-05-28 13:27:13 +07:00
Firman Ramdhani df229c9984 refactor: decouple core-events registry by implementing consumer-side TypeScript module augmentation and reorganizing showcase demos 2026-05-28 11:51:43 +07:00
Firman Ramdhani 6fde65f04e feat: introduce core-events package with event bus, hooks, and a web showcase demo 2026-05-28 11:20:35 +07:00
Firman Ramdhani 3621f837f6 feat: replace demo storage instances with secure storage implementations across i18n and storage features 2026-05-23 07:46:40 +07:00
Firman Ramdhani b6ba41e120 feat: add showcase example component and integrate booking and storage demos 2026-05-23 06:55:58 +07:00
Firman Ramdhani 4655362ff4 feat: implement core-i18n package with decentralized namespace support and integrate into landing and web apps 2026-05-22 23:30:41 +07:00
Firman Ramdhani 255704f867 feat: implement core-storage package with unified promise-based interface and encrypted-at-rest support 2026-05-22 22:23:02 +07:00
Firman Ramdhani 4260e240a0 Refactor code structure for improved readability and maintainability 2026-05-22 17:53:35 +07:00
Firman Ramdhani 50592f27f3 feat: enhance project configuration with type checking and improved .gitignore entries 2026-04-06 12:23:49 +07:00
Firman Ramdhani 8c7b6d3017 feat: initialize landing application with Vite and Mantine configuration 2026-04-06 12:11:17 +07:00
Firman Ramdhani a13feb1c51 build: generate desktop application release artifacts and update project configuration 2026-04-05 22:33:08 +07:00
Firman Ramdhani 128de2d4ef feat: update title hierarchy in ShowcaseView for improved accessibility and consistency 2026-03-18 08:18:58 +07:00
Firman Ramdhani 69e26e96e3 feat: update theme provider and density styles, enhance typography and font mappings, and refactor showcase components 2026-02-27 17:02:32 +07:00
Firman Ramdhani 7cf9f8fab5 feat: simplify color scheme options, enhance theme provider, and add density styles 2026-02-27 15:54:20 +07:00
Firman Ramdhani b0ceb3e444 feat: streamline component imports and update package exports for better organization 2026-02-27 15:26:36 +07:00
Firman Ramdhani 1d38a188b7 feat: Integrate Mantine UI library, establish a theme provider, and refactor core UI components. 2026-02-27 15:00:17 +07:00
Firman Ramdhani 8181bd61ec feat: refactor setup tailwind and css 2026-02-27 13:34:59 +07:00
Firman Ramdhani 8bfa66111a feat: update ExamplePage to display example text 2026-02-27 11:46:33 +07:00
Firman Ramdhani 24e0d2ca61 chore: Delete various UI components, form elements, and associated example/showcase pages from the UI package and web app. 2026-02-05 10:08:12 +07:00
Firman Ramdhani 660a9ace20 feat: Implement Calendar component, UiProvider, and a cn utility, while enhancing picker components with new icons and styles. 2026-02-04 16:53:37 +07:00
Firman Ramdhani 1ceb0fad53 feat: add date, time, and range picker components to UI library with a showcase 2026-02-03 17:20:05 +07:00
Firman Ramdhani 2c21da111e refactor: remove variant prop from input components and styles
- Removed the variant prop from Checkbox, Input, InputNumber, Switch, TextArea components.
- Updated styles to eliminate variant-specific classes for Checkbox, Input, InputNumber, TextArea, and Switch.
- Simplified class names in stylesheets to focus on status only.
- Adjusted documentation to reflect the removal of the variant prop.
2026-02-02 16:36:23 +07:00
Firman Ramdhani 793d1e2b15 feat: add Switch component and showcase
- Introduced a new Switch component with variants and status colors.
- Created a SwitchShowcase component to demonstrate the Switch functionality.
- Updated package.json to include dayjs and rc-component/switch dependencies.
- Added styles for the Switch component in switch.style.css.
- Updated form.style.css to import switch styles.
- Enhanced types for Switch props in types/index.ts.
- Updated globals.css with CSS variables for the Switch component.
2026-02-02 16:02:45 +07:00
Firman Ramdhani a1db9b93e1 feat: add DateUtils and StringUtils for date and string manipulation
- Implement DateUtils for handling date operations with timezone support.
- Add unit tests for DateUtils to ensure functionality and edge cases.
- Create StringUtils for string manipulation with a fluent API.
- Include unit tests for StringUtils covering various string operations.
- Introduce EncryptionUtils for secure data encryption and decryption.
- Add tests for EncryptionUtils to validate encryption and decryption processes.
- Update index.ts to export new utility modules.
- Introduce encryption key management with a dedicated key file.
2026-01-28 18:18:29 +07:00
Firman Ramdhani 47f365d1a7 feat: Update currency parsing methods and enhance showcase styling 2026-01-28 17:24:57 +07:00
Firman Ramdhani b52e458a9d feat: Refactor example page and showcase components
- Updated ExamplePage to use a single Showcase component instead of separate InputShowCase and FormShowcase components.
- Added CheckboxShowcase, FormShowcase, and InputShowCase components to the showcase directory.
- Implemented Checkbox component with various states and styles.
- Enhanced InputShowCase to demonstrate different input types and states.
- Integrated new styles for checkbox variants and states.
- Updated package dependencies to include @rc-component/checkbox.
2026-01-28 11:53:03 +07:00
Firman Ramdhani c39a8eb175 feat: enhance form item component with status handling and styling for error/warning states 2026-01-28 10:26:03 +07:00
Firman Ramdhani 1e1d46cbb5 feat: Refactor TextArea component and styles for improved usability and consistency
- Updated textarea styles to utilize CSS variables for dimensions and padding.
- Enhanced placeholder styling and added disabled state styles.
- Refactored TextArea component to use forwardRef and updated status handling.
- Changed input statuses from 'normal' to 'default' for better clarity.
- Introduced global decimal separator management in CurrencyService.
- Updated tests to cover new decimal separator functionality.
- Cleaned up global CSS for better organization and readability.
- Removed deprecated rc-component dependencies in favor of @rc-component packages.
2026-01-27 19:47:06 +07:00