import { storeJson } from '../fileModels/storeJson' import { i18n } from '../i18n' import { sdk } from '../sdk' export const disableSubspaces = sdk.Action.withoutInput( // id 'disable-subspaces', // metadata async ({ effects }) => { const current = await storeJson.read((s) => s.enableSubspaces).once() return { name: i18n('Disable Subspaces'), description: i18n( 'Stop the embedded Subspaces service. The compiled binaries and data at /data/subspaces are preserved and will be reused if Subspaces is re-enabled. Service restarts automatically.', ), warning: null, allowedStatuses: 'any', group: null, visibility: current === true ? 'enabled' : 'hidden', } }, // run async ({ effects }) => { await storeJson.merge(effects, { enableSubspaces: false }) return { version: '1', title: i18n('Success'), message: i18n( 'Subspaces disabled. The service is restarting; the Subspaces Web UI is no longer listening. Run "Enable Subspaces" to turn it back on.', ), result: null, } }, )