diff --git a/pages/hosting/views/changeStateButton.ts b/pages/hosting/views/changeStateButton.ts index 1186330..3aedd9d 100644 --- a/pages/hosting/views/changeStateButton.ts +++ b/pages/hosting/views/changeStateButton.ts @@ -1,5 +1,5 @@ -import { LoadingSpinner } from "shared/mod.ts"; -import { Box, Color, Component, IconButton, isMobile, MIcon, StateHandler } from "webgen/mod.ts"; +import { API, LoadingSpinner } from "shared/mod.ts"; +import { Box, Color, Component, IconButton, MIcon, StateHandler, isMobile } from "webgen/mod.ts"; import { Server, SidecarResponse } from "../../../spec/music.ts"; import { messageQueueSidecar, startSidecarConnection } from "../loading.ts"; import { StateActions } from "../types.ts"; @@ -11,6 +11,7 @@ export function ChangeStateButton(server: StateHandler): Component { .setColor(Color.Colored) .onClick((e) => { e.stopPropagation(); + API.hosting.serverId(server._id).start(); startSidecarConnection(server._id); const promise = Promise.withResolvers(); messageQueueSidecar.push({ diff --git a/pages/shared/restSpec.ts b/pages/shared/restSpec.ts index dd8021a..b352fc8 100644 --- a/pages/shared/restSpec.ts +++ b/pages/shared/restSpec.ts @@ -438,6 +438,11 @@ export const API = { }) .then(none()) .catch(reject), + start: () => fetch(`${API.BASE_URL}hosting/servers/${id}/start`, { + headers: headers(API.getToken()) + }) + .then(none()) + .catch(reject), }), store: ({ create: (type: StoreItems) => fetch(`${API.BASE_URL}hosting/store`, {