This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user