strapi-plugin-magic-link-v5 4.8.1 → 4.9.0
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/admin/src/pages/Tokens/IPBans.jsx +51 -6
- package/admin/src/pages/Tokens/JWTSessions.jsx +65 -20
- package/admin/src/pages/Tokens/TokensProfessional.jsx +40 -4
- package/admin/src/translations/de.json +10 -1
- package/admin/src/translations/en.json +10 -1
- package/admin/src/translations/es.json +10 -1
- package/admin/src/translations/fr.json +10 -1
- package/admin/src/translations/pt.json +10 -1
- package/package.json +1 -1
|
@@ -97,6 +97,10 @@ const float = keyframes`
|
|
|
97
97
|
const Container = styled(Box)`
|
|
98
98
|
animation: ${fadeIn} 0.5s;
|
|
99
99
|
min-height: calc(100vh - 200px);
|
|
100
|
+
|
|
101
|
+
@media (prefers-color-scheme: dark) {
|
|
102
|
+
background: transparent;
|
|
103
|
+
}
|
|
100
104
|
`;
|
|
101
105
|
|
|
102
106
|
const StatsGrid = styled(Box)`
|
|
@@ -132,6 +136,16 @@ const StatCard = styled(Box)`
|
|
|
132
136
|
transform: rotate(10deg) scale(1.1);
|
|
133
137
|
}
|
|
134
138
|
}
|
|
139
|
+
|
|
140
|
+
@media (prefers-color-scheme: dark) {
|
|
141
|
+
background: rgba(30, 30, 40, 0.6);
|
|
142
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
143
|
+
|
|
144
|
+
&:hover {
|
|
145
|
+
background: rgba(40, 40, 50, 0.8);
|
|
146
|
+
border-color: ${props => props.$color || theme.colors.primary[500]};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
135
149
|
`;
|
|
136
150
|
|
|
137
151
|
const StatIcon = styled(Box)`
|
|
@@ -170,6 +184,11 @@ const DataTable = styled(Box)`
|
|
|
170
184
|
overflow: hidden;
|
|
171
185
|
box-shadow: ${theme.shadows.sm};
|
|
172
186
|
border: 1px solid ${theme.colors.neutral[200]};
|
|
187
|
+
|
|
188
|
+
@media (prefers-color-scheme: dark) {
|
|
189
|
+
background: rgba(30, 30, 40, 0.6);
|
|
190
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
191
|
+
}
|
|
173
192
|
`;
|
|
174
193
|
|
|
175
194
|
const StyledTable = styled(Table)`
|
|
@@ -185,6 +204,15 @@ const StyledTable = styled(Table)`
|
|
|
185
204
|
letter-spacing: 0.05em;
|
|
186
205
|
padding: ${theme.spacing.md};
|
|
187
206
|
}
|
|
207
|
+
|
|
208
|
+
@media (prefers-color-scheme: dark) {
|
|
209
|
+
background: rgba(40, 40, 50, 0.4);
|
|
210
|
+
border-bottom-color: rgba(255, 255, 255, 0.1);
|
|
211
|
+
|
|
212
|
+
th {
|
|
213
|
+
color: rgba(255, 255, 255, 0.9);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
188
216
|
}
|
|
189
217
|
|
|
190
218
|
tbody tr {
|
|
@@ -199,6 +227,18 @@ const StyledTable = styled(Table)`
|
|
|
199
227
|
padding: ${theme.spacing.md};
|
|
200
228
|
color: ${theme.colors.neutral[700]};
|
|
201
229
|
}
|
|
230
|
+
|
|
231
|
+
@media (prefers-color-scheme: dark) {
|
|
232
|
+
border-bottom-color: rgba(255, 255, 255, 0.05);
|
|
233
|
+
|
|
234
|
+
&:hover {
|
|
235
|
+
background: rgba(220, 38, 38, 0.15);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
td {
|
|
239
|
+
color: rgba(255, 255, 255, 0.85);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
202
242
|
}
|
|
203
243
|
`;
|
|
204
244
|
|
|
@@ -241,6 +281,11 @@ const FilterBar = styled(Flex)`
|
|
|
241
281
|
margin-bottom: ${theme.spacing.lg};
|
|
242
282
|
box-shadow: ${theme.shadows.sm};
|
|
243
283
|
border: 1px solid ${theme.colors.neutral[200]};
|
|
284
|
+
|
|
285
|
+
@media (prefers-color-scheme: dark) {
|
|
286
|
+
background: rgba(30, 30, 40, 0.6);
|
|
287
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
288
|
+
}
|
|
244
289
|
`;
|
|
245
290
|
|
|
246
291
|
const LoadingOverlay = styled(Flex)`
|
|
@@ -343,8 +388,8 @@ const IPBans = () => {
|
|
|
343
388
|
if (!newIP || !isValidIP(newIP)) {
|
|
344
389
|
toggleNotification({
|
|
345
390
|
type: 'warning',
|
|
346
|
-
message:
|
|
347
|
-
title: '
|
|
391
|
+
message: formatMessage({ id: getTrad('ipban.modal.invalidIP') }),
|
|
392
|
+
title: formatMessage({ id: getTrad('tokens.notifications.validation') })
|
|
348
393
|
});
|
|
349
394
|
return;
|
|
350
395
|
}
|
|
@@ -535,9 +580,9 @@ const IPBans = () => {
|
|
|
535
580
|
<StyledTable>
|
|
536
581
|
<Thead>
|
|
537
582
|
<Tr>
|
|
538
|
-
<Th>
|
|
539
|
-
<Th>
|
|
540
|
-
<Th>
|
|
583
|
+
<Th>{formatMessage({ id: getTrad('common.tableHeaders.ipAddress') })}</Th>
|
|
584
|
+
<Th>{formatMessage({ id: getTrad('common.status') })}</Th>
|
|
585
|
+
<Th>{formatMessage({ id: getTrad('common.actions') })}</Th>
|
|
541
586
|
</Tr>
|
|
542
587
|
</Thead>
|
|
543
588
|
<Tbody>
|
|
@@ -691,7 +736,7 @@ const IPBans = () => {
|
|
|
691
736
|
<Flex gap={2} alignItems="flex-start">
|
|
692
737
|
<WarningCircle style={{ width: '20px', height: '20px', color: theme.colors.warning[600], flexShrink: 0 }} />
|
|
693
738
|
<Typography variant="pi" style={{ fontSize: '12px', lineHeight: '1.5' }}>
|
|
694
|
-
|
|
739
|
+
{formatMessage({ id: getTrad('ipban.modal.warning') })}
|
|
695
740
|
</Typography>
|
|
696
741
|
</Flex>
|
|
697
742
|
</Box>
|
|
@@ -102,6 +102,10 @@ const float = keyframes`
|
|
|
102
102
|
const Container = styled(Box)`
|
|
103
103
|
animation: ${fadeIn} 0.5s;
|
|
104
104
|
min-height: calc(100vh - 200px);
|
|
105
|
+
|
|
106
|
+
@media (prefers-color-scheme: dark) {
|
|
107
|
+
background: transparent;
|
|
108
|
+
}
|
|
105
109
|
`;
|
|
106
110
|
|
|
107
111
|
const StatsGrid = styled(Box)`
|
|
@@ -137,6 +141,16 @@ const StatCard = styled(Box)`
|
|
|
137
141
|
transform: rotate(10deg) scale(1.1);
|
|
138
142
|
}
|
|
139
143
|
}
|
|
144
|
+
|
|
145
|
+
@media (prefers-color-scheme: dark) {
|
|
146
|
+
background: rgba(30, 30, 40, 0.6);
|
|
147
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
148
|
+
|
|
149
|
+
&:hover {
|
|
150
|
+
background: rgba(40, 40, 50, 0.8);
|
|
151
|
+
border-color: ${props => props.$color || theme.colors.primary[500]};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
140
154
|
`;
|
|
141
155
|
|
|
142
156
|
const StatIcon = styled(Box)`
|
|
@@ -175,6 +189,11 @@ const DataTable = styled(Box)`
|
|
|
175
189
|
overflow: hidden;
|
|
176
190
|
box-shadow: ${theme.shadows.sm};
|
|
177
191
|
border: 1px solid ${theme.colors.neutral[200]};
|
|
192
|
+
|
|
193
|
+
@media (prefers-color-scheme: dark) {
|
|
194
|
+
background: rgba(30, 30, 40, 0.6);
|
|
195
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
196
|
+
}
|
|
178
197
|
`;
|
|
179
198
|
|
|
180
199
|
const StyledTable = styled(Table)`
|
|
@@ -190,6 +209,15 @@ const StyledTable = styled(Table)`
|
|
|
190
209
|
letter-spacing: 0.05em;
|
|
191
210
|
padding: ${theme.spacing.md};
|
|
192
211
|
}
|
|
212
|
+
|
|
213
|
+
@media (prefers-color-scheme: dark) {
|
|
214
|
+
background: rgba(40, 40, 50, 0.4);
|
|
215
|
+
border-bottom-color: rgba(255, 255, 255, 0.1);
|
|
216
|
+
|
|
217
|
+
th {
|
|
218
|
+
color: rgba(255, 255, 255, 0.9);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
193
221
|
}
|
|
194
222
|
|
|
195
223
|
tbody tr {
|
|
@@ -204,6 +232,18 @@ const StyledTable = styled(Table)`
|
|
|
204
232
|
padding: ${theme.spacing.md};
|
|
205
233
|
color: ${theme.colors.neutral[700]};
|
|
206
234
|
}
|
|
235
|
+
|
|
236
|
+
@media (prefers-color-scheme: dark) {
|
|
237
|
+
border-bottom-color: rgba(255, 255, 255, 0.05);
|
|
238
|
+
|
|
239
|
+
&:hover {
|
|
240
|
+
background: rgba(2, 132, 199, 0.15);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
td {
|
|
244
|
+
color: rgba(255, 255, 255, 0.85);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
207
247
|
}
|
|
208
248
|
`;
|
|
209
249
|
|
|
@@ -246,6 +286,11 @@ const FilterBar = styled(Flex)`
|
|
|
246
286
|
margin-bottom: ${theme.spacing.lg};
|
|
247
287
|
box-shadow: ${theme.shadows.sm};
|
|
248
288
|
border: 1px solid ${theme.colors.neutral[200]};
|
|
289
|
+
|
|
290
|
+
@media (prefers-color-scheme: dark) {
|
|
291
|
+
background: rgba(30, 30, 40, 0.6);
|
|
292
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
293
|
+
}
|
|
249
294
|
`;
|
|
250
295
|
|
|
251
296
|
const ActionBar = styled(Flex)`
|
|
@@ -421,8 +466,8 @@ const JWTSessions = () => {
|
|
|
421
466
|
fetchSessions();
|
|
422
467
|
toggleNotification({
|
|
423
468
|
type: 'success',
|
|
424
|
-
message:
|
|
425
|
-
title: '
|
|
469
|
+
message: formatMessage({ id: getTrad('jwt.notifications.refreshSuccess') }),
|
|
470
|
+
title: formatMessage({ id: getTrad('tokens.notifications.success') })
|
|
426
471
|
});
|
|
427
472
|
};
|
|
428
473
|
|
|
@@ -583,12 +628,12 @@ const JWTSessions = () => {
|
|
|
583
628
|
<SingleSelect
|
|
584
629
|
value={pageSize.toString()}
|
|
585
630
|
onChange={(value) => setPageSize(parseInt(value))}
|
|
586
|
-
placeholder=
|
|
631
|
+
placeholder={formatMessage({ id: getTrad('common.entriesPerPage') })}
|
|
587
632
|
>
|
|
588
|
-
<SingleSelectOption value="10">10
|
|
589
|
-
<SingleSelectOption value="25">25
|
|
590
|
-
<SingleSelectOption value="50">50
|
|
591
|
-
<SingleSelectOption value="100">100
|
|
633
|
+
<SingleSelectOption value="10">{formatMessage({ id: getTrad('common.entries') }, { count: 10 })}</SingleSelectOption>
|
|
634
|
+
<SingleSelectOption value="25">{formatMessage({ id: getTrad('common.entries') }, { count: 25 })}</SingleSelectOption>
|
|
635
|
+
<SingleSelectOption value="50">{formatMessage({ id: getTrad('common.entries') }, { count: 50 })}</SingleSelectOption>
|
|
636
|
+
<SingleSelectOption value="100">{formatMessage({ id: getTrad('common.entries') }, { count: 100 })}</SingleSelectOption>
|
|
592
637
|
</SingleSelect>
|
|
593
638
|
<Button
|
|
594
639
|
onClick={handleCleanup}
|
|
@@ -612,14 +657,14 @@ const JWTSessions = () => {
|
|
|
612
657
|
{selectedSessions.length > 0 && (
|
|
613
658
|
<ActionBar justifyContent="space-between" alignItems="center">
|
|
614
659
|
<Typography fontWeight="semiBold">
|
|
615
|
-
{selectedSessions
|
|
660
|
+
{formatMessage({ id: getTrad('common.selectedSessions') }, { count: selectedSessions.length })}
|
|
616
661
|
</Typography>
|
|
617
662
|
<Button
|
|
618
663
|
onClick={() => setSelectedSessions([])}
|
|
619
664
|
variant="tertiary"
|
|
620
665
|
size="S"
|
|
621
666
|
>
|
|
622
|
-
|
|
667
|
+
{formatMessage({ id: getTrad('common.clearSelection') })}
|
|
623
668
|
</Button>
|
|
624
669
|
</ActionBar>
|
|
625
670
|
)}
|
|
@@ -693,21 +738,21 @@ const JWTSessions = () => {
|
|
|
693
738
|
onCheckedChange={handleSelectAll}
|
|
694
739
|
/>
|
|
695
740
|
</Th>
|
|
696
|
-
<Th action={<IconButton label=
|
|
697
|
-
|
|
741
|
+
<Th action={<IconButton label={formatMessage({ id: getTrad('common.tableHeaders.sortByUser') })} onClick={() => handleSort('username')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
|
|
742
|
+
{formatMessage({ id: getTrad('common.user') })}
|
|
698
743
|
</Th>
|
|
699
|
-
<Th>
|
|
700
|
-
<Th>
|
|
701
|
-
<Th action={<IconButton label=
|
|
702
|
-
|
|
744
|
+
<Th>{formatMessage({ id: getTrad('common.tableHeaders.ipAddress') })}</Th>
|
|
745
|
+
<Th>{formatMessage({ id: getTrad('common.userAgent') })}</Th>
|
|
746
|
+
<Th action={<IconButton label={formatMessage({ id: getTrad('common.tableHeaders.sortByStatus') })} onClick={() => handleSort('revoked')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
|
|
747
|
+
{formatMessage({ id: getTrad('common.status') })}
|
|
703
748
|
</Th>
|
|
704
|
-
<Th action={<IconButton label=
|
|
705
|
-
|
|
749
|
+
<Th action={<IconButton label={formatMessage({ id: getTrad('common.tableHeaders.sortByCreated') })} onClick={() => handleSort('createdAt')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
|
|
750
|
+
{formatMessage({ id: getTrad('common.created') })}
|
|
706
751
|
</Th>
|
|
707
|
-
<Th action={<IconButton label=
|
|
708
|
-
|
|
752
|
+
<Th action={<IconButton label={formatMessage({ id: getTrad('common.tableHeaders.sortByExpiry') })} onClick={() => handleSort('expiresAt')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
|
|
753
|
+
{formatMessage({ id: getTrad('common.expiresAt') })}
|
|
709
754
|
</Th>
|
|
710
|
-
<Th>
|
|
755
|
+
<Th>{formatMessage({ id: getTrad('common.actions') })}</Th>
|
|
711
756
|
</Tr>
|
|
712
757
|
</Thead>
|
|
713
758
|
<Tbody>
|
|
@@ -236,13 +236,13 @@ const float = keyframes`
|
|
|
236
236
|
const Container = styled(Box)`
|
|
237
237
|
animation: ${fadeIn} ${theme.transitions.slow};
|
|
238
238
|
min-height: 100vh;
|
|
239
|
-
background: linear-gradient(180deg,
|
|
240
|
-
${theme.colors.neutral[50]} 0%,
|
|
241
|
-
${theme.colors.neutral[100]} 100%
|
|
242
|
-
);
|
|
243
239
|
max-width: 1440px;
|
|
244
240
|
margin: 0 auto;
|
|
245
241
|
padding: ${theme.spacing.xl} ${theme.spacing.lg} 0;
|
|
242
|
+
|
|
243
|
+
@media (prefers-color-scheme: dark) {
|
|
244
|
+
background: transparent;
|
|
245
|
+
}
|
|
246
246
|
`;
|
|
247
247
|
|
|
248
248
|
const Header = styled(Box)`
|
|
@@ -449,6 +449,16 @@ const StatCard = styled(Box)`
|
|
|
449
449
|
);
|
|
450
450
|
transform: translate(40%, -40%);
|
|
451
451
|
}
|
|
452
|
+
|
|
453
|
+
@media (prefers-color-scheme: dark) {
|
|
454
|
+
background: rgba(30, 30, 40, 0.6);
|
|
455
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
456
|
+
|
|
457
|
+
&:hover {
|
|
458
|
+
background: rgba(40, 40, 50, 0.8);
|
|
459
|
+
border-color: ${props => props.$color || theme.colors.primary[500]};
|
|
460
|
+
}
|
|
461
|
+
}
|
|
452
462
|
`;
|
|
453
463
|
|
|
454
464
|
const StatIcon = styled(Box)`
|
|
@@ -490,6 +500,11 @@ const DataTable = styled(Box)`
|
|
|
490
500
|
overflow: hidden;
|
|
491
501
|
box-shadow: ${theme.shadows.sm};
|
|
492
502
|
border: 1px solid ${theme.colors.neutral[200]};
|
|
503
|
+
|
|
504
|
+
@media (prefers-color-scheme: dark) {
|
|
505
|
+
background: rgba(30, 30, 40, 0.6);
|
|
506
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
507
|
+
}
|
|
493
508
|
`;
|
|
494
509
|
|
|
495
510
|
const StyledTable = styled(Table)`
|
|
@@ -506,6 +521,15 @@ const StyledTable = styled(Table)`
|
|
|
506
521
|
letter-spacing: 0.05em;
|
|
507
522
|
padding: ${theme.spacing.md};
|
|
508
523
|
}
|
|
524
|
+
|
|
525
|
+
@media (prefers-color-scheme: dark) {
|
|
526
|
+
background: rgba(40, 40, 50, 0.4);
|
|
527
|
+
border-bottom-color: rgba(255, 255, 255, 0.1);
|
|
528
|
+
|
|
529
|
+
th {
|
|
530
|
+
color: rgba(255, 255, 255, 0.9);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
509
533
|
}
|
|
510
534
|
|
|
511
535
|
tbody tr {
|
|
@@ -528,6 +552,18 @@ const StyledTable = styled(Table)`
|
|
|
528
552
|
padding: ${theme.spacing.md};
|
|
529
553
|
color: ${theme.colors.neutral[700]};
|
|
530
554
|
}
|
|
555
|
+
|
|
556
|
+
@media (prefers-color-scheme: dark) {
|
|
557
|
+
border-bottom-color: rgba(255, 255, 255, 0.05);
|
|
558
|
+
|
|
559
|
+
&:hover {
|
|
560
|
+
background: rgba(2, 132, 199, 0.15);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
td {
|
|
564
|
+
color: rgba(255, 255, 255, 0.85);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
531
567
|
}
|
|
532
568
|
`;
|
|
533
569
|
|
|
@@ -335,6 +335,7 @@
|
|
|
335
335
|
"magic-link.ipban.modal.label": "IP-Adresse",
|
|
336
336
|
"magic-link.ipban.modal.placeholder": "z.B. 192.168.1.1",
|
|
337
337
|
"magic-link.ipban.modal.hint": "Geben Sie eine IPv4 oder IPv6 Adresse ein",
|
|
338
|
+
"magic-link.ipban.modal.invalidIP": "Bitte geben Sie eine gültige IP-Adresse ein",
|
|
338
339
|
"magic-link.ipban.modal.cancel": "Abbrechen",
|
|
339
340
|
"magic-link.ipban.modal.submit": "IP sperren",
|
|
340
341
|
"magic-link.ipban.status.banned": "Gesperrt",
|
|
@@ -370,5 +371,13 @@
|
|
|
370
371
|
"magic-link.common.submit": "Absenden",
|
|
371
372
|
"magic-link.common.entriesPerPage": "Einträge pro Seite",
|
|
372
373
|
"magic-link.common.entries": "{count} Einträge",
|
|
373
|
-
"magic-link.common.selectedCount": "{count} ausgewählt"
|
|
374
|
+
"magic-link.common.selectedCount": "{count} ausgewählt",
|
|
375
|
+
"magic-link.common.selectedSessions": "{count} Session{count, plural, one {} other {s}} ausgewählt",
|
|
376
|
+
"magic-link.common.clearSelection": "Auswahl aufheben",
|
|
377
|
+
"magic-link.common.tableHeaders.ipAddress": "IP-Adresse",
|
|
378
|
+
"magic-link.common.tableHeaders.tokens": "Tokens",
|
|
379
|
+
"magic-link.common.tableHeaders.sortByUser": "Nach Benutzer sortieren",
|
|
380
|
+
"magic-link.common.tableHeaders.sortByStatus": "Nach Status sortieren",
|
|
381
|
+
"magic-link.common.tableHeaders.sortByCreated": "Nach Erstelldatum sortieren",
|
|
382
|
+
"magic-link.common.tableHeaders.sortByExpiry": "Nach Ablaufdatum sortieren"
|
|
374
383
|
}
|
|
@@ -335,6 +335,7 @@
|
|
|
335
335
|
"magic-link.ipban.modal.label": "IP Address",
|
|
336
336
|
"magic-link.ipban.modal.placeholder": "e.g. 192.168.1.1",
|
|
337
337
|
"magic-link.ipban.modal.hint": "Enter an IPv4 or IPv6 address",
|
|
338
|
+
"magic-link.ipban.modal.invalidIP": "Please enter a valid IP address",
|
|
338
339
|
"magic-link.ipban.modal.cancel": "Cancel",
|
|
339
340
|
"magic-link.ipban.modal.submit": "Ban IP",
|
|
340
341
|
"magic-link.ipban.status.banned": "Banned",
|
|
@@ -370,5 +371,13 @@
|
|
|
370
371
|
"magic-link.common.submit": "Submit",
|
|
371
372
|
"magic-link.common.entriesPerPage": "Entries per page",
|
|
372
373
|
"magic-link.common.entries": "{count} entries",
|
|
373
|
-
"magic-link.common.selectedCount": "{count} selected"
|
|
374
|
+
"magic-link.common.selectedCount": "{count} selected",
|
|
375
|
+
"magic-link.common.selectedSessions": "{count} session(s) selected",
|
|
376
|
+
"magic-link.common.clearSelection": "Clear selection",
|
|
377
|
+
"magic-link.common.tableHeaders.ipAddress": "IP Address",
|
|
378
|
+
"magic-link.common.tableHeaders.tokens": "Tokens",
|
|
379
|
+
"magic-link.common.tableHeaders.sortByUser": "Sort by user",
|
|
380
|
+
"magic-link.common.tableHeaders.sortByStatus": "Sort by status",
|
|
381
|
+
"magic-link.common.tableHeaders.sortByCreated": "Sort by created date",
|
|
382
|
+
"magic-link.common.tableHeaders.sortByExpiry": "Sort by expiry date"
|
|
374
383
|
}
|
|
@@ -335,6 +335,7 @@
|
|
|
335
335
|
"magic-link.ipban.modal.label": "Dirección IP",
|
|
336
336
|
"magic-link.ipban.modal.placeholder": "ej. 192.168.1.1",
|
|
337
337
|
"magic-link.ipban.modal.hint": "Ingrese una dirección IPv4 o IPv6",
|
|
338
|
+
"magic-link.ipban.modal.invalidIP": "Por favor ingrese una dirección IP válida",
|
|
338
339
|
"magic-link.ipban.modal.cancel": "Cancelar",
|
|
339
340
|
"magic-link.ipban.modal.submit": "Bloquear IP",
|
|
340
341
|
"magic-link.ipban.status.banned": "Bloqueado",
|
|
@@ -370,6 +371,14 @@
|
|
|
370
371
|
"magic-link.common.submit": "Enviar",
|
|
371
372
|
"magic-link.common.entriesPerPage": "Entradas por página",
|
|
372
373
|
"magic-link.common.entries": "{count} entradas",
|
|
373
|
-
"magic-link.common.selectedCount": "{count} seleccionado(s)"
|
|
374
|
+
"magic-link.common.selectedCount": "{count} seleccionado(s)",
|
|
375
|
+
"magic-link.common.selectedSessions": "{count} sesión/sesiones seleccionada(s)",
|
|
376
|
+
"magic-link.common.clearSelection": "Borrar selección",
|
|
377
|
+
"magic-link.common.tableHeaders.ipAddress": "Dirección IP",
|
|
378
|
+
"magic-link.common.tableHeaders.tokens": "Tokens",
|
|
379
|
+
"magic-link.common.tableHeaders.sortByUser": "Ordenar por usuario",
|
|
380
|
+
"magic-link.common.tableHeaders.sortByStatus": "Ordenar por estado",
|
|
381
|
+
"magic-link.common.tableHeaders.sortByCreated": "Ordenar por fecha de creación",
|
|
382
|
+
"magic-link.common.tableHeaders.sortByExpiry": "Ordenar por fecha de expiración"
|
|
374
383
|
}
|
|
375
384
|
|
|
@@ -335,6 +335,7 @@
|
|
|
335
335
|
"magic-link.ipban.modal.label": "Adresse IP",
|
|
336
336
|
"magic-link.ipban.modal.placeholder": "ex. 192.168.1.1",
|
|
337
337
|
"magic-link.ipban.modal.hint": "Entrez une adresse IPv4 ou IPv6",
|
|
338
|
+
"magic-link.ipban.modal.invalidIP": "Veuillez saisir une adresse IP valide",
|
|
338
339
|
"magic-link.ipban.modal.cancel": "Annuler",
|
|
339
340
|
"magic-link.ipban.modal.submit": "Bannir IP",
|
|
340
341
|
"magic-link.ipban.status.banned": "Banni",
|
|
@@ -370,6 +371,14 @@
|
|
|
370
371
|
"magic-link.common.submit": "Soumettre",
|
|
371
372
|
"magic-link.common.entriesPerPage": "Entrées par page",
|
|
372
373
|
"magic-link.common.entries": "{count} entrées",
|
|
373
|
-
"magic-link.common.selectedCount": "{count} sélectionné(s)"
|
|
374
|
+
"magic-link.common.selectedCount": "{count} sélectionné(s)",
|
|
375
|
+
"magic-link.common.selectedSessions": "{count} session(s) sélectionnée(s)",
|
|
376
|
+
"magic-link.common.clearSelection": "Effacer la sélection",
|
|
377
|
+
"magic-link.common.tableHeaders.ipAddress": "Adresse IP",
|
|
378
|
+
"magic-link.common.tableHeaders.tokens": "Jetons",
|
|
379
|
+
"magic-link.common.tableHeaders.sortByUser": "Trier par utilisateur",
|
|
380
|
+
"magic-link.common.tableHeaders.sortByStatus": "Trier par statut",
|
|
381
|
+
"magic-link.common.tableHeaders.sortByCreated": "Trier par date de création",
|
|
382
|
+
"magic-link.common.tableHeaders.sortByExpiry": "Trier par date d'expiration"
|
|
374
383
|
}
|
|
375
384
|
|
|
@@ -335,6 +335,7 @@
|
|
|
335
335
|
"magic-link.ipban.modal.label": "Endereço IP",
|
|
336
336
|
"magic-link.ipban.modal.placeholder": "ex. 192.168.1.1",
|
|
337
337
|
"magic-link.ipban.modal.hint": "Digite um endereço IPv4 ou IPv6",
|
|
338
|
+
"magic-link.ipban.modal.invalidIP": "Por favor, insira um endereço IP válido",
|
|
338
339
|
"magic-link.ipban.modal.cancel": "Cancelar",
|
|
339
340
|
"magic-link.ipban.modal.submit": "Banir IP",
|
|
340
341
|
"magic-link.ipban.status.banned": "Banido",
|
|
@@ -370,6 +371,14 @@
|
|
|
370
371
|
"magic-link.common.submit": "Enviar",
|
|
371
372
|
"magic-link.common.entriesPerPage": "Entradas por página",
|
|
372
373
|
"magic-link.common.entries": "{count} entradas",
|
|
373
|
-
"magic-link.common.selectedCount": "{count} selecionado(s)"
|
|
374
|
+
"magic-link.common.selectedCount": "{count} selecionado(s)",
|
|
375
|
+
"magic-link.common.selectedSessions": "{count} sessão/sessões selecionada(s)",
|
|
376
|
+
"magic-link.common.clearSelection": "Limpar seleção",
|
|
377
|
+
"magic-link.common.tableHeaders.ipAddress": "Endereço IP",
|
|
378
|
+
"magic-link.common.tableHeaders.tokens": "Tokens",
|
|
379
|
+
"magic-link.common.tableHeaders.sortByUser": "Ordenar por usuário",
|
|
380
|
+
"magic-link.common.tableHeaders.sortByStatus": "Ordenar por status",
|
|
381
|
+
"magic-link.common.tableHeaders.sortByCreated": "Ordenar por data de criação",
|
|
382
|
+
"magic-link.common.tableHeaders.sortByExpiry": "Ordenar por data de expiração"
|
|
374
383
|
}
|
|
375
384
|
|
package/package.json
CHANGED