add: if player online when display marketplace in TopBar
This commit is contained in:
@ -45,6 +45,56 @@ export interface ApiError {
|
||||
details?: string;
|
||||
}
|
||||
|
||||
export interface Server {
|
||||
id: string;
|
||||
name: string;
|
||||
ip: string;
|
||||
port: number;
|
||||
description: string;
|
||||
online_players: number;
|
||||
max_players: number;
|
||||
last_activity: string;
|
||||
}
|
||||
|
||||
export interface ActiveServersResponse {
|
||||
servers: Server[];
|
||||
}
|
||||
|
||||
// Исправьте тип возвращаемого значения
|
||||
export async function fetchActiveServers(): Promise<Server[]> {
|
||||
const response = await fetch(`${API_BASE_URL}/api/pranks/servers`);
|
||||
if (!response.ok) {
|
||||
throw new Error('Не удалось получить активные сервера');
|
||||
}
|
||||
return await response.json();
|
||||
}
|
||||
|
||||
export interface OnlinePlayersResponse {
|
||||
server: {
|
||||
id: string;
|
||||
name: string;
|
||||
};
|
||||
online_players: {
|
||||
// Это массив объектов, а не один объект
|
||||
username: string;
|
||||
uuid: string;
|
||||
online_since: string;
|
||||
}[]; // Добавьте [] здесь чтобы указать, что это массив
|
||||
count: number;
|
||||
}
|
||||
|
||||
export async function fetchOnlinePlayers(
|
||||
server_id: string,
|
||||
): Promise<OnlinePlayersResponse> {
|
||||
const response = await fetch(
|
||||
`${API_BASE_URL}/api/pranks/servers/${server_id}/players`,
|
||||
);
|
||||
if (!response.ok) {
|
||||
throw new Error('Не удалось получить онлайн игроков');
|
||||
}
|
||||
return await response.json();
|
||||
}
|
||||
|
||||
// Получение информации о игроке
|
||||
export async function fetchPlayer(uuid: string): Promise<Player> {
|
||||
try {
|
||||
|
Reference in New Issue
Block a user