localization
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-11-09 15:25:03 +09:00
parent 341911a8d3
commit 79f74b83a8
15 changed files with 1524 additions and 16 deletions

View File

@@ -5,6 +5,7 @@ import { TemplatesSelector } from './TemplatesSelector'
import { ExportDataModal } from './ExportDataModal'
import { ImportDataModal } from './ImportDataModal'
import { designTemplates, DesignTemplate } from '../constants/designTemplates'
import { useLocale } from '../contexts/LocaleContext'
interface DesignSettings {
id?: number
@@ -77,6 +78,7 @@ interface CustomizationPanelProps {
}
export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, groups = [], onDataUpdate }: CustomizationPanelProps) {
const { t } = useLocale()
const [settings, setSettings] = useState<DesignSettings>({
theme_color: '#ffffff',
dashboard_layout: 'list',
@@ -278,7 +280,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
<div className="modal-header">
<h5 className="modal-title">
<i className="bi bi-palette me-2"></i>
Настройки дашборда
{t('customization.title')}
</h5>
<button
type="button"
@@ -296,7 +298,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
onClick={() => setActiveTab('layout')}
>
<i className="bi bi-layout-sidebar me-1"></i>
Макет
{t('customization.layout')}
</button>
</li>
<li className="nav-item">
@@ -305,7 +307,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
onClick={() => setActiveTab('colors')}
>
<i className="bi bi-palette-fill me-1"></i>
Цвета
{t('customization.colors')}
</button>
</li>
<li className="nav-item">
@@ -314,7 +316,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
onClick={() => setActiveTab('groups')}
>
<i className="bi bi-collection me-1"></i>
Группы
{t('customization.groups')}
</button>
</li>
<li className="nav-item">
@@ -323,7 +325,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
onClick={() => setActiveTab('templates')}
>
<i className="bi bi-palette me-1"></i>
Шаблоны
{t('customization.templates')}
</button>
</li>
<li className="nav-item">
@@ -332,7 +334,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
onClick={() => setActiveTab('advanced')}
>
<i className="bi bi-gear me-1"></i>
Дополнительно
{t('customization.advanced')}
</button>
</li>
<li className="nav-item">
@@ -341,7 +343,7 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
onClick={() => setActiveTab('data')}
>
<i className="bi bi-database me-1"></i>
Данные
{t('customization.data')}
</button>
</li>
</ul>
@@ -1215,10 +1217,10 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
}
}}
disabled={loading}
title="Сбросить все настройки к значениям по умолчанию"
title={t('customization.resetSettings')}
>
<i className="bi bi-arrow-counterclockwise me-2"></i>
Сбросить настройки
{t('customization.resetSettings')}
</button>
<button
type="button"
@@ -1229,12 +1231,12 @@ export function CustomizationPanel({ isOpen, onClose, onSettingsUpdate, user, gr
{loading ? (
<>
<span className="spinner-border spinner-border-sm me-2"></span>
Сохранение...
{t('common.saving')}
</>
) : (
<>
<i className="bi bi-check-lg me-2"></i>
Сохранить
{t('common.save')}
</>
)}
</button>