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.
@@ -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: 'Bitte geben Sie eine gültige IP-Adresse ein',
347
- title: 'Ungültige IP'
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>IP-Adresse</Th>
539
- <Th>Status</Th>
540
- <Th>Aktionen</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
- <strong>Warnung:</strong> Diese IP-Adresse wird sofort gesperrt und alle zugehörigen Tokens werden deaktiviert.
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: 'Daten wurden aktualisiert',
425
- title: 'Erfolg'
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="Einträge pro Seite"
631
+ placeholder={formatMessage({ id: getTrad('common.entriesPerPage') })}
587
632
  >
588
- <SingleSelectOption value="10">10 Einträge</SingleSelectOption>
589
- <SingleSelectOption value="25">25 Einträge</SingleSelectOption>
590
- <SingleSelectOption value="50">50 Einträge</SingleSelectOption>
591
- <SingleSelectOption value="100">100 Einträge</SingleSelectOption>
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.length} Session{selectedSessions.length !== 1 && 's'} ausgewählt
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
- Auswahl aufheben
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="Nach Benutzer sortieren" onClick={() => handleSort('username')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
697
- Benutzer
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>IP-Adresse</Th>
700
- <Th>User Agent</Th>
701
- <Th action={<IconButton label="Nach Status sortieren" onClick={() => handleSort('revoked')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
702
- Status
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="Nach Erstelldatum sortieren" onClick={() => handleSort('createdAt')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
705
- Erstellt
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="Nach Ablaufdatum sortieren" onClick={() => handleSort('expiresAt')} variant="ghost" withTooltip={false}><CaretDown /></IconButton>}>
708
- Gültig bis
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>Aktionen</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
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.8.1",
2
+ "version": "4.9.0",
3
3
  "keywords": [],
4
4
  "type": "commonjs",
5
5
  "exports": {