@finema/finework-layer 2.0.50 → 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.
- package/CHANGELOG.md +12 -0
- package/app/components/Layout/Apps.vue +3 -1
- package/app/components/Notifications/index.vue +52 -24
- package/app/components/PortalApp.vue +258 -573
- package/app/composables/useAuth.ts +41 -22
- package/app/constants/routes.ts +8 -0
- package/package.json +1 -1
- package/public/admin/asset.svg +20 -0
- package/public/admin/clock-in-admin-logo.svg +33 -0
- package/public/admin/clock-in-logo.svg +27 -0
- package/public/admin/contract.svg +41 -0
- package/public/admin/cost-sheet.svg +19 -0
- package/public/admin/document.svg +29 -0
- package/public/admin/efactoring.svg +23 -0
- package/public/admin/employee.svg +16 -0
- package/public/admin/evaluation.svg +29 -0
- package/public/admin/finesign.png +0 -0
- package/public/admin/guarantee.svg +25 -0
- package/public/admin/loan.svg +35 -0
- package/public/admin/newsletter.svg +23 -0
- package/public/admin/pmo-logo.svg +28 -0
- package/public/admin/pmo_delivery.svg +21 -0
- package/public/admin/pmo_presale_bidding.svg +30 -0
- package/public/admin/pmo_setup.svg +18 -0
- package/public/admin/pmo_warranty.svg +26 -0
- package/public/admin/purchase.svg +22 -0
- package/public/admin/quotation.svg +21 -0
- package/public/admin/recruit.svg +21 -0
- package/public/admin/report.svg +41 -0
- package/public/admin/request-admin.svg +44 -0
- package/public/admin/request.svg +42 -0
- package/public/admin/resource-allocation.svg +26 -0
- package/public/admin/resource.svg +22 -0
- package/public/admin/spider-web.png +0 -0
- package/public/admin/super-admin-logo.svg +22 -0
- package/public/admin/support.svg +19 -0
- package/public/admin/timesheet-admin-logo.svg +87 -0
- package/public/admin/timesheet-logo.svg +85 -0
- package/public/admin/todo.svg +21 -0
- package/public/admin/tor.svg +43 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
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
|
+
|
|
9
|
+
## [2.0.51](https://gitlab.finema.co/finema/internal/finework/compare/2.0.50...2.0.51) (2026-08-27)
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* add COSTSHEET_REJECTED action to notification link handler ([05bde18](https://gitlab.finema.co/finema/internal/finework/commit/05bde1873f71cbdea589fc82a9e769403b796ed1))
|
|
14
|
+
|
|
3
15
|
## [2.0.50](https://gitlab.finema.co/finema/internal/finework/compare/2.0.49...2.0.50) (2026-08-27)
|
|
4
16
|
|
|
5
17
|
### Bug Fixes
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
class="w-full"
|
|
9
9
|
:transition="isMobile ? true: false"
|
|
10
10
|
:ui="{
|
|
11
|
-
content: isMobile
|
|
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
|
|
@@ -176,6 +176,7 @@ const getLink = (item: INotificationItem) => {
|
|
|
176
176
|
|
|
177
177
|
switch (item.action_type) {
|
|
178
178
|
case 'COSTSHEET_WAITING_APPROVAL':
|
|
179
|
+
case 'COSTSHEET_REJECTED':
|
|
179
180
|
return `/cost-sheet/doc/${costSheetDocID}?tab=COSTSHEET`
|
|
180
181
|
case 'COSTSHEET_APPROVED':
|
|
181
182
|
return `/cost-sheet/doc/${costSheetDocID}?tab=EXPENSE`
|
|
@@ -243,32 +244,59 @@ const getLink = (item: INotificationItem) => {
|
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
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
|
+
|
|
246
296
|
const getImage = (item: INotificationItem): string | null => {
|
|
247
|
-
|
|
248
|
-
return `/admin/pmo-logo.png`
|
|
249
|
-
} else if (item.source_type?.startsWith('TIMESHEET')) {
|
|
250
|
-
return `/admin/timesheet-logo.png`
|
|
251
|
-
} else if (item.source_type?.startsWith('CLOCKIN')) {
|
|
252
|
-
return `/admin/clockin-logo.png`
|
|
253
|
-
} else if (item.source_type?.startsWith('SETTING')) {
|
|
254
|
-
return `/admin/super-admin-logo.png`
|
|
255
|
-
} else if (item.source_type?.startsWith('NEWSLETTER')) {
|
|
256
|
-
return `/admin/newsletter.png`
|
|
257
|
-
} else if (item.source_type?.startsWith('TODO')) {
|
|
258
|
-
return `/admin/todo.png`
|
|
259
|
-
} else if (item.source_type?.startsWith('EVALUATION')) {
|
|
260
|
-
return `/admin/evaluation.png`
|
|
261
|
-
} else if (item.source_type?.startsWith('COSTSHEET')) {
|
|
262
|
-
return `/admin/cost-sheet.png`
|
|
263
|
-
} else if (item.source_type?.startsWith('REQUEST')) {
|
|
264
|
-
return `/admin/request.png`
|
|
265
|
-
} else if (item.source_type?.startsWith('RECRUIT')) {
|
|
266
|
-
return `/admin/recruit.png`
|
|
267
|
-
} else if (item.source_type?.startsWith('SETTING_FEEDBACK_TICKET')) {
|
|
268
|
-
return `/admin/super-admin-logo.png`
|
|
269
|
-
}
|
|
297
|
+
const sourceType = item.source_type ?? ''
|
|
270
298
|
|
|
271
|
-
return null
|
|
299
|
+
return NOTIFICATION_LOGO_BY_PREFIX.find((entry) => sourceType.startsWith(entry.prefix))?.logo ?? null
|
|
272
300
|
}
|
|
273
301
|
|
|
274
302
|
const getNotificationColor = (item: INotificationItem): string => {
|