feat: add thumbnail settings UI to admin settings page (#206)

Add a new "Thumbnails" tab in the admin settings page allowing users to
configure thumbnail dimensions, quality, format, and fit mode from the UI.
Also fix backend route column name mismatch (key/value → setting_key/setting_value)
that caused a 500 error, and add a button to regenerate all thumbnails.
This commit is contained in:
Paul Nothaft
2026-03-04 22:55:14 +01:00
parent c0301dcbf4
commit 7d6d2f5688
6 changed files with 377 additions and 16 deletions
+5 -1
View File
@@ -13,9 +13,10 @@ import {
ModerationTab,
StylingTab,
SEOTab,
ThumbnailsTab,
} from '../../features/settings';
type TabType = 'general' | 'events' | 'status' | 'security' | 'imageSecurity' | 'categories' | 'seo' | 'analytics' | 'moderation' | 'styling';
type TabType = 'general' | 'events' | 'status' | 'security' | 'imageSecurity' | 'thumbnails' | 'categories' | 'seo' | 'analytics' | 'moderation' | 'styling';
export const SettingsPage: React.FC = () => {
const [activeTab, setActiveTab] = useState<TabType>('general');
@@ -74,6 +75,7 @@ export const SettingsPage: React.FC = () => {
{ key: 'status', label: t('settings.systemStatus.title') },
{ key: 'security', label: t('settings.security.title') },
{ key: 'imageSecurity', label: t('settings.imageSecurity.title', 'Image Protection') },
{ key: 'thumbnails', label: t('settings.thumbnails.title', 'Thumbnails') },
{ key: 'seo', label: t('settings.seo.title', 'SEO & Robots') },
{ key: 'categories', label: t('settings.categories.title') },
{ key: 'analytics', label: t('settings.analytics.title') },
@@ -168,6 +170,8 @@ export const SettingsPage: React.FC = () => {
{activeTab === 'imageSecurity' && <ImageSecurityTab />}
{activeTab === 'thumbnails' && <ThumbnailsTab />}
{activeTab === 'categories' && <CategoriesTab />}
{activeTab === 'analytics' && (