@hed-hog/core 0.0.330 → 0.0.331
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/dist/ai/ai.service.d.ts +1 -1
- package/dist/auth/auth.controller.d.ts +23 -23
- package/dist/auth/auth.service.d.ts +41 -41
- package/dist/challenge/challenge.service.d.ts +14 -14
- package/dist/core/system.controller.d.ts +2 -2
- package/dist/core/system.service.d.ts +2 -2
- package/dist/dashboard/dashboard/dashboard.controller.d.ts +87 -87
- package/dist/dashboard/dashboard/dashboard.service.d.ts +87 -87
- package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +33 -33
- package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +33 -33
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +42 -42
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +42 -42
- package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +12 -12
- package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +12 -12
- package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +7 -7
- package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +7 -7
- package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +33 -33
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +33 -33
- package/dist/dashboard/dashboard-user/dashboard-user.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-user/dashboard-user.service.d.ts +3 -3
- package/dist/file/file.controller.d.ts +8 -8
- package/dist/file/file.service.d.ts +18 -18
- package/dist/mail/mail.controller.d.ts +15 -15
- package/dist/mail/mail.service.d.ts +15 -15
- package/dist/mail-profile/mail-profile.controller.d.ts +9 -9
- package/dist/mail-profile/mail-profile.service.d.ts +9 -9
- package/dist/mail-sent/mail-sent.controller.d.ts +17 -17
- package/dist/mail-sent/mail-sent.service.d.ts +17 -17
- package/dist/mcp-chat/mcp-chat.controller.d.ts +10 -10
- package/dist/mcp-chat/mcp-chat.service.d.ts +10 -10
- package/dist/menu/menu.controller.d.ts +11 -11
- package/dist/menu/menu.service.d.ts +11 -11
- package/dist/profile/profile.controller.d.ts +17 -17
- package/dist/profile/profile.service.d.ts +17 -17
- package/dist/role/role.controller.d.ts +12 -12
- package/dist/role/role.service.d.ts +12 -12
- package/dist/screen/screen.controller.d.ts +3 -3
- package/dist/screen/screen.service.d.ts +3 -3
- package/dist/session/session.controller.d.ts +4 -4
- package/dist/session/session.service.d.ts +12 -12
- package/dist/setting/setting.controller.d.ts +13 -13
- package/dist/setting/setting.service.d.ts +13 -13
- package/dist/user/user.controller.d.ts +24 -24
- package/dist/user/user.service.d.ts +55 -55
- package/hedhog/frontend/app/account/layout.tsx.ejs +1 -1
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +27 -23
- package/hedhog/frontend/app/mail/template/page.tsx.ejs +5 -5
- package/hedhog/frontend/app/menu/page.tsx.ejs +7 -2
- package/hedhog/frontend/app/preferences/page.tsx.ejs +1 -1
- package/hedhog/frontend/app/roles/page.tsx.ejs +7 -2
- package/hedhog/frontend/app/users/page.tsx.ejs +1 -1
- package/hedhog/frontend/messages/en.json +34 -1
- package/hedhog/frontend/messages/pt.json +34 -1
- package/package.json +3 -3
|
@@ -192,7 +192,9 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
192
192
|
size="icon"
|
|
193
193
|
className="absolute right-1 top-1/2 h-8 w-8 -translate-y-1/2"
|
|
194
194
|
onClick={() => setShowSecretValue((prev) => !prev)}
|
|
195
|
-
aria-label={
|
|
195
|
+
aria-label={
|
|
196
|
+
showSecretValue ? t('hidePassword') : t('showPassword')
|
|
197
|
+
}
|
|
196
198
|
>
|
|
197
199
|
{showSecretValue ? (
|
|
198
200
|
<EyeOff className="h-4 w-4" />
|
|
@@ -231,7 +233,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
231
233
|
const fileId = response.data?.id;
|
|
232
234
|
|
|
233
235
|
if (!fileId) {
|
|
234
|
-
throw new Error('
|
|
236
|
+
throw new Error(t('fileIdNotReturned'));
|
|
235
237
|
}
|
|
236
238
|
|
|
237
239
|
const openResponse: any = await request({
|
|
@@ -242,7 +244,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
242
244
|
const openUrl = openResponse?.data?.url;
|
|
243
245
|
|
|
244
246
|
if (!openUrl) {
|
|
245
|
-
throw new Error('
|
|
247
|
+
throw new Error(t('temporaryOpenUrlNotReturned'));
|
|
246
248
|
}
|
|
247
249
|
|
|
248
250
|
const fileUrl =
|
|
@@ -492,24 +494,24 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
492
494
|
return (
|
|
493
495
|
<div className="space-y-4">
|
|
494
496
|
<div className="space-y-1">
|
|
495
|
-
<Label>
|
|
497
|
+
<Label>{t('mailProfile.nameLabel')}</Label>
|
|
496
498
|
<Input
|
|
497
499
|
value={values.name || ''}
|
|
498
500
|
onChange={(e) => setValue('name', e.target.value)}
|
|
499
|
-
placeholder=
|
|
501
|
+
placeholder={t('mailProfile.namePlaceholder')}
|
|
500
502
|
/>
|
|
501
503
|
</div>
|
|
502
504
|
<div className="space-y-1">
|
|
503
|
-
<Label>
|
|
505
|
+
<Label>{t('mailProfile.fromEmailLabel')}</Label>
|
|
504
506
|
<Input
|
|
505
507
|
type="email"
|
|
506
508
|
value={values.from_email || ''}
|
|
507
509
|
onChange={(e) => setValue('from_email', e.target.value)}
|
|
508
|
-
placeholder=
|
|
510
|
+
placeholder={t('mailProfile.fromEmailPlaceholder')}
|
|
509
511
|
/>
|
|
510
512
|
</div>
|
|
511
513
|
<div className="space-y-1">
|
|
512
|
-
<Label>
|
|
514
|
+
<Label>{t('mailProfile.providerLabel')}</Label>
|
|
513
515
|
<Select
|
|
514
516
|
value={provider}
|
|
515
517
|
onValueChange={(v) => setValue('provider', v)}
|
|
@@ -520,41 +522,43 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
520
522
|
<SelectContent>
|
|
521
523
|
<SelectItem value="SMTP">SMTP</SelectItem>
|
|
522
524
|
<SelectItem value="GMAIL">Gmail</SelectItem>
|
|
523
|
-
<SelectItem value="SES">
|
|
525
|
+
<SelectItem value="SES">
|
|
526
|
+
{t('mailProfile.providers.ses')}
|
|
527
|
+
</SelectItem>
|
|
524
528
|
</SelectContent>
|
|
525
529
|
</Select>
|
|
526
530
|
</div>
|
|
527
531
|
{provider === 'SMTP' && (
|
|
528
532
|
<>
|
|
529
533
|
<div className="space-y-1">
|
|
530
|
-
<Label>
|
|
534
|
+
<Label>{t('mailProfile.smtpHostLabel')}</Label>
|
|
531
535
|
<Input
|
|
532
536
|
value={values.smtp_host || ''}
|
|
533
537
|
onChange={(e) => setValue('smtp_host', e.target.value)}
|
|
534
|
-
placeholder=
|
|
538
|
+
placeholder={t('mailProfile.smtpHostPlaceholder')}
|
|
535
539
|
/>
|
|
536
540
|
</div>
|
|
537
541
|
<div className="space-y-1">
|
|
538
|
-
<Label>
|
|
542
|
+
<Label>{t('mailProfile.smtpPortLabel')}</Label>
|
|
539
543
|
<Input
|
|
540
544
|
type="number"
|
|
541
545
|
value={values.smtp_port || '587'}
|
|
542
546
|
onChange={(e) => setValue('smtp_port', e.target.value)}
|
|
543
|
-
placeholder=
|
|
547
|
+
placeholder={t('mailProfile.smtpPortPlaceholder')}
|
|
544
548
|
/>
|
|
545
549
|
</div>
|
|
546
550
|
<div className="space-y-1">
|
|
547
|
-
<Label>
|
|
551
|
+
<Label>{t('mailProfile.smtpUsernameLabel')}</Label>
|
|
548
552
|
<Input
|
|
549
553
|
value={values.smtp_username || ''}
|
|
550
554
|
onChange={(e) =>
|
|
551
555
|
setValue('smtp_username', e.target.value)
|
|
552
556
|
}
|
|
553
|
-
placeholder=
|
|
557
|
+
placeholder={t('mailProfile.smtpUsernamePlaceholder')}
|
|
554
558
|
/>
|
|
555
559
|
</div>
|
|
556
560
|
<div className="space-y-1">
|
|
557
|
-
<Label>
|
|
561
|
+
<Label>{t('mailProfile.smtpPasswordLabel')}</Label>
|
|
558
562
|
<Input
|
|
559
563
|
type="password"
|
|
560
564
|
value={values.smtp_password || ''}
|
|
@@ -568,7 +572,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
568
572
|
{provider === 'GMAIL' && (
|
|
569
573
|
<>
|
|
570
574
|
<div className="space-y-1">
|
|
571
|
-
<Label>
|
|
575
|
+
<Label>{t('mailProfile.clientIdLabel')}</Label>
|
|
572
576
|
<Input
|
|
573
577
|
value={values.gmail_client_id || ''}
|
|
574
578
|
onChange={(e) =>
|
|
@@ -577,7 +581,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
577
581
|
/>
|
|
578
582
|
</div>
|
|
579
583
|
<div className="space-y-1">
|
|
580
|
-
<Label>
|
|
584
|
+
<Label>{t('mailProfile.clientSecretLabel')}</Label>
|
|
581
585
|
<Input
|
|
582
586
|
type="password"
|
|
583
587
|
value={values.gmail_client_secret || ''}
|
|
@@ -587,7 +591,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
587
591
|
/>
|
|
588
592
|
</div>
|
|
589
593
|
<div className="space-y-1">
|
|
590
|
-
<Label>
|
|
594
|
+
<Label>{t('mailProfile.refreshTokenLabel')}</Label>
|
|
591
595
|
<Input
|
|
592
596
|
value={values.gmail_refresh_token || ''}
|
|
593
597
|
onChange={(e) =>
|
|
@@ -600,7 +604,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
600
604
|
{provider === 'SES' && (
|
|
601
605
|
<>
|
|
602
606
|
<div className="space-y-1">
|
|
603
|
-
<Label>
|
|
607
|
+
<Label>{t('mailProfile.accessKeyIdLabel')}</Label>
|
|
604
608
|
<Input
|
|
605
609
|
value={values.ses_access_key_id || ''}
|
|
606
610
|
onChange={(e) =>
|
|
@@ -609,7 +613,7 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
609
613
|
/>
|
|
610
614
|
</div>
|
|
611
615
|
<div className="space-y-1">
|
|
612
|
-
<Label>
|
|
616
|
+
<Label>{t('mailProfile.secretAccessKeyLabel')}</Label>
|
|
613
617
|
<Input
|
|
614
618
|
type="password"
|
|
615
619
|
value={values.ses_secret_access_key || ''}
|
|
@@ -619,11 +623,11 @@ export const SettingField = ({ setting, className }: SettingFieldProps) => {
|
|
|
619
623
|
/>
|
|
620
624
|
</div>
|
|
621
625
|
<div className="space-y-1">
|
|
622
|
-
<Label>
|
|
626
|
+
<Label>{t('mailProfile.regionLabel')}</Label>
|
|
623
627
|
<Input
|
|
624
628
|
value={values.ses_region || ''}
|
|
625
629
|
onChange={(e) => setValue('ses_region', e.target.value)}
|
|
626
|
-
placeholder=
|
|
630
|
+
placeholder={t('mailProfile.regionPlaceholder')}
|
|
627
631
|
/>
|
|
628
632
|
</div>
|
|
629
633
|
</>
|
|
@@ -987,7 +987,7 @@ export default function EmailTemplatesPage() {
|
|
|
987
987
|
<div className="rounded-lg border bg-white overflow-auto max-h-[calc(90vh-280px)]">
|
|
988
988
|
<iframe
|
|
989
989
|
srcDoc={renderHTMLPreview(formData.body)}
|
|
990
|
-
className="w-full min-h-
|
|
990
|
+
className="w-full min-h-125 border-0"
|
|
991
991
|
title="Email Preview"
|
|
992
992
|
style={{ colorScheme: 'light' }}
|
|
993
993
|
/>
|
|
@@ -1004,7 +1004,7 @@ export default function EmailTemplatesPage() {
|
|
|
1004
1004
|
<div key={idx} className="flex items-center gap-2">
|
|
1005
1005
|
<Badge
|
|
1006
1006
|
variant="outline"
|
|
1007
|
-
className="font-mono min-w-
|
|
1007
|
+
className="font-mono min-w-30"
|
|
1008
1008
|
>
|
|
1009
1009
|
{'{{' + v + '}}'}
|
|
1010
1010
|
</Badge>
|
|
@@ -1105,7 +1105,7 @@ export default function EmailTemplatesPage() {
|
|
|
1105
1105
|
<div key={idx} className="flex items-center gap-2">
|
|
1106
1106
|
<Badge
|
|
1107
1107
|
variant="outline"
|
|
1108
|
-
className="font-mono min-w-
|
|
1108
|
+
className="font-mono min-w-30"
|
|
1109
1109
|
>
|
|
1110
1110
|
{'{{' + v + '}}'}
|
|
1111
1111
|
</Badge>
|
|
@@ -1128,7 +1128,7 @@ export default function EmailTemplatesPage() {
|
|
|
1128
1128
|
|
|
1129
1129
|
<div className="space-y-2">
|
|
1130
1130
|
<Label>{t('emailPreview')}</Label>
|
|
1131
|
-
<div className="rounded-lg border bg-white overflow-hidden max-h-
|
|
1131
|
+
<div className="rounded-lg border bg-white overflow-hidden max-h-100">
|
|
1132
1132
|
<iframe
|
|
1133
1133
|
srcDoc={renderHTMLPreview(
|
|
1134
1134
|
Object.entries(testEmailVariableValues).reduce(
|
|
@@ -1145,7 +1145,7 @@ export default function EmailTemplatesPage() {
|
|
|
1145
1145
|
formData.body
|
|
1146
1146
|
)
|
|
1147
1147
|
)}
|
|
1148
|
-
className="w-full min-h-
|
|
1148
|
+
className="w-full min-h-100 border-0"
|
|
1149
1149
|
title="Email Test Preview"
|
|
1150
1150
|
style={{ colorScheme: 'light' }}
|
|
1151
1151
|
/>
|
|
@@ -65,6 +65,7 @@ import {
|
|
|
65
65
|
SelectTrigger,
|
|
66
66
|
SelectValue,
|
|
67
67
|
} from '@/components/ui/select';
|
|
68
|
+
import { usePersistedPageSize } from '@/hooks/use-persisted-page-size';
|
|
68
69
|
import {
|
|
69
70
|
Sheet,
|
|
70
71
|
SheetContent,
|
|
@@ -1297,7 +1298,11 @@ export default function MenuPage() {
|
|
|
1297
1298
|
const [isRefreshingMenu, setIsRefreshingMenu] = useState(false);
|
|
1298
1299
|
|
|
1299
1300
|
const [page, setPage] = useState(1);
|
|
1300
|
-
const [pageSize, setPageSize] =
|
|
1301
|
+
const [pageSize, setPageSize] = usePersistedPageSize({
|
|
1302
|
+
storageKey: 'pagination:core-menu:pageSize',
|
|
1303
|
+
defaultValue: 12,
|
|
1304
|
+
allowedValues: [6, 12, 24, 48],
|
|
1305
|
+
});
|
|
1301
1306
|
|
|
1302
1307
|
const { data: allMenus, refetch: refetchAllMenus } = useQuery<MenuItem[]>({
|
|
1303
1308
|
queryKey: ['menus-all', currentLocaleCode],
|
|
@@ -2286,7 +2291,7 @@ export default function MenuPage() {
|
|
|
2286
2291
|
return (
|
|
2287
2292
|
<Page>
|
|
2288
2293
|
<PageHeader
|
|
2289
|
-
breadcrumbs={[{ label: '
|
|
2294
|
+
breadcrumbs={[{ label: t('home'), href: '/' }, { label: t('menus') }]}
|
|
2290
2295
|
actions={[
|
|
2291
2296
|
{
|
|
2292
2297
|
label: t('buttonAddMenu'),
|
|
@@ -187,7 +187,7 @@ export default function PreferencesPage() {
|
|
|
187
187
|
<div className="flex flex-col h-screen px-4">
|
|
188
188
|
<PageHeader
|
|
189
189
|
breadcrumbs={[
|
|
190
|
-
{ label: '
|
|
190
|
+
{ label: t('home'), href: '/dashboard' },
|
|
191
191
|
{ label: t('title') },
|
|
192
192
|
]}
|
|
193
193
|
title={t('title')}
|
|
@@ -73,6 +73,7 @@ import { useEffect, useMemo, useState } from 'react';
|
|
|
73
73
|
import { useForm, useWatch } from 'react-hook-form';
|
|
74
74
|
import { toast } from 'sonner';
|
|
75
75
|
import { z } from 'zod';
|
|
76
|
+
import { usePersistedPageSize } from '@/hooks/use-persisted-page-size';
|
|
76
77
|
import { RoleMenusSection } from './menus';
|
|
77
78
|
import { RoleRoutesSection } from './routes';
|
|
78
79
|
import { RoleUsersSection } from './users';
|
|
@@ -167,7 +168,11 @@ export default function RolePage() {
|
|
|
167
168
|
const [selectedLocale, setSelectedLocale] = useState(currentLocaleCode);
|
|
168
169
|
|
|
169
170
|
const [page, setPage] = useState(1);
|
|
170
|
-
const [pageSize, setPageSize] =
|
|
171
|
+
const [pageSize, setPageSize] = usePersistedPageSize({
|
|
172
|
+
storageKey: 'pagination:core-roles:pageSize',
|
|
173
|
+
defaultValue: 12,
|
|
174
|
+
allowedValues: [6, 12, 24, 48],
|
|
175
|
+
});
|
|
171
176
|
const [activeTab, setActiveTab] = useState('basic-info');
|
|
172
177
|
const [openDeleteModal, setOpenDeleteModal] = useState(false);
|
|
173
178
|
|
|
@@ -545,7 +550,7 @@ export default function RolePage() {
|
|
|
545
550
|
return (
|
|
546
551
|
<Page>
|
|
547
552
|
<PageHeader
|
|
548
|
-
breadcrumbs={[{ label: '
|
|
553
|
+
breadcrumbs={[{ label: t('home'), href: '/' }, { label: t('roles') }]}
|
|
549
554
|
actions={[
|
|
550
555
|
{
|
|
551
556
|
label: t('buttonAddRole'),
|
|
@@ -96,7 +96,7 @@ export default function UserPage() {
|
|
|
96
96
|
return (
|
|
97
97
|
<Page>
|
|
98
98
|
<PageHeader
|
|
99
|
-
breadcrumbs={[{ label: '
|
|
99
|
+
breadcrumbs={[{ label: t('home'), href: '/' }, { label: t('users') }]}
|
|
100
100
|
actions={[
|
|
101
101
|
{
|
|
102
102
|
label: t('buttonAddUser'),
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"tabAccounts": "Accounts",
|
|
69
69
|
"tabSessions": "Sessions",
|
|
70
70
|
"breadcrumbLabel": "Account",
|
|
71
|
+
"home": "Home",
|
|
71
72
|
"title": "Account",
|
|
72
73
|
"description": "Manage your account settings and preferences."
|
|
73
74
|
},
|
|
@@ -93,6 +94,7 @@
|
|
|
93
94
|
"languageRequired": "Language is required",
|
|
94
95
|
"themeRequired": "Theme is required",
|
|
95
96
|
"title": "Preferences",
|
|
97
|
+
"home": "Home",
|
|
96
98
|
"description": "Manage your user preferences and settings.",
|
|
97
99
|
"appearance": "Appearance",
|
|
98
100
|
"theme": "Theme",
|
|
@@ -202,6 +204,7 @@
|
|
|
202
204
|
"cancel": "Cancel",
|
|
203
205
|
"noRecentActivity": "No recent activity from this user.",
|
|
204
206
|
"users": "Users",
|
|
207
|
+
"home": "Home",
|
|
205
208
|
"tabPermissions": "Permissions",
|
|
206
209
|
"permissionsTitle": "User Permissions",
|
|
207
210
|
"permissionsDescription": "Manage roles assigned to this user",
|
|
@@ -245,6 +248,7 @@
|
|
|
245
248
|
"title": "Roles Management",
|
|
246
249
|
"description": "Manage all system roles and permissions",
|
|
247
250
|
"roles": "Roles",
|
|
251
|
+
"home": "Home",
|
|
248
252
|
"buttonAddRole": "Add Role",
|
|
249
253
|
"totalRoles": "Total Roles",
|
|
250
254
|
"totalUsers": "Total Users",
|
|
@@ -1026,12 +1030,40 @@
|
|
|
1026
1030
|
"settingUpdated": "Setting updated successfully.",
|
|
1027
1031
|
"settingUpdateFailed": "Failed to update setting.",
|
|
1028
1032
|
"iconRevalidated": "System icon revalidated successfully.",
|
|
1033
|
+
"hidePassword": "Hide password",
|
|
1034
|
+
"showPassword": "Show password",
|
|
1029
1035
|
"fileUploaded": "File uploaded successfully.",
|
|
1030
1036
|
"fileUploadFailed": "Failed to upload file.",
|
|
1037
|
+
"fileIdNotReturned": "File ID not returned.",
|
|
1038
|
+
"temporaryOpenUrlNotReturned": "Temporary open URL not returned.",
|
|
1031
1039
|
"uploadedFileAlt": "Uploaded file",
|
|
1032
1040
|
"fileUrlPlaceholder": "File URL",
|
|
1033
1041
|
"selectOption": "Select an option",
|
|
1034
|
-
"selectMailProfile": "Select a mail profile"
|
|
1042
|
+
"selectMailProfile": "Select a mail profile",
|
|
1043
|
+
"mailProfile": {
|
|
1044
|
+
"nameLabel": "Name *",
|
|
1045
|
+
"namePlaceholder": "My Mail Profile",
|
|
1046
|
+
"fromEmailLabel": "From Email *",
|
|
1047
|
+
"fromEmailPlaceholder": "no-reply@example.com",
|
|
1048
|
+
"providerLabel": "Provider *",
|
|
1049
|
+
"providers": {
|
|
1050
|
+
"ses": "Amazon SES"
|
|
1051
|
+
},
|
|
1052
|
+
"smtpHostLabel": "SMTP Host *",
|
|
1053
|
+
"smtpHostPlaceholder": "smtp.example.com",
|
|
1054
|
+
"smtpPortLabel": "SMTP Port *",
|
|
1055
|
+
"smtpPortPlaceholder": "587",
|
|
1056
|
+
"smtpUsernameLabel": "SMTP Username *",
|
|
1057
|
+
"smtpUsernamePlaceholder": "user@example.com",
|
|
1058
|
+
"smtpPasswordLabel": "SMTP Password *",
|
|
1059
|
+
"clientIdLabel": "Client ID *",
|
|
1060
|
+
"clientSecretLabel": "Client Secret *",
|
|
1061
|
+
"refreshTokenLabel": "Refresh Token *",
|
|
1062
|
+
"accessKeyIdLabel": "Access Key ID *",
|
|
1063
|
+
"secretAccessKeyLabel": "Secret Access Key *",
|
|
1064
|
+
"regionLabel": "Region *",
|
|
1065
|
+
"regionPlaceholder": "us-east-1"
|
|
1066
|
+
}
|
|
1035
1067
|
},
|
|
1036
1068
|
"AddWidgetDialog": {
|
|
1037
1069
|
"title": "Select Dashboard Components",
|
|
@@ -1556,6 +1588,7 @@
|
|
|
1556
1588
|
"title": "Menus Management",
|
|
1557
1589
|
"description": "Manage all system navigation menus",
|
|
1558
1590
|
"menus": "Menus",
|
|
1591
|
+
"home": "Home",
|
|
1559
1592
|
"totalMenus": "Total Menus",
|
|
1560
1593
|
"buttonAddMenu": "Add Menu",
|
|
1561
1594
|
"searchPlaceholder": "Search menus...",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"tabAccounts": "Contas",
|
|
69
69
|
"tabSessions": "Sessões",
|
|
70
70
|
"breadcrumbLabel": "Conta",
|
|
71
|
+
"home": "Home",
|
|
71
72
|
"title": "Conta",
|
|
72
73
|
"description": "Gerencie as configurações e preferências da sua conta."
|
|
73
74
|
},
|
|
@@ -93,6 +94,7 @@
|
|
|
93
94
|
"languageRequired": "Idioma é obrigatório",
|
|
94
95
|
"themeRequired": "Tema é obrigatório",
|
|
95
96
|
"title": "Preferências",
|
|
97
|
+
"home": "Home",
|
|
96
98
|
"description": "Gerencie suas preferências de usuário e configurações.",
|
|
97
99
|
"appearance": "Aparência",
|
|
98
100
|
"theme": "Tema",
|
|
@@ -202,6 +204,7 @@
|
|
|
202
204
|
"cancel": "Cancelar",
|
|
203
205
|
"noRecentActivity": "Nenhuma atividade recente deste usuário.",
|
|
204
206
|
"users": "Usuários",
|
|
207
|
+
"home": "Home",
|
|
205
208
|
"tabPermissions": "Permissões",
|
|
206
209
|
"permissionsTitle": "Permissões do Usuário",
|
|
207
210
|
"permissionsDescription": "Gerencie os cargos atribuídos a este usuário",
|
|
@@ -245,6 +248,7 @@
|
|
|
245
248
|
"title": "Gerenciamento de Cargos",
|
|
246
249
|
"description": "Gerencie todos os cargos e permissões do sistema",
|
|
247
250
|
"roles": "Cargos",
|
|
251
|
+
"home": "Home",
|
|
248
252
|
"buttonAddRole": "Adicionar Cargo",
|
|
249
253
|
"totalRoles": "Total de Cargos",
|
|
250
254
|
"totalUsers": "Total de Usuários",
|
|
@@ -1029,12 +1033,40 @@
|
|
|
1029
1033
|
"settingUpdated": "Configuração atualizada com sucesso.",
|
|
1030
1034
|
"settingUpdateFailed": "Falha ao atualizar configuração.",
|
|
1031
1035
|
"iconRevalidated": "Ícone do sistema revalidado com sucesso.",
|
|
1036
|
+
"hidePassword": "Ocultar senha",
|
|
1037
|
+
"showPassword": "Mostrar senha",
|
|
1032
1038
|
"fileUploaded": "Arquivo enviado com sucesso.",
|
|
1033
1039
|
"fileUploadFailed": "Falha ao enviar arquivo.",
|
|
1040
|
+
"fileIdNotReturned": "ID do arquivo não retornado.",
|
|
1041
|
+
"temporaryOpenUrlNotReturned": "URL temporária de abertura não retornada.",
|
|
1034
1042
|
"uploadedFileAlt": "Arquivo enviado",
|
|
1035
1043
|
"fileUrlPlaceholder": "URL do arquivo",
|
|
1036
1044
|
"selectOption": "Selecione uma opção",
|
|
1037
|
-
"selectMailProfile": "Selecione um perfil de email"
|
|
1045
|
+
"selectMailProfile": "Selecione um perfil de email",
|
|
1046
|
+
"mailProfile": {
|
|
1047
|
+
"nameLabel": "Nome *",
|
|
1048
|
+
"namePlaceholder": "Meu Perfil de Email",
|
|
1049
|
+
"fromEmailLabel": "Email de envio *",
|
|
1050
|
+
"fromEmailPlaceholder": "nao-responda@exemplo.com",
|
|
1051
|
+
"providerLabel": "Provedor *",
|
|
1052
|
+
"providers": {
|
|
1053
|
+
"ses": "Amazon SES"
|
|
1054
|
+
},
|
|
1055
|
+
"smtpHostLabel": "Host SMTP *",
|
|
1056
|
+
"smtpHostPlaceholder": "smtp.exemplo.com",
|
|
1057
|
+
"smtpPortLabel": "Porta SMTP *",
|
|
1058
|
+
"smtpPortPlaceholder": "587",
|
|
1059
|
+
"smtpUsernameLabel": "Usuário SMTP *",
|
|
1060
|
+
"smtpUsernamePlaceholder": "usuario@exemplo.com",
|
|
1061
|
+
"smtpPasswordLabel": "Senha SMTP *",
|
|
1062
|
+
"clientIdLabel": "Client ID *",
|
|
1063
|
+
"clientSecretLabel": "Client Secret *",
|
|
1064
|
+
"refreshTokenLabel": "Refresh Token *",
|
|
1065
|
+
"accessKeyIdLabel": "Access Key ID *",
|
|
1066
|
+
"secretAccessKeyLabel": "Secret Access Key *",
|
|
1067
|
+
"regionLabel": "Região *",
|
|
1068
|
+
"regionPlaceholder": "us-east-1"
|
|
1069
|
+
}
|
|
1038
1070
|
},
|
|
1039
1071
|
"AddWidgetDialog": {
|
|
1040
1072
|
"title": "Selecionar Componentes do Dashboard",
|
|
@@ -1611,6 +1643,7 @@
|
|
|
1611
1643
|
"title": "Gerenciamento de Menus",
|
|
1612
1644
|
"description": "Gerencie todos os menus de navegação do sistema",
|
|
1613
1645
|
"menus": "Menus",
|
|
1646
|
+
"home": "Home",
|
|
1614
1647
|
"totalMenus": "Total de Menus",
|
|
1615
1648
|
"buttonAddMenu": "Adicionar Menu",
|
|
1616
1649
|
"searchPlaceholder": "Pesquisar menus...",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hed-hog/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.331",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"speakeasy": "^2.0.0",
|
|
32
32
|
"uuid": "^11.1.0",
|
|
33
33
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
34
|
+
"@hed-hog/api-locale": "0.0.14",
|
|
35
|
+
"@hed-hog/api": "0.0.8",
|
|
34
36
|
"@hed-hog/api-types": "0.0.1",
|
|
35
37
|
"@hed-hog/api-prisma": "0.0.6",
|
|
36
|
-
"@hed-hog/api": "0.0.8",
|
|
37
|
-
"@hed-hog/api-locale": "0.0.14",
|
|
38
38
|
"@hed-hog/api-mail": "0.0.9",
|
|
39
39
|
"@hed-hog/api-pagination": "0.0.7"
|
|
40
40
|
},
|