Skip to content

Commit ab46d1d

Browse files
committed
refactor: notification module
1 parent 34fa4eb commit ab46d1d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+3980
-2402
lines changed

api/certificate/certificate.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func AddCert(c *gin.Context) {
133133

134134
err = cert.SyncToRemoteServer(certModel)
135135
if err != nil {
136-
notification.Error("Sync Certificate Error", err.Error())
136+
notification.Error("Sync Certificate Error", err.Error(), nil)
137137
return
138138
}
139139

@@ -188,7 +188,7 @@ func ModifyCert(c *gin.Context) {
188188

189189
err = cert.SyncToRemoteServer(certModel)
190190
if err != nil {
191-
notification.Error("Sync Certificate Error", err.Error())
191+
notification.Error("Sync Certificate Error", err.Error(), nil)
192192
return
193193
}
194194

api/certificate/notifications.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Auto-generated notification messages
2+
// Do not edit manually
3+
4+
const notifications: Record<string, string> = {
5+
"Sync_Certificate_Error_Error": "err.Error()",
6+
};
7+
8+
export default notifications;

app/src/components/Notification/Notification.vue

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { message, notification } from 'ant-design-vue'
1212
import dayjs from 'dayjs'
1313
import relativeTime from 'dayjs/plugin/relativeTime'
1414
import { SSE } from 'sse.js'
15+
import notifications from './notifications'
1516
1617
defineProps<{
1718
headerRef: HTMLElement
@@ -181,7 +182,7 @@ function viewAll() {
181182
<template #description>
182183
<div class="flex justify-between items-center">
183184
<div>
184-
{{ detailRender({ text: item.details, record: item } as CustomRender) }}
185+
{{ notifications[item.title].content(item.details) }}
185186
</div>
186187
<span
187188
key="list-loadmore-remove"

app/src/components/Notification/cert.ts

-15
This file was deleted.

app/src/components/Notification/config.ts

-96
This file was deleted.

app/src/components/Notification/detailRender.ts

-65
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import type { CustomRender } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
2+
import { NotificationTypeT } from '@/constants'
3+
import notifications from './notifications'
4+
5+
export function detailRender(args: CustomRender) {
6+
try {
7+
return (
8+
<div>
9+
<div class="mb-2">
10+
{
11+
notifications[args.record.title].content(args.record.details)
12+
}
13+
</div>
14+
{args.record.type !== NotificationTypeT.Success && (
15+
<div>
16+
{ JSON.stringify(args.record.details.response) }
17+
</div>
18+
)}
19+
</div>
20+
)
21+
}
22+
// eslint-disable-next-line sonarjs/no-ignored-exceptions,unused-imports/no-unused-vars
23+
catch (e) {
24+
return args.text
25+
}
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
// Auto-generated notification texts
2+
// Extracted from Go source code notification function calls
3+
/* eslint-disable ts/no-explicit-any */
4+
5+
const notifications: Record<string, { title: () => string, content: (args: any) => string }> = {
6+
7+
// cert module notifications
8+
'Sync Certificate Error': {
9+
title: () => $gettext('Sync Certificate Error'),
10+
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} failed', args),
11+
},
12+
'Sync Certificate Success': {
13+
title: () => $gettext('Sync Certificate Success'),
14+
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} successfully', args),
15+
},
16+
17+
// config module notifications
18+
'Sync Config Error': {
19+
title: () => $gettext('Sync Config Error'),
20+
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} failed', args),
21+
},
22+
'Sync Config Success': {
23+
title: () => $gettext('Sync Config Success'),
24+
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} successfully', args),
25+
},
26+
'Rename Remote Config Error': {
27+
title: () => $gettext('Rename Remote Config Error'),
28+
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed', args),
29+
},
30+
'Rename Remote Config Success': {
31+
title: () => $gettext('Rename Remote Config Success'),
32+
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} successfully', args),
33+
},
34+
35+
// site module notifications
36+
'Delete Remote Site Error': {
37+
title: () => $gettext('Delete Remote Site Error'),
38+
content: (args: any) => $gettext('Delete site %{name} from %{node} failed', args),
39+
},
40+
'Delete Remote Site Success': {
41+
title: () => $gettext('Delete Remote Site Success'),
42+
content: (args: any) => $gettext('Delete site %{name} from %{node} successfully', args),
43+
},
44+
'Disable Remote Site Error': {
45+
title: () => $gettext('Disable Remote Site Error'),
46+
content: (args: any) => $gettext('Disable site %{name} from %{node} failed', args),
47+
},
48+
'Disable Remote Site Success': {
49+
title: () => $gettext('Disable Remote Site Success'),
50+
content: (args: any) => $gettext('Disable site %{name} from %{node} successfully', args),
51+
},
52+
'Enable Remote Site Error': {
53+
title: () => $gettext('Enable Remote Site Error'),
54+
content: (args: any) => $gettext('Enable site %{name} on %{node} failed', args),
55+
},
56+
'Enable Remote Site Success': {
57+
title: () => $gettext('Enable Remote Site Success'),
58+
content: (args: any) => $gettext('Enable site %{name} on %{node} successfully', args),
59+
},
60+
'Rename Remote Site Error': {
61+
title: () => $gettext('Rename Remote Site Error'),
62+
content: (args: any) => $gettext('Rename site %{name} to %{new_name} on %{node} failed', args),
63+
},
64+
'Rename Remote Site Success': {
65+
title: () => $gettext('Rename Remote Site Success'),
66+
content: (args: any) => $gettext('Rename site %{name} to %{new_name} on %{node} successfully', args),
67+
},
68+
'Save Remote Site Error': {
69+
title: () => $gettext('Save Remote Site Error'),
70+
content: (args: any) => $gettext('Save site %{name} to %{node} failed', args),
71+
},
72+
'Save Remote Site Success': {
73+
title: () => $gettext('Save Remote Site Success'),
74+
content: (args: any) => $gettext('Save site %{name} to %{node} successfully', args),
75+
},
76+
77+
// stream module notifications
78+
'Delete Remote Stream Error': {
79+
title: () => $gettext('Delete Remote Stream Error'),
80+
content: (args: any) => $gettext('Delete stream %{name} from %{node} failed', args),
81+
},
82+
'Delete Remote Stream Success': {
83+
title: () => $gettext('Delete Remote Stream Success'),
84+
content: (args: any) => $gettext('Delete stream %{name} from %{node} successfully', args),
85+
},
86+
'Disable Remote Stream Error': {
87+
title: () => $gettext('Disable Remote Stream Error'),
88+
content: (args: any) => $gettext('Disable stream %{name} from %{node} failed', args),
89+
},
90+
'Disable Remote Stream Success': {
91+
title: () => $gettext('Disable Remote Stream Success'),
92+
content: (args: any) => $gettext('Disable stream %{name} from %{node} successfully', args),
93+
},
94+
'Enable Remote Stream Error': {
95+
title: () => $gettext('Enable Remote Stream Error'),
96+
content: (args: any) => $gettext('Enable stream %{name} on %{node} failed', args),
97+
},
98+
'Enable Remote Stream Success': {
99+
title: () => $gettext('Enable Remote Stream Success'),
100+
content: (args: any) => $gettext('Enable stream %{name} on %{node} successfully', args),
101+
},
102+
'Rename Remote Stream Error': {
103+
title: () => $gettext('Rename Remote Stream Error'),
104+
content: (args: any) => $gettext('Rename stream %{name} to %{new_name} on %{node} failed', args),
105+
},
106+
'Rename Remote Stream Success': {
107+
title: () => $gettext('Rename Remote Stream Success'),
108+
content: (args: any) => $gettext('Rename stream %{name} to %{new_name} on %{node} successfully', args),
109+
},
110+
'Save Remote Stream Error': {
111+
title: () => $gettext('Save Remote Stream Error'),
112+
content: (args: any) => $gettext('Save stream %{name} to %{node} failed', args),
113+
},
114+
'Save Remote Stream Success': {
115+
title: () => $gettext('Save Remote Stream Success'),
116+
content: (args: any) => $gettext('Save stream %{name} to %{node} successfully', args),
117+
},
118+
119+
// user module notifications
120+
'All Recovery Codes Have Been Used': {
121+
title: () => $gettext('All Recovery Codes Have Been Used'),
122+
content: (args: any) => $gettext('Please generate new recovery codes in the preferences immediately to prevent lockout.', args),
123+
},
124+
}
125+
126+
export default notifications

0 commit comments

Comments
 (0)