From 37f8729ce10f6e35f88451737757498d3f55a8e7 Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Wed, 29 Nov 2023 00:47:55 -0800 Subject: [PATCH 1/3] Removes context from tgui (#80003) *Most context This is a precursor PR for moving to React. Newer React (>16) does not have the `context` parameter, so it needs removed. I want to make converting to React look slightly less intimidating, so this is just short-circuiting context here. This shouldn't be considered a long term solution. Moving to react is good actually N/A hopefully no noticeable change --- tgui/packages/common/redux.ts | 8 +++- tgui/packages/tgui-panel/index.jsx | 3 ++ tgui/packages/tgui/backend.ts | 32 +++++++++------ tgui/packages/tgui/components/Dropdown.tsx | 41 ++++++++----------- tgui/packages/tgui/components/Popper.tsx | 2 +- tgui/packages/tgui/components/TextArea.jsx | 4 +- tgui/packages/tgui/components/Tooltip.tsx | 41 ++++++++----------- tgui/packages/tgui/debug/KitchenSink.jsx | 6 +-- tgui/packages/tgui/index.tsx | 11 +++-- tgui/packages/tgui/layouts/NtosWindow.jsx | 4 +- tgui/packages/tgui/layouts/Pane.jsx | 9 ++-- tgui/packages/tgui/layouts/Window.jsx | 31 +++++++++----- tgui/packages/tgui/routes.tsx | 17 +++----- tgui/packages/tgui/stories/Blink.stories.jsx | 2 +- .../tgui/stories/BlockQuote.stories.jsx | 2 +- tgui/packages/tgui/stories/Box.stories.jsx | 2 +- tgui/packages/tgui/stories/Button.stories.jsx | 2 +- .../packages/tgui/stories/ByondUi.stories.jsx | 3 +- .../tgui/stories/Collapsible.stories.jsx | 2 +- tgui/packages/tgui/stories/Flex.stories.jsx | 10 ++--- tgui/packages/tgui/stories/Input.stories.jsx | 6 +-- .../tgui/stories/ProgressBar.stories.jsx | 6 +-- tgui/packages/tgui/stories/Stack.stories.jsx | 2 +- .../packages/tgui/stories/Storage.stories.jsx | 2 +- tgui/packages/tgui/stories/Tabs.stories.jsx | 6 +-- tgui/packages/tgui/stories/Themes.stories.jsx | 4 +- 26 files changed, 135 insertions(+), 123 deletions(-) diff --git a/tgui/packages/common/redux.ts b/tgui/packages/common/redux.ts index 7b2ecc9eee60c..94174cbe9082a 100644 --- a/tgui/packages/common/redux.ts +++ b/tgui/packages/common/redux.ts @@ -185,12 +185,16 @@ export const createAction = (type: TAction, prepare?: (. export const useDispatch = (context: { store: Store; }): Dispatch => { - return context.store.dispatch; + return context?.store?.dispatch; }; export const useSelector = ( context: { store: Store }, selector: (state: State) => Selected ): Selected => { - return selector(context.store.getState()); + if (!context) { + return {} as Selected; + } + + return selector(context?.store?.getState()); }; diff --git a/tgui/packages/tgui-panel/index.jsx b/tgui/packages/tgui-panel/index.jsx index ed0f9ba85ef5f..30133fc94f925 100644 --- a/tgui/packages/tgui-panel/index.jsx +++ b/tgui/packages/tgui-panel/index.jsx @@ -23,6 +23,7 @@ import { pingMiddleware, pingReducer } from './ping'; import { settingsMiddleware, settingsReducer } from './settings'; import { statMiddleware, statReducer } from './stat'; import { telemetryMiddleware } from './telemetry'; +import { setGlobalStore } from 'tgui/backend'; perf.mark('inception', window.performance?.timing?.navigationStart); perf.mark('init'); @@ -50,6 +51,8 @@ const store = configureStore({ }); const renderApp = createRenderer(() => { + setGlobalStore(store); + const { Panel } = require('./Panel'); return ( diff --git a/tgui/packages/tgui/backend.ts b/tgui/packages/tgui/backend.ts index f9e43166e05b9..3ba364344b569 100644 --- a/tgui/packages/tgui/backend.ts +++ b/tgui/packages/tgui/backend.ts @@ -21,6 +21,12 @@ import { resumeRenderer, suspendRenderer } from './renderer'; const logger = createLogger('backend'); +export let globalStore; + +export const setGlobalStore = (store) => { + globalStore = store; +}; + export const backendUpdate = createAction('backend/update'); export const backendSetSharedState = createAction('backend/setSharedState'); export const backendSuspendStart = createAction('backend/suspendStart'); @@ -246,6 +252,10 @@ type BackendState = { shared: Record; suspending: boolean; suspended: boolean; + debug?: { + debugLayout: boolean; + kitchenSink: boolean; + }; }; /** @@ -261,9 +271,9 @@ export const selectBackend = (state: any): BackendState => state.b * * You can make */ -export const useBackend = (context: any) => { - const { store } = context; - const state = selectBackend(store.getState()); +export const useBackend = () => { + const state: BackendState = globalStore?.getState()?.backend; + return { ...state, act: sendAct, @@ -288,15 +298,14 @@ type StateWithSetter = [T, (nextState: T) => void]; * @param key Key which uniquely identifies this state in Redux store. * @param initialState Initializes your global variable with this value. */ -export const useLocalState = (context: any, key: string, initialState: T): StateWithSetter => { - const { store } = context; - const state = selectBackend(store.getState()); - const sharedStates = state.shared ?? {}; +export const useLocalState = (key: string, initialState: T): StateWithSetter => { + const state = globalStore?.getState()?.backend; + const sharedStates = state?.shared ?? {}; const sharedState = key in sharedStates ? sharedStates[key] : initialState; return [ sharedState, (nextState) => { - store.dispatch( + globalStore.dispatch( backendSetSharedState({ key, nextState: typeof nextState === 'function' ? nextState(sharedState) : nextState, @@ -320,10 +329,9 @@ export const useLocalState = (context: any, key: string, initialState: T): St * @param key Key which uniquely identifies this state in Redux store. * @param initialState Initializes your global variable with this value. */ -export const useSharedState = (context: any, key: string, initialState: T): StateWithSetter => { - const { store } = context; - const state = selectBackend(store.getState()); - const sharedStates = state.shared ?? {}; +export const useSharedState = (key: string, initialState: T): StateWithSetter => { + const state = globalStore?.getState()?.backend; + const sharedStates = state?.shared ?? {}; const sharedState = key in sharedStates ? sharedStates[key] : initialState; return [ sharedState, diff --git a/tgui/packages/tgui/components/Dropdown.tsx b/tgui/packages/tgui/components/Dropdown.tsx index e618295f55917..dab09d66f95f2 100644 --- a/tgui/packages/tgui/components/Dropdown.tsx +++ b/tgui/packages/tgui/components/Dropdown.tsx @@ -182,29 +182,24 @@ export class Dropdown extends Component { const to_render = ops.length ? ops : 'No Options Found'; - render( -
{to_render}
, - renderedMenu, - () => { - let singletonPopper = Dropdown.singletonPopper; - if (singletonPopper === undefined) { - singletonPopper = createPopper(Dropdown.virtualElement, renderedMenu!, { - ...DEFAULT_OPTIONS, - placement: 'bottom-start', - }); - - Dropdown.singletonPopper = singletonPopper; - } else { - singletonPopper.setOptions({ - ...DEFAULT_OPTIONS, - placement: 'bottom-start', - }); - - singletonPopper.update(); - } - }, - this.context - ); + render(
{to_render}
, renderedMenu, () => { + let singletonPopper = Dropdown.singletonPopper; + if (singletonPopper === undefined) { + singletonPopper = createPopper(Dropdown.virtualElement, renderedMenu!, { + ...DEFAULT_OPTIONS, + placement: 'bottom-start', + }); + + Dropdown.singletonPopper = singletonPopper; + } else { + singletonPopper.setOptions({ + ...DEFAULT_OPTIONS, + placement: 'bottom-start', + }); + + singletonPopper.update(); + } + }); } setOpen(open: boolean) { diff --git a/tgui/packages/tgui/components/Popper.tsx b/tgui/packages/tgui/components/Popper.tsx index 1f60f07672583..1973e5fa9d7bd 100644 --- a/tgui/packages/tgui/components/Popper.tsx +++ b/tgui/packages/tgui/components/Popper.tsx @@ -66,7 +66,7 @@ export class Popper extends Component { renderPopperContent(callback: () => void) { // `render` errors when given false, so we convert it to `null`, // which is supported. - render(this.props.popperContent || null, this.renderedContent, callback, this.context); + render(this.props.popperContent || null, this.renderedContent, callback); } render() { diff --git a/tgui/packages/tgui/components/TextArea.jsx b/tgui/packages/tgui/components/TextArea.jsx index 99c888a4f5faa..84ed13d39796f 100644 --- a/tgui/packages/tgui/components/TextArea.jsx +++ b/tgui/packages/tgui/components/TextArea.jsx @@ -12,8 +12,8 @@ import { toInputValue } from './Input'; import { KEY_ENTER, KEY_ESCAPE, KEY_TAB } from 'common/keycodes'; export class TextArea extends Component { - constructor(props, context) { - super(props, context); + constructor(props) { + super(props); this.textareaRef = props.innerRef || createRef(); this.fillerRef = createRef(); this.state = { diff --git a/tgui/packages/tgui/components/Tooltip.tsx b/tgui/packages/tgui/components/Tooltip.tsx index d3110b3971b91..83002e74e1553 100644 --- a/tgui/packages/tgui/components/Tooltip.tsx +++ b/tgui/packages/tgui/components/Tooltip.tsx @@ -100,29 +100,24 @@ export class Tooltip extends Component { return; } - render( - {this.props.content}, - renderedTooltip, - () => { - let singletonPopper = Tooltip.singletonPopper; - if (singletonPopper === undefined) { - singletonPopper = createPopper(Tooltip.virtualElement, renderedTooltip!, { - ...DEFAULT_OPTIONS, - placement: this.props.position || 'auto', - }); - - Tooltip.singletonPopper = singletonPopper; - } else { - singletonPopper.setOptions({ - ...DEFAULT_OPTIONS, - placement: this.props.position || 'auto', - }); - - singletonPopper.update(); - } - }, - this.context - ); + render({this.props.content}, renderedTooltip, () => { + let singletonPopper = Tooltip.singletonPopper; + if (singletonPopper === undefined) { + singletonPopper = createPopper(Tooltip.virtualElement, renderedTooltip!, { + ...DEFAULT_OPTIONS, + placement: this.props.position || 'auto', + }); + + Tooltip.singletonPopper = singletonPopper; + } else { + singletonPopper.setOptions({ + ...DEFAULT_OPTIONS, + placement: this.props.position || 'auto', + }); + + singletonPopper.update(); + } + }); } componentDidUpdate() { diff --git a/tgui/packages/tgui/debug/KitchenSink.jsx b/tgui/packages/tgui/debug/KitchenSink.jsx index ab51025e1d91e..d4e5145baa2c2 100644 --- a/tgui/packages/tgui/debug/KitchenSink.jsx +++ b/tgui/packages/tgui/debug/KitchenSink.jsx @@ -20,10 +20,10 @@ const r = require.context('../stories', false, /\.stories\.jsx$/); */ const getStories = () => r.keys().map((path) => r(path)); -export const KitchenSink = (props, context) => { +export const KitchenSink = (props) => { const { panel } = props; - const [theme] = useLocalState(context, 'kitchenSinkTheme'); - const [pageIndex, setPageIndex] = useLocalState(context, 'pageIndex', 0); + const [theme] = useLocalState('kitchenSinkTheme'); + const [pageIndex, setPageIndex] = useLocalState('pageIndex', 0); const stories = getStories(); const story = stories[pageIndex]; const Layout = panel ? Pane : Window; diff --git a/tgui/packages/tgui/index.tsx b/tgui/packages/tgui/index.tsx index 2f0a7e9aaa796..cb27566a768d9 100644 --- a/tgui/packages/tgui/index.tsx +++ b/tgui/packages/tgui/index.tsx @@ -43,7 +43,7 @@ import './styles/themes/retro.scss'; import './styles/themes/syndicate.scss'; import './styles/themes/thinktronic-classic.scss'; -import { StoreProvider, configureStore } from './store'; +import { configureStore } from './store'; import { captureExternalLinks } from './links'; import { createRenderer } from './renderer'; @@ -51,6 +51,7 @@ import { perf } from 'common/perf'; import { setupGlobalEvents } from './events'; import { setupHotKeys } from './hotkeys'; import { setupHotReloading } from 'tgui-dev-server/link/client.cjs'; +import { setGlobalStore } from './backend'; perf.mark('inception', window.performance?.timing?.navigationStart); perf.mark('init'); @@ -58,13 +59,11 @@ perf.mark('init'); const store = configureStore(); const renderApp = createRenderer(() => { + setGlobalStore(store); + const { getRoutedComponent } = require('./routes'); const Component = getRoutedComponent(store); - return ( - - - - ); + return ; }); const setupApp = () => { diff --git a/tgui/packages/tgui/layouts/NtosWindow.jsx b/tgui/packages/tgui/layouts/NtosWindow.jsx index 931be6502eae6..f3b6885087f08 100644 --- a/tgui/packages/tgui/layouts/NtosWindow.jsx +++ b/tgui/packages/tgui/layouts/NtosWindow.jsx @@ -9,9 +9,9 @@ import { useBackend } from '../backend'; import { Box, Button } from '../components'; import { Window } from './Window'; -export const NtosWindow = (props, context) => { +export const NtosWindow = (props) => { const { title, width = 575, height = 700, theme = 'ntos', children } = props; - const { act, data } = useBackend(context); + const { act, data } = useBackend(); const { PC_device_theme, PC_batteryicon, diff --git a/tgui/packages/tgui/layouts/Pane.jsx b/tgui/packages/tgui/layouts/Pane.jsx index 4aca67664df20..04f943e120ec2 100644 --- a/tgui/packages/tgui/layouts/Pane.jsx +++ b/tgui/packages/tgui/layouts/Pane.jsx @@ -7,13 +7,16 @@ import { classes } from 'common/react'; import { useBackend } from '../backend'; import { Box } from '../components'; -import { useDebug } from '../debug'; import { Layout } from './Layout'; export const Pane = (props, context) => { const { theme, children, className, ...rest } = props; - const { suspended } = useBackend(context); - const { debugLayout } = useDebug(context); + const { suspended, debug } = useBackend(); + let debugLayout = false; + if (debug) { + debugLayout = debug.debugLayout; + } + return ( diff --git a/tgui/packages/tgui/layouts/Window.jsx b/tgui/packages/tgui/layouts/Window.jsx index 44e065c21881c..39074db38c655 100644 --- a/tgui/packages/tgui/layouts/Window.jsx +++ b/tgui/packages/tgui/layouts/Window.jsx @@ -5,17 +5,16 @@ */ import { classes } from 'common/react'; -import { useDispatch } from 'common/redux'; import { decodeHtmlEntities, toTitleCase } from 'common/string'; import { Component } from 'inferno'; import { backendSuspendStart, useBackend } from '../backend'; import { Icon } from '../components'; import { UI_DISABLED, UI_INTERACTIVE, UI_UPDATE } from '../constants'; -import { useDebug } from '../debug'; import { toggleKitchenSink } from '../debug/actions'; import { dragStartHandler, recallWindowGeometry, resizeStartHandler, setWindowKey } from '../drag'; import { createLogger } from '../logging'; import { Layout } from './Layout'; +import { globalStore } from '../backend'; const logger = createLogger('Window'); @@ -23,7 +22,7 @@ const DEFAULT_SIZE = [400, 600]; export class Window extends Component { componentDidMount() { - const { suspended } = useBackend(this.context); + const { suspended } = useBackend(); const { canClose = true } = this.props; if (suspended) { return; @@ -43,7 +42,7 @@ export class Window extends Component { } updateGeometry() { - const { config } = useBackend(this.context); + const { config } = useBackend(); const options = { size: DEFAULT_SIZE, ...config.window, @@ -59,9 +58,14 @@ export class Window extends Component { render() { const { canClose = true, theme, title, children, buttons, override_bg } = this.props; - const { config, suspended } = useBackend(this.context); - const { debugLayout } = useDebug(this.context); - const dispatch = useDispatch(this.context); + const { config, suspended, debug } = useBackend(); + + let debugLayout = false; + if (debug) { + debugLayout = debug.debugLayout; + } + + const dispatch = globalStore.dispatch; const fancy = config.window?.fancy; // Determine when to show dimmer const showDimmer = config.user && (config.user.observer ? config.status < UI_DISABLED : config.status < UI_INTERACTIVE); @@ -119,9 +123,16 @@ const statusToColor = (status) => { } }; -const TitleBar = (props, context) => { +const TitleBar = (props) => { const { className, title, status, canClose, fancy, onDragStart, onClose, children } = props; - const dispatch = useDispatch(context); + const dispatch = globalStore.dispatch; + // prettier-ignore + const finalTitle = ( + typeof title === 'string' + && title === title.toLowerCase() + && toTitleCase(title) + || title + ); return (
{(status === undefined && ) || ( @@ -129,7 +140,7 @@ const TitleBar = (props, context) => { )}
fancy && onDragStart(e)} />
- {(typeof title === 'string' && title === title.toLowerCase() && toTitleCase(title)) || title} + {finalTitle} {!!children &&
{children}
}
{process.env.NODE_ENV !== 'production' && ( diff --git a/tgui/packages/tgui/routes.tsx b/tgui/packages/tgui/routes.tsx index 6fd4cd850a872..84138951eaeaf 100644 --- a/tgui/packages/tgui/routes.tsx +++ b/tgui/packages/tgui/routes.tsx @@ -4,12 +4,9 @@ * @license MIT */ -import { Icon, Section, Stack } from './components'; - -import { Store } from 'common/redux'; import { Window } from './layouts'; -import { selectBackend } from './backend'; -import { selectDebug } from './debug/selectors'; +import { useBackend } from './backend'; +import { Icon, Section, Stack } from './components'; const requireInterface = require.context('./interfaces'); @@ -60,19 +57,17 @@ const RefreshingWindow = () => { }; // Get the component for the current route -export const getRoutedComponent = (store: Store) => { - const state = store.getState(); - const { suspended, config } = selectBackend(state); +export const getRoutedComponent = () => { + const { suspended, config, debug } = useBackend(); if (suspended) { return SuspendedWindow; } - if (config.refreshing) { + if (config?.refreshing) { return RefreshingWindow; } if (process.env.NODE_ENV !== 'production') { - const debug = selectDebug(state); // Show a kitchen sink - if (debug.kitchenSink) { + if (debug?.kitchenSink) { return require('./debug').KitchenSink; } } diff --git a/tgui/packages/tgui/stories/Blink.stories.jsx b/tgui/packages/tgui/stories/Blink.stories.jsx index 5fc2e8c81577c..5a78995407393 100644 --- a/tgui/packages/tgui/stories/Blink.stories.jsx +++ b/tgui/packages/tgui/stories/Blink.stories.jsx @@ -11,7 +11,7 @@ export const meta = { render: () => , }; -const Story = (props, context) => { +const Story = (props) => { return (
Blink diff --git a/tgui/packages/tgui/stories/BlockQuote.stories.jsx b/tgui/packages/tgui/stories/BlockQuote.stories.jsx index f10c236af5e50..adb7564b856e0 100644 --- a/tgui/packages/tgui/stories/BlockQuote.stories.jsx +++ b/tgui/packages/tgui/stories/BlockQuote.stories.jsx @@ -12,7 +12,7 @@ export const meta = { render: () => , }; -const Story = (props, context) => { +const Story = (props) => { return (
diff --git a/tgui/packages/tgui/stories/Box.stories.jsx b/tgui/packages/tgui/stories/Box.stories.jsx index 3f1cbd1e20964..97e5522e940c2 100644 --- a/tgui/packages/tgui/stories/Box.stories.jsx +++ b/tgui/packages/tgui/stories/Box.stories.jsx @@ -11,7 +11,7 @@ export const meta = { render: () => , }; -const Story = (props, context) => { +const Story = (props) => { return (
bold diff --git a/tgui/packages/tgui/stories/Button.stories.jsx b/tgui/packages/tgui/stories/Button.stories.jsx index d3b6dc92c4e05..cc621f7545132 100644 --- a/tgui/packages/tgui/stories/Button.stories.jsx +++ b/tgui/packages/tgui/stories/Button.stories.jsx @@ -28,7 +28,7 @@ const COLORS_SPECTRUM = [ const COLORS_STATES = ['good', 'average', 'bad', 'black', 'white']; -const Story = (props, context) => { +const Story = (props) => { return (
diff --git a/tgui/packages/tgui/stories/ByondUi.stories.jsx b/tgui/packages/tgui/stories/ByondUi.stories.jsx index c8fe8597eb925..a242c8154d5ef 100644 --- a/tgui/packages/tgui/stories/ByondUi.stories.jsx +++ b/tgui/packages/tgui/stories/ByondUi.stories.jsx @@ -13,9 +13,8 @@ export const meta = { render: () => , }; -const Story = (props, context) => { +const Story = (props) => { const [code, setCode] = useLocalState( - context, 'byondUiEvalCode', `Byond.winset('${Byond.windowId}', {\n 'is-visible': true,\n})` ); diff --git a/tgui/packages/tgui/stories/Collapsible.stories.jsx b/tgui/packages/tgui/stories/Collapsible.stories.jsx index eace08607ba3a..9412ba58937ad 100644 --- a/tgui/packages/tgui/stories/Collapsible.stories.jsx +++ b/tgui/packages/tgui/stories/Collapsible.stories.jsx @@ -12,7 +12,7 @@ export const meta = { render: () => , }; -const Story = (props, context) => { +const Story = (props) => { return (
}> diff --git a/tgui/packages/tgui/stories/Flex.stories.jsx b/tgui/packages/tgui/stories/Flex.stories.jsx index 0119c5f95e035..68db68e34d8df 100644 --- a/tgui/packages/tgui/stories/Flex.stories.jsx +++ b/tgui/packages/tgui/stories/Flex.stories.jsx @@ -12,11 +12,11 @@ export const meta = { render: () => , }; -const Story = (props, context) => { - const [grow, setGrow] = useLocalState(context, 'fs_grow', 1); - const [direction, setDirection] = useLocalState(context, 'fs_direction', 'column'); - const [fill, setFill] = useLocalState(context, 'fs_fill', true); - const [hasTitle, setHasTitle] = useLocalState(context, 'fs_title', true); +const Story = (props) => { + const [grow, setGrow] = useLocalState('fs_grow', 1); + const [direction, setDirection] = useLocalState('fs_direction', 'column'); + const [fill, setFill] = useLocalState('fs_fill', true); + const [hasTitle, setHasTitle] = useLocalState('fs_title', true); return ( diff --git a/tgui/packages/tgui/stories/Input.stories.jsx b/tgui/packages/tgui/stories/Input.stories.jsx index 99adae3ec98e1..2cda227abc737 100644 --- a/tgui/packages/tgui/stories/Input.stories.jsx +++ b/tgui/packages/tgui/stories/Input.stories.jsx @@ -12,9 +12,9 @@ export const meta = { render: () => , }; -const Story = (props, context) => { - const [number, setNumber] = useLocalState(context, 'number', 0); - const [text, setText] = useLocalState(context, 'text', 'Sample text'); +const Story = (props) => { + const [number, setNumber] = useLocalState('number', 0); + const [text, setText] = useLocalState('text', 'Sample text'); return (
diff --git a/tgui/packages/tgui/stories/ProgressBar.stories.jsx b/tgui/packages/tgui/stories/ProgressBar.stories.jsx index dfee21bcdef26..686b1b0701b4d 100644 --- a/tgui/packages/tgui/stories/ProgressBar.stories.jsx +++ b/tgui/packages/tgui/stories/ProgressBar.stories.jsx @@ -12,9 +12,9 @@ export const meta = { render: () => , }; -const Story = (props, context) => { - const [progress, setProgress] = useLocalState(context, 'progress', 0.5); - const [color, setColor] = useLocalState(context, 'color', ''); +const Story = (props) => { + const [progress, setProgress] = useLocalState('progress', 0.5); + const [color, setColor] = useLocalState('color', ''); const color_data = color ? { color: color } diff --git a/tgui/packages/tgui/stories/Stack.stories.jsx b/tgui/packages/tgui/stories/Stack.stories.jsx index 09d8066133d42..9ebdf16c79325 100644 --- a/tgui/packages/tgui/stories/Stack.stories.jsx +++ b/tgui/packages/tgui/stories/Stack.stories.jsx @@ -29,7 +29,7 @@ const SmallStackItems = () => ( ); -const Story = (props, context) => { +const Story = (props) => { return (
diff --git a/tgui/packages/tgui/stories/Storage.stories.jsx b/tgui/packages/tgui/stories/Storage.stories.jsx index edd6a3aadf34a..932f965cb6052 100644 --- a/tgui/packages/tgui/stories/Storage.stories.jsx +++ b/tgui/packages/tgui/stories/Storage.stories.jsx @@ -13,7 +13,7 @@ export const meta = { render: () => , }; -const Story = (props, context) => { +const Story = (props) => { if (!window.localStorage) { return Local storage is not available.; } diff --git a/tgui/packages/tgui/stories/Tabs.stories.jsx b/tgui/packages/tgui/stories/Tabs.stories.jsx index 0592639ff0a2a..5b0f7a6dc5726 100644 --- a/tgui/packages/tgui/stories/Tabs.stories.jsx +++ b/tgui/packages/tgui/stories/Tabs.stories.jsx @@ -14,9 +14,9 @@ export const meta = { const TAB_RANGE = ['Tab #1', 'Tab #2', 'Tab #3', 'Tab #4']; -const Story = (props, context) => { - const [tabIndex, setTabIndex] = useLocalState(context, 'tabIndex', 0); - const [tabProps, setTabProps] = useLocalState(context, 'tabProps', {}); +const Story = (props) => { + const [tabIndex, setTabIndex] = useLocalState('tabIndex', 0); + const [tabProps, setTabProps] = useLocalState('tabProps', {}); return ( <>
diff --git a/tgui/packages/tgui/stories/Themes.stories.jsx b/tgui/packages/tgui/stories/Themes.stories.jsx index 90cb6896b6f64..75eb935bc9e90 100644 --- a/tgui/packages/tgui/stories/Themes.stories.jsx +++ b/tgui/packages/tgui/stories/Themes.stories.jsx @@ -12,8 +12,8 @@ export const meta = { render: () => , }; -const Story = (props, context) => { - const [theme, setTheme] = useLocalState(context, 'kitchenSinkTheme'); +const Story = (props) => { + const [theme, setTheme] = useLocalState('kitchenSinkTheme'); return (
From 9e377c130887e10622d6a314c64e07afbc621abb Mon Sep 17 00:00:00 2001 From: itsmeow Date: Mon, 23 Dec 2024 16:00:53 -0500 Subject: [PATCH 2/3] Use regex to replace instances of context In folder: tgui/packages/tgui/interfaces/** REPLACE: useBackend(<\w+>)?\(([\n ]*?)?(this\.)?context\s?\) WITH: useBackend$1() REPLACE: use(Local|Shared)State(<[\S\s]+>)?\(([\n ]*?)?(this\.)?context,? ? WITH: use$1State$2( REPLACE: \(([\n ]*?)?((\w+|\{([\S\s]+\}))(: (\w+|\{([\S\s]+\})))?),([\n ]*?)?_?context(: (\w+|\{([\S\s]+\})))?([\n ]*?)?\) WITH: ($2) --- .../tgui/interfaces/AbductorConsole.jsx | 16 +-- .../packages/tgui/interfaces/Achievements.jsx | 14 +-- tgui/packages/tgui/interfaces/AdminFax.jsx | 24 ++--- .../tgui/interfaces/AdminSecretsPanel.jsx | 6 +- .../interfaces/AdvancedAirlockController.jsx | 20 ++-- tgui/packages/tgui/interfaces/AiAirlock.jsx | 4 +- tgui/packages/tgui/interfaces/AiRestorer.jsx | 4 +- tgui/packages/tgui/interfaces/AirAlarm.jsx | 34 +++--- .../tgui/interfaces/AirlockElectronics.jsx | 4 +- tgui/packages/tgui/interfaces/AlertModal.tsx | 14 +-- .../interfaces/AntagInfoAbductorAgent.tsx | 12 +-- .../interfaces/AntagInfoAbductorScientist.tsx | 14 +-- .../tgui/interfaces/AntagInfoBlob.tsx | 16 +-- .../tgui/interfaces/AntagInfoBloodCult.tsx | 28 ++--- .../tgui/interfaces/AntagInfoBrainwashed.tsx | 4 +- .../tgui/interfaces/AntagInfoBrother.tsx | 4 +- .../tgui/interfaces/AntagInfoChangeling.tsx | 20 ++-- .../tgui/interfaces/AntagInfoGeneric.tsx | 4 +- .../tgui/interfaces/AntagInfoHeretic.tsx | 26 ++--- .../tgui/interfaces/AntagInfoHoloparasite.tsx | 58 +++++----- .../tgui/interfaces/AntagInfoIncursion.tsx | 16 +-- .../tgui/interfaces/AntagInfoMalf.tsx | 10 +- .../tgui/interfaces/AntagInfoMorph.tsx | 2 +- .../tgui/interfaces/AntagInfoNightmare.tsx | 2 +- .../tgui/interfaces/AntagInfoNukeOp.tsx | 14 +-- .../tgui/interfaces/AntagInfoSpider.tsx | 20 ++-- .../tgui/interfaces/AntagInfoTraitor.tsx | 14 +-- .../tgui/interfaces/AntagInfoWizard.tsx | 10 +- tgui/packages/tgui/interfaces/Apc.jsx | 6 +- tgui/packages/tgui/interfaces/Aquarium.jsx | 4 +- .../tgui/interfaces/AtmosAlertConsole.jsx | 4 +- .../tgui/interfaces/AtmosControlConsole.jsx | 4 +- tgui/packages/tgui/interfaces/AtmosFilter.jsx | 4 +- tgui/packages/tgui/interfaces/AtmosMixer.jsx | 4 +- tgui/packages/tgui/interfaces/AtmosPump.jsx | 4 +- .../tgui/interfaces/AtmosTempGate.jsx | 4 +- .../tgui/interfaces/AtmosTempPump.jsx | 4 +- .../tgui/interfaces/AutomatedAnnouncement.jsx | 4 +- tgui/packages/tgui/interfaces/BankMachine.jsx | 4 +- .../packages/tgui/interfaces/BanningPanel.jsx | 4 +- .../packages/tgui/interfaces/Biogenerator.jsx | 20 ++-- .../tgui/interfaces/BluespaceArtillery.jsx | 4 +- .../tgui/interfaces/BluespaceLocator.jsx | 16 +-- .../packages/tgui/interfaces/BluespaceTap.jsx | 4 +- tgui/packages/tgui/interfaces/BorgPanel.jsx | 4 +- tgui/packages/tgui/interfaces/BountyBoard.jsx | 8 +- tgui/packages/tgui/interfaces/BrigTimer.jsx | 4 +- .../tgui/interfaces/CameraConsole.jsx | 10 +- tgui/packages/tgui/interfaces/Canister.jsx | 4 +- tgui/packages/tgui/interfaces/Canvas.jsx | 4 +- tgui/packages/tgui/interfaces/Cargo.jsx | 30 +++--- .../tgui/interfaces/CargoBountyConsole.jsx | 8 +- .../packages/tgui/interfaces/CargoExpress.jsx | 8 +- .../tgui/interfaces/CargoHoldTerminal.jsx | 4 +- .../tgui/interfaces/CellularEmporium.jsx | 4 +- .../tgui/interfaces/CentcomPodLauncher.jsx | 70 ++++++------ .../tgui/interfaces/ChemAcclimator.jsx | 4 +- .../tgui/interfaces/ChemDebugSynthesizer.jsx | 4 +- .../tgui/interfaces/ChemDispenser.jsx | 26 ++--- tgui/packages/tgui/interfaces/ChemFilter.jsx | 12 +-- tgui/packages/tgui/interfaces/ChemHeater.jsx | 4 +- tgui/packages/tgui/interfaces/ChemMaster.jsx | 30 +++--- .../tgui/interfaces/ChemReactionChamber.jsx | 8 +- .../packages/tgui/interfaces/ChemSplitter.jsx | 4 +- .../tgui/interfaces/ChemSynthesizer.jsx | 4 +- .../tgui/interfaces/CircuitAdminPanel.tsx | 4 +- .../tgui/interfaces/CircuitModule.jsx | 6 +- tgui/packages/tgui/interfaces/Clipboard.jsx | 4 +- .../tgui/interfaces/ClockworkSlab.jsx | 22 ++-- .../tgui/interfaces/CloningConsole.jsx | 4 +- tgui/packages/tgui/interfaces/CodexGigas.jsx | 4 +- .../tgui/interfaces/ColorMatrixEditor.jsx | 4 +- .../tgui/interfaces/ColorPickerModal.tsx | 11 +- .../tgui/interfaces/CommunicationsConsole.jsx | 49 +++++---- .../tgui/interfaces/ComponentPrinter.tsx | 8 +- .../tgui/interfaces/ComputerFabricator.jsx | 18 ++-- tgui/packages/tgui/interfaces/Crayon.jsx | 4 +- tgui/packages/tgui/interfaces/CrewConsole.tsx | 14 +-- .../packages/tgui/interfaces/CrewManifest.tsx | 4 +- tgui/packages/tgui/interfaces/Cryo.jsx | 4 +- .../packages/tgui/interfaces/DecalPainter.tsx | 8 +- .../packages/tgui/interfaces/DisposalUnit.jsx | 4 +- tgui/packages/tgui/interfaces/DnaConsole.jsx | 90 ++++++++-------- tgui/packages/tgui/interfaces/DnaVault.jsx | 4 +- .../tgui/interfaces/EightBallVote.jsx | 8 +- tgui/packages/tgui/interfaces/Electropack.jsx | 4 +- tgui/packages/tgui/interfaces/Elevator.jsx | 4 +- tgui/packages/tgui/interfaces/EmagConsole.jsx | 4 +- .../interfaces/EmergencyShuttleConsole.jsx | 4 +- .../tgui/interfaces/EmojiInputModal.jsx | 8 +- tgui/packages/tgui/interfaces/EmotePanel.tsx | 26 ++--- .../tgui/interfaces/EngravedMessage.jsx | 4 +- .../tgui/interfaces/ExosuitControlConsole.jsx | 4 +- tgui/packages/tgui/interfaces/Fax.tsx | 6 +- tgui/packages/tgui/interfaces/Filteriffic.jsx | 40 +++---- tgui/packages/tgui/interfaces/FishCatalog.jsx | 6 +- tgui/packages/tgui/interfaces/Folder.jsx | 4 +- .../tgui/interfaces/ForbiddenLore.jsx | 4 +- .../interfaces/FugitiveCaptureConsole.jsx | 4 +- tgui/packages/tgui/interfaces/GenPop.jsx | 17 ++- .../tgui/interfaces/GhostPoolProtection.jsx | 4 +- .../tgui/interfaces/GlandDispenser.jsx | 4 +- tgui/packages/tgui/interfaces/Gps.jsx | 4 +- .../tgui/interfaces/GravityGenerator.jsx | 8 +- .../tgui/interfaces/GreyscaleModifyMenu.tsx | 28 ++--- .../tgui/interfaces/GulagItemReclaimer.jsx | 4 +- .../interfaces/GulagTeleporterConsole.jsx | 4 +- tgui/packages/tgui/interfaces/Holodeck.jsx | 4 +- .../tgui/interfaces/HoloparasiteBuilder.tsx | 101 +++++++++--------- tgui/packages/tgui/interfaces/HypnoChair.jsx | 4 +- .../packages/tgui/interfaces/ImplantChair.jsx | 4 +- .../tgui/interfaces/InfraredEmitter.jsx | 4 +- .../IntegratedCircuit/BasicInput.jsx | 2 +- .../IntegratedCircuit/CircuitInfo.jsx | 2 +- .../IntegratedCircuit/Connections.jsx | 2 +- .../IntegratedCircuit/DisplayName.jsx | 4 +- .../IntegratedCircuit/FundamentalTypes.jsx | 12 +-- .../IntegratedCircuit/ObjectComponent.jsx | 4 +- .../IntegratedCircuit/VariableMenu.jsx | 6 +- .../interfaces/IntegratedCircuit/index.jsx | 12 +-- tgui/packages/tgui/interfaces/Intellicard.jsx | 4 +- tgui/packages/tgui/interfaces/Interview.jsx | 4 +- .../tgui/interfaces/InterviewManager.jsx | 4 +- tgui/packages/tgui/interfaces/Jukebox.jsx | 4 +- tgui/packages/tgui/interfaces/KeycardAuth.jsx | 4 +- .../tgui/interfaces/LaborClaimConsole.jsx | 4 +- .../packages/tgui/interfaces/LanguageMenu.jsx | 4 +- .../tgui/interfaces/LaunchpadConsole.jsx | 12 +-- .../tgui/interfaces/LaunchpadRemote.jsx | 4 +- .../tgui/interfaces/ListInputModal.tsx | 18 ++-- .../tgui/interfaces/MechBayPowerConsole.jsx | 4 +- .../interfaces/MedicalRecords/NoteKeeper.tsx | 14 +-- .../interfaces/MedicalRecords/RecordTabs.tsx | 12 +-- .../interfaces/MedicalRecords/RecordView.tsx | 4 +- .../tgui/interfaces/MedicalRecords/helpers.ts | 4 +- .../tgui/interfaces/MedicalRecords/index.tsx | 12 +-- .../tgui/interfaces/MessageMonitor.jsx | 10 +- .../packages/tgui/interfaces/MiningVendor.jsx | 4 +- tgui/packages/tgui/interfaces/Mint.jsx | 4 +- .../tgui/interfaces/ModularFabricator.jsx | 60 +++++------ tgui/packages/tgui/interfaces/Morph.jsx | 12 +-- tgui/packages/tgui/interfaces/Mule.jsx | 4 +- .../tgui/interfaces/NaniteChamberControl.jsx | 6 +- .../tgui/interfaces/NaniteCloudControl.jsx | 24 ++--- .../tgui/interfaces/NaniteProgramHub.jsx | 6 +- .../tgui/interfaces/NaniteProgrammer.jsx | 32 +++--- .../packages/tgui/interfaces/NaniteRemote.jsx | 6 +- tgui/packages/tgui/interfaces/Newscaster.jsx | 46 ++++---- tgui/packages/tgui/interfaces/NoticeBoard.jsx | 4 +- tgui/packages/tgui/interfaces/NtnetRelay.jsx | 4 +- .../tgui/interfaces/NtosAirlockControl.jsx | 4 +- tgui/packages/tgui/interfaces/NtosArcade.jsx | 4 +- tgui/packages/tgui/interfaces/NtosAtmos.jsx | 4 +- .../tgui/interfaces/NtosBountyBoard.jsx | 2 +- .../tgui/interfaces/NtosBountyConsole.jsx | 8 +- tgui/packages/tgui/interfaces/NtosCard.jsx | 10 +- tgui/packages/tgui/interfaces/NtosCargo.jsx | 2 +- .../tgui/interfaces/NtosConfiguration.jsx | 4 +- .../tgui/interfaces/NtosCrewManifest.jsx | 4 +- .../interfaces/NtosCyborgRemoteMonitor.jsx | 8 +- .../NtosCyborgRemoteMonitorSyndicate.jsx | 2 +- .../tgui/interfaces/NtosCyborgSelfMonitor.jsx | 12 +-- .../packages/tgui/interfaces/NtosDatabank.tsx | 4 +- .../tgui/interfaces/NtosEmagConsole.jsx | 4 +- .../tgui/interfaces/NtosFileManager.jsx | 4 +- .../tgui/interfaces/NtosGhostRbmkStats.jsx | 4 +- .../tgui/interfaces/NtosJobManager.jsx | 6 +- .../tgui/interfaces/NtosLogViewer.jsx | 6 +- tgui/packages/tgui/interfaces/NtosMain.jsx | 4 +- .../tgui/interfaces/NtosMessenger.jsx | 18 ++-- tgui/packages/tgui/interfaces/NtosNetChat.jsx | 8 +- tgui/packages/tgui/interfaces/NtosNetDos.jsx | 6 +- .../tgui/interfaces/NtosNetDownloader.jsx | 10 +- .../tgui/interfaces/NtosNetMonitor.jsx | 4 +- .../tgui/interfaces/NtosNewscaster.jsx | 4 +- tgui/packages/tgui/interfaces/NtosNotepad.jsx | 4 +- .../tgui/interfaces/NtosPhysScanner.jsx | 4 +- .../tgui/interfaces/NtosPortraitPrinter.jsx | 8 +- tgui/packages/tgui/interfaces/NtosRadar.jsx | 12 +-- .../tgui/interfaces/NtosRadarSyndicate.jsx | 2 +- .../tgui/interfaces/NtosRbmkStats.jsx | 4 +- tgui/packages/tgui/interfaces/NtosRecords.jsx | 6 +- .../tgui/interfaces/NtosRevelation.jsx | 4 +- .../tgui/interfaces/NtosRoboControl.jsx | 8 +- .../packages/tgui/interfaces/NtosSecurEye.jsx | 4 +- .../tgui/interfaces/NtosSignaller.jsx | 2 +- .../interfaces/NtosSupermatterMonitor.jsx | 2 +- tgui/packages/tgui/interfaces/NuclearBomb.jsx | 8 +- .../tgui/interfaces/NumberInputModal.tsx | 10 +- tgui/packages/tgui/interfaces/Objective.jsx | 6 +- .../tgui/interfaces/OperatingComputer.jsx | 12 +-- tgui/packages/tgui/interfaces/Orbit.jsx | 14 +-- tgui/packages/tgui/interfaces/OrbitalMap.jsx | 34 +++--- tgui/packages/tgui/interfaces/OreBox.jsx | 4 +- .../tgui/interfaces/OreRedemptionMachine.jsx | 8 +- .../packages/tgui/interfaces/OutfitEditor.jsx | 8 +- .../tgui/interfaces/OutfitManager.jsx | 4 +- .../tgui/interfaces/PDAInputModal.jsx | 4 +- tgui/packages/tgui/interfaces/PaiCard.tsx | 18 ++-- .../packages/tgui/interfaces/PaiInterface.tsx | 46 ++++---- tgui/packages/tgui/interfaces/PaiSubmit.tsx | 10 +- tgui/packages/tgui/interfaces/Pandemic.jsx | 18 ++-- tgui/packages/tgui/interfaces/PaperSheet.tsx | 52 ++++----- .../tgui/interfaces/ParticleAccelerator.jsx | 4 +- tgui/packages/tgui/interfaces/Particool.jsx | 96 ++++++++--------- .../tgui/interfaces/PersonalCrafting.jsx | 10 +- tgui/packages/tgui/interfaces/Photocopier.jsx | 20 ++-- .../tgui/interfaces/PictureSelectModal.jsx | 4 +- .../tgui/interfaces/PlantDNAManipulator.jsx | 44 ++++---- tgui/packages/tgui/interfaces/PlayerPanel.jsx | 36 +++---- .../tgui/interfaces/PortableGenerator.jsx | 4 +- .../packages/tgui/interfaces/PortablePump.jsx | 4 +- .../tgui/interfaces/PortableScrubber.jsx | 4 +- .../tgui/interfaces/PortableThermomachine.jsx | 4 +- .../tgui/interfaces/PortraitPicker.jsx | 8 +- .../packages/tgui/interfaces/PowerMonitor.jsx | 6 +- .../interfaces/PreferencesMenu/AntagsPage.tsx | 18 ++-- .../CharacterPreferenceWindow.tsx | 6 +- .../PreferencesMenu/GamePreferenceWindow.tsx | 10 +- .../PreferencesMenu/GamePreferencesPage.tsx | 6 +- .../interfaces/PreferencesMenu/JobsPage.tsx | 21 ++-- .../PreferencesMenu/KeybindingsPage.tsx | 19 ++-- .../PreferencesMenu/LoadoutPage.tsx | 15 ++- .../interfaces/PreferencesMenu/MainPage.tsx | 21 ++-- .../interfaces/PreferencesMenu/QuirksPage.tsx | 10 +- .../interfaces/PreferencesMenu/SaveStatus.tsx | 4 +- .../PreferencesMenu/SpeciesPage.tsx | 10 +- .../tgui/interfaces/PreferencesMenu/index.tsx | 4 +- .../tgui/interfaces/PreferencesMenu/names.tsx | 17 ++- .../preferences/features/base.tsx | 23 ++-- .../features/game_preferences/ghost.tsx | 4 +- .../preferences/features/randomization.tsx | 8 +- .../PreferencesMenu/useRandomToggleState.ts | 2 +- .../tgui/interfaces/ProbingConsole.jsx | 4 +- .../tgui/interfaces/ProximitySensor.jsx | 4 +- .../packages/tgui/interfaces/PsychicPlane.jsx | 4 +- tgui/packages/tgui/interfaces/RDConsole.jsx | 12 +-- tgui/packages/tgui/interfaces/Radio.jsx | 4 +- .../tgui/interfaces/RadioactiveMicrolaser.jsx | 4 +- .../tgui/interfaces/RapidPipeDispenser.jsx | 6 +- .../tgui/interfaces/RbmkControlRods.jsx | 4 +- tgui/packages/tgui/interfaces/Reflector.tsx | 4 +- .../tgui/interfaces/ReligiousTool.jsx | 18 ++-- .../tgui/interfaces/RemoteRobotControl.jsx | 6 +- .../tgui/interfaces/RequestManager.jsx | 16 ++- .../interfaces/RoboticsControlConsole.jsx | 20 ++-- .../tgui/interfaces/SatelliteControl.jsx | 4 +- tgui/packages/tgui/interfaces/ScannerGate.jsx | 44 ++++---- .../SecurityRecords/CrimeWatcher.tsx | 24 ++--- .../SecurityRecords/RecordPrint.tsx | 14 +-- .../interfaces/SecurityRecords/RecordTabs.tsx | 12 +-- .../interfaces/SecurityRecords/RecordView.tsx | 12 +-- .../interfaces/SecurityRecords/helpers.ts | 4 +- .../tgui/interfaces/SecurityRecords/index.tsx | 12 +-- .../tgui/interfaces/SeedExtractor.jsx | 4 +- .../tgui/interfaces/SelectEquipment.jsx | 18 ++-- .../tgui/interfaces/ShuttleDesignator.jsx | 4 +- .../tgui/interfaces/ShuttleManipulator.jsx | 18 ++-- tgui/packages/tgui/interfaces/Signaler.jsx | 6 +- tgui/packages/tgui/interfaces/SimpleBot.tsx | 64 +++++------ tgui/packages/tgui/interfaces/Sleeper.jsx | 4 +- .../tgui/interfaces/SlimeBodySwapper.jsx | 6 +- tgui/packages/tgui/interfaces/SmartVend.jsx | 4 +- tgui/packages/tgui/interfaces/Smelter.jsx | 6 +- tgui/packages/tgui/interfaces/Smes.jsx | 4 +- .../packages/tgui/interfaces/SmokeMachine.jsx | 4 +- .../packages/tgui/interfaces/SolarControl.jsx | 4 +- .../packages/tgui/interfaces/SpawnersMenu.jsx | 4 +- tgui/packages/tgui/interfaces/Spellbook.tsx | 53 +++++---- tgui/packages/tgui/interfaces/Stack.jsx | 18 ++-- .../tgui/interfaces/StationAlertConsole.jsx | 8 +- tgui/packages/tgui/interfaces/StripMenu.tsx | 8 +- .../tgui/interfaces/SupermatterMonitor.jsx | 8 +- .../tgui/interfaces/SyndContractor.jsx | 22 ++-- .../packages/tgui/interfaces/TachyonArray.jsx | 10 +- tgui/packages/tgui/interfaces/Tank.jsx | 4 +- .../tgui/interfaces/TankDispenser.jsx | 4 +- tgui/packages/tgui/interfaces/TechFab.jsx | 28 ++--- tgui/packages/tgui/interfaces/Techweb.jsx | 58 +++++----- tgui/packages/tgui/interfaces/Telecomms.jsx | 4 +- tgui/packages/tgui/interfaces/Telemonitor.tsx | 4 +- tgui/packages/tgui/interfaces/Teleporter.jsx | 4 +- .../tgui/interfaces/TextInputModal.tsx | 10 +- .../tgui/interfaces/ThermoMachine.jsx | 4 +- .../tgui/interfaces/TicketBrowser.jsx | 14 +-- .../tgui/interfaces/TicketMessenger.jsx | 18 ++-- tgui/packages/tgui/interfaces/Timer.jsx | 4 +- .../tgui/interfaces/ToolSelection.tsx | 10 +- .../tgui/interfaces/TrackedPlaytime.jsx | 4 +- .../tgui/interfaces/TraitorBackstoryMenu.jsx | 35 +++--- .../tgui/interfaces/TransferValve.jsx | 4 +- .../tgui/interfaces/TurbineComputer.jsx | 4 +- .../tgui/interfaces/TurretControl.jsx | 4 +- tgui/packages/tgui/interfaces/Uplink.jsx | 18 ++-- tgui/packages/tgui/interfaces/Vendatray.jsx | 8 +- tgui/packages/tgui/interfaces/Vending.tsx | 41 +++---- tgui/packages/tgui/interfaces/Vote.jsx | 20 ++-- .../tgui/interfaces/WarrantConsole.tsx | 28 ++--- tgui/packages/tgui/interfaces/Wires.jsx | 4 +- tgui/packages/tgui/interfaces/Workshop.jsx | 4 +- .../tgui/interfaces/XenoartifactConsole.jsx | 24 ++--- .../tgui/interfaces/XenoartifactLabeler.jsx | 22 ++-- .../tgui/interfaces/common/AccessList.jsx | 4 +- .../interfaces/common/AntagInfoHeader.tsx | 2 +- .../tgui/interfaces/common/AtmosControls.jsx | 8 +- .../tgui/interfaces/common/EditableText.tsx | 6 +- .../tgui/interfaces/common/InputButtons.tsx | 4 +- .../common/InterfaceLockNoticeBox.jsx | 4 +- .../tgui/interfaces/common/Materials.tsx | 10 +- .../interfaces/common/ObjectiveSection.tsx | 2 +- .../tgui/interfaces/common/PortableAtmos.jsx | 4 +- .../common/StatusDisplayControls.tsx | 8 +- .../manually-routed/KitchenSink.jsx | 32 +++--- 313 files changed, 1767 insertions(+), 1842 deletions(-) diff --git a/tgui/packages/tgui/interfaces/AbductorConsole.jsx b/tgui/packages/tgui/interfaces/AbductorConsole.jsx index 00d6ca5518145..5bafb8b124d84 100644 --- a/tgui/packages/tgui/interfaces/AbductorConsole.jsx +++ b/tgui/packages/tgui/interfaces/AbductorConsole.jsx @@ -3,8 +3,8 @@ import { Button, LabeledList, NoticeBox, Section, Tabs } from '../components'; import { Window } from '../layouts'; import { GenericUplink } from './Uplink'; -export const AbductorConsole = (props, context) => { - const [tab, setTab] = useLocalState(context, 'tab', 1); +export const AbductorConsole = (props) => { + const [tab, setTab] = useLocalState('tab', 1); return ( @@ -28,8 +28,8 @@ export const AbductorConsole = (props, context) => { ); }; -const Abductsoft = (props, context) => { - const { act, data } = useBackend(context); +const Abductsoft = (props) => { + const { act, data } = useBackend(); const { experiment, points, credits } = data; if (!experiment) { @@ -48,8 +48,8 @@ const Abductsoft = (props, context) => { ); }; -const EmergencyTeleporter = (props, context) => { - const { act, data } = useBackend(context); +const EmergencyTeleporter = (props) => { + const { act, data } = useBackend(); const { pad, gizmo } = data; if (!pad) { @@ -74,8 +74,8 @@ const EmergencyTeleporter = (props, context) => { ); }; -const VestSettings = (props, context) => { - const { act, data } = useBackend(context); +const VestSettings = (props) => { + const { act, data } = useBackend(); const { vest, vest_mode, vest_lock } = data; if (!vest) { diff --git a/tgui/packages/tgui/interfaces/Achievements.jsx b/tgui/packages/tgui/interfaces/Achievements.jsx index 0ddbef619f7c6..3ed7c594ae825 100644 --- a/tgui/packages/tgui/interfaces/Achievements.jsx +++ b/tgui/packages/tgui/interfaces/Achievements.jsx @@ -2,10 +2,10 @@ import { useBackend, useLocalState } from '../backend'; import { Box, Flex, Icon, Table, Tabs } from '../components'; import { Window } from '../layouts'; -export const Achievements = (props, context) => { - const { data } = useBackend(context); +export const Achievements = (props) => { + const { data } = useBackend(); const { categories } = data; - const [selectedCategory, setSelectedCategory] = useLocalState(context, 'category', categories[0]); + const [selectedCategory, setSelectedCategory] = useLocalState('category', categories[0]); const achievements = data.achievements.filter((x) => x.category === selectedCategory); return ( @@ -26,7 +26,7 @@ export const Achievements = (props, context) => { ); }; -const AchievementTable = (props, context) => { +const AchievementTable = (props) => { const { achievements } = props; return ( @@ -56,10 +56,10 @@ const Achievement = (props) => { ); }; -const HighScoreTable = (props, context) => { - const { data } = useBackend(context); +const HighScoreTable = (props) => { + const { data } = useBackend(); const { highscore: highscores, user_ckey } = data; - const [highScoreIndex, setHighScoreIndex] = useLocalState(context, 'highscore', 0); + const [highScoreIndex, setHighScoreIndex] = useLocalState('highscore', 0); const highscore = highscores[highScoreIndex]; if (!highscore) { return null; diff --git a/tgui/packages/tgui/interfaces/AdminFax.jsx b/tgui/packages/tgui/interfaces/AdminFax.jsx index 89870f45451d7..147dd45476fb9 100644 --- a/tgui/packages/tgui/interfaces/AdminFax.jsx +++ b/tgui/packages/tgui/interfaces/AdminFax.jsx @@ -2,7 +2,7 @@ import { useBackend, useLocalState } from '../backend'; import { Section, Box, Dropdown, Button, Input, TextArea, Divider, NumberInput, Tooltip, Knob } from '../components'; import { Window } from '../layouts'; -export const AdminFax = (props, context) => { +export const AdminFax = (props) => { return ( @@ -12,18 +12,18 @@ export const AdminFax = (props, context) => { ); }; -export const FaxMainPanel = (props, context) => { - const { act, data } = useBackend(context); +export const FaxMainPanel = (props) => { + const { act, data } = useBackend(); - const [fax, setFax] = useLocalState(context, 'fax', ''); - const [saved, setSaved] = useLocalState(context, 'saved', false); - const [paperName, setPaperName] = useLocalState(context, 'paperName', ''); - const [fromWho, setFromWho] = useLocalState(context, 'fromWho', ''); - const [rawText, setRawText] = useLocalState(context, 'rawText', ''); - const [stamp, setStamp] = useLocalState(context, 'stampType', ''); - const [stampCoordX, setStampCoordX] = useLocalState(context, 'stampCoordX', 0); - const [stampCoordY, setStampCoordY] = useLocalState(context, 'stampCoordY', 0); - const [stampAngle, setStampAngle] = useLocalState(context, 'stampAngle', 0); + const [fax, setFax] = useLocalState('fax', ''); + const [saved, setSaved] = useLocalState('saved', false); + const [paperName, setPaperName] = useLocalState('paperName', ''); + const [fromWho, setFromWho] = useLocalState('fromWho', ''); + const [rawText, setRawText] = useLocalState('rawText', ''); + const [stamp, setStamp] = useLocalState('stampType', ''); + const [stampCoordX, setStampCoordX] = useLocalState('stampCoordX', 0); + const [stampCoordY, setStampCoordY] = useLocalState('stampCoordY', 0); + const [stampAngle, setStampAngle] = useLocalState('stampAngle', 0); if (stamp && data.stamps[0] !== 'None') { data.stamps.unshift('None'); } diff --git a/tgui/packages/tgui/interfaces/AdminSecretsPanel.jsx b/tgui/packages/tgui/interfaces/AdminSecretsPanel.jsx index 211ea9303ce86..643f92a1984d9 100644 --- a/tgui/packages/tgui/interfaces/AdminSecretsPanel.jsx +++ b/tgui/packages/tgui/interfaces/AdminSecretsPanel.jsx @@ -20,10 +20,10 @@ const possTitles = [ ]; const Title = pick(possTitles); -export const AdminSecretsPanel = (props, context) => { - const { act, data } = useBackend(context); +export const AdminSecretsPanel = (props) => { + const { act, data } = useBackend(); const { Categories = [] } = data; - const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); + const [searchText, setSearchText] = useLocalState('searchText', ''); const Search = createSearch(searchText, (item) => { return item; diff --git a/tgui/packages/tgui/interfaces/AdvancedAirlockController.jsx b/tgui/packages/tgui/interfaces/AdvancedAirlockController.jsx index bb07e1d9a06ae..cd1381d729111 100644 --- a/tgui/packages/tgui/interfaces/AdvancedAirlockController.jsx +++ b/tgui/packages/tgui/interfaces/AdvancedAirlockController.jsx @@ -22,9 +22,9 @@ const ROLE_INT_DEPRESSURIZE = 2; const ROLE_EXT_PRESSURIZE = 4; const ROLE_EXT_DEPRESSURIZE = 8; -export const AdvancedAirlockController = (props, context) => { +export const AdvancedAirlockController = (props) => { const { state } = props; - const { act, data } = useBackend(context); + const { act, data } = useBackend(); const locked = data.locked && !data.siliconUser; return ( @@ -39,8 +39,8 @@ export const AdvancedAirlockController = (props, context) => { ); }; -export const AACStatus = (props, context) => { - const { act, data } = useBackend(context); +export const AACStatus = (props) => { + const { act, data } = useBackend(); const { cyclestate, pressure, maxpressure, emagged } = data; const stateMap = { [STATE_INOPEN]: { @@ -162,8 +162,8 @@ export const AACStatus = (props, context) => { ); }; -export const AACControl = (props, context) => { - const { act, data } = useBackend(context); +export const AACControl = (props) => { + const { act, data } = useBackend(); const { state } = props; const { cyclestate, @@ -262,8 +262,8 @@ export const AACControl = (props, context) => { ); }; -export const Vent = (props, context) => { - const { act, data } = useBackend(context); +export const Vent = (props) => { + const { act, data } = useBackend(); const { vent_id, name, role } = props; return (
{ ); }; -export const Airlock = (props, context) => { - const { act, data } = useBackend(context); +export const Airlock = (props) => { + const { act, data } = useBackend(); const { airlock_id, name, role, access } = props; return (
{ - const { act, data } = useBackend(context); +export const AiAirlock = (props) => { + const { act, data } = useBackend(); const statusMain = dangerMap[data.power.main] || dangerMap[0]; const statusBackup = dangerMap[data.power.backup] || dangerMap[0]; const statusElectrify = dangerMap[data.shock] || dangerMap[0]; diff --git a/tgui/packages/tgui/interfaces/AiRestorer.jsx b/tgui/packages/tgui/interfaces/AiRestorer.jsx index d132a3fc9d656..c4092cac06d68 100644 --- a/tgui/packages/tgui/interfaces/AiRestorer.jsx +++ b/tgui/packages/tgui/interfaces/AiRestorer.jsx @@ -12,8 +12,8 @@ export const AiRestorer = () => { ); }; -export const AiRestorerContent = (props, context) => { - const { act, data } = useBackend(context); +export const AiRestorerContent = (props) => { + const { act, data } = useBackend(); const { AI_present, error, name, laws, isDead, restoring, health, ejectable } = data; return ( <> diff --git a/tgui/packages/tgui/interfaces/AirAlarm.jsx b/tgui/packages/tgui/interfaces/AirAlarm.jsx index b8d2550f862b4..78d36efac2756 100644 --- a/tgui/packages/tgui/interfaces/AirAlarm.jsx +++ b/tgui/packages/tgui/interfaces/AirAlarm.jsx @@ -8,8 +8,8 @@ import { Window } from '../layouts'; import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox'; import { Vent, Scrubber } from './common/AtmosControls'; -export const AirAlarm = (props, context) => { - const { act, data } = useBackend(context); +export const AirAlarm = (props) => { + const { act, data } = useBackend(); const locked = data.locked && !data.siliconUser; return ( @@ -22,8 +22,8 @@ export const AirAlarm = (props, context) => { ); }; -const AirAlarmStatus = (props, context) => { - const { data } = useBackend(context); +const AirAlarmStatus = (props) => { + const { data } = useBackend(); const entries = (data.environment_data || []).filter((entry) => entry.value >= 0.01); const dangerMap = { 0: { @@ -99,8 +99,8 @@ const AIR_ALARM_ROUTES = { }, }; -const AirAlarmControl = (props, context) => { - const [screen, setScreen] = useLocalState(context, 'screen'); +const AirAlarmControl = (props) => { + const [screen, setScreen] = useLocalState('screen'); const route = AIR_ALARM_ROUTES[screen] || AIR_ALARM_ROUTES.home; const Component = route.component(); return ( @@ -113,9 +113,9 @@ const AirAlarmControl = (props, context) => { // Home screen // -------------------------------------------------------- -const AirAlarmControlHome = (props, context) => { - const { act, data } = useBackend(context); - const [screen, setScreen] = useLocalState(context, 'screen'); +const AirAlarmControlHome = (props) => { + const { act, data } = useBackend(); + const [screen, setScreen] = useLocalState('screen'); const { mode, atmos_alarm } = data; return ( <> @@ -151,8 +151,8 @@ const AirAlarmControlHome = (props, context) => { // Vents // -------------------------------------------------------- -const AirAlarmControlVents = (props, context) => { - const { data } = useBackend(context); +const AirAlarmControlVents = (props) => { + const { data } = useBackend(); const { vents } = data; if (!vents || vents.length === 0) { return 'Nothing to show'; @@ -163,8 +163,8 @@ const AirAlarmControlVents = (props, context) => { // Scrubbers // -------------------------------------------------------- -const AirAlarmControlScrubbers = (props, context) => { - const { data } = useBackend(context); +const AirAlarmControlScrubbers = (props) => { + const { data } = useBackend(); const { scrubbers } = data; if (!scrubbers || scrubbers.length === 0) { return 'Nothing to show'; @@ -175,8 +175,8 @@ const AirAlarmControlScrubbers = (props, context) => { // Modes // -------------------------------------------------------- -const AirAlarmControlModes = (props, context) => { - const { act, data } = useBackend(context); +const AirAlarmControlModes = (props) => { + const { act, data } = useBackend(); const { modes } = data; if (!modes || modes.length === 0) { return 'Nothing to show'; @@ -198,8 +198,8 @@ const AirAlarmControlModes = (props, context) => { // Thresholds // -------------------------------------------------------- -const AirAlarmControlThresholds = (props, context) => { - const { act, data } = useBackend(context); +const AirAlarmControlThresholds = (props) => { + const { act, data } = useBackend(); const { thresholds } = data; return (
diff --git a/tgui/packages/tgui/interfaces/AirlockElectronics.jsx b/tgui/packages/tgui/interfaces/AirlockElectronics.jsx index 04125188360f4..9111f31b410aa 100644 --- a/tgui/packages/tgui/interfaces/AirlockElectronics.jsx +++ b/tgui/packages/tgui/interfaces/AirlockElectronics.jsx @@ -3,8 +3,8 @@ import { Button, LabeledList, Input, Section } from '../components'; import { Window } from '../layouts'; import { AccessList } from './common/AccessList'; -export const AirlockElectronics = (props, context) => { - const { act, data } = useBackend(context); +export const AirlockElectronics = (props) => { + const { act, data } = useBackend(); const { oneAccess, unres_direction, passedName, passedCycleId } = data; const regions = data.regions || []; const accesses = data.accesses || []; diff --git a/tgui/packages/tgui/interfaces/AlertModal.tsx b/tgui/packages/tgui/interfaces/AlertModal.tsx index 699bccc6ab6d0..b2ecab3a8c892 100644 --- a/tgui/packages/tgui/interfaces/AlertModal.tsx +++ b/tgui/packages/tgui/interfaces/AlertModal.tsx @@ -17,10 +17,10 @@ type AlertModalData = { const KEY_DECREMENT = -1; const KEY_INCREMENT = 1; -export const AlertModal = (_, context) => { - const { act, data } = useBackend(context); +export const AlertModal = (_) => { + const { act, data } = useBackend(); const { autofocus, buttons = [], large_buttons, message = '', timeout, title } = data; - const [selected, setSelected] = useLocalState(context, 'selected', 0); + const [selected, setSelected] = useLocalState('selected', 0); // Dynamically sets window dimensions const windowHeight = 115 + (message.length > 30 ? Math.ceil(message.length / 4) : 0) + (message.length && large_buttons ? 5 : 0); @@ -80,8 +80,8 @@ export const AlertModal = (_, context) => { * Technically this handles more than 2 buttons, but you * should just be using a list input in that case. */ -const ButtonDisplay = (props, context) => { - const { data } = useBackend(context); +const ButtonDisplay = (props) => { + const { data } = useBackend(); const { buttons = [], large_buttons, swapped_buttons } = data; const { selected } = props; @@ -105,8 +105,8 @@ const ButtonDisplay = (props, context) => { /** * Displays a button with variable sizing. */ -const AlertButton = (props, context) => { - const { act, data } = useBackend(context); +const AlertButton = (props) => { + const { act, data } = useBackend(); const { large_buttons } = data; const { button, selected } = props; const buttonWidth = button.length > 7 ? button.length : 7; diff --git a/tgui/packages/tgui/interfaces/AntagInfoAbductorAgent.tsx b/tgui/packages/tgui/interfaces/AntagInfoAbductorAgent.tsx index b97eb4b3166a8..f48b51127ef1e 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoAbductorAgent.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoAbductorAgent.tsx @@ -10,8 +10,8 @@ type Info = { objectives: Objective[]; }; -const IntroSection = (_props, context) => { - const { data } = useBackend(context); +const IntroSection = (_props) => { + const { data } = useBackend(); const { mothership } = data; return ( @@ -44,7 +44,7 @@ const IntroSection = (_props, context) => { ); }; -const BasicLoreSection = (_props, _context) => { +const BasicLoreSection = (_props) => { return (
@@ -66,7 +66,7 @@ const BasicLoreSection = (_props, _context) => { ); }; -const EquipmentSection = (_props, _context) => { +const EquipmentSection = (_props) => { return (
@@ -176,8 +176,8 @@ const EquipmentSection = (_props, _context) => { ); }; -export const AntagInfoAbductorAgent = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoAbductorAgent = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoAbductorScientist.tsx b/tgui/packages/tgui/interfaces/AntagInfoAbductorScientist.tsx index cf6b86bca6def..ad2822b61b865 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoAbductorScientist.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoAbductorScientist.tsx @@ -10,8 +10,8 @@ type Info = { objectives: Objective[]; }; -const IntroSection = (_props, context) => { - const { data } = useBackend(context); +const IntroSection = (_props) => { + const { data } = useBackend(); const { mothership } = data; return ( @@ -44,7 +44,7 @@ const IntroSection = (_props, context) => { ); }; -const BasicLoreSection = (_props, _context) => { +const BasicLoreSection = (_props) => { return (
@@ -66,7 +66,7 @@ const BasicLoreSection = (_props, _context) => { ); }; -const SurgerySubsection = (_props, _context) => { +const SurgerySubsection = (_props) => { return (
Whenever you have successfully abducted a target to your mothership, you experiment on them with an{' '} @@ -131,7 +131,7 @@ const SurgerySubsection = (_props, _context) => { ); }; -const EquipmentSection = (_props, _context) => { +const EquipmentSection = (_props) => { return (
@@ -200,8 +200,8 @@ const EquipmentSection = (_props, _context) => { ); }; -export const AntagInfoAbductorScientist = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoAbductorScientist = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoBlob.tsx b/tgui/packages/tgui/interfaces/AntagInfoBlob.tsx index b33128f5b0a82..2202d4b4afa4c 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoBlob.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoBlob.tsx @@ -23,7 +23,7 @@ type Objectives = { const BLOB_COLOR = '#556b2f'; -export const AntagInfoBlob = (_props, _context) => { +export const AntagInfoBlob = (_props) => { return ( @@ -40,8 +40,8 @@ export const AntagInfoBlob = (_props, _context) => { ); }; -const Overview = (_props, context) => { - const { data } = useBackend(context); +const Overview = (_props) => { + const { data } = useBackend(); const { color, description, effects, name } = data; if (!name) { @@ -96,7 +96,7 @@ const Overview = (_props, context) => { ); }; -const Basics = (_props, _context) => { +const Basics = (_props) => { return ( @@ -121,7 +121,7 @@ const Basics = (_props, _context) => { ); }; -const Minions = (_props, _context) => { +const Minions = (_props) => { return ( @@ -138,7 +138,7 @@ const Minions = (_props, _context) => { ); }; -const Structures = (props, context) => { +const Structures = (props) => { return ( Normal Blobs will expand your reach and can be upgraded into special blobs that perform certain functions. @@ -167,8 +167,8 @@ const Structures = (props, context) => { ); }; -const ObjectiveDisplay = (_props, context) => { - const { data } = useBackend(context); +const ObjectiveDisplay = (_props) => { + const { data } = useBackend(); const { color, objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoBloodCult.tsx b/tgui/packages/tgui/interfaces/AntagInfoBloodCult.tsx index 51c6e73bea04d..2c57e3629b602 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoBloodCult.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoBloodCult.tsx @@ -9,7 +9,7 @@ type Info = { objectives: Objective[]; }; -const StructureAltar = (_props, _context) => { +const StructureAltar = (_props) => { return ( { ); }; -const StructureArchives = (_props, _context) => { +const StructureArchives = (_props) => { return ( { ); }; -const StructureForge = (_props, _context) => { +const StructureForge = (_props) => { return ( { ); }; -const StructurePylon = (_props, _context) => { +const StructurePylon = (_props) => { return ( { ); }; -const StructureSection = (_props, context) => { - const [tab, setTab] = useLocalState(context, 'structureTab', 1); +const StructureSection = (_props) => { + const [tab, setTab] = useLocalState('structureTab', 1); return (
@@ -179,8 +179,8 @@ const StructureSection = (_props, context) => { ); }; -const BloodMagicSection = (_props, context) => { - const [tab, setTab] = useLocalState(context, 'magicTab', 1); +const BloodMagicSection = (_props) => { + const [tab, setTab] = useLocalState('magicTab', 1); return ( @@ -414,8 +414,8 @@ const BloodMagicSection = (_props, context) => { ); }; -const RunesSection = (_props, context) => { - const [tab, setTab] = useLocalState(context, 'runeTab', 1); +const RunesSection = (_props) => { + const [tab, setTab] = useLocalState('runeTab', 1); return ( @@ -681,8 +681,8 @@ const RunesSection = (_props, context) => { ); }; -const PowersSection = (_props, context) => { - const [tab, setTab] = useLocalState(context, 'powersTab', 1); +const PowersSection = (_props) => { + const [tab, setTab] = useLocalState('powersTab', 1); return (
@@ -745,8 +745,8 @@ const PowersSection = (_props, context) => { ); }; -export const AntagInfoBloodCult = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoBloodCult = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoBrainwashed.tsx b/tgui/packages/tgui/interfaces/AntagInfoBrainwashed.tsx index 124d5f8bdb9fe..ddae4cd9150a3 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoBrainwashed.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoBrainwashed.tsx @@ -45,8 +45,8 @@ export const AntagInfoBrainwashed = () => { ); }; -const ObjectivePrintout = (_props, context) => { - const { data } = useBackend(context); +const ObjectivePrintout = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoBrother.tsx b/tgui/packages/tgui/interfaces/AntagInfoBrother.tsx index 62d1bfb51c221..97defd030a2fb 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoBrother.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoBrother.tsx @@ -9,8 +9,8 @@ type Info = { objectives: Objective[]; brothers: string; }; -export const AntagInfoBrother = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoBrother = (_props) => { + const { data } = useBackend(); const { objectives, antag_name, brothers } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoChangeling.tsx b/tgui/packages/tgui/interfaces/AntagInfoChangeling.tsx index c839988f5e9bb..bba96ff1f6585 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoChangeling.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoChangeling.tsx @@ -32,8 +32,8 @@ type Info = { objectives: Objective[]; }; -export const AntagInfoChangeling = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoChangeling = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( @@ -71,8 +71,8 @@ TODO: changeling refactor from tg */ -const IntroductionSection = (_props, context) => { - const { data } = useBackend(context); +const IntroductionSection = (_props) => { + const { data } = useBackend(); const { true_name } = data; return (
@@ -100,7 +100,7 @@ const IntroductionSection = (_props, context) => { ); }; -const AbilitiesSection = (_props, _context) => { +const AbilitiesSection = (_props) => { return (
@@ -147,10 +147,10 @@ const AbilitiesSection = (_props, _context) => { /* TODO: changeling refactor from tg -const MemoriesSection = (props, context) => { - const { data } = useBackend(context); +const MemoriesSection = (props) => { + const { data } = useBackend(); const { memories } = data; - const [selectedMemory, setSelectedMemory] = useSharedState(context, 'memory', (!!memories && memories[0]) || null); + const [selectedMemory, setSelectedMemory] = useSharedState('memory', (!!memories && memories[0]) || null); const memoryMap = {}; for (const index in memories) { const memory = memories[index]; @@ -192,8 +192,8 @@ const MemoriesSection = (props, context) => { }; -const VictimPatternsSection = (props, context) => { - const { data } = useBackend(context); +const VictimPatternsSection = (props) => { + const { data } = useBackend(); const { stolen_antag_info } = data; return (
diff --git a/tgui/packages/tgui/interfaces/AntagInfoGeneric.tsx b/tgui/packages/tgui/interfaces/AntagInfoGeneric.tsx index d9c86f8bcc4eb..bbea268104cbe 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoGeneric.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoGeneric.tsx @@ -9,8 +9,8 @@ type Info = { objectives: Objective[]; }; -export const AntagInfoGeneric = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoGeneric = (_props) => { + const { data } = useBackend(); const { antag_name, objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx b/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx index 06987f3b8e436..fe59a143156b5 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx @@ -152,8 +152,8 @@ const GuideSection = () => { ); }; -const InformationSection = (props, context) => { - const { data } = useBackend(context); +const InformationSection = (props) => { + const { data } = useBackend(); const { charges, total_sacrifices, ascended } = data; return ( @@ -185,8 +185,8 @@ const InformationSection = (props, context) => { ); }; -const ObjectivePrintout = (props, context) => { - const { data } = useBackend(context); +const ObjectivePrintout = (props) => { + const { data } = useBackend(); const { objectives } = data; return ( @@ -205,8 +205,8 @@ const ObjectivePrintout = (props, context) => { ); }; -const ResearchedKnowledge = (props, context) => { - const { data } = useBackend(context); +const ResearchedKnowledge = (props) => { + const { data } = useBackend(); const { learnedKnowledge } = data; return ( @@ -230,8 +230,8 @@ const ResearchedKnowledge = (props, context) => { ); }; -const KnowledgeShop = (props, context) => { - const { data, act } = useBackend(context); +const KnowledgeShop = (props) => { + const { data, act } = useBackend(); const { learnableKnowledge } = data; return ( @@ -265,8 +265,8 @@ const KnowledgeShop = (props, context) => { ); }; -const ResearchInfo = (props, context) => { - const { data } = useBackend(context); +const ResearchInfo = (props) => { + const { data } = useBackend(); const { charges } = data; return ( @@ -289,11 +289,11 @@ const ResearchInfo = (props, context) => { ); }; -export const AntagInfoHeretic = (props, context) => { - const { data } = useBackend(context); +export const AntagInfoHeretic = (props) => { + const { data } = useBackend(); const { ascended } = data; - const [currentTab, setTab] = useLocalState(context, 'currentTab', 0); + const [currentTab, setTab] = useLocalState('currentTab', 0); return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoHoloparasite.tsx b/tgui/packages/tgui/interfaces/AntagInfoHoloparasite.tsx index 640a71d0ebff7..4adbf20e8fd2a 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoHoloparasite.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoHoloparasite.tsx @@ -143,8 +143,8 @@ type Info = { abilities: GivenAbilities; }; -const BasicInfo = (_props, context) => { - const { data } = useBackend(context); +const BasicInfo = (_props) => { + const { data } = useBackend(); return (
@@ -163,8 +163,8 @@ const BasicInfo = (_props, context) => { ); }; -const ObjectiveInfo = (_props, context) => { - const { data } = useBackend(context); +const ObjectiveInfo = (_props) => { + const { data } = useBackend(); const objectives = data.summoner.antag_info?.objectives; if (!objectives) { return; @@ -194,8 +194,8 @@ const ObjectiveInfo = (_props, context) => { ); }; -const ExtraInfo = (_props, context) => { - const { data } = useBackend(context); +const ExtraInfo = (_props) => { + const { data } = useBackend(); const extra_info = data.summoner.antag_info?.extra_info; if (!extra_info) { return; @@ -216,10 +216,10 @@ const ExtraInfo = (_props, context) => { ); }; -const Notes = (_props, context) => { +const Notes = (_props) => { const { data: { notes }, - } = useBackend(context); + } = useBackend(); if (!notes || notes.length === 0) { return (
@@ -247,11 +247,11 @@ const Notes = (_props, context) => { ); }; -const AntagInfo = (props: { antag_info: SummonerAntag }, context) => { +const AntagInfo = (props: { antag_info: SummonerAntag }) => { const { antag_info: { objectives, allies, extra_info }, } = props; - const [tab, set_tab] = useLocalState(context, 'summoner_tab', SummonerTab.Notes); + const [tab, set_tab] = useLocalState('summoner_tab', SummonerTab.Notes); return ( <> {!!objectives && ( @@ -276,11 +276,11 @@ const AntagInfo = (props: { antag_info: SummonerAntag }, context) => { ); }; -const SummonerInfo = (_props, context) => { +const SummonerInfo = (_props) => { const { data: { summoner }, - } = useBackend(context); - const [tab, set_tab] = useLocalState(context, 'summoner_tab', SummonerTab.Notes); + } = useBackend(); + const [tab, set_tab] = useLocalState('summoner_tab', SummonerTab.Notes); return (
@@ -296,8 +296,8 @@ const SummonerInfo = (_props, context) => { ); }; -const StatBox = (props: { name: string; description: string; value: number }, context) => { - const { data } = useBackend(context); +const StatBox = (props: { name: string; description: string; value: number }) => { + const { data } = useBackend(); const { name, description, value } = props; return ( @@ -324,8 +324,8 @@ const StatBox = (props: { name: string; description: string; value: number }, co ); }; -const StatsSection = (_props, context) => { - const { data } = useBackend(context); +const StatsSection = (_props) => { + const { data } = useBackend(); const { stats } = data; return (
@@ -354,8 +354,8 @@ const StatsSection = (_props, context) => { ); }; -const StatsChartSection = (_props, context) => { - const { data } = useBackend(context); +const StatsChartSection = (_props) => { + const { data } = useBackend(); const { accent_color, stats } = data; return ( { ); }; -const AbilityThresholds = (props: { title: string; thresholds: AbilityThreshold[] }, context) => { - const { data } = useBackend(context); +const AbilityThresholds = (props: { title: string; thresholds: AbilityThreshold[] }) => { + const { data } = useBackend(); return ( @@ -390,8 +390,8 @@ const AbilityThresholds = (props: { title: string; thresholds: AbilityThreshold[ ); }; -const AbilityDisplay = (props: { ability: Ability; title?: string }, context) => { - const { data } = useBackend(context); +const AbilityDisplay = (props: { ability: Ability; title?: string }) => { + const { data } = useBackend(); const { ability, title } = props; const [stat_thresholds, stat_info] = ability.thresholds.reduce( ([p, f], e) => (is_actually_a_threshold(e) ? [[...p, e], f] : [p, [...f, e]]), @@ -429,8 +429,8 @@ const AbilityDisplay = (props: { ability: Ability; title?: string }, context) => ); }; -const MajorAbilitySection = (_props, context) => { - const { data } = useBackend(context); +const MajorAbilitySection = (_props) => { + const { data } = useBackend(); const { abilities } = data; if (!abilities.major) { return ( @@ -445,15 +445,15 @@ const MajorAbilitySection = (_props, context) => { return ; }; -const WeaponSection = (_props, context) => { - const { data } = useBackend(context); +const WeaponSection = (_props) => { + const { data } = useBackend(); const { abilities } = data; const weapon = abilities.weapon!; return ; }; -const LesserAbilitiesSection = (_props, context) => { - const { data } = useBackend(context); +const LesserAbilitiesSection = (_props) => { + const { data } = useBackend(); if (!data.abilities.lesser?.length) { return (
diff --git a/tgui/packages/tgui/interfaces/AntagInfoIncursion.tsx b/tgui/packages/tgui/interfaces/AntagInfoIncursion.tsx index f5535576ff48d..2b0256590dbd9 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoIncursion.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoIncursion.tsx @@ -25,8 +25,8 @@ type Info = { antag_name: string; }; -const UplinkSubsection = (_props, context) => { - const { data } = useBackend(context); +const UplinkSubsection = (_props) => { + const { data } = useBackend(); const { has_uplink, uplink_unlock_info, code, failsafe_code } = data; return (
@@ -58,8 +58,8 @@ const UplinkSubsection = (_props, context) => { ); }; -const MembersSubsection = (_props, context) => { - const { data } = useBackend(context); +const MembersSubsection = (_props) => { + const { data } = useBackend(); const { members } = data; return (
@@ -72,7 +72,7 @@ const MembersSubsection = (_props, context) => { ); }; -const BasicLoreSubsection = (_props, _context) => { +const BasicLoreSubsection = (_props) => { return (
@@ -98,7 +98,7 @@ const BasicLoreSubsection = (_props, _context) => { ); }; -const InfoSection = (_props, _context) => { +const InfoSection = (_props) => { return (
@@ -122,8 +122,8 @@ const InfoSection = (_props, _context) => { ); }; -export const AntagInfoIncursion = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoIncursion = (_props) => { + const { data } = useBackend(); const { objectives, antag_name } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoMalf.tsx b/tgui/packages/tgui/interfaces/AntagInfoMalf.tsx index 8aa5e62740ac0..f96c0dd14b0e4 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoMalf.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoMalf.tsx @@ -26,7 +26,7 @@ type Info = { objectives: Objective[]; }; -const IntroSection = (_props, _context) => { +const IntroSection = (_props) => { return (

@@ -40,8 +40,8 @@ const IntroSection = (_props, _context) => { ); }; -const CodewordsSection = (_props, context) => { - const { data } = useBackend(context); +const CodewordsSection = (_props) => { + const { data } = useBackend(); const { has_codewords, phrases, responses } = data; return (
@@ -82,8 +82,8 @@ const CodewordsSection = (_props, context) => { ); }; -export const AntagInfoMalf = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoMalf = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoMorph.tsx b/tgui/packages/tgui/interfaces/AntagInfoMorph.tsx index 577bf7bd50916..1d5a652763df8 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoMorph.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoMorph.tsx @@ -13,7 +13,7 @@ const noticestyle = { color: 'lightblue', }; -export const AntagInfoMorph = (_props, _context) => { +export const AntagInfoMorph = (_props) => { return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoNightmare.tsx b/tgui/packages/tgui/interfaces/AntagInfoNightmare.tsx index 90c7e2de632b0..8f759d85ba5ed 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoNightmare.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoNightmare.tsx @@ -9,7 +9,7 @@ const noticestyle = { color: 'lightblue', }; -export const AntagInfoNightmare = (_props, _context) => { +export const AntagInfoNightmare = (_props) => { return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoNukeOp.tsx b/tgui/packages/tgui/interfaces/AntagInfoNukeOp.tsx index e1a832bfdb711..5db0e528ace97 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoNukeOp.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoNukeOp.tsx @@ -12,8 +12,8 @@ type Info = { lone: BooleanLike; }; -const MissionNormal = (_props, context) => { - const { data } = useBackend(context); +const MissionNormal = (_props) => { + const { data } = useBackend(); return (

@@ -36,7 +36,7 @@ const MissionNormal = (_props, context) => { ); }; -const MissionLone = (_props, _context) => { +const MissionLone = (_props) => { return (

@@ -47,8 +47,8 @@ const MissionLone = (_props, _context) => { ); }; -const MissionSection = (_props, context) => { - const { data } = useBackend(context); +const MissionSection = (_props) => { + const { data } = useBackend(); return (

@@ -127,8 +127,8 @@ const MissionSection = (_props, context) => { ); }; -export const AntagInfoNukeOp = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoNukeOp = (_props) => { + const { data } = useBackend(); const { antag_name } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoSpider.tsx b/tgui/packages/tgui/interfaces/AntagInfoSpider.tsx index 42699d09196f0..80ef446dc949d 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoSpider.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoSpider.tsx @@ -39,8 +39,8 @@ const colors = { }; const image_style = { '-ms-interpolation-mode': 'nearest-neighbor', 'float': 'left' }; -const BasicInfoSection = (_props, context) => { - const { data } = useBackend(context); +const BasicInfoSection = (_props) => { + const { data } = useBackend(); const { color } = data; return (
@@ -55,8 +55,8 @@ const BasicInfoSection = (_props, context) => { ); }; -const DirectiveSection = (_props, context) => { - const { data } = useBackend(context); +const DirectiveSection = (_props) => { + const { data } = useBackend(); const { directive } = data; return (
@@ -80,7 +80,7 @@ const DirectiveSection = (_props, context) => { ); }; -const AbilitiesSection = (_props, _context) => { +const AbilitiesSection = (_props) => { return (

@@ -128,10 +128,10 @@ const AbilitiesSection = (_props, _context) => { ); }; -const SpiderTypesSection = (_props, context) => { - const { data } = useBackend(context); +const SpiderTypesSection = (_props) => { + const { data } = useBackend(); const { type } = data; - const [tab, setTab] = useLocalState(context, 'tab', default_spider_tab[type] || 1); + const [tab, setTab] = useLocalState('tab', default_spider_tab[type] || 1); return (

@@ -402,8 +402,8 @@ const SpiderTypesSection = (_props, context) => { ); }; -export const AntagInfoSpider = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoSpider = (_props) => { + const { data } = useBackend(); const { color, type } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx b/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx index 77471568752b6..ef406a3dc9473 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx @@ -27,8 +27,8 @@ type Info = { objectives: Objective[]; }; -const UplinkSection = (_props, context) => { - const { data } = useBackend(context); +const UplinkSection = (_props) => { + const { data } = useBackend(); const { has_uplink, uplink_unlock_info, code, failsafe_code } = data; return (
@@ -60,8 +60,8 @@ const UplinkSection = (_props, context) => { ); }; -const CodewordsSection = (_props, context) => { - const { data } = useBackend(context); +const CodewordsSection = (_props) => { + const { data } = useBackend(); const { has_codewords, phrases, responses } = data; return (
@@ -100,8 +100,8 @@ const CodewordsSection = (_props, context) => { ); }; -export const AntagInfoTraitorContent = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoTraitorContent = (_props) => { + const { data } = useBackend(); const { antag_name, objectives } = data; return ( @@ -121,7 +121,7 @@ export const AntagInfoTraitorContent = (_props, context) => { ); }; -export const AntagInfoTraitor = (_props, context) => { +export const AntagInfoTraitor = (_props) => { return ( diff --git a/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx b/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx index c7a88a1eb202f..28338c1362918 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx @@ -36,7 +36,7 @@ type Info = { objectives: Objective[]; }; -const IntroSection = (_props, _context) => { +const IntroSection = (_props) => { return ( @@ -61,7 +61,7 @@ const IntroSection = (_props, _context) => { ); }; -const SpellbookSection = (_props, _context) => { +const SpellbookSection = (_props) => { return (
@@ -94,7 +94,7 @@ const SpellbookSection = (_props, _context) => { ); }; -const MiscGearSection = (_props, _context) => { +const MiscGearSection = (_props) => { return (
@@ -110,8 +110,8 @@ const MiscGearSection = (_props, _context) => { ); }; -export const AntagInfoWizard = (_props, context) => { - const { data } = useBackend(context); +export const AntagInfoWizard = (_props) => { + const { data } = useBackend(); const { objectives } = data; return ( diff --git a/tgui/packages/tgui/interfaces/Apc.jsx b/tgui/packages/tgui/interfaces/Apc.jsx index 14b0597c64649..d11fa82e0a7c7 100644 --- a/tgui/packages/tgui/interfaces/Apc.jsx +++ b/tgui/packages/tgui/interfaces/Apc.jsx @@ -3,7 +3,7 @@ import { Box, Button, LabeledList, NoticeBox, ProgressBar, Section } from '../co import { Window } from '../layouts'; import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox'; -export const Apc = (props, context) => { +export const Apc = (props) => { return ( @@ -54,8 +54,8 @@ const malfMap = { }, }; -const ApcContent = (props, context) => { - const { act, data } = useBackend(context); +const ApcContent = (props) => { + const { act, data } = useBackend(); const locked = data.locked && !data.siliconUser; const externalPowerStatus = powerStatusMap[data.externalPower] || powerStatusMap[0]; const chargingStatus = powerStatusMap[data.chargingStatus] || powerStatusMap[0]; diff --git a/tgui/packages/tgui/interfaces/Aquarium.jsx b/tgui/packages/tgui/interfaces/Aquarium.jsx index 79703265f93ad..e0b377c56ca35 100644 --- a/tgui/packages/tgui/interfaces/Aquarium.jsx +++ b/tgui/packages/tgui/interfaces/Aquarium.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, Flex, Knob, LabeledControls, Section } from '../components'; import { Window } from '../layouts'; -export const Aquarium = (props, context) => { - const { act, data } = useBackend(context); +export const Aquarium = (props) => { + const { act, data } = useBackend(); const { temperature, fluid_type, minTemperature, maxTemperature, fluidTypes, contents, allow_breeding } = data; return ( diff --git a/tgui/packages/tgui/interfaces/AtmosAlertConsole.jsx b/tgui/packages/tgui/interfaces/AtmosAlertConsole.jsx index 335dd77f52539..410d75e0ea678 100644 --- a/tgui/packages/tgui/interfaces/AtmosAlertConsole.jsx +++ b/tgui/packages/tgui/interfaces/AtmosAlertConsole.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, Section } from '../components'; import { Window } from '../layouts'; -export const AtmosAlertConsole = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosAlertConsole = (props) => { + const { act, data } = useBackend(); const priorityAlerts = data.priority || []; const minorAlerts = data.minor || []; return ( diff --git a/tgui/packages/tgui/interfaces/AtmosControlConsole.jsx b/tgui/packages/tgui/interfaces/AtmosControlConsole.jsx index e0f574eec5c2d..58864e17da64b 100644 --- a/tgui/packages/tgui/interfaces/AtmosControlConsole.jsx +++ b/tgui/packages/tgui/interfaces/AtmosControlConsole.jsx @@ -4,8 +4,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const AtmosControlConsole = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosControlConsole = (props) => { + const { act, data } = useBackend(); const sensors = data.sensors || []; return ( diff --git a/tgui/packages/tgui/interfaces/AtmosFilter.jsx b/tgui/packages/tgui/interfaces/AtmosFilter.jsx index cf08df84bd5be..b8ceeeeeef56c 100644 --- a/tgui/packages/tgui/interfaces/AtmosFilter.jsx +++ b/tgui/packages/tgui/interfaces/AtmosFilter.jsx @@ -3,8 +3,8 @@ import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; import { getGasLabel } from '../constants'; -export const AtmosFilter = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosFilter = (props) => { + const { act, data } = useBackend(); const filterTypes = data.filter_types || []; return ( diff --git a/tgui/packages/tgui/interfaces/AtmosMixer.jsx b/tgui/packages/tgui/interfaces/AtmosMixer.jsx index 040a35fcf529d..2d8dae53b0d83 100644 --- a/tgui/packages/tgui/interfaces/AtmosMixer.jsx +++ b/tgui/packages/tgui/interfaces/AtmosMixer.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const AtmosMixer = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosMixer = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/AtmosPump.jsx b/tgui/packages/tgui/interfaces/AtmosPump.jsx index e7b4d6282f5fc..a016feca6ea5a 100644 --- a/tgui/packages/tgui/interfaces/AtmosPump.jsx +++ b/tgui/packages/tgui/interfaces/AtmosPump.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const AtmosPump = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosPump = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/AtmosTempGate.jsx b/tgui/packages/tgui/interfaces/AtmosTempGate.jsx index cb4b62d2b3761..f6efa83b4a522 100644 --- a/tgui/packages/tgui/interfaces/AtmosTempGate.jsx +++ b/tgui/packages/tgui/interfaces/AtmosTempGate.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const AtmosTempGate = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosTempGate = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/AtmosTempPump.jsx b/tgui/packages/tgui/interfaces/AtmosTempPump.jsx index 8483af505ff1e..c358445d12026 100644 --- a/tgui/packages/tgui/interfaces/AtmosTempPump.jsx +++ b/tgui/packages/tgui/interfaces/AtmosTempPump.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const AtmosTempPump = (props, context) => { - const { act, data } = useBackend(context); +export const AtmosTempPump = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/AutomatedAnnouncement.jsx b/tgui/packages/tgui/interfaces/AutomatedAnnouncement.jsx index f8171bb2e7e0d..d38b65f0bef38 100644 --- a/tgui/packages/tgui/interfaces/AutomatedAnnouncement.jsx +++ b/tgui/packages/tgui/interfaces/AutomatedAnnouncement.jsx @@ -9,8 +9,8 @@ const TOOLTIP_TEXT = multiline` %STNAME fills in the station name. `; -export const AutomatedAnnouncement = (props, context) => { - const { act, data } = useBackend(context); +export const AutomatedAnnouncement = (props) => { + const { act, data } = useBackend(); const { arrivalToggle, arrival, newheadToggle, newhead } = data; return ( diff --git a/tgui/packages/tgui/interfaces/BankMachine.jsx b/tgui/packages/tgui/interfaces/BankMachine.jsx index e33d4836c7416..dedb8ca266187 100644 --- a/tgui/packages/tgui/interfaces/BankMachine.jsx +++ b/tgui/packages/tgui/interfaces/BankMachine.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NoticeBox, Section } from '../components'; import { Window } from '../layouts'; -export const BankMachine = (props, context) => { - const { act, data } = useBackend(context); +export const BankMachine = (props) => { + const { act, data } = useBackend(); const { current_balance, siphoning, station_name } = data; return ( diff --git a/tgui/packages/tgui/interfaces/BanningPanel.jsx b/tgui/packages/tgui/interfaces/BanningPanel.jsx index 75ba2c914f58a..fda57e4d719ca 100644 --- a/tgui/packages/tgui/interfaces/BanningPanel.jsx +++ b/tgui/packages/tgui/interfaces/BanningPanel.jsx @@ -5,8 +5,8 @@ import { Window } from '../layouts'; const KEY_REGEX = /^(\[[\d:]+\]) ([\S\s]+?)\/\(([\S\s]+?)\) \(([\s\S]+?) \((\d+, \d+, \d+)\)\) \(Event #(\d+)\)$/; -export const BanningPanel = (props, context) => { - const { act, data } = useBackend(context); +export const BanningPanel = (props) => { + const { act, data } = useBackend(); const { key_enabled, key, diff --git a/tgui/packages/tgui/interfaces/Biogenerator.jsx b/tgui/packages/tgui/interfaces/Biogenerator.jsx index bf83d8ed84b6d..b79a58b8763d5 100644 --- a/tgui/packages/tgui/interfaces/Biogenerator.jsx +++ b/tgui/packages/tgui/interfaces/Biogenerator.jsx @@ -7,8 +7,8 @@ import { Window } from '../layouts'; const MAX_SEARCH_RESULTS = 25; -export const Biogenerator = (props, context) => { - const { data } = useBackend(context); +export const Biogenerator = (props) => { + const { data } = useBackend(); const { beaker, processing } = data; return ( @@ -26,11 +26,11 @@ export const Biogenerator = (props, context) => { ); }; -export const BiogeneratorContent = (props, context) => { - const { act, data } = useBackend(context); +export const BiogeneratorContent = (props) => { + const { act, data } = useBackend(); const { biomass, can_process, categories = [] } = data; - const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); - const [selectedCategory, setSelectedCategory] = useLocalState(context, 'category', categories[0]?.name); + const [searchText, setSearchText] = useLocalState('searchText', ''); + const [selectedCategory, setSelectedCategory] = useLocalState('category', categories[0]?.name); const testSearch = createSearch(searchText, (item) => { return item.name; }); @@ -88,13 +88,13 @@ export const BiogeneratorContent = (props, context) => { ); }; -const ItemList = (props, context) => { - const { act } = useBackend(context); - const [hoveredItem, setHoveredItem] = useLocalState(context, 'hoveredItem', {}); +const ItemList = (props) => { + const { act } = useBackend(); + const [hoveredItem, setHoveredItem] = useLocalState('hoveredItem', {}); const hoveredCost = (hoveredItem && hoveredItem.cost) || 0; // Append extra hover data to items const items = props.items.map((item) => { - const [amount, setAmount] = useLocalState(context, 'amount' + item.name, 1); + const [amount, setAmount] = useLocalState('amount' + item.name, 1); const notSameItem = hoveredItem && hoveredItem.name !== item.name; const notEnoughHovered = props.biomass - hoveredCost * hoveredItem.amount < item.cost * amount; const disabledDueToHovered = notSameItem && notEnoughHovered; diff --git a/tgui/packages/tgui/interfaces/BluespaceArtillery.jsx b/tgui/packages/tgui/interfaces/BluespaceArtillery.jsx index 9ec36b6cebd7a..8973a7d57142c 100644 --- a/tgui/packages/tgui/interfaces/BluespaceArtillery.jsx +++ b/tgui/packages/tgui/interfaces/BluespaceArtillery.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Box, Button, LabeledList, NoticeBox, ProgressBar, Section, Stack } from '../components'; import { Window } from '../layouts'; -export const BluespaceArtillery = (props, context) => { - const { act, data } = useBackend(context); +export const BluespaceArtillery = (props) => { + const { act, data } = useBackend(); const { notice, connected, unlocked, target_ref, target_name, charge, max_charge, formatted_charge, targets } = data; return ( diff --git a/tgui/packages/tgui/interfaces/BluespaceLocator.jsx b/tgui/packages/tgui/interfaces/BluespaceLocator.jsx index fed1da45c6a96..17bead006d3d4 100644 --- a/tgui/packages/tgui/interfaces/BluespaceLocator.jsx +++ b/tgui/packages/tgui/interfaces/BluespaceLocator.jsx @@ -13,8 +13,8 @@ const directionToIcon = { 'northwest': 315, }; -export const BluespaceLocator = (props, context) => { - const [tab, setTab] = useLocalState(context, 'tab', 'implant'); +export const BluespaceLocator = (props) => { + const [tab, setTab] = useLocalState('tab', 'implant'); return ( @@ -32,8 +32,8 @@ export const BluespaceLocator = (props, context) => { ); }; -const TeleporterBeacons = (props, context) => { - const { data } = useBackend(context); +const TeleporterBeacons = (props) => { + const { data } = useBackend(); const { telebeacons } = data; @@ -47,8 +47,8 @@ const TeleporterBeacons = (props, context) => { )); }; -const TrackingImplants = (props, context) => { - const { data } = useBackend(context); +const TrackingImplants = (props) => { + const { data } = useBackend(); const { trackimplants } = data; @@ -62,8 +62,8 @@ const TrackingImplants = (props, context) => { )); }; -const SignalLocator = (props, context) => { - const { data } = useBackend(context); +const SignalLocator = (props) => { + const { data } = useBackend(); const { trackingrange } = data; diff --git a/tgui/packages/tgui/interfaces/BluespaceTap.jsx b/tgui/packages/tgui/interfaces/BluespaceTap.jsx index 5150905fd2567..3b0a7c650d7a6 100644 --- a/tgui/packages/tgui/interfaces/BluespaceTap.jsx +++ b/tgui/packages/tgui/interfaces/BluespaceTap.jsx @@ -3,8 +3,8 @@ import { Button, Collapsible, Flex, LabeledList, NoticeBox, Section, Slider, Box import { Window } from '../layouts'; import { formatPower } from '../format'; -export const BluespaceTap = (props, context) => { - const { act, data } = useBackend(context); +export const BluespaceTap = (props) => { + const { act, data } = useBackend(); const product = data.product || []; const { desiredLevel, diff --git a/tgui/packages/tgui/interfaces/BorgPanel.jsx b/tgui/packages/tgui/interfaces/BorgPanel.jsx index 2feaeec290682..e0444dba473b5 100644 --- a/tgui/packages/tgui/interfaces/BorgPanel.jsx +++ b/tgui/packages/tgui/interfaces/BorgPanel.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Box, Button, LabeledList, ProgressBar, Section } from '../components'; import { Window } from '../layouts'; -export const BorgPanel = (props, context) => { - const { act, data } = useBackend(context); +export const BorgPanel = (props) => { + const { act, data } = useBackend(); const borg = data.borg || {}; const cell = data.cell || {}; const cellPercent = cell.charge / cell.maxcharge; diff --git a/tgui/packages/tgui/interfaces/BountyBoard.jsx b/tgui/packages/tgui/interfaces/BountyBoard.jsx index 700eaab7687cc..c5ea661965e38 100644 --- a/tgui/packages/tgui/interfaces/BountyBoard.jsx +++ b/tgui/packages/tgui/interfaces/BountyBoard.jsx @@ -14,8 +14,8 @@ export const BountyBoard = () => { ); }; -export const BountyBoardContent = (_, context) => { - const { act, data } = useBackend(context); +export const BountyBoardContent = (_) => { + const { act, data } = useBackend(); const { requests = [], applicants = [], user } = data; const color = '#2c4461'; const backColor = 'black'; @@ -105,8 +105,8 @@ export const BountyBoardContent = (_, context) => { ); }; -const NewBountyMenu = (_, context) => { - const { act, data } = useBackend(context); +const NewBountyMenu = (_) => { + const { act, data } = useBackend(); const { bountyValue, user } = data; return (
{ - const { act, data } = useBackend(context); +export const BrigTimer = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/CameraConsole.jsx b/tgui/packages/tgui/interfaces/CameraConsole.jsx index 3b0400784acc0..7346a0662c3e7 100644 --- a/tgui/packages/tgui/interfaces/CameraConsole.jsx +++ b/tgui/packages/tgui/interfaces/CameraConsole.jsx @@ -36,8 +36,8 @@ export const selectCameras = (cameras, searchText = '') => { ])(cameras); }; -export const CameraConsole = (props, context) => { - const { act, data, config } = useBackend(context); +export const CameraConsole = (props) => { + const { act, data, config } = useBackend(); const { mapRef, activeCamera } = data; const cameras = selectCameras(data.cameras); const [prevCameraName, nextCameraName] = prevNextCamera(cameras, activeCamera); @@ -85,9 +85,9 @@ export const CameraConsole = (props, context) => { ); }; -export const CameraConsoleContent = (props, context) => { - const { act, data } = useBackend(context); - const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); +export const CameraConsoleContent = (props) => { + const { act, data } = useBackend(); + const [searchText, setSearchText] = useLocalState('searchText', ''); const { activeCamera } = data; const cameras = selectCameras(data.cameras, searchText); return ( diff --git a/tgui/packages/tgui/interfaces/Canister.jsx b/tgui/packages/tgui/interfaces/Canister.jsx index c19ca22024b6f..cf228dec9c404 100644 --- a/tgui/packages/tgui/interfaces/Canister.jsx +++ b/tgui/packages/tgui/interfaces/Canister.jsx @@ -4,8 +4,8 @@ import { AnimatedNumber, Box, Button, Icon, Knob, LabeledControls, LabeledList, import { formatSiUnit } from '../format'; import { Window } from '../layouts'; -export const Canister = (props, context) => { - const { act, data } = useBackend(context); +export const Canister = (props) => { + const { act, data } = useBackend(); const { portConnected, tankPressure, diff --git a/tgui/packages/tgui/interfaces/Canvas.jsx b/tgui/packages/tgui/interfaces/Canvas.jsx index a299ad76c4473..b7a28e054f5c2 100644 --- a/tgui/packages/tgui/interfaces/Canvas.jsx +++ b/tgui/packages/tgui/interfaces/Canvas.jsx @@ -78,8 +78,8 @@ const getImageSize = (value) => { return [width, height]; }; -export const Canvas = (props, context) => { - const { act, data } = useBackend(context); +export const Canvas = (props) => { + const { act, data } = useBackend(); const dotsize = PX_PER_UNIT; const [width, height] = getImageSize(data.grid); return ( diff --git a/tgui/packages/tgui/interfaces/Cargo.jsx b/tgui/packages/tgui/interfaces/Cargo.jsx index a1d5e15c734ae..80a5b6ec9fc0f 100644 --- a/tgui/packages/tgui/interfaces/Cargo.jsx +++ b/tgui/packages/tgui/interfaces/Cargo.jsx @@ -3,7 +3,7 @@ import { AnimatedNumber, Box, Button, Flex, LabeledList, Section, Table, Tabs } import { formatMoney } from '../format'; import { Window } from '../layouts'; -export const Cargo = (props, context) => { +export const Cargo = (props) => { return ( @@ -13,9 +13,9 @@ export const Cargo = (props, context) => { ); }; -export const CargoContent = (props, context) => { - const { act, data } = useBackend(context); - const [tab, setTab] = useSharedState(context, 'tab', 'catalog'); +export const CargoContent = (props) => { + const { act, data } = useBackend(); + const [tab, setTab] = useSharedState('tab', 'catalog'); const { requestonly } = data; const cart = data.cart || []; const requests = data.requests || []; @@ -52,8 +52,8 @@ export const CargoContent = (props, context) => { ); }; -const CargoStatus = (props, context) => { - const { act, data } = useBackend(context); +const CargoStatus = (props) => { + const { act, data } = useBackend(); const { away, docked, loan, loan_dispatched, location, message, points, requestonly, can_send } = data; return (
{ ); }; -export const CargoCatalog = (props, context) => { +export const CargoCatalog = (props) => { const { express, canOrder = true } = props; - const { act, data } = useBackend(context); + const { act, data } = useBackend(); const { self_paid, app_cost, points } = data; const supplies = Object.values(data.supplies); - const [activeSupplyName, setActiveSupplyName] = useSharedState(context, 'supply', supplies[0]?.name); + const [activeSupplyName, setActiveSupplyName] = useSharedState('supply', supplies[0]?.name); const activeSupply = supplies.find((supply) => { return supply.name === activeSupplyName; }); @@ -159,8 +159,8 @@ export const CargoCatalog = (props, context) => { ); }; -const CargoRequests = (props, context) => { - const { act, data } = useBackend(context); +const CargoRequests = (props) => { + const { act, data } = useBackend(); const { requestonly, can_send, can_approve_requests } = data; const requests = data.requests || []; // Labeled list reimplementation to squeeze extra columns out of it @@ -219,8 +219,8 @@ const CargoRequests = (props, context) => { ); }; -const CargoCartButtons = (props, context) => { - const { act, data } = useBackend(context); +const CargoCartButtons = (props) => { + const { act, data } = useBackend(); const { requestonly, can_send, can_approve_requests } = data; const cart = data.cart || []; const total = cart.reduce((total, entry) => total + entry.cost, 0); @@ -239,8 +239,8 @@ const CargoCartButtons = (props, context) => { ); }; -const CargoCart = (props, context) => { - const { act, data } = useBackend(context); +const CargoCart = (props) => { + const { act, data } = useBackend(); const { requestonly, away, docked, location, can_send } = data; const cart = data.cart || []; return ( diff --git a/tgui/packages/tgui/interfaces/CargoBountyConsole.jsx b/tgui/packages/tgui/interfaces/CargoBountyConsole.jsx index 603be7b789fcb..9bb60fa8d972f 100644 --- a/tgui/packages/tgui/interfaces/CargoBountyConsole.jsx +++ b/tgui/packages/tgui/interfaces/CargoBountyConsole.jsx @@ -3,8 +3,8 @@ import { AnimatedNumber, Box, Button, Section, Table } from '../components'; import { formatMoney } from '../format'; import { Window } from '../layouts'; -export const CargoBountyConsole = (props, context) => { - const { act, data } = useBackend(context); +export const CargoBountyConsole = (props) => { + const { act, data } = useBackend(); const { bountydata = [] } = data; return ( @@ -69,8 +69,8 @@ export const CargoBountyConsole = (props, context) => { ); }; -const BountyHeader = (props, context) => { - const { act, data } = useBackend(context); +const BountyHeader = (props) => { + const { act, data } = useBackend(); const { stored_cash } = data; return ( diff --git a/tgui/packages/tgui/interfaces/CargoExpress.jsx b/tgui/packages/tgui/interfaces/CargoExpress.jsx index de97cb38f05df..898cbf1dbeb7c 100644 --- a/tgui/packages/tgui/interfaces/CargoExpress.jsx +++ b/tgui/packages/tgui/interfaces/CargoExpress.jsx @@ -4,8 +4,8 @@ import { Window } from '../layouts'; import { CargoCatalog } from './Cargo'; import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox'; -export const CargoExpress = (props, context) => { - const { act, data } = useBackend(context); +export const CargoExpress = (props) => { + const { act, data } = useBackend(); return ( @@ -16,8 +16,8 @@ export const CargoExpress = (props, context) => { ); }; -const CargoExpressContent = (props, context) => { - const { act, data } = useBackend(context); +const CargoExpressContent = (props) => { + const { act, data } = useBackend(); return ( <>
{ - const { act, data } = useBackend(context); +export const CargoHoldTerminal = (props) => { + const { act, data } = useBackend(); const { points, pad, sending, status_report } = data; return ( diff --git a/tgui/packages/tgui/interfaces/CellularEmporium.jsx b/tgui/packages/tgui/interfaces/CellularEmporium.jsx index d49b56be0a776..c0ba75251e272 100644 --- a/tgui/packages/tgui/interfaces/CellularEmporium.jsx +++ b/tgui/packages/tgui/interfaces/CellularEmporium.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Box, Button, LabeledList, Section } from '../components'; import { Window } from '../layouts'; -export const CellularEmporium = (props, context) => { - const { act, data } = useBackend(context); +export const CellularEmporium = (props) => { + const { act, data } = useBackend(); const { abilities } = data; return ( diff --git a/tgui/packages/tgui/interfaces/CentcomPodLauncher.jsx b/tgui/packages/tgui/interfaces/CentcomPodLauncher.jsx index 47c687f8de36c..53d4f52f9ad27 100644 --- a/tgui/packages/tgui/interfaces/CentcomPodLauncher.jsx +++ b/tgui/packages/tgui/interfaces/CentcomPodLauncher.jsx @@ -13,12 +13,12 @@ const pod_grey = { }; const useCompact = (context) => { - const [compact, setCompact] = useLocalState(context, 'compact', false); + const [compact, setCompact] = useLocalState('compact', false); const toggleCompact = () => setCompact(!compact); return [compact, toggleCompact]; }; -export const CentcomPodLauncher = (props, context) => { +export const CentcomPodLauncher = (props) => { const [compact] = useCompact(context); return ( { ); }; -const CentcomPodLauncherContent = (props, context) => { +const CentcomPodLauncherContent = (props) => { const [compact] = useCompact(context); return ( @@ -406,9 +406,9 @@ const EFFECTS_ALL = [ }, ]; -const ViewTabHolder = (props, context) => { - const { act, data } = useBackend(context); - const [tabPageIndex, setTabPageIndex] = useLocalState(context, 'tabPageIndex', 1); +const ViewTabHolder = (props) => { + const { act, data } = useBackend(); + const [tabPageIndex, setTabPageIndex] = useLocalState('tabPageIndex', 1); const { mapRef } = data; const TabPageComponent = TABPAGES[tabPageIndex].component(); return ( @@ -497,7 +497,7 @@ const ViewTabHolder = (props, context) => { ); }; -const TabPod = (props, context) => { +const TabPod = (props) => { return ( Note: You can right click on this @@ -507,8 +507,8 @@ const TabPod = (props, context) => { ); }; -const TabBay = (props, context) => { - const { act, data, config } = useBackend(context); +const TabBay = (props) => { + const { act, data, config } = useBackend(); return ( <>

diff --git a/tgui/packages/tgui/interfaces/CloningConsole.jsx b/tgui/packages/tgui/interfaces/CloningConsole.jsx index 3264ad4c42a26..157dbd0da4db5 100644 --- a/tgui/packages/tgui/interfaces/CloningConsole.jsx +++ b/tgui/packages/tgui/interfaces/CloningConsole.jsx @@ -4,8 +4,8 @@ import { Box, Button, Collapsible, NoticeBox, ProgressBar, Section } from '../co import { Window } from '../layouts'; import { Fragment } from 'inferno'; -export const CloningConsole = (props, context) => { - const { act, data } = useBackend(context); +export const CloningConsole = (props) => { + const { act, data } = useBackend(); const { useRecords, hasAutoprocess, autoprocess, temp, scanTemp, scannerLocked, hasOccupant, recordsLength, experimental } = data; const lacksMachine = data.lacksMachine || []; diff --git a/tgui/packages/tgui/interfaces/CodexGigas.jsx b/tgui/packages/tgui/interfaces/CodexGigas.jsx index a570d51b1ea7d..5dea745bfec75 100644 --- a/tgui/packages/tgui/interfaces/CodexGigas.jsx +++ b/tgui/packages/tgui/interfaces/CodexGigas.jsx @@ -11,8 +11,8 @@ const NAMES = ['hal', 've', 'odr', 'neit', 'ci', 'quon', 'mya', 'folth', 'wren', const SUFFIXES = ['the Red', 'the Soulless', 'the Master', 'the Lord of all things', 'Jr.']; // TODO: refactor the backend of this it's a trainwreck -export const CodexGigas = (props, context) => { - const { act, data } = useBackend(context); +export const CodexGigas = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/ColorMatrixEditor.jsx b/tgui/packages/tgui/interfaces/ColorMatrixEditor.jsx index 4bf3883afc6ed..fa40c1609f497 100644 --- a/tgui/packages/tgui/interfaces/ColorMatrixEditor.jsx +++ b/tgui/packages/tgui/interfaces/ColorMatrixEditor.jsx @@ -3,8 +3,8 @@ import { toFixed } from 'common/math'; import { Box, Stack, Section, ByondUi, NumberInput, Button } from '../components'; import { Window } from '../layouts'; -export const ColorMatrixEditor = (props, context) => { - const { act, data } = useBackend(context); +export const ColorMatrixEditor = (props) => { + const { act, data } = useBackend(); const { mapRef, currentColor } = data; const [[rr, rg, rb, ra], [gr, gg, gb, ga], [br, bg, bb, ba], [ar, ag, ab, aa], [cr, cg, cb, ca]] = currentColor; const prefixes = ['r', 'g', 'b', 'a', 'c']; diff --git a/tgui/packages/tgui/interfaces/ColorPickerModal.tsx b/tgui/packages/tgui/interfaces/ColorPickerModal.tsx index 6a81b76fa7280..da96a5bbe2883 100644 --- a/tgui/packages/tgui/interfaces/ColorPickerModal.tsx +++ b/tgui/packages/tgui/interfaces/ColorPickerModal.tsx @@ -27,10 +27,10 @@ type ColorPickerData = { default_color: string; }; -export const ColorPickerModal = (_, context) => { - const { data } = useBackend(context); +export const ColorPickerModal = (_) => { + const { data } = useBackend(); const { timeout, message, title, autofocus, default_color = '#000000' } = data; - let [selectedColor, setSelectedColor] = useLocalState(context, 'color_picker_choice', hexToHsva(default_color)); + let [selectedColor, setSelectedColor] = useLocalState('color_picker_choice', hexToHsva(default_color)); return ( @@ -61,10 +61,7 @@ export const ColorPickerModal = (_, context) => { ); }; -export const ColorSelector = ( - { color, setColor, defaultColor }: { color: HsvaColor; setColor; defaultColor: string }, - context -) => { +export const ColorSelector = ({ color, setColor, defaultColor }: { color: HsvaColor; setColor; defaultColor: string }) => { const handleChange = (params: Partial) => { setColor((current: HsvaColor) => { return Object.assign({}, current, params); diff --git a/tgui/packages/tgui/interfaces/CommunicationsConsole.jsx b/tgui/packages/tgui/interfaces/CommunicationsConsole.jsx index 552ca665bbd40..d5b1af9359a7e 100644 --- a/tgui/packages/tgui/interfaces/CommunicationsConsole.jsx +++ b/tgui/packages/tgui/interfaces/CommunicationsConsole.jsx @@ -19,8 +19,8 @@ const sortShuttles = sortBy( (shuttle) => shuttle.creditCost ); -const AlertButton = (props, context) => { - const { act, data } = useBackend(context); +const AlertButton = (props) => { + const { act, data } = useBackend(); const { alertLevelTick, canSetAlertLevel } = data; const { alertLevel, setShowAlertLevelConfirm } = props; @@ -48,11 +48,11 @@ const AlertButton = (props, context) => { ); }; -const MessageModal = (props, context) => { - const { data } = useBackend(context); +const MessageModal = (props) => { + const { data } = useBackend(); const { maxMessageLength } = data; - const [input, setInput] = useLocalState(context, props.label, ''); + const [input, setInput] = useLocalState(props.label, ''); const longEnough = props.minLength === undefined || input.length >= props.minLength; @@ -129,8 +129,8 @@ const NoConnectionModal = () => { ); }; -const PageBuyingShuttle = (props, context) => { - const { act, data } = useBackend(context); +const PageBuyingShuttle = (props) => { + const { act, data } = useBackend(); const { canBuyShuttles } = data; return ( @@ -207,8 +207,8 @@ const PageBuyingShuttle = (props, context) => { ); }; -const PageChangingStatus = (props, context) => { - const { act } = useBackend(context); +const PageChangingStatus = (props) => { + const { act } = useBackend(); return ( @@ -217,8 +217,8 @@ const PageChangingStatus = (props, context) => { ); }; -const PageMain = (props, context) => { - const { act, data } = useBackend(context); +const PageMain = (props) => { + const { act, data } = useBackend(); const { alertLevel, alertLevelTick, @@ -242,16 +242,15 @@ const PageMain = (props, context) => { page, } = data; - const [callingShuttle, setCallingShuttle] = useLocalState(context, 'calling_shuttle', false); - const [messagingAssociates, setMessagingAssociates] = useLocalState(context, 'messaging_associates', false); - const [messagingSector, setMessagingSector] = useLocalState(context, 'messaing_sector', null); - const [requestingNukeCodes, setRequestingNukeCodes] = useLocalState(context, 'requesting_nuke_codes', false); + const [callingShuttle, setCallingShuttle] = useLocalState('calling_shuttle', false); + const [messagingAssociates, setMessagingAssociates] = useLocalState('messaging_associates', false); + const [messagingSector, setMessagingSector] = useLocalState('messaing_sector', null); + const [requestingNukeCodes, setRequestingNukeCodes] = useLocalState('requesting_nuke_codes', false); - const [[showAlertLevelConfirm, confirmingAlertLevelTick], setShowAlertLevelConfirm] = useLocalState( - context, - 'showConfirmPrompt', - [null, null] - ); + const [[showAlertLevelConfirm, confirmingAlertLevelTick], setShowAlertLevelConfirm] = useLocalState('showConfirmPrompt', [ + null, + null, + ]); return ( @@ -486,8 +485,8 @@ const PageMain = (props, context) => { ); }; -const PageMessages = (props, context) => { - const { act, data } = useBackend(context); +const PageMessages = (props) => { + const { act, data } = useBackend(); const messages = data.messages || []; return ( @@ -550,7 +549,7 @@ const PageMessages = (props, context) => { ); }; -const ConditionalTooltip = (props, context) => { +const ConditionalTooltip = (props) => { const { condition, children, ...rest } = props; if (!condition) { @@ -560,8 +559,8 @@ const ConditionalTooltip = (props, context) => { return {children}; }; -export const CommunicationsConsole = (props, context) => { - const { act, data } = useBackend(context); +export const CommunicationsConsole = (props) => { + const { act, data } = useBackend(); const { authenticated, authorizeName, canLogOut, emagged, hasConnection, page, canBuyShuttles } = data; return ( diff --git a/tgui/packages/tgui/interfaces/ComponentPrinter.tsx b/tgui/packages/tgui/interfaces/ComponentPrinter.tsx index 7d8adae79186d..4b3ded406c4bb 100644 --- a/tgui/packages/tgui/interfaces/ComponentPrinter.tsx +++ b/tgui/packages/tgui/interfaces/ComponentPrinter.tsx @@ -57,11 +57,11 @@ const MaterialCost = (props: { materials: Design['materials'] }) => { ); }; -export const ComponentPrinter = (props, context) => { - const { act, data } = useBackend(context); +export const ComponentPrinter = (props) => { + const { act, data } = useBackend(); - const [currentCategory, setCurrentCategory] = useLocalState(context, 'category', CATEGORY_ALL); - const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); + const [currentCategory, setCurrentCategory] = useLocalState('category', CATEGORY_ALL); + const [searchText, setSearchText] = useLocalState('searchText', ''); return ( diff --git a/tgui/packages/tgui/interfaces/ComputerFabricator.jsx b/tgui/packages/tgui/interfaces/ComputerFabricator.jsx index 50d958f56ca75..37288f79bf3f9 100644 --- a/tgui/packages/tgui/interfaces/ComputerFabricator.jsx +++ b/tgui/packages/tgui/interfaces/ComputerFabricator.jsx @@ -3,8 +3,8 @@ import { useBackend } from '../backend'; import { Box, Button, Grid, Section, Table, Tooltip } from '../components'; import { Window } from '../layouts'; -export const ComputerFabricator = (props, context) => { - const { act, data } = useBackend(context); +export const ComputerFabricator = (props) => { + const { act, data } = useBackend(); return ( @@ -23,8 +23,8 @@ export const ComputerFabricator = (props, context) => { // This had a pretty gross backend so this was unfortunately one of the // best ways of doing it. -const CfStep1 = (props, context) => { - const { act, data } = useBackend(context); +const CfStep1 = (props) => { + const { act, data } = useBackend(); return (
@@ -68,8 +68,8 @@ const CfStep1 = (props, context) => { ); }; -const CfStep2 = (props, context) => { - const { act, data } = useBackend(context); +const CfStep2 = (props) => { + const { act, data } = useBackend(); return (
{ ); }; -const CfStep3 = (props, context) => { - const { act, data } = useBackend(context); +const CfStep3 = (props) => { + const { act, data } = useBackend(); return (
@@ -415,7 +415,7 @@ const CfStep3 = (props, context) => { ); }; -const CfStep4 = (props, context) => { +const CfStep4 = (props) => { return (
diff --git a/tgui/packages/tgui/interfaces/Crayon.jsx b/tgui/packages/tgui/interfaces/Crayon.jsx index 577b65757d0cb..e385305b9c439 100644 --- a/tgui/packages/tgui/interfaces/Crayon.jsx +++ b/tgui/packages/tgui/interfaces/Crayon.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, Section } from '../components'; import { Window } from '../layouts'; -export const Crayon = (props, context) => { - const { act, data } = useBackend(context); +export const Crayon = (props) => { + const { act, data } = useBackend(); const capOrChanges = data.has_cap || data.can_change_colour; const drawables = data.drawables || []; return ( diff --git a/tgui/packages/tgui/interfaces/CrewConsole.tsx b/tgui/packages/tgui/interfaces/CrewConsole.tsx index 192eac007d4f6..a301802a8b24b 100644 --- a/tgui/packages/tgui/interfaces/CrewConsole.tsx +++ b/tgui/packages/tgui/interfaces/CrewConsole.tsx @@ -127,13 +127,13 @@ type CrewConsoleData = { link_allowed: BooleanLike; }; -const CrewTable = (props, context) => { - const { data } = useBackend(context); +const CrewTable = (props) => { + const { data } = useBackend(); const { sensors } = data; - const [sortAsc, setSortAsc] = useLocalState(context, 'sortAsc', true); - const [searchQuery, setSearchQuery] = useLocalState(context, 'searchQuery', ''); - const [sortBy, setSortBy] = useLocalState(context, 'sortBy', SORT_OPTIONS[0]); + const [sortAsc, setSortAsc] = useLocalState('sortAsc', true); + const [searchQuery, setSearchQuery] = useLocalState('searchQuery', ''); + const [sortBy, setSortBy] = useLocalState('sortBy', SORT_OPTIONS[0]); const cycleSortBy = () => { let idx = SORT_OPTIONS.indexOf(sortBy) + 1; @@ -197,8 +197,8 @@ type CrewTableEntryProps = { sensor_data: CrewSensor; }; -const CrewTableEntry = (props: CrewTableEntryProps, context) => { - const { act, data } = useBackend(context); +const CrewTableEntry = (props: CrewTableEntryProps) => { + const { act, data } = useBackend(); const { link_allowed } = data; const { sensor_data } = props; const { name, assignment, ijob, life_status, oxydam, toxdam, burndam, brutedam, area, can_track } = sensor_data; diff --git a/tgui/packages/tgui/interfaces/CrewManifest.tsx b/tgui/packages/tgui/interfaces/CrewManifest.tsx index fd7e63f0982fa..fc63ad3c5467a 100644 --- a/tgui/packages/tgui/interfaces/CrewManifest.tsx +++ b/tgui/packages/tgui/interfaces/CrewManifest.tsx @@ -41,10 +41,10 @@ type CrewManifestData = { user_theme?: string; }; -export const CrewManifest = (_props, context) => { +export const CrewManifest = (_props) => { const { data: { command, order, manifest, user_theme }, - } = useBackend(context); + } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/Cryo.jsx b/tgui/packages/tgui/interfaces/Cryo.jsx index 5319a14522555..e300058b93d55 100644 --- a/tgui/packages/tgui/interfaces/Cryo.jsx +++ b/tgui/packages/tgui/interfaces/Cryo.jsx @@ -32,8 +32,8 @@ export const Cryo = () => { ); }; -const CryoContent = (props, context) => { - const { act, data } = useBackend(context); +const CryoContent = (props) => { + const { act, data } = useBackend(); return ( <>
diff --git a/tgui/packages/tgui/interfaces/DecalPainter.tsx b/tgui/packages/tgui/interfaces/DecalPainter.tsx index 75da8e1184620..8fa37cbd376d4 100644 --- a/tgui/packages/tgui/interfaces/DecalPainter.tsx +++ b/tgui/packages/tgui/interfaces/DecalPainter.tsx @@ -39,8 +39,8 @@ const filterBoxColor = (color: string) => { return color.substring(0, 7); }; -export const DecalPainter = (props, context) => { - const { act, data } = useBackend(context); +export const DecalPainter = (props) => { + const { act, data } = useBackend(); const custom_color_selected = !data.color_list.some((color) => color.color === data.current_color); const supports_custom_color = !!data.supports_custom_color; @@ -124,8 +124,8 @@ type IconButtonParams = { selected: boolean; }; -const IconButton = (props: IconButtonParams, context) => { - const { act, data } = useBackend(context); +const IconButton = (props: IconButtonParams) => { + const { act, data } = useBackend(); const generateIconKey = (decal: string, dir: number, color: string) => `${data.icon_prefix} ${decal}_${dir}_${color.replace('#', '')}`; diff --git a/tgui/packages/tgui/interfaces/DisposalUnit.jsx b/tgui/packages/tgui/interfaces/DisposalUnit.jsx index c1a5b2e2e5c38..8fbf4e276dcc8 100644 --- a/tgui/packages/tgui/interfaces/DisposalUnit.jsx +++ b/tgui/packages/tgui/interfaces/DisposalUnit.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, ProgressBar, Section } from '../components'; import { Window } from '../layouts'; -export const DisposalUnit = (props, context) => { - const { act, data } = useBackend(context); +export const DisposalUnit = (props) => { + const { act, data } = useBackend(); let stateColor; let stateText; if (data.full_pressure) { diff --git a/tgui/packages/tgui/interfaces/DnaConsole.jsx b/tgui/packages/tgui/interfaces/DnaConsole.jsx index 33ba91ceaa394..451eb13e9af8d 100644 --- a/tgui/packages/tgui/interfaces/DnaConsole.jsx +++ b/tgui/packages/tgui/interfaces/DnaConsole.jsx @@ -67,8 +67,8 @@ const isSameMutation = (a, b) => { return a.Alias === b.Alias && a.AppliedChromo === b.AppliedChromo; }; -export const DnaConsole = (props, context) => { - const { data, act } = useBackend(context); +export const DnaConsole = (props) => { + const { data, act } = useBackend(); const { isPulsingRads, radPulseSeconds } = data; const { consoleMode } = data.view; return ( @@ -92,7 +92,7 @@ export const DnaConsole = (props, context) => { ); }; -const DnaScanner = (props, context) => { +const DnaScanner = (props) => { return (
}> @@ -100,8 +100,8 @@ const DnaScanner = (props, context) => { ); }; -const DnaScannerButtons = (props, context) => { - const { data, act } = useBackend(context); +const DnaScannerButtons = (props) => { + const { data, act } = useBackend(); const { hasDelayedAction, isPulsingRads, @@ -141,7 +141,7 @@ const DnaScannerButtons = (props, context) => { /** * Displays subject status based on the value of the status prop. */ -const SubjectStatus = (props, context) => { +const SubjectStatus = (props) => { const { status } = props; if (status === SUBJECT_CONSCIOUS) { return ( @@ -181,8 +181,8 @@ const SubjectStatus = (props, context) => { return Unknown; }; -const DnaScannerContent = (props, context) => { - const { data, act } = useBackend(context); +const DnaScannerContent = (props) => { + const { data, act } = useBackend(); const { subjectName, isScannerConnected, isViableSubject, subjectHealth, subjectRads, subjectStatus } = data; if (!isScannerConnected) { return DNA Scanner is not connected.; @@ -229,8 +229,8 @@ const DnaScannerContent = (props, context) => { ); }; -export const DnaConsoleCommands = (props, context) => { - const { data, act } = useBackend(context); +export const DnaConsoleCommands = (props) => { + const { data, act } = useBackend(); const { hasDisk, isInjectorReady, injectorSeconds } = data; const { consoleMode } = data.view; return ( @@ -293,8 +293,8 @@ export const DnaConsoleCommands = (props, context) => { ); }; -const StorageButtons = (props, context) => { - const { data, act } = useBackend(context); +const StorageButtons = (props) => { + const { data, act } = useBackend(); const { hasDisk } = data; const { storageMode, storageConsSubMode, storageDiskSubMode } = data.view; return ( @@ -378,8 +378,8 @@ const StorageButtons = (props, context) => { ); }; -const DnaConsoleStorage = (props, context) => { - const { data, act } = useBackend(context); +const DnaConsoleStorage = (props) => { + const { data, act } = useBackend(); const { storageMode, storageConsSubMode, storageDiskSubMode } = data.view; const { diskMakeupBuffer, diskHasMakeup } = data; const mutations = data.storage[storageMode]; @@ -411,9 +411,9 @@ const DnaConsoleStorage = (props, context) => { ); }; -const StorageMutations = (props, context) => { +const StorageMutations = (props) => { const { customMode = '' } = props; - const { data, act } = useBackend(context); + const { data, act } = useBackend(); const mutations = props.mutations || []; const mode = data.view.storageMode + customMode; @@ -460,8 +460,8 @@ const StorageMutations = (props, context) => { ); }; -const StorageChromosomes = (props, context) => { - const { data, act } = useBackend(context); +const StorageChromosomes = (props) => { + const { data, act } = useBackend(); const chromos = data.chromoStorage ?? []; const uniqueChromos = uniqBy((chromo) => chromo.Name)(chromos); const chromoName = data.view.storageChromoName; @@ -517,9 +517,9 @@ const StorageChromosomes = (props, context) => { ); }; -const MutationInfo = (props, context) => { +const MutationInfo = (props) => { const { mutation } = props; - const { data, act } = useBackend(context); + const { data, act } = useBackend(); const { diskCapacity, diskReadOnly, hasDisk, isInjectorReady, subjectStatus, isViableSubject } = data; const { consoleMode } = data.view; const diskMutations = data.storage.disk ?? []; @@ -694,9 +694,9 @@ const MutationInfo = (props, context) => { ); }; -const ChromosomeInfo = (props, context) => { +const ChromosomeInfo = (props) => { const { mutation, disabled } = props; - const { data, act } = useBackend(context); + const { data, act } = useBackend(); if (mutation.CanChromo === CHROMOSOME_NEVER) { return No compatible chromosomes; } @@ -730,8 +730,8 @@ const ChromosomeInfo = (props, context) => { return null; }; -const DnaConsoleSequencer = (props, context) => { - const { data, act } = useBackend(context); +const DnaConsoleSequencer = (props) => { + const { data, act } = useBackend(); const mutations = data.storage?.occupant ?? []; const { isJokerReady, jokerSeconds, subjectStatus } = data; const { sequencerMutation, jokerActive } = data.view; @@ -812,7 +812,7 @@ const DnaConsoleSequencer = (props, context) => { ); }; -const GenomeImage = (props, context) => { +const GenomeImage = (props) => { const { url, selected, onClick } = props; let outline; if (selected) { @@ -833,7 +833,7 @@ const GenomeImage = (props, context) => { ); }; -const GeneCycler = (props, context) => { +const GeneCycler = (props) => { const { gene, onChange, disabled, ...rest } = props; const length = GENES.length; const index = GENES.indexOf(gene); @@ -871,9 +871,9 @@ const GeneCycler = (props, context) => { ); }; -const GenomeSequencer = (props, context) => { +const GenomeSequencer = (props) => { const { mutation } = props; - const { data, act } = useBackend(context); + const { data, act } = useBackend(); const { jokerActive } = data.view; if (!mutation) { return No genome selected for sequencing.; @@ -964,8 +964,8 @@ const GenomeSequencer = (props, context) => { ); }; -const DnaConsoleEnzymes = (props, context) => { - const { data, act } = useBackend(context); +const DnaConsoleEnzymes = (props) => { + const { data, act } = useBackend(); const { isScannerConnected, stdDevAcc, stdDevStr } = data; if (!isScannerConnected) { return
DNA Scanner is not connected.
; @@ -988,8 +988,8 @@ const DnaConsoleEnzymes = (props, context) => { ); }; -const RadiationEmitterSettings = (props, context) => { - const { data, act } = useBackend(context); +const RadiationEmitterSettings = (props) => { + const { data, act } = useBackend(); const { radStrength, radDuration } = data; return (
@@ -1029,8 +1029,8 @@ const RadiationEmitterSettings = (props, context) => { ); }; -const RadiationEmitterProbs = (props, context) => { - const { data } = useBackend(context); +const RadiationEmitterProbs = (props) => { + const { data } = useBackend(); const { stdDevAcc, stdDevStr } = data; return (
@@ -1049,8 +1049,8 @@ const RadiationEmitterProbs = (props, context) => { ); }; -const RadiationEmitterPulseBoard = (props, context) => { - const { data, act } = useBackend(context); +const RadiationEmitterPulseBoard = (props) => { + const { data, act } = useBackend(); const { subjectUNI = [] } = data; // Build blocks of buttons of unique enzymes const blocks = []; @@ -1091,8 +1091,8 @@ const RadiationEmitterPulseBoard = (props, context) => { ); }; -const GeneticMakeupBuffers = (props, context) => { - const { data, act } = useBackend(context); +const GeneticMakeupBuffers = (props) => { + const { data, act } = useBackend(); const { diskHasMakeup, hasDisk, isViableSubject, makeupCapacity = 3, makeupStorage } = data; const elements = []; for (let i = 1; i <= makeupCapacity; i++) { @@ -1144,7 +1144,7 @@ const GeneticMakeupBuffers = (props, context) => { return
{elements}
; }; -const GeneticMakeupInfo = (props, context) => { +const GeneticMakeupInfo = (props) => { const { makeup } = props; return ( @@ -1159,9 +1159,9 @@ const GeneticMakeupInfo = (props, context) => { ); }; -const GeneticMakeupBufferInfo = (props, context) => { +const GeneticMakeupBufferInfo = (props) => { const { index, makeup } = props; - const { act, data } = useBackend(context); + const { act, data } = useBackend(); const { isViableSubject, hasDisk, diskReadOnly, isInjectorReady } = data; // Type of the action for applying makeup const ACTION_MAKEUP_APPLY = isViableSubject ? 'makeup_apply' : 'makeup_delay'; @@ -1265,8 +1265,8 @@ const GeneticMakeupBufferInfo = (props, context) => { ); }; -const DnaConsoleAdvancedInjectors = (props, context) => { - const { act, data } = useBackend(context); +const DnaConsoleAdvancedInjectors = (props) => { + const { act, data } = useBackend(); const { maxAdvInjectors, isInjectorReady } = data; const advInjectors = data.storage.injector ?? []; return ( @@ -1321,9 +1321,9 @@ const DnaConsoleAdvancedInjectors = (props, context) => { ); }; -const MutationCombiner = (props, context) => { +const MutationCombiner = (props) => { const { mutations = [], source } = props; - const { act, data } = useBackend(context); + const { act, data } = useBackend(); const brefFromName = (name) => { return mutations.find((mutation) => mutation.Name === name)?.ByondRef; diff --git a/tgui/packages/tgui/interfaces/DnaVault.jsx b/tgui/packages/tgui/interfaces/DnaVault.jsx index 918a95ea9fc15..79566765ba67d 100644 --- a/tgui/packages/tgui/interfaces/DnaVault.jsx +++ b/tgui/packages/tgui/interfaces/DnaVault.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Box, Button, Grid, LabeledList, ProgressBar, Section } from '../components'; import { Window } from '../layouts'; -export const DnaVault = (props, context) => { - const { act, data } = useBackend(context); +export const DnaVault = (props) => { + const { act, data } = useBackend(); const { completed, used, choiceA, choiceB, dna, dna_max, plants, plants_max, animals, animals_max } = data; return ( diff --git a/tgui/packages/tgui/interfaces/EightBallVote.jsx b/tgui/packages/tgui/interfaces/EightBallVote.jsx index 5a6c3f49ab1b6..a0cafb3ec175a 100644 --- a/tgui/packages/tgui/interfaces/EightBallVote.jsx +++ b/tgui/packages/tgui/interfaces/EightBallVote.jsx @@ -3,8 +3,8 @@ import { Box, Button, Table, Section, NoticeBox } from '../components'; import { toTitleCase } from 'common/string'; import { Window } from '../layouts'; -export const EightBallVote = (props, context) => { - const { act, data } = useBackend(context); +export const EightBallVote = (props) => { + const { act, data } = useBackend(); const { shaking } = data; return ( @@ -15,8 +15,8 @@ export const EightBallVote = (props, context) => { ); }; -const EightBallVoteQuestion = (props, context) => { - const { act, data } = useBackend(context); +const EightBallVoteQuestion = (props) => { + const { act, data } = useBackend(); const { question, answers = [] } = data; return (
diff --git a/tgui/packages/tgui/interfaces/Electropack.jsx b/tgui/packages/tgui/interfaces/Electropack.jsx index 0acc209483a66..28314b47965ee 100644 --- a/tgui/packages/tgui/interfaces/Electropack.jsx +++ b/tgui/packages/tgui/interfaces/Electropack.jsx @@ -3,8 +3,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const Electropack = (props, context) => { - const { act, data } = useBackend(context); +export const Electropack = (props) => { + const { act, data } = useBackend(); const { power, code, frequency, minFrequency, maxFrequency } = data; return ( diff --git a/tgui/packages/tgui/interfaces/Elevator.jsx b/tgui/packages/tgui/interfaces/Elevator.jsx index 508a1c72d0c02..8d38cfc864276 100644 --- a/tgui/packages/tgui/interfaces/Elevator.jsx +++ b/tgui/packages/tgui/interfaces/Elevator.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, Flex, Box } from '../components'; import { Window } from '../layouts'; -export const Elevator = (props, context) => { - const { act, data } = useBackend(context); +export const Elevator = (props) => { + const { act, data } = useBackend(); const { current_z, available_levels, in_transit = false } = data; return ( diff --git a/tgui/packages/tgui/interfaces/EmagConsole.jsx b/tgui/packages/tgui/interfaces/EmagConsole.jsx index d3cbbea33d014..91685947cc311 100644 --- a/tgui/packages/tgui/interfaces/EmagConsole.jsx +++ b/tgui/packages/tgui/interfaces/EmagConsole.jsx @@ -2,8 +2,8 @@ import { Window } from '../layouts'; import { EmagConsoleText } from './NtosEmagConsole'; import { useBackend } from '../backend'; -export const EmagConsole = (props, context) => { - const { data } = useBackend(context); +export const EmagConsole = (props) => { + const { data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/EmergencyShuttleConsole.jsx b/tgui/packages/tgui/interfaces/EmergencyShuttleConsole.jsx index a998695261fb2..10f2d50fb182a 100644 --- a/tgui/packages/tgui/interfaces/EmergencyShuttleConsole.jsx +++ b/tgui/packages/tgui/interfaces/EmergencyShuttleConsole.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Box, Button, Grid, Section } from '../components'; import { Window } from '../layouts'; -export const EmergencyShuttleConsole = (props, context) => { - const { act, data } = useBackend(context); +export const EmergencyShuttleConsole = (props) => { + const { act, data } = useBackend(); const { timer_str, enabled, emagged, engines_started, authorizations_remaining, authorizations = [] } = data; return ( diff --git a/tgui/packages/tgui/interfaces/EmojiInputModal.jsx b/tgui/packages/tgui/interfaces/EmojiInputModal.jsx index 87b1405111b3a..3a1e90ee4b055 100644 --- a/tgui/packages/tgui/interfaces/EmojiInputModal.jsx +++ b/tgui/packages/tgui/interfaces/EmojiInputModal.jsx @@ -5,11 +5,11 @@ import { Window } from '../layouts'; const clamp = (num, min, max) => Math.min(Math.max(num, min), max); -export const EmojiInputModal = (_, context) => { - const { data, act } = useBackend(context); +export const EmojiInputModal = (_) => { + const { data, act } = useBackend(); const { title, all_emojis = [] } = data; - const [emojis, setEmojis] = useLocalState(context, 'emoji_input_text', []); - const [cursor_pos, setCursorPos] = useLocalState(context, 'emoji_input_cursor', 0); + const [emojis, setEmojis] = useLocalState('emoji_input_text', []); + const [cursor_pos, setCursorPos] = useLocalState('emoji_input_cursor', 0); const insert = (arr, index, newItem) => [...arr.slice(0, index), newItem, ...arr.slice(index)]; const remove = (arr, index) => [...arr.slice(0, index - 1), ...arr.slice(index)]; diff --git a/tgui/packages/tgui/interfaces/EmotePanel.tsx b/tgui/packages/tgui/interfaces/EmotePanel.tsx index f894dd529727f..70aa9a57f14a9 100644 --- a/tgui/packages/tgui/interfaces/EmotePanel.tsx +++ b/tgui/packages/tgui/interfaces/EmotePanel.tsx @@ -19,27 +19,27 @@ type EmotePanelData = { emotes: Emote[]; }; -export const EmotePanelContent = (props, context) => { - const { act, data } = useBackend(context); +export const EmotePanelContent = (props) => { + const { act, data } = useBackend(); const { emotes } = data; - const [filterVisible, toggleVisualFilter] = useLocalState(context, 'filterVisible', false); + const [filterVisible, toggleVisualFilter] = useLocalState('filterVisible', false); - const [filterAudible, toggleAudibleFilter] = useLocalState(context, 'filterAudible', false); + const [filterAudible, toggleAudibleFilter] = useLocalState('filterAudible', false); - const [filterSound, toggleSoundFilter] = useLocalState(context, 'filterSound', false); + const [filterSound, toggleSoundFilter] = useLocalState('filterSound', false); - const [filterHands, toggleHandsFilter] = useLocalState(context, 'filterHands', false); + const [filterHands, toggleHandsFilter] = useLocalState('filterHands', false); - const [filterUseParams, toggleUseParamsFilter] = useLocalState(context, 'filterUseParams', false); + const [filterUseParams, toggleUseParamsFilter] = useLocalState('filterUseParams', false); - const [useParams, toggleUseParams] = useLocalState(context, 'useParams', false); + const [useParams, toggleUseParams] = useLocalState('useParams', false); - const [searchText, setSearchText] = useLocalState(context, 'search_text', ''); + const [searchText, setSearchText] = useLocalState('search_text', ''); - const [showNames, toggleShowNames] = useLocalState(context, 'showNames', true); + const [showNames, toggleShowNames] = useLocalState('showNames', true); - const [showIcons, toggleShowIcons] = useLocalState(context, 'showIcons', false); + const [showIcons, toggleShowIcons] = useLocalState('showIcons', false); return (
@@ -178,7 +178,7 @@ export const EmotePanelContent = (props, context) => { ); }; -const EmoteIcons = (props, context) => { +const EmoteIcons = (props) => { const { visible, audible, sound, hands, use_params, margin } = props; return ( @@ -192,7 +192,7 @@ const EmoteIcons = (props, context) => { ); }; -export const EmotePanel = (props, context) => { +export const EmotePanel = (props) => { return ( diff --git a/tgui/packages/tgui/interfaces/EngravedMessage.jsx b/tgui/packages/tgui/interfaces/EngravedMessage.jsx index ac66ef5275473..083296037473c 100644 --- a/tgui/packages/tgui/interfaces/EngravedMessage.jsx +++ b/tgui/packages/tgui/interfaces/EngravedMessage.jsx @@ -3,8 +3,8 @@ import { useBackend } from '../backend'; import { Box, Button, Grid, LabeledList, Section } from '../components'; import { Window } from '../layouts'; -export const EngravedMessage = (props, context) => { - const { act, data } = useBackend(context); +export const EngravedMessage = (props) => { + const { act, data } = useBackend(); const { admin_mode, creator_key, diff --git a/tgui/packages/tgui/interfaces/ExosuitControlConsole.jsx b/tgui/packages/tgui/interfaces/ExosuitControlConsole.jsx index 06cc9f246f258..8daa83b7be6b7 100644 --- a/tgui/packages/tgui/interfaces/ExosuitControlConsole.jsx +++ b/tgui/packages/tgui/interfaces/ExosuitControlConsole.jsx @@ -3,8 +3,8 @@ import { useBackend } from '../backend'; import { AnimatedNumber, Box, Button, LabeledList, NoticeBox, Section } from '../components'; import { Window } from '../layouts'; -export const ExosuitControlConsole = (props, context) => { - const { act, data } = useBackend(context); +export const ExosuitControlConsole = (props) => { + const { act, data } = useBackend(); const { mechs = [] } = data; return ( diff --git a/tgui/packages/tgui/interfaces/Fax.tsx b/tgui/packages/tgui/interfaces/Fax.tsx index 6fc3c8e1dad82..8cae1256d701c 100644 --- a/tgui/packages/tgui/interfaces/Fax.tsx +++ b/tgui/packages/tgui/interfaces/Fax.tsx @@ -35,9 +35,9 @@ type FaxSpecial = { emag_needed: boolean; }; -export const Fax = (props, context) => { - const { act } = useBackend(context); - const { data } = useBackend(context); +export const Fax = (props) => { + const { act } = useBackend(); + const { data } = useBackend(); const faxes = data.faxes ? sortBy((sortFax: FaxInfo) => sortFax.fax_name)( data.syndicate_network diff --git a/tgui/packages/tgui/interfaces/Filteriffic.jsx b/tgui/packages/tgui/interfaces/Filteriffic.jsx index 949cbe0fbea21..a757fb50fef08 100644 --- a/tgui/packages/tgui/interfaces/Filteriffic.jsx +++ b/tgui/packages/tgui/interfaces/Filteriffic.jsx @@ -6,9 +6,9 @@ import { map } from 'common/collections'; import { toFixed } from 'common/math'; import { numberOfDecimalDigits } from '../../common/math'; -const FilterIntegerEntry = (props, context) => { +const FilterIntegerEntry = (props) => { const { value, name, filterName } = props; - const { act } = useBackend(context); + const { act } = useBackend(); return ( { ); }; -const FilterFloatEntry = (props, context) => { +const FilterFloatEntry = (props) => { const { value, name, filterName } = props; - const { act } = useBackend(context); - const [step, setStep] = useLocalState(context, `${filterName}-${name}`, 0.01); + const { act } = useBackend(); + const [step, setStep] = useLocalState(`${filterName}-${name}`, 0.01); return ( { ); }; -const FilterTextEntry = (props, context) => { +const FilterTextEntry = (props) => { const { value, name, filterName } = props; - const { act } = useBackend(context); + const { act } = useBackend(); return ( { ); }; -const FilterColorEntry = (props, context) => { +const FilterColorEntry = (props) => { const { value, filterName, name } = props; - const { act } = useBackend(context); + const { act } = useBackend(); return (
@@ -255,8 +255,8 @@ const LoadingAnimation = () => { ); }; -export const GreyscaleModifyMenu = (props, context) => { - const { act, data } = useBackend(context); +export const GreyscaleModifyMenu = (props) => { + const { act, data } = useBackend(); return ( diff --git a/tgui/packages/tgui/interfaces/GulagItemReclaimer.jsx b/tgui/packages/tgui/interfaces/GulagItemReclaimer.jsx index bef454da0e928..21cf4964b00df 100644 --- a/tgui/packages/tgui/interfaces/GulagItemReclaimer.jsx +++ b/tgui/packages/tgui/interfaces/GulagItemReclaimer.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, NoticeBox, Section, Table } from '../components'; import { Window } from '../layouts'; -export const GulagItemReclaimer = (props, context) => { - const { act, data } = useBackend(context); +export const GulagItemReclaimer = (props) => { + const { act, data } = useBackend(); const { mobs = [] } = data; return ( diff --git a/tgui/packages/tgui/interfaces/GulagTeleporterConsole.jsx b/tgui/packages/tgui/interfaces/GulagTeleporterConsole.jsx index e669df82cc7ea..597dff29d3e9e 100644 --- a/tgui/packages/tgui/interfaces/GulagTeleporterConsole.jsx +++ b/tgui/packages/tgui/interfaces/GulagTeleporterConsole.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, LabeledList, NumberInput, Section } from '../components'; import { Window } from '../layouts'; -export const GulagTeleporterConsole = (props, context) => { - const { act, data } = useBackend(context); +export const GulagTeleporterConsole = (props) => { + const { act, data } = useBackend(); const { teleporter, teleporter_lock, diff --git a/tgui/packages/tgui/interfaces/Holodeck.jsx b/tgui/packages/tgui/interfaces/Holodeck.jsx index 411a43e503f4f..a3d379155cb73 100644 --- a/tgui/packages/tgui/interfaces/Holodeck.jsx +++ b/tgui/packages/tgui/interfaces/Holodeck.jsx @@ -2,8 +2,8 @@ import { useBackend } from '../backend'; import { Button, Section } from '../components'; import { Window } from '../layouts'; -export const Holodeck = (props, context) => { - const { act, data } = useBackend(context); +export const Holodeck = (props) => { + const { act, data } = useBackend(); const { can_toggle_safety, default_programs = [], emag_programs = [], emagged, program } = data; return ( diff --git a/tgui/packages/tgui/interfaces/HoloparasiteBuilder.tsx b/tgui/packages/tgui/interfaces/HoloparasiteBuilder.tsx index eb12195bd4dba..b1eb9dea906ea 100644 --- a/tgui/packages/tgui/interfaces/HoloparasiteBuilder.tsx +++ b/tgui/packages/tgui/interfaces/HoloparasiteBuilder.tsx @@ -182,10 +182,10 @@ const chat_background_colors = { */ const minimum_recommended_contrast = 0.14285; -const InputValidity = (props: { field: string; validity: Validity }, context) => { +const InputValidity = (props: { field: string; validity: Validity }) => { const { data: { themed_name }, - } = useBackend(context); + } = useBackend(); const is_are = props.field.endsWith('s') ? 'are' : 'is'; switch (props.validity) { case Validity.Valid: { @@ -265,11 +265,11 @@ const InputValidity = (props: { field: string; validity: Validity }, context) => } }; -const BasicNameInput = (_props, context) => { +const BasicNameInput = (_props) => { const { act, data: { custom_name, max_lengths, themed_name, validation }, - } = useBackend(context); + } = useBackend(); const set_name = (_, name: string) => { act('set:name', { 'name': name }); }; @@ -295,11 +295,11 @@ const BasicNameInput = (_props, context) => { ); }; -const BasicColorInput = (_props, context) => { +const BasicColorInput = (_props) => { const { data: { accent_color, validation }, - } = useBackend(context); - const [_color_select, set_color_select] = useLocalState(context, 'color_select', null); + } = useBackend(); + const [_color_select, set_color_select] = useLocalState('color_select', null); const accent_color_rgb = hexToRgba(accent_color); // these are reversed and I'm too lazy to figure out why const light_mode_contrast = contrast(chat_background_colors.light, accent_color_rgb); @@ -333,12 +333,12 @@ const BasicColorInput = (_props, context) => { ); }; -const BasicColorSelector = (_props, context) => { +const BasicColorSelector = (_props) => { const { act, data: { accent_color }, - } = useBackend(context); - const [color_select, set_color_select] = useLocalState(context, 'color_select', hexToHsva(accent_color)); + } = useBackend(); + const [color_select, set_color_select] = useLocalState('color_select', hexToHsva(accent_color)); return (
@@ -388,10 +388,10 @@ const BasicColorSelector = (_props, context) => { ); }; -const BasicPointsInfo = (_props, context) => { +const BasicPointsInfo = (_props) => { const { data: { points, max_points, themed_name }, - } = useBackend(context); + } = useBackend(); return ( { ); }; -const BasicSection = (_props, context) => { +const BasicSection = (_props) => { const { act, data: { themed_name, points, max_points, validation }, - } = useBackend(context); - const [_unused_points_dialog, set_unused_points_dialog] = useLocalState(context, 'unused_points_dialog', false); + } = useBackend(); + const [_unused_points_dialog, set_unused_points_dialog] = useLocalState('unused_points_dialog', false); const manifest_disabled = points < 0 || validation.name !== Validity.Valid || validation.notes !== Validity.Valid; return (
@@ -488,11 +488,11 @@ const BasicSection = (_props, context) => { ); }; -const NotesSection = (_props, context) => { +const NotesSection = (_props) => { const { act, data: { themed_name, notes, max_lengths, validation }, - } = useBackend(context); + } = useBackend(); return (
@@ -532,10 +532,10 @@ const NotesSection = (_props, context) => { ); }; -const AbilityThresholds = (props: { title: string; thresholds: AbilityThreshold[] }, context) => { +const AbilityThresholds = (props: { title: string; thresholds: AbilityThreshold[] }) => { const { data: { rated_skills, themed_name }, - } = useBackend(context); + } = useBackend(); return ( @@ -586,13 +586,14 @@ const AbilityThresholds = (props: { title: string; thresholds: AbilityThreshold[ ); }; -const Abilities = ( - props: { abilities: Ability[]; on_click: (ability: Ability, selected: boolean) => void; only_path?: string }, - context -) => { +const Abilities = (props: { + abilities: Ability[]; + on_click: (ability: Ability, selected: boolean) => void; + only_path?: string; +}) => { const { data: { selected_abilities, themed_name }, - } = useBackend(context); + } = useBackend(); const abilities = props.only_path ? (props.abilities || []).filter((ability: Ability) => ability.path === props.only_path) : (props.abilities || []).filter((ability: Ability) => !ability.hidden || selected_abilities.includes(ability.path)); @@ -649,14 +650,14 @@ const Abilities = ( ); }; -const MajorAbilitiesTab = (_props, context) => { +const MajorAbilitiesTab = (_props) => { const { act, data: { themed_name, abilities: { major }, }, - } = useBackend(context); + } = useBackend(); return (
@@ -683,13 +684,13 @@ const MajorAbilitiesTab = (_props, context) => { ); }; -const LesserAbilitiesTab = (_props, context) => { +const LesserAbilitiesTab = (_props) => { const { act, data: { abilities: { lesser }, }, - } = useBackend(context); + } = useBackend(); return (
@@ -712,7 +713,7 @@ const LesserAbilitiesTab = (_props, context) => { ); }; -const WeaponsTab = (_props, context) => { +const WeaponsTab = (_props) => { const { act, data: { @@ -720,7 +721,7 @@ const WeaponsTab = (_props, context) => { forced_weapon, themed_name, }, - } = useBackend(context); + } = useBackend(); return (
@@ -742,8 +743,8 @@ const WeaponsTab = (_props, context) => { ); }; -const StatsSection = (_props, context) => { - const { act, data } = useBackend(context); +const StatsSection = (_props) => { + const { act, data } = useBackend(); return (
@@ -796,8 +797,8 @@ const StatsSection = (_props, context) => { ); }; -const AbilitiesTabs = (_props, context) => { - const [tab, set_tab] = useLocalState(context, 'tab', AbilityTab.Major); +const AbilitiesTabs = (_props) => { + const [tab, set_tab] = useLocalState('tab', AbilityTab.Major); return (
@@ -818,12 +819,12 @@ const AbilitiesTabs = (_props, context) => { ); }; -const ResetButton = (_props, context) => { +const ResetButton = (_props) => { const { data: { used, waiting, themed_name }, - } = useBackend(context); - const [unused_points_dialog] = useLocalState(context, 'unused_points_dialog', false); - const [reset_dialog, set_reset_dialog] = useLocalState(context, 'reset_dialog', false); + } = useBackend(); + const [unused_points_dialog] = useLocalState('unused_points_dialog', false); + const [reset_dialog, set_reset_dialog] = useLocalState('reset_dialog', false); return (
@@ -437,8 +437,8 @@ export const OutputDir = (props, context) => { ); }; -export const MaterialData = (props, context) => { - const { act, data } = useBackend(context); +export const MaterialData = (props) => { + const { act, data } = useBackend(); const { materials = [] } = data; return (
@@ -493,9 +493,9 @@ export const MaterialData = (props, context) => { ); }; -export const SidePanel = (props, context) => { - const { act } = useBackend(context); - const [queueRepeat, setQueueRepeat] = useLocalState(context, 'queueRepeat', 0); +export const SidePanel = (props) => { + const { act } = useBackend(); + const [queueRepeat, setQueueRepeat] = useLocalState('queueRepeat', 0); return (
@@ -529,8 +529,8 @@ export const SidePanel = (props, context) => { ); }; -export const ProcessingBar = (props, context) => { - const { act, data } = useBackend(context); +export const ProcessingBar = (props) => { + const { act, data } = useBackend(); const { being_build } = data; return (
@@ -548,8 +548,8 @@ export const ProcessingBar = (props, context) => { ); }; -export const FabricationQueue = (props, context) => { - const { act, data } = useBackend(context); +export const FabricationQueue = (props) => { + const { act, data } = useBackend(); const { queue = [] } = data; return (
@@ -586,8 +586,8 @@ export const FabricationQueue = (props, context) => { ); }; -export const ModFabDataDisk = (props, context) => { - const { act, data } = useBackend(context); +export const ModFabDataDisk = (props) => { + const { act, data } = useBackend(); const { acceptsDisk, diskInserted } = data; return ( diff --git a/tgui/packages/tgui/interfaces/Morph.jsx b/tgui/packages/tgui/interfaces/Morph.jsx index 0515c3e867f33..5e8310c3485ce 100644 --- a/tgui/packages/tgui/interfaces/Morph.jsx +++ b/tgui/packages/tgui/interfaces/Morph.jsx @@ -13,10 +13,10 @@ export const Morph = () => { ); }; -const MorphContents = (_props, context) => { - const { data } = useBackend(context); - const [tab, setTab] = useLocalState(context, 'tab', 'living'); - const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); +const MorphContents = (_props) => { + const { data } = useBackend(); + const [tab, setTab] = useLocalState('tab', 'living'); + const [searchText, setSearchText] = useLocalState('searchText', ''); const favorites = Object.values(data.contents.living) .concat(Object.values(data.contents.items)) .filter((A) => A.favorite); @@ -86,8 +86,8 @@ const MorphItem = ({ name, id, img, living, favorite, digestable, throw_ref }) = ); }; -const MorphItemButtons = ({ id, living, favorite, digestable, throw_ref }, context) => { - const { act } = useBackend(context); +const MorphItemButtons = ({ id, living, favorite, digestable, throw_ref }) => { + const { act } = useBackend(); return ( <>
@@ -938,7 +938,7 @@ class PlayerTableEntry extends PureComponent { class PlayerSelectButton extends PureComponent { render() { - const { act } = useBackend(this.context); + const { act } = useBackend(); const { ckey, is_selected } = this.props; return (
@@ -195,8 +195,8 @@ export const TicketMenu = (props, context) => { ); }; -export const ActionButton = ({ action, confirm, ticket_id }, context) => { - const { act } = useBackend(context); +export const ActionButton = ({ action, confirm, ticket_id }) => { + const { act } = useBackend(); return ( {confirm ? ( diff --git a/tgui/packages/tgui/interfaces/TicketMessenger.jsx b/tgui/packages/tgui/interfaces/TicketMessenger.jsx index aaf07d6813076..3e1a61d698861 100644 --- a/tgui/packages/tgui/interfaces/TicketMessenger.jsx +++ b/tgui/packages/tgui/interfaces/TicketMessenger.jsx @@ -6,7 +6,7 @@ import { round } from 'common/math'; import { ButtonConfirm } from '../components/Button'; import { Component, createRef } from 'inferno'; -export const TicketMessenger = (props, context) => { +export const TicketMessenger = (props) => { return ( @@ -21,8 +21,8 @@ export const TicketMessenger = (props, context) => { ); }; -export const TicketActionBar = (props, context) => { - const { act, data } = useBackend(context); +export const TicketActionBar = (props) => { + const { act, data } = useBackend(); const { disconnected, time_opened, world_time, claimee_key, antag_status, id, sender, is_admin_type, open } = data; return ( @@ -65,8 +65,8 @@ export const TicketActionBar = (props, context) => { ); }; -export const TicketFullMonty = (_, context) => { - const { act } = useBackend(context); +export const TicketFullMonty = (_) => { + const { act } = useBackend(); return (