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,
|
IconHash,
|
||||||
IconFilter
|
IconFilter
|
||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
|
import PageHeaderActions from './components/PageHeaderActions.jsx';
|
||||||
|
|
||||||
const API_URL = '/api';
|
const API_URL = '/api';
|
||||||
|
|
||||||
@@ -180,12 +181,16 @@ function CommunitiesManager() {
|
|||||||
<div className="page-pretitle">Главная / Данные / Community</div>
|
<div className="page-pretitle">Главная / Данные / Community</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-auto ms-auto d-print-none">
|
<div className="col-auto ms-auto d-print-none">
|
||||||
<div className="btn-list">
|
<PageHeaderActions
|
||||||
<button className="btn btn-outline-secondary" onClick={fetchItems} disabled={loading}><IconRefresh className="me-2" />Обновить</button>
|
loading={loading}
|
||||||
<button className="btn btn-outline-primary" onClick={handleImport}><IconUpload className="me-2" />Импорт JSON</button>
|
onRefresh={fetchItems}
|
||||||
<button className="btn btn-outline-primary" onClick={handleExport} disabled={items.length === 0}><IconDownload className="me-2" />Экспорт</button>
|
disableRefresh={loading}
|
||||||
<button className="btn btn-primary" onClick={handleSave} disabled={loading}><IconDeviceFloppy className="me-2" />Сохранить в S3</button>
|
onImport={handleImport}
|
||||||
</div>
|
onExport={handleExport}
|
||||||
|
disableExport={items.length === 0}
|
||||||
|
onSave={handleSave}
|
||||||
|
disableSave={loading}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -236,15 +241,7 @@ function CommunitiesManager() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="card card-md">
|
{/* Карточка действий не нужна — действия перенесены в page-header */}
|
||||||
<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>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="col-lg-9">
|
<div className="col-lg-9">
|
||||||
|
|||||||
Reference in New Issue
Block a user