Commit Graph

129 Commits

Author SHA1 Message Date
c3f43dc86f Use light logo variants 2026-03-11 13:57:48 -06:00
0b216092b1 Add light logo variants 2026-03-11 13:57:02 -06:00
bcdfb024be Hook sidebar logo 2026-03-11 13:54:48 -06:00
778a60dd21 Style sidebar logo 2026-03-11 13:54:11 -06:00
566796b4d8 Disable logo selection 2026-03-11 13:52:34 -06:00
4a66301b80 Tune login badge 2026-03-11 13:51:21 -06:00
7b336a6ba5 Polish login logo 2026-03-11 13:48:41 -06:00
1ac647a0be Clear svg background 2026-03-11 13:46:56 -06:00
fa89073272 Use webview svg 2026-03-11 13:45:48 -06:00
2777ca2a74 Use svg viewbox 2026-03-11 13:39:47 -06:00
38e044192e Fix svg layout 2026-03-11 13:37:44 -06:00
c80373eeff Normalize login svg 2026-03-11 13:35:45 -06:00
bfbcc1caae Normalize svg logo 2026-03-11 13:33:56 -06:00
eed8b3e99c Clip svg logo 2026-03-11 13:32:50 -06:00
ce0e96523c Rework login screen 2026-03-11 13:31:28 -06:00
6bc187a055 Align login logo 2026-03-11 13:15:37 -06:00
9266e5a010 Center login brand 2026-03-11 13:14:56 -06:00
51370040e0 Pad svg logo 2026-03-11 13:09:15 -06:00
6b54654d7e Position svg logo 2026-03-11 12:34:45 -06:00
e070e7d367 Center svg bounds 2026-03-11 12:32:34 -06:00
fd212fe905 Center login logo 2026-03-11 12:24:05 -06:00
fbec4fd1c1 Use svg logo 2026-03-11 12:09:16 -06:00
4a96501f73 Revert login layout 2026-03-11 12:03:13 -06:00
3e50172506 Polish login layout 2026-03-11 11:12:01 -06:00
520c1db334 Upgrade desktop to JDK 25 2026-03-11 09:26:15 -06:00
33674fc6a6 Fix logo layout 2026-03-11 09:10:48 -06:00
aba24aae49 Smooth logo badge 2026-03-11 09:09:10 -06:00
f36fdff871 Polish logo badges 2026-03-11 09:03:27 -06:00
719fd5e925 Ignore log files 2026-03-11 08:59:47 -06:00
1d8d118650 Fix sidebar scroll 2026-03-11 08:58:35 -06:00
130322d6d8 Fix chart colors 2026-03-11 08:55:21 -06:00
6089d1980c Adjust chart labels 2026-03-11 08:52:37 -06:00
3aab4560f4 Fix analytics fxml 2026-03-11 08:51:04 -06:00
cb92ca6e26 Fix analytics chart 2026-03-11 08:45:01 -06:00
c3a318c6cc Fix refund table 2026-03-10 22:11:50 -06:00
bbc28bef47 Prefill refund dialog 2026-03-10 21:59:48 -06:00
d58801e51f Fix refund loading 2026-03-10 21:50:00 -06:00
7518e15a6b Fix inventory ids 2026-03-10 21:46:31 -06:00
b4e2d1cd2f Show chat mode 2026-03-10 20:52:07 -06:00
e17cde6b87 Add desktop chat 2026-03-10 20:04:32 -06:00
bdde1d39dc Fix desktop mappings 2026-03-10 18:49:59 -06:00
93b587cd9c Fix .gitignore to exclude user-specific files
- Remove tracked .idea/vcs.xml (user-specific VCS settings)
- Use whitelist approach for .idea/ directory (consistent with backend)
- Improve log file patterns (*.log)
- Remove redundant .idea/workspace.xml pattern (covered by wildcard)
2026-03-10 00:03:22 -06:00
1c4f13dc75 Ignore log files 2026-03-09 23:59:41 -06:00
a93846e2d1 Merge pull request #33 from RecentRunner/api-migration
Api migration
2026-03-09 16:27:30 -06:00
4a2cdbe9c5 Complete desktop DTO integration and controller fixes
**Critical DTO Fixes:**
- ServiceResponse/Request: id → serviceId, price → servicePrice, description → serviceDesc
- SaleItemRequest: productId → prodId, removed unitPrice (backend doesn't require)
- SaleItemResponse: id → saleItemId, added prodId, removed lineTotal (calculated locally)
- TopProduct: added productId, quantitySold Integer → Long, totalRevenue → revenue
- DailySales: date LocalDate → String, totalSales → revenue, added salesCount

**Controller Updates:**
- Updated 17+ controllers and dialog controllers to use renamed DTO fields
- Fixed AnalyticsController to use nested SalesSummary and InventorySummary structures
- Fixed ServiceController/ServiceDialogController to use serviceDuration
- Fixed LoginController CUSTOMER rejection to use lblError instead of missing showError()
- Updated all ProductResponse, SupplierResponse, PetResponse, AdoptionResponse, etc. usages

**Files Changed:**
- 6 DTO classes (service, sale, analytics)
- 17+ controller classes across main and dialog controllers

**Verification:**
- Desktop project compiles successfully with mvn clean compile
- All critical JSON mapping misalignments resolved
- Phase 6, 7, and 8 complete
2026-03-09 11:57:05 -06:00
6f87763a6d Complete final DTO verification and alignment
Changes:
- PetRequest: Fixed all field names to match backend contract
  - species → petSpecies
  - breed → petBreed
  - price → petPrice
  - dateOfBirth/gender/color → petAge (backend uses Integer age)
- PetResponse: Fixed all field names to match backend contract
  - id → petId
  - species → petSpecies
  - breed → petBreed
  - price → petPrice
  - Removed desktop-only fields (dateOfBirth, gender, color)
  - Added backend fields (petAge, createdAt, updatedAt)
- InventoryRequest: Fixed all field names to match backend contract
  - productId → prodId
  - stockQuantity → quantity
  - Removed desktop-only fields (storeId, reorderLevel)
- InventoryResponse: Fixed all field names to match backend contract
  - id → inventoryId
  - stockQuantity → quantity
  - Removed desktop-only fields (storeName, reorderLevel)
  - Added backend fields (prodId, createdAt, updatedAt)

All DTOs now use proper types (BigDecimal for prices, LocalDate/LocalDateTime for dates).
Desktop DTOs are fully aligned with backend contracts.
2026-03-09 01:35:48 -06:00
37327742ae Fix desktop UX and configuration
Changes:
- MainLayoutController: Analytics access restricted to ADMIN only
  - STAFF users default to Sales view instead of Analytics
  - Logo click redirects STAFF to Sales, ADMIN to Analytics
  - Analytics button hidden for STAFF users
- LoginController: Added CUSTOMER login rejection with clear message
  - CUSTOMER role users are now rejected at login with helpful error
  - Directs customers to use web/mobile applications instead
- Configuration cleanup: Removed connectionpetstore.properties from project root
  - Config file remains in src/main/resources for proper packaging
  - ApiConfig already loads from classpath correctly

These changes ensure proper role-based access control and clean configuration management.
2026-03-09 01:32:40 -06:00
90a6d5d464 Fix desktop structural DTO changes
Changes:
- PurchaseOrderResponse: id → purchaseOrderId
- SaleResponse: id → saleId
- DashboardResponse: restructured to use nested SalesSummary and InventorySummary classes matching backend structure
- Added TopProduct and DailySales support
- Inventory DTOs review pending (storeName/reorderLevel fields may need manual UI check)

These changes align desktop response DTOs with backend structural requirements.
2026-03-09 01:30:49 -06:00
1fb7da3800 Align desktop DTOs to match backend field names
Phase 5: Simple DTO field renames

AdoptionResponse:
- id → adoptionId

AppointmentResponse:
- id → appointmentId
- petNames: String → List<String>

ProductResponse/ProductRequest:
- id → prodId
- productName → prodName
- description → prodDesc
- price → prodPrice

ServiceResponse:
- description → serviceDesc
- price → servicePrice
- Added serviceDuration field

SupplierResponse/SupplierRequest:
- id → supId
- supplierName → supCompany
- contactPerson → supContactFirstName
- Added supContactLastName field
- email → supEmail
- phone → supPhone

UserRequest/UserResponse already use fullName (no changes needed)

All field names now match backend DTOs exactly.
Controllers and views may need updates to reference new field names.

Phase 5
2026-03-09 01:24:55 -06:00
000c1f8859 Align desktop user contract with backend
- Replace firstName and lastName with fullName and email in UserRequest
- Add email and updatedAt to UserResponse
- Update StaffRegisterDialogController to build fullName from firstName + lastName
- Update StaffRegisterDialogController to include email validation and send email
- Update StaffAccountsController to use backend email from UserResponse instead of hardcoding blank
2026-03-08 22:02:28 -06:00