Обновление файла
This commit is contained in:
@@ -1,13 +1,11 @@
|
|||||||
import React, { useEffect, useState, useCallback } from "react";
|
import React, { useEffect, useState, useCallback } from "react";
|
||||||
import { useParams, useNavigate } from "react-router-dom";
|
import { useParams, useNavigate } from "react-router-dom";
|
||||||
import { api } from "../api.js";
|
import { api } from "../api.js";
|
||||||
import ConsoleViewer from "../components/ConsoleViewer.jsx";
|
|
||||||
|
|
||||||
export default function InstanceDetail() {
|
export default function InstanceDetail() {
|
||||||
const { id } = useParams();
|
const { id } = useParams();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const [instance, setInstance] = useState(null);
|
const [instance, setInstance] = useState(null);
|
||||||
const [showConsole, setShowConsole] = useState(false);
|
|
||||||
const [error, setError] = useState("");
|
const [error, setError] = useState("");
|
||||||
const [busy, setBusy] = useState(false);
|
const [busy, setBusy] = useState(false);
|
||||||
|
|
||||||
@@ -75,20 +73,20 @@ export default function InstanceDetail() {
|
|||||||
<button className="btn" disabled={busy || instance.status !== "running"} onClick={() => doAction("stop")}>
|
<button className="btn" disabled={busy || instance.status !== "running"} onClick={() => doAction("stop")}>
|
||||||
Стоп (force)
|
Стоп (force)
|
||||||
</button>
|
</button>
|
||||||
<button className="btn" onClick={() => setShowConsole((v) => !v)}>
|
|
||||||
{showConsole ? "Скрыть консоль" : "Открыть консоль"}
|
|
||||||
</button>
|
|
||||||
<button className="btn btn-danger" disabled={busy} onClick={doDelete}>
|
<button className="btn btn-danger" disabled={busy} onClick={doDelete}>
|
||||||
Удалить
|
Удалить
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{showConsole && (
|
<div className="card">
|
||||||
<div className="card">
|
<h3 style={{ marginTop: 0 }}>Подключение</h3>
|
||||||
<ConsoleViewer instanceId={instance.id} />
|
<p className="instance-meta">
|
||||||
</div>
|
Для доступа к виртуальной машине используйте SSH с IP-адресом,
|
||||||
)}
|
который отображается в дашборде, и учётными данными cloud-init,
|
||||||
|
заданными при создании.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user