refactor(MikrotikTools): update UI text and layout for server check functionality, enhancing user experience
Publish Fast Tabler Docker image / build-and-push-fast (push) Failing after 3m6s

This commit is contained in:
2026-02-12 22:51:39 +07:00
parent 73bc623fdf
commit a42e4189c3
+14 -10
View File
@@ -216,25 +216,25 @@ function MikrotikTools() {
<div className="card-header"> <div className="card-header">
<div className="row align-items-center g-2"> <div className="row align-items-center g-2">
<div className="col"> <div className="col">
<h3 className="card-title mb-1">Сервер для трассировки</h3> <h3 className="card-title mb-1">Сервер для проверки</h3>
<div className="text-muted small"> <div className="text-muted small">
Доступно Jumphost-серверов: {jumphostServers.length}.{' '} Доступно Jumphost-серверов: {jumphostServers.length}.{' '}
{serverId {serverId
? 'Кликните по другой карточке, чтобы сменить сервер.' ? 'Кликните по другой карточке, чтобы сменить сервер.'
: 'Выберите сервер, чтобы выполнять трассировку через него.'} : 'Выберите сервер, чтобы выполнять проверки через него.'}
</div> </div>
</div> </div>
<div className="col-auto"> <div className="col-auto" style={{ minWidth: 260 }}>
<div className="input-icon" style={{ minWidth: 240 }}> <div className="input-group input-group-flat">
<input <input
type="text" type="text"
className="form-control form-control-sm" className="form-control"
placeholder="Поиск серверов по IP, DNS, провайдеру..." placeholder="Поиск серверов по IP, DNS, провайдеру..."
value={serverSearch} value={serverSearch}
onChange={(e) => setServerSearch(e.target.value)} onChange={(e) => setServerSearch(e.target.value)}
/> />
<span className="input-icon-addon"> <span className="input-group-text">
<IconSearch size={16} /> <IconSearch size={16} className="text-muted" />
</span> </span>
</div> </div>
</div> </div>
@@ -304,19 +304,22 @@ function MikrotikTools() {
<div className="col-md-4"> <div className="col-md-4">
<div className="card"> <div className="card">
<div className="card-header"> <div className="card-header">
<div className="d-flex align-items-center justify-content-between"> <div className="row align-items-center g-2">
<div className="col">
<h3 className="card-title mb-0">Параметры проверки</h3> <h3 className="card-title mb-0">Параметры проверки</h3>
</div>
<div className="col-auto">
<div className="btn-group btn-group-sm" role="group" aria-label="Тип проверки"> <div className="btn-group btn-group-sm" role="group" aria-label="Тип проверки">
<button <button
type="button" type="button"
className={`btn ${mode === 'traceroute' ? 'btn-primary' : 'btn-outline-primary'}`} className={`btn ${mode === 'traceroute' ? 'btn-secondary' : 'btn-outline-secondary'}`}
onClick={() => { setMode('traceroute'); setHops([]); setAnalysis([]); setPingResult(null); }} onClick={() => { setMode('traceroute'); setHops([]); setAnalysis([]); setPingResult(null); }}
> >
Traceroute Traceroute
</button> </button>
<button <button
type="button" type="button"
className={`btn ${mode === 'ping' ? 'btn-primary' : 'btn-outline-primary'}`} className={`btn ${mode === 'ping' ? 'btn-secondary' : 'btn-outline-secondary'}`}
onClick={() => { setMode('ping'); setHops([]); setAnalysis([]); setPingResult(null); }} onClick={() => { setMode('ping'); setHops([]); setAnalysis([]); setPingResult(null); }}
> >
Ping Ping
@@ -324,6 +327,7 @@ function MikrotikTools() {
</div> </div>
</div> </div>
</div> </div>
</div>
<div className="card-body"> <div className="card-body">
{loading && !networkConfig ? ( {loading && !networkConfig ? (
<div className="text-muted small">Загрузка сетевых настроек…</div> <div className="text-muted small">Загрузка сетевых настроек…</div>