diff --git a/frontend/src/pages/config/ConfigGrid.tsx b/frontend/src/pages/config/ConfigGrid.tsx
index 83916c6..e356400 100644
--- a/frontend/src/pages/config/ConfigGrid.tsx
+++ b/frontend/src/pages/config/ConfigGrid.tsx
@@ -13,7 +13,7 @@ import {
} from '@/api/hooks';
import type { PositionCategory, PositionRead, ShiftRead } from '@/api/schema';
import { ErrorNote, Loading } from '@/components/state';
-import { Btn } from '@/components/ui';
+import { Btn, HelpTip } from '@/components/ui';
import { categoryLabel } from '@/lib/planning';
import { hourRangeLabel, hoursBetween, longDayLabel } from '@/lib/time';
import { t } from '@/i18n';
@@ -95,8 +95,9 @@ export function ConfigGrid() {
return (
-
+
{t('config.grid.positionsHeader', { count: totals.count })}
+
{(positions.data ?? []).map((entry) => {
const active = entry.id === position.id;
@@ -197,10 +198,6 @@ export function ConfigGrid() {
);
})}
-
-
- {t('config.grid.note')}
-
);
diff --git a/frontend/src/pages/config/ConfigMail.tsx b/frontend/src/pages/config/ConfigMail.tsx
index 9ff9c0f..d8ed24e 100644
--- a/frontend/src/pages/config/ConfigMail.tsx
+++ b/frontend/src/pages/config/ConfigMail.tsx
@@ -2,7 +2,7 @@ import { useState } from 'react';
import { useSendPlanningNotification } from '@/api/hooks';
import { ErrorNote } from '@/components/state';
-import { Btn, FieldLabel, Panel, PanelHeader } from '@/components/ui';
+import { Btn, FieldLabel, HelpTip, Panel, PanelHeader } from '@/components/ui';
import { t } from '@/i18n';
const MAIL_VARIABLES = [
@@ -32,18 +32,16 @@ export function ConfigMail() {
return (
-
- {t('config.mail.smtpBanner')}
-
- {t('config.mail.templateTitle')}
+
+ {t('config.mail.templateTitle')}
+
-
- {t('config.mail.senderNote')}
-
-
{t('config.mail.variables')}
+
+ {t('config.mail.variables')}
+
{MAIL_VARIABLES.map((variable) => (
-
- {t('config.mail.variablesHint')}
-
diff --git a/frontend/src/pages/config/ConfigRules.tsx b/frontend/src/pages/config/ConfigRules.tsx
index 6ee03f6..3fe50c2 100644
--- a/frontend/src/pages/config/ConfigRules.tsx
+++ b/frontend/src/pages/config/ConfigRules.tsx
@@ -13,7 +13,7 @@ import {
useVolunteers,
} from '@/api/hooks';
import { ErrorNote } from '@/components/state';
-import { Btn, Panel, PanelHeader } from '@/components/ui';
+import { Btn, HelpTip, Panel, PanelHeader } from '@/components/ui';
import { t } from '@/i18n';
const hm = (time: string) => time.slice(0, 5); // "HH:MM:SS" -> "HH:MM"
@@ -48,23 +48,22 @@ export function ConfigRules() {
- {t('config.rules.slotsTitle')}
+
+ {t('config.rules.slotsTitle')}
+
-
- {t('config.rules.slotsNote')}
-
- {t('config.rules.thresholdsTitle')}
+
+ {t('config.rules.thresholdsTitle')}{' '}
+
+
-
- {t('config.rules.thresholdsNote')}
-
{t('config.rules.rulesTitle')}
diff --git a/frontend/src/pages/config/ConfigVolunteers.tsx b/frontend/src/pages/config/ConfigVolunteers.tsx
index db37b66..a182b2d 100644
--- a/frontend/src/pages/config/ConfigVolunteers.tsx
+++ b/frontend/src/pages/config/ConfigVolunteers.tsx
@@ -24,7 +24,7 @@ import type {
PositionRead,
VolunteerCreate,
} from '@/api/schema';
-import { FieldLabel, TextInput } from '@/components/ui';
+import { FieldLabel, HelpTip, TextInput } from '@/components/ui';
import { ErrorNote, Loading } from '@/components/state';
import { t } from '@/i18n';
import { shortDayLabel } from '@/lib/time';
@@ -183,11 +183,9 @@ export function ConfigVolunteers() {
-
+
{t('config.vol.importTitle')}
-
-
- {t('config.vol.importHint')}
+
@@ -292,7 +290,10 @@ export function ConfigVolunteers() {