api fix
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { useState, useEffect } from "react";
|
||||
import { Shield, Server, Activity, Plus, Power, RefreshCw } from "lucide-react";
|
||||
import { TOKEN_KEY } from "./api";
|
||||
|
||||
interface VpnNode {
|
||||
id: string;
|
||||
@@ -22,10 +23,15 @@ export default function AdminDashboard() {
|
||||
|
||||
const fetchNodes = async () => {
|
||||
try {
|
||||
// Пока стучимся в публичный роут, чтобы увидеть список
|
||||
const res = await fetch("/api/nodes");
|
||||
const token = localStorage.getItem(TOKEN_KEY);
|
||||
const res = await fetch("/api/nodes", {
|
||||
headers: { Authorization: `Bearer ${token}` },
|
||||
});
|
||||
if (!res.ok) throw new Error("API Error");
|
||||
const data = await res.json();
|
||||
setNodes(data);
|
||||
if (Array.isArray(data)) {
|
||||
setNodes(data);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
} finally {
|
||||
@@ -40,9 +46,13 @@ export default function AdminDashboard() {
|
||||
const handleAddNode = async (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
try {
|
||||
const token = localStorage.getItem(TOKEN_KEY);
|
||||
const res = await fetch("/api/admin/nodes", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: `Bearer ${token}`,
|
||||
},
|
||||
body: JSON.stringify({
|
||||
name,
|
||||
country_code: code,
|
||||
|
||||
@@ -116,6 +116,11 @@ const UI_PLANS = [
|
||||
{ name: "MAINFRAME", price: 20, price_usd: 20, price_rub: 2000 },
|
||||
];
|
||||
|
||||
const getLang = (): "en" | "ru" => {
|
||||
const l = localStorage.getItem("lang");
|
||||
return l === "ru" ? "ru" : "en";
|
||||
};
|
||||
|
||||
export default function Profile() {
|
||||
const [data, setData] = useState<any>(null);
|
||||
const [loading, setLoading] = useState(true);
|
||||
@@ -124,9 +129,7 @@ export default function Profile() {
|
||||
const [showPlans, setShowPlans] = useState(false);
|
||||
const navigate = useNavigate();
|
||||
|
||||
const [lang, setLang] = useState<"en" | "ru">(
|
||||
(localStorage.getItem("lang") as "en" | "ru") || "en",
|
||||
);
|
||||
const [lang, setLang] = useState<"en" | "ru">(getLang);
|
||||
const t = DICT[lang];
|
||||
const botUsername = import.meta.env.VITE_BOT_USERNAME || "";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user