feat: Refactor CommunitiesManager to utilize PageHeaderActions component for action buttons, improving UI consistency and reducing redundancy
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 5m43s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 5m43s
This commit is contained in:
@@ -15,6 +15,7 @@ import {
|
||||
IconHash,
|
||||
IconFilter
|
||||
} from '@tabler/icons-react';
|
||||
import PageHeaderActions from './components/PageHeaderActions.jsx';
|
||||
|
||||
const API_URL = '/api';
|
||||
|
||||
@@ -180,12 +181,16 @@ function CommunitiesManager() {
|
||||
<div className="page-pretitle">Главная / Данные / Community</div>
|
||||
</div>
|
||||
<div className="col-auto ms-auto d-print-none">
|
||||
<div className="btn-list">
|
||||
<button className="btn btn-outline-secondary" onClick={fetchItems} disabled={loading}><IconRefresh className="me-2" />Обновить</button>
|
||||
<button className="btn btn-outline-primary" onClick={handleImport}><IconUpload className="me-2" />Импорт JSON</button>
|
||||
<button className="btn btn-outline-primary" onClick={handleExport} disabled={items.length === 0}><IconDownload className="me-2" />Экспорт</button>
|
||||
<button className="btn btn-primary" onClick={handleSave} disabled={loading}><IconDeviceFloppy className="me-2" />Сохранить в S3</button>
|
||||
</div>
|
||||
<PageHeaderActions
|
||||
loading={loading}
|
||||
onRefresh={fetchItems}
|
||||
disableRefresh={loading}
|
||||
onImport={handleImport}
|
||||
onExport={handleExport}
|
||||
disableExport={items.length === 0}
|
||||
onSave={handleSave}
|
||||
disableSave={loading}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -236,15 +241,7 @@ function CommunitiesManager() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="card card-md">
|
||||
<div className="card-header"><h3 className="card-title"><IconDatabase className="me-2" />Действия</h3></div>
|
||||
<div className="card-body d-grid gap-2">
|
||||
<button className="btn btn-outline-secondary" onClick={fetchItems} disabled={loading}><IconRefresh className="me-2" />Обновить</button>
|
||||
<button className="btn btn-outline-primary" onClick={handleImport}><IconUpload className="me-2" />Импорт JSON</button>
|
||||
<button className="btn btn-outline-primary" onClick={handleExport} disabled={items.length === 0}><IconDownload className="me-2" />Экспорт</button>
|
||||
<button className="btn btn-primary" onClick={handleSave} disabled={loading}><IconDeviceFloppy className="me-2" />Сохранить в S3</button>
|
||||
</div>
|
||||
</div>
|
||||
{/* Карточка действий не нужна — действия перенесены в page-header */}
|
||||
</div>
|
||||
|
||||
<div className="col-lg-9">
|
||||
|
||||
Reference in New Issue
Block a user