strapi-plugin-magic-link-v5 4.11.0 → 4.11.2
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.
|
@@ -26,8 +26,9 @@ import { usePluginLanguage } from '../../components/LanguageProvider';
|
|
|
26
26
|
const theme = {
|
|
27
27
|
colors: {
|
|
28
28
|
primary: { 600: '#0284C7', 700: '#075985', 100: '#E0F2FE', 50: '#F0F9FF' },
|
|
29
|
-
success: { 600: '#16A34A', 700: '#15803D',
|
|
30
|
-
|
|
29
|
+
success: { 600: '#16A34A', 700: '#15803D', 100: '#DCFCE7', 50: '#F0FDF4' },
|
|
30
|
+
danger: { 600: '#DC2626', 700: '#B91C1C', 100: '#FEE2E2', 50: '#FEF2F2' },
|
|
31
|
+
warning: { 600: '#D97706', 700: '#A16207', 100: '#FEF3C7', 50: '#FFFBEB' },
|
|
31
32
|
neutral: { 0: '#FFFFFF', 50: '#F9FAFB', 100: '#F3F4F6', 200: '#E5E7EB', 400: '#9CA3AF', 600: '#4B5563', 700: '#374151', 800: '#1F2937' }
|
|
32
33
|
},
|
|
33
34
|
shadows: { sm: '0 1px 3px rgba(0,0,0,0.1)', md: '0 4px 6px rgba(0,0,0,0.1)', xl: '0 20px 25px rgba(0,0,0,0.1)' },
|
|
@@ -1220,9 +1221,10 @@ ${language === 'de' ? 'Der Link läuft in 1 Stunde ab.' : 'The link expires in 1
|
|
|
1220
1221
|
{formatMessage({ id: getTrad('settings.rateLimit.maxAttempts.label') })}
|
|
1221
1222
|
</Typography>
|
|
1222
1223
|
<NumberInput
|
|
1224
|
+
name="rate_limit_max_attempts"
|
|
1223
1225
|
hint={formatMessage({ id: getTrad('settings.rateLimit.maxAttempts.hint') })}
|
|
1224
1226
|
value={settings.rate_limit_max_attempts}
|
|
1225
|
-
|
|
1227
|
+
onValueChange={val => updateSetting('rate_limit_max_attempts', val)}
|
|
1226
1228
|
min={1}
|
|
1227
1229
|
max={100}
|
|
1228
1230
|
/>
|
|
@@ -1234,9 +1236,10 @@ ${language === 'de' ? 'Der Link läuft in 1 Stunde ab.' : 'The link expires in 1
|
|
|
1234
1236
|
{formatMessage({ id: getTrad('settings.rateLimit.windowMinutes.label') })}
|
|
1235
1237
|
</Typography>
|
|
1236
1238
|
<NumberInput
|
|
1239
|
+
name="rate_limit_window_minutes"
|
|
1237
1240
|
hint={formatMessage({ id: getTrad('settings.rateLimit.windowMinutes.hint') })}
|
|
1238
1241
|
value={settings.rate_limit_window_minutes}
|
|
1239
|
-
|
|
1242
|
+
onValueChange={val => updateSetting('rate_limit_window_minutes', val)}
|
|
1240
1243
|
min={1}
|
|
1241
1244
|
max={1440}
|
|
1242
1245
|
/>
|
|
@@ -1251,48 +1254,40 @@ ${language === 'de' ? 'Der Link läuft in 1 Stunde ab.' : 'The link expires in 1
|
|
|
1251
1254
|
<Typography variant="sigma" fontWeight="bold" style={{ marginBottom: '16px', display: 'block', color: theme.colors.neutral[700] }}>
|
|
1252
1255
|
{formatMessage({ id: getTrad('settings.rateLimit.stats.title') })}
|
|
1253
1256
|
</Typography>
|
|
1254
|
-
<
|
|
1255
|
-
<
|
|
1256
|
-
<
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
{rateLimitStats.emailLimits || 0}
|
|
1289
|
-
</Typography>
|
|
1290
|
-
<Typography variant="pi" textColor="neutral600" style={{ fontSize: '11px', marginTop: '4px' }}>
|
|
1291
|
-
{formatMessage({ id: getTrad('settings.rateLimit.stats.emailLimits') })}
|
|
1292
|
-
</Typography>
|
|
1293
|
-
</Box>
|
|
1294
|
-
</Grid.Item>
|
|
1295
|
-
</Grid.Root>
|
|
1257
|
+
<Flex gap={4} wrap="wrap" justifyContent="center" style={{ marginBottom: '24px' }}>
|
|
1258
|
+
<Box padding={4} background="neutral100" style={{ borderRadius: '8px', textAlign: 'center', minWidth: '140px', flex: '1' }}>
|
|
1259
|
+
<Typography variant="beta" style={{ color: theme.colors.primary[600], fontWeight: '700' }}>
|
|
1260
|
+
{rateLimitStats.totalEntries || 0}
|
|
1261
|
+
</Typography>
|
|
1262
|
+
<Typography variant="omega" textColor="neutral600" style={{ fontSize: '11px', marginTop: '4px', display: 'block' }}>
|
|
1263
|
+
{formatMessage({ id: getTrad('settings.rateLimit.stats.total') })}
|
|
1264
|
+
</Typography>
|
|
1265
|
+
</Box>
|
|
1266
|
+
<Box padding={4} background="danger100" style={{ borderRadius: '8px', textAlign: 'center', minWidth: '140px', flex: '1' }}>
|
|
1267
|
+
<Typography variant="beta" style={{ color: theme.colors.danger[600], fontWeight: '700' }}>
|
|
1268
|
+
{rateLimitStats.blocked || 0}
|
|
1269
|
+
</Typography>
|
|
1270
|
+
<Typography variant="omega" textColor="neutral600" style={{ fontSize: '11px', marginTop: '4px', display: 'block' }}>
|
|
1271
|
+
{formatMessage({ id: getTrad('settings.rateLimit.stats.blocked') })}
|
|
1272
|
+
</Typography>
|
|
1273
|
+
</Box>
|
|
1274
|
+
<Box padding={4} background="primary100" style={{ borderRadius: '8px', textAlign: 'center', minWidth: '140px', flex: '1' }}>
|
|
1275
|
+
<Typography variant="beta" style={{ color: theme.colors.primary[600], fontWeight: '700' }}>
|
|
1276
|
+
{rateLimitStats.ipLimits || 0}
|
|
1277
|
+
</Typography>
|
|
1278
|
+
<Typography variant="omega" textColor="neutral600" style={{ fontSize: '11px', marginTop: '4px', display: 'block' }}>
|
|
1279
|
+
{formatMessage({ id: getTrad('settings.rateLimit.stats.ipLimits') })}
|
|
1280
|
+
</Typography>
|
|
1281
|
+
</Box>
|
|
1282
|
+
<Box padding={4} background="success100" style={{ borderRadius: '8px', textAlign: 'center', minWidth: '140px', flex: '1' }}>
|
|
1283
|
+
<Typography variant="beta" style={{ color: theme.colors.success[600], fontWeight: '700' }}>
|
|
1284
|
+
{rateLimitStats.emailLimits || 0}
|
|
1285
|
+
</Typography>
|
|
1286
|
+
<Typography variant="omega" textColor="neutral600" style={{ fontSize: '11px', marginTop: '4px', display: 'block' }}>
|
|
1287
|
+
{formatMessage({ id: getTrad('settings.rateLimit.stats.emailLimits') })}
|
|
1288
|
+
</Typography>
|
|
1289
|
+
</Box>
|
|
1290
|
+
</Flex>
|
|
1296
1291
|
|
|
1297
1292
|
{/* Management Buttons */}
|
|
1298
1293
|
<Flex gap={3} justifyContent="center">
|
package/package.json
CHANGED