@finema/finework-layer 2.0.51 → 2.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/app/components/Layout/Apps.vue +3 -1
  3. package/app/components/Notifications/index.vue +51 -24
  4. package/app/components/PortalApp.vue +258 -573
  5. package/app/composables/useAuth.ts +41 -22
  6. package/app/constants/routes.ts +8 -0
  7. package/package.json +1 -1
  8. package/public/admin/asset.svg +20 -0
  9. package/public/admin/clock-in-admin-logo.svg +33 -0
  10. package/public/admin/clock-in-logo.svg +27 -0
  11. package/public/admin/contract.svg +41 -0
  12. package/public/admin/cost-sheet.svg +19 -0
  13. package/public/admin/document.svg +29 -0
  14. package/public/admin/efactoring.svg +23 -0
  15. package/public/admin/employee.svg +16 -0
  16. package/public/admin/evaluation.svg +29 -0
  17. package/public/admin/finesign.png +0 -0
  18. package/public/admin/guarantee.svg +25 -0
  19. package/public/admin/loan.svg +35 -0
  20. package/public/admin/newsletter.svg +23 -0
  21. package/public/admin/pmo-logo.svg +28 -0
  22. package/public/admin/pmo_delivery.svg +21 -0
  23. package/public/admin/pmo_presale_bidding.svg +30 -0
  24. package/public/admin/pmo_setup.svg +18 -0
  25. package/public/admin/pmo_warranty.svg +26 -0
  26. package/public/admin/purchase.svg +22 -0
  27. package/public/admin/quotation.svg +21 -0
  28. package/public/admin/recruit.svg +21 -0
  29. package/public/admin/report.svg +41 -0
  30. package/public/admin/request-admin.svg +44 -0
  31. package/public/admin/request.svg +42 -0
  32. package/public/admin/resource-allocation.svg +26 -0
  33. package/public/admin/resource.svg +22 -0
  34. package/public/admin/spider-web.png +0 -0
  35. package/public/admin/super-admin-logo.svg +22 -0
  36. package/public/admin/support.svg +19 -0
  37. package/public/admin/timesheet-admin-logo.svg +87 -0
  38. package/public/admin/timesheet-logo.svg +85 -0
  39. package/public/admin/todo.svg +21 -0
  40. package/public/admin/tor.svg +43 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.52](https://gitlab.finema.co/finema/internal/finework/compare/2.0.51...2.0.52) (2026-08-31)
4
+
5
+ ### Features
6
+
7
+ * new icon app ([0fac84c](https://gitlab.finema.co/finema/internal/finework/commit/0fac84c4dfa5fc238e29b0563951d8739d81151e))
8
+
3
9
  ## [2.0.51](https://gitlab.finema.co/finema/internal/finework/compare/2.0.50...2.0.51) (2026-08-27)
4
10
 
5
11
  ### Bug Fixes
@@ -8,7 +8,9 @@
8
8
  class="w-full"
9
9
  :transition="isMobile ? true: false"
10
10
  :ui="{
11
- content: isMobile ? '!w-[calc(100vw-3.5rem)]' : 'lg:translate-y-[63px] w-full lg:translate-y-[71px]',
11
+ content: isMobile
12
+ ? '!w-[calc(100vw-3.5rem)]'
13
+ : 'lg:translate-y-[63px] w-full lg:translate-y-[71px] !max-w-[750px] !left-4 md:!left-8 !right-auto',
12
14
  }"
13
15
  >
14
16
  <Button
@@ -244,32 +244,59 @@ const getLink = (item: INotificationItem) => {
244
244
  }
245
245
  }
246
246
 
247
+ // source_type prefix -> app logo (shared with the portal via UserModuleLogo)
248
+ interface INotificationLogo {
249
+ prefix: string
250
+ logo: string
251
+ }
252
+
253
+ const NOTIFICATION_LOGO_BY_PREFIX: INotificationLogo[] = [
254
+ {
255
+ prefix: 'PMO',
256
+ logo: UserModuleLogo[UserModule.PMO],
257
+ },
258
+ {
259
+ prefix: 'TIMESHEET',
260
+ logo: UserModuleLogo[UserModule.TIMESHEET],
261
+ },
262
+ {
263
+ prefix: 'CLOCKIN',
264
+ logo: UserModuleLogo[UserModule.CHECKIN],
265
+ },
266
+ {
267
+ prefix: 'NEWSLETTER',
268
+ logo: UserModuleLogo[UserModule.NEWSLETTER],
269
+ },
270
+ {
271
+ prefix: 'TODO',
272
+ logo: UserModuleLogo[UserModule.TODO],
273
+ },
274
+ {
275
+ prefix: 'EVALUATION',
276
+ logo: UserModuleLogo[UserModule.EVALUATION],
277
+ },
278
+ {
279
+ prefix: 'COSTSHEET',
280
+ logo: UserModuleLogo[UserModule.COSTSHEET],
281
+ },
282
+ {
283
+ prefix: 'REQUEST',
284
+ logo: UserModuleLogo[UserModule.REQUEST],
285
+ },
286
+ {
287
+ prefix: 'RECRUIT',
288
+ logo: UserModuleLogo[UserModule.RECRUIT],
289
+ },
290
+ {
291
+ prefix: 'SETTING',
292
+ logo: '/admin/super-admin-logo.svg',
293
+ },
294
+ ]
295
+
247
296
  const getImage = (item: INotificationItem): string | null => {
248
- if (item.source_type?.startsWith('PMO')) {
249
- return `/admin/pmo-logo.png`
250
- } else if (item.source_type?.startsWith('TIMESHEET')) {
251
- return `/admin/timesheet-logo.png`
252
- } else if (item.source_type?.startsWith('CLOCKIN')) {
253
- return `/admin/clockin-logo.png`
254
- } else if (item.source_type?.startsWith('SETTING')) {
255
- return `/admin/super-admin-logo.png`
256
- } else if (item.source_type?.startsWith('NEWSLETTER')) {
257
- return `/admin/newsletter.png`
258
- } else if (item.source_type?.startsWith('TODO')) {
259
- return `/admin/todo.png`
260
- } else if (item.source_type?.startsWith('EVALUATION')) {
261
- return `/admin/evaluation.png`
262
- } else if (item.source_type?.startsWith('COSTSHEET')) {
263
- return `/admin/cost-sheet.png`
264
- } else if (item.source_type?.startsWith('REQUEST')) {
265
- return `/admin/request.png`
266
- } else if (item.source_type?.startsWith('RECRUIT')) {
267
- return `/admin/recruit.png`
268
- } else if (item.source_type?.startsWith('SETTING_FEEDBACK_TICKET')) {
269
- return `/admin/super-admin-logo.png`
270
- }
297
+ const sourceType = item.source_type ?? ''
271
298
 
272
- return null
299
+ return NOTIFICATION_LOGO_BY_PREFIX.find((entry) => sourceType.startsWith(entry.prefix))?.logo ?? null
273
300
  }
274
301
 
275
302
  const getNotificationColor = (item: INotificationItem): string => {