From 90731254172b367276ffb2662d867f8d9f2a8f4e Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Sun, 13 Jul 2025 18:38:06 -0700 Subject: [PATCH] [tgui] Linter fixes 8 (#92101) 8! Yeah! How many more? Well, there's seemingly a fountain of old code from TG at any given point, and probably a hundred more linter errors that have collected over time. However, this should be the last batch before we ship biome. Knock on wood (I am not sitting near anything made of wood)! Get [Biome](https://biomejs.dev/guides/manual-installation/) (the executable, at least) `biome lint --write --only "useTemplate" --unsafe` I would like to install a new linter/formatter --- tgui/packages/tgui-dev-server/dreamseeker.ts | 6 ++-- tgui/packages/tgui-dev-server/link/retrace.ts | 2 +- tgui/packages/tgui-dev-server/reloader.ts | 6 ++-- .../tgui-panel/audio/NowPlayingWidget.jsx | 2 +- tgui/packages/tgui-panel/chat/renderer.jsx | 12 +++---- tgui/packages/tgui/backend.ts | 6 ++-- tgui/packages/tgui/debug/middleware.ts | 2 +- tgui/packages/tgui/drag.ts | 4 +-- .../tgui/interfaces/AccountingConsole.tsx | 2 +- .../tgui/interfaces/AdminBookViewer.tsx | 2 +- .../interfaces/AirAlarm/screens/Modes.tsx | 2 +- .../AirAlarm/screens/Thresholds.tsx | 8 ++--- tgui/packages/tgui/interfaces/AlertModal.tsx | 2 +- .../tgui/interfaces/AnomalyRefinery.jsx | 18 +++++++---- .../tgui/interfaces/AutomatedAnnouncement.tsx | 4 +-- tgui/packages/tgui/interfaces/BankMachine.tsx | 2 +- .../tgui/interfaces/BlackMarketUplink.tsx | 8 ++--- .../tgui/interfaces/BluespaceSender.tsx | 4 +-- .../tgui/interfaces/BluespaceVendor.tsx | 4 +-- tgui/packages/tgui/interfaces/BorgHypo.tsx | 2 +- tgui/packages/tgui/interfaces/BorgPanel.jsx | 2 +- tgui/packages/tgui/interfaces/BountyBoard.tsx | 2 +- tgui/packages/tgui/interfaces/Canister.tsx | 4 +-- .../tgui/interfaces/Cargo/CargoButtons.tsx | 2 +- .../CentcomPodLauncher/DelayHelper.tsx | 2 +- .../interfaces/CentcomPodLauncher/PodBays.tsx | 4 +-- .../CentcomPodLauncher/PodSounds.tsx | 2 +- .../CentcomPodLauncher/PresetsPage.tsx | 4 +-- .../CentcomPodLauncher/StylePage.tsx | 2 +- tgui/packages/tgui/interfaces/Changelog.jsx | 8 ++--- .../tgui/interfaces/ChemDispenser.tsx | 2 +- tgui/packages/tgui/interfaces/ChemHeater.tsx | 8 ++--- .../tgui/interfaces/ChemMixingChamber.tsx | 4 +-- .../tgui/interfaces/ChemReactionChamber.tsx | 6 ++-- tgui/packages/tgui/interfaces/CodexGigas.tsx | 4 +-- .../ControllerOverview/SubsystemRow.tsx | 4 +-- .../packages/tgui/interfaces/CrewManifest.jsx | 2 +- .../packages/tgui/interfaces/Crystallizer.tsx | 4 +-- .../interfaces/DetectiveBoard/BoardTabs.tsx | 2 +- .../DnaConsole/DnaConsoleEnzymes.jsx | 2 +- tgui/packages/tgui/interfaces/DnaVault.tsx | 6 ++-- .../packages/tgui/interfaces/DopplerArray.jsx | 4 +-- .../interfaces/EmergencyShuttleConsole.tsx | 2 +- .../tgui/interfaces/EngravedMessage.jsx | 4 +-- .../tgui/interfaces/ExosuitControlConsole.jsx | 4 +-- tgui/packages/tgui/interfaces/Filteriffic.jsx | 2 +- tgui/packages/tgui/interfaces/FishCatalog.tsx | 2 +- tgui/packages/tgui/interfaces/ForceEvent.tsx | 2 +- tgui/packages/tgui/interfaces/Gps.jsx | 2 +- tgui/packages/tgui/interfaces/HoloPay.tsx | 2 +- tgui/packages/tgui/interfaces/Holopad.jsx | 4 +-- .../tgui/interfaces/Hypertorus/Gases.tsx | 2 +- .../tgui/interfaces/Hypertorus/Recipes.tsx | 4 +-- .../interfaces/Hypertorus/Temperatures.tsx | 4 +-- tgui/packages/tgui/interfaces/InfuserBook.tsx | 2 +- tgui/packages/tgui/interfaces/Interview.tsx | 2 +- .../tgui/interfaces/KeyComboModal.tsx | 2 +- .../packages/tgui/interfaces/LanguageMenu.tsx | 2 +- .../LibraryConsole/components/PageSelect.tsx | 2 +- .../LibraryConsole/screens/Checkout.tsx | 2 +- .../tgui/interfaces/LightController.tsx | 4 +-- tgui/packages/tgui/interfaces/LightSpawn.tsx | 2 +- .../tgui/interfaces/LootPanel/LootBox.tsx | 2 +- tgui/packages/tgui/interfaces/MODsuit.tsx | 6 ++-- tgui/packages/tgui/interfaces/MafiaPanel.tsx | 2 +- .../tgui/interfaces/ManufacturingSorter.tsx | 2 +- tgui/packages/tgui/interfaces/MassSpec.tsx | 10 +++--- .../tgui/interfaces/Mecha/ModulesPane.tsx | 6 ++-- tgui/packages/tgui/interfaces/Microscope.tsx | 6 ++-- tgui/packages/tgui/interfaces/Newscaster.jsx | 2 +- .../interfaces/NtosCyborgRemoteMonitor.jsx | 2 +- .../tgui/interfaces/NtosEmojipedia.tsx | 2 +- tgui/packages/tgui/interfaces/NtosMain.tsx | 6 ++-- tgui/packages/tgui/interfaces/NtosNetChat.jsx | 4 +-- .../tgui/interfaces/NtosPortraitPrinter.jsx | 4 +-- tgui/packages/tgui/interfaces/NtosRadar.tsx | 7 ++-- .../packages/tgui/interfaces/NtosRobotact.jsx | 4 +-- .../packages/tgui/interfaces/NtosScipaper.jsx | 12 +++---- .../tgui/interfaces/NtosSpaceBetting.tsx | 2 +- .../tgui/interfaces/NtosSupermatter.tsx | 2 +- tgui/packages/tgui/interfaces/NuclearBomb.tsx | 2 +- .../interfaces/Orbit/OrbitCollapsible.tsx | 2 +- .../tgui/interfaces/OreRedemptionMachine.tsx | 6 ++-- tgui/packages/tgui/interfaces/OrionGame.jsx | 12 +++---- .../tgui/interfaces/PaperSheet/Preview.tsx | 2 +- .../interfaces/PaperSheet/PrimaryView.tsx | 2 +- .../tgui/interfaces/PaperSheet/Stamp.tsx | 6 ++-- .../tgui/interfaces/ParticleEdit/index.tsx | 2 +- .../content/RecipeContent.tsx | 2 +- .../interfaces/PersonalCrafting/helpers.ts | 2 +- tgui/packages/tgui/interfaces/Photocopier.tsx | 2 +- .../packages/tgui/interfaces/PipeScrubber.tsx | 2 +- .../tgui/interfaces/PlantAnalyzer/Graft.tsx | 2 +- .../tgui/interfaces/PortableChemMixer.tsx | 2 +- .../tgui/interfaces/PortableGenerator.jsx | 2 +- .../packages/tgui/interfaces/PortablePump.jsx | 4 +-- tgui/packages/tgui/interfaces/Portagrav.tsx | 4 +-- .../tgui/interfaces/PortraitPicker.jsx | 4 +-- .../packages/tgui/interfaces/PowerMonitor.tsx | 8 ++--- tgui/packages/tgui/interfaces/Radio.tsx | 2 +- .../interfaces/Reagents/RecipeLibrary.tsx | 2 +- .../tgui/interfaces/ReligiousTool.jsx | 10 +++--- .../tgui/interfaces/RemoteRobotControl.jsx | 2 +- .../tgui/interfaces/RequestsConsole/index.tsx | 2 +- .../interfaces/RoboticsControlConsole.jsx | 2 +- .../tgui/interfaces/Roulette/BetTable.tsx | 4 +-- tgui/packages/tgui/interfaces/Safe.jsx | 8 ++--- .../tgui/interfaces/SatelliteControl.tsx | 2 +- tgui/packages/tgui/interfaces/Secrets.jsx | 2 +- .../tgui/interfaces/ServerMonitor.jsx | 6 ++-- .../tgui/interfaces/ShuttleBlueprints.tsx | 2 +- .../tgui/interfaces/ShuttleManipulator.jsx | 2 +- .../packages/tgui/interfaces/SkillStation.jsx | 6 ++-- .../packages/tgui/interfaces/SmokeMachine.tsx | 2 +- .../packages/tgui/interfaces/SolarControl.tsx | 2 +- tgui/packages/tgui/interfaces/SpaceHeater.jsx | 4 +-- .../tgui/interfaces/SparringContract.tsx | 2 +- tgui/packages/tgui/interfaces/Spellbook.tsx | 2 +- .../tgui/interfaces/StackCrafting.tsx | 6 ++-- .../tgui/interfaces/StationAlertConsole.jsx | 8 ++--- tgui/packages/tgui/interfaces/Supermatter.tsx | 32 +++++++++---------- .../tgui/interfaces/SyndicateContractor.tsx | 4 +-- tgui/packages/tgui/interfaces/Tank.jsx | 2 +- .../tgui/interfaces/TankCompressor.tsx | 22 ++++++------- .../tgui/interfaces/TramController.tsx | 2 +- .../tgui/interfaces/VaultController.tsx | 2 +- .../tgui/interfaces/common/AccessList.jsx | 6 ++-- .../tgui/interfaces/common/AtmosHandbook.tsx | 8 ++--- .../tgui/interfaces/common/GasmixParser.tsx | 6 ++-- .../tgui/interfaces/common/Loader.tsx | 2 +- .../tgui/interfaces/common/RecipeLookup.jsx | 20 ++++++------ tgui/packages/tgui/links.ts | 2 +- .../packages/tgui/stories/ByondUi.stories.tsx | 2 +- 133 files changed, 281 insertions(+), 286 deletions(-) diff --git a/tgui/packages/tgui-dev-server/dreamseeker.ts b/tgui/packages/tgui-dev-server/dreamseeker.ts index 8e186ef3d82..90e26b914c4 100644 --- a/tgui/packages/tgui-dev-server/dreamseeker.ts +++ b/tgui/packages/tgui-dev-server/dreamseeker.ts @@ -37,13 +37,13 @@ export class DreamSeeker { const query = Object.keys(params) .map( (key) => - encodeURIComponent(key) + '=' + encodeURIComponent(params[key]), + `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`, ) .join('&'); logger.log( `topic call at ${this.client.defaults.baseURL}/dummy.htm?${query}`, ); - return this.client.get('/dummy.htm?' + query); + return this.client.get(`/dummy.htm?${query}`); } static async getInstancesByPids(pids: number[]): Promise { @@ -111,5 +111,5 @@ export class DreamSeeker { } function plural(word: string, n: number): string { - return n !== 1 ? word + 's' : word; + return n !== 1 ? `${word}s` : word; } diff --git a/tgui/packages/tgui-dev-server/link/retrace.ts b/tgui/packages/tgui-dev-server/link/retrace.ts index 0560c40aa56..6fd1bc27ab0 100644 --- a/tgui/packages/tgui-dev-server/link/retrace.ts +++ b/tgui/packages/tgui-dev-server/link/retrace.ts @@ -84,5 +84,5 @@ export function retrace(stack: string): string | undefined { }) .join('\n'); - return header + '\n' + mappedStack; + return `${header}\n${mappedStack}`; } diff --git a/tgui/packages/tgui-dev-server/reloader.ts b/tgui/packages/tgui-dev-server/reloader.ts index 19c7e27a27c..fdbb2aa066c 100644 --- a/tgui/packages/tgui-dev-server/reloader.ts +++ b/tgui/packages/tgui-dev-server/reloader.ts @@ -61,7 +61,7 @@ export async function findCacheRoot(): Promise { 'userpath', ); if (userpath) { - cacheRoot = userpath.replace(/\\$/, '').replace(/\\/g, '/') + '/cache'; + cacheRoot = `${userpath.replace(/\\$/, '').replace(/\\/g, '/')}/cache`; await onCacheRootFound(cacheRoot); return cacheRoot; } @@ -72,7 +72,7 @@ export async function findCacheRoot(): Promise { async function onCacheRootFound(cacheRoot: string): Promise { logger.log(`found cache at '${cacheRoot}'`); // Plant a dummy browser window file, we'll be using this to avoid world topic. For byond 514. - await Bun.write(cacheRoot + '/dummy.htm', ''); + await Bun.write(`${cacheRoot}/dummy.htm`, ''); } export async function reloadByondCache(bundleDir: string): Promise { @@ -103,7 +103,7 @@ export async function reloadByondCache(bundleDir: string): Promise { try { // Plant a dummy browser window file, we'll be using this to avoid world topic. For byond 515-516. - await Bun.write(cacheDir + '/dummy.htm', ''); + await Bun.write(`${cacheDir}/dummy.htm`, ''); // Copy assets for (const asset of assets) { diff --git a/tgui/packages/tgui-panel/audio/NowPlayingWidget.jsx b/tgui/packages/tgui-panel/audio/NowPlayingWidget.jsx index 9fdb4b6309f..8750ae0315b 100644 --- a/tgui/packages/tgui-panel/audio/NowPlayingWidget.jsx +++ b/tgui/packages/tgui-panel/audio/NowPlayingWidget.jsx @@ -98,7 +98,7 @@ export const NowPlayingWidget = (props) => { value={settings.adminMusicVolume} step={0.0025} stepPixelSize={1} - format={(value) => toFixed(value * 100) + '%'} + format={(value) => `${toFixed(value * 100)}%`} onChange={(e, value) => settings.update({ adminMusicVolume: value, diff --git a/tgui/packages/tgui-panel/chat/renderer.jsx b/tgui/packages/tgui-panel/chat/renderer.jsx index aa05f5af584..5ade0558f51 100644 --- a/tgui/packages/tgui-panel/chat/renderer.jsx +++ b/tgui/packages/tgui-panel/chat/renderer.jsx @@ -62,7 +62,7 @@ const findNearestScrollableParent = (startingNode) => { const createHighlightNode = (text, color) => { const node = document.createElement('span'); node.className = 'Chat__highlight'; - node.setAttribute('style', 'background-color:' + color); + node.setAttribute('style', `background-color:${color}`); node.textContent = text; return node; }; @@ -93,7 +93,7 @@ const handleImageError = (e) => { } const src = node.src; node.src = null; - node.src = src + '#' + attempts; + node.src = `${src}#${attempts}`; node.setAttribute('data-reload-n', attempts + 1); }, IMAGE_RETRY_DELAY); }; @@ -258,13 +258,13 @@ class ChatRenderer { } } const regexStr = regexExpressions.join('|'); - const flags = 'g' + (matchCase ? '' : 'i'); + const flags = `g${matchCase ? '' : 'i'}`; // We wrap this in a try-catch to ensure that broken regex doesn't break // the entire chat. try { // setting regex overrides matchword if (regexStr) { - highlightRegex = new RegExp('(' + regexStr + ')', flags); + highlightRegex = new RegExp(`(${regexStr})`, flags); } else { const pattern = `${matchWord ? '\\b' : ''}(${highlightWords.join( '|', @@ -603,7 +603,7 @@ class ChatRenderer { for (let i = 0; i < cssRules.length; i++) { const rule = cssRules[i]; if (rule && typeof rule.cssText === 'string') { - cssText += rule.cssText + '\n'; + cssText += `${rule.cssText}\n`; } } } @@ -612,7 +612,7 @@ class ChatRenderer { let messagesHtml = ''; for (const message of this.visibleMessages) { if (message.node) { - messagesHtml += message.node.outerHTML + '\n'; + messagesHtml += `${message.node.outerHTML}\n`; } } // Create a page diff --git a/tgui/packages/tgui/backend.ts b/tgui/packages/tgui/backend.ts index bca24f82524..59833af5798 100644 --- a/tgui/packages/tgui/backend.ts +++ b/tgui/packages/tgui/backend.ts @@ -360,7 +360,7 @@ export const sendAct = (action: string, payload: object = {}) => { const stringifiedPayload = JSON.stringify(payload); const urlSize = Object.entries({ - type: 'act/' + action, + type: `act/${action}`, payload: stringifiedPayload, tgui: 1, windowId: Byond.windowId, @@ -375,14 +375,14 @@ export const sendAct = (action: string, payload: object = {}) => { const id = `${Date.now()}`; globalStore?.dispatch(backendCreatePayloadQueue({ id, chunks })); Byond.sendMessage('oversizedPayloadRequest', { - type: 'act/' + action, + type: `act/${action}`, id, chunkCount: chunks.length, }); return; } - Byond.sendMessage('act/' + action, payload); + Byond.sendMessage(`act/${action}`, payload); }; type BackendState = { diff --git a/tgui/packages/tgui/debug/middleware.ts b/tgui/packages/tgui/debug/middleware.ts index 0c18a260209..e102362f8ff 100644 --- a/tgui/packages/tgui/debug/middleware.ts +++ b/tgui/packages/tgui/debug/middleware.ts @@ -65,7 +65,7 @@ export function relayMiddleware(store) { return (next) => (action) => { const { type, relayed } = action; if (type === openExternalBrowser.type) { - window.open(location.href + '?external', '_blank'); + window.open(`${location.href}?external`, '_blank'); return; } if (relayedTypes.includes(type) && !relayed && !externalBrowser) { diff --git a/tgui/packages/tgui/drag.ts b/tgui/packages/tgui/drag.ts index 2270abc8a05..f56cb438268 100644 --- a/tgui/packages/tgui/drag.ts +++ b/tgui/packages/tgui/drag.ts @@ -43,14 +43,14 @@ export const getWindowSize = (): [number, number] => [ export const setWindowPosition = (vec: [number, number]) => { const byondPos = vecAdd(vec, screenOffset); return Byond.winset(Byond.windowId, { - pos: byondPos[0] + ',' + byondPos[1], + pos: `${byondPos[0]},${byondPos[1]}`, }); }; // Set window size const setWindowSize = (vec: [number, number]) => { return Byond.winset(Byond.windowId, { - size: vec[0] + 'x' + vec[1], + size: `${vec[0]}x${vec[1]}`, }); }; diff --git a/tgui/packages/tgui/interfaces/AccountingConsole.tsx b/tgui/packages/tgui/interfaces/AccountingConsole.tsx index fb496815834..11d1fbdd0c1 100644 --- a/tgui/packages/tgui/interfaces/AccountingConsole.tsx +++ b/tgui/packages/tgui/interfaces/AccountingConsole.tsx @@ -82,7 +82,7 @@ const UsersScreen = (props) => { {PlayerAccounts.map((account) => (
diff --git a/tgui/packages/tgui/interfaces/AdminBookViewer.tsx b/tgui/packages/tgui/interfaces/AdminBookViewer.tsx index 857ce71e7af..994f045d66f 100644 --- a/tgui/packages/tgui/interfaces/AdminBookViewer.tsx +++ b/tgui/packages/tgui/interfaces/AdminBookViewer.tsx @@ -12,7 +12,7 @@ type ViewerData = { export const AdminBookViewer = (_: any) => { const { data } = useBackend(); return ( - + {data.view_raw ? ( data.content diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx index 3d74af73e8c..c74733a56cf 100644 --- a/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx +++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx @@ -28,7 +28,7 @@ export function AirAlarmControlModes(props) { } onClick={() => act('mode', { mode: mode.path })} > - {mode.name + ' - ' + mode.desc} + {`${mode.name} - ${mode.desc}`} ))} diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx index 956265f7710..1ea16cf1b2d 100644 --- a/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx +++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx @@ -47,7 +47,7 @@ export function AirAlarmControlThresholds(props) { > {tlv.hazard_min === -1 ? 'Disabled' - : tlv.hazard_min + ' ' + tlv.unit} + : `${tlv.hazard_min} ${tlv.unit}`} @@ -67,7 +67,7 @@ export function AirAlarmControlThresholds(props) { > {tlv.warning_min === -1 ? 'Disabled' - : tlv.warning_min + ' ' + tlv.unit} + : `${tlv.warning_min} ${tlv.unit}`} @@ -87,7 +87,7 @@ export function AirAlarmControlThresholds(props) { > {tlv.warning_max === -1 ? 'Disabled' - : tlv.warning_max + ' ' + tlv.unit} + : `${tlv.warning_max} ${tlv.unit}`} @@ -107,7 +107,7 @@ export function AirAlarmControlThresholds(props) { > {tlv.hazard_max === -1 ? 'Disabled' - : tlv.hazard_max + ' ' + tlv.unit} + : `${tlv.hazard_max} ${tlv.unit}`} diff --git a/tgui/packages/tgui/interfaces/AlertModal.tsx b/tgui/packages/tgui/interfaces/AlertModal.tsx index 0058c463ea7..fd0f4657575 100644 --- a/tgui/packages/tgui/interfaces/AlertModal.tsx +++ b/tgui/packages/tgui/interfaces/AlertModal.tsx @@ -36,7 +36,7 @@ export function AlertModal(props) { // Stolen wholesale from fontcode function textWidth(text: string, font: string, fontsize: number) { // default font height is 12 in tgui - font = fontsize + 'px ' + font; + font = `${fontsize}px ${font}`; const c = document.createElement('canvas'); const ctx = c.getContext('2d') as CanvasRenderingContext2D; ctx.font = font; diff --git a/tgui/packages/tgui/interfaces/AnomalyRefinery.jsx b/tgui/packages/tgui/interfaces/AnomalyRefinery.jsx index 870bb5c2646..f99e1ea25e3 100644 --- a/tgui/packages/tgui/interfaces/AnomalyRefinery.jsx +++ b/tgui/packages/tgui/interfaces/AnomalyRefinery.jsx @@ -99,7 +99,7 @@ const CoreCompressorContent = (props) => { {requiredRadius - ? requiredRadius + ' tiles' + ? `${requiredRadius} tiles` : 'Implosion not possible.'} @@ -140,9 +140,11 @@ const CoreCompressorContent = (props) => { ' Kelvin'} - {(gasList[1].total_moles - ? String(gasList[1].pressure.toFixed(2)) - : '-') + ' kPa'} + {`${ + gasList[1].total_moles + ? String(gasList[1].pressure.toFixed(2)) + : '-' + } kPa`} @@ -165,9 +167,11 @@ const CoreCompressorContent = (props) => { ' Kelvin'} - {(gasList[1].total_moles - ? String(gasList[0].pressure.toFixed(2)) - : '-') + ' kPa'} + {`${ + gasList[1].total_moles + ? String(gasList[0].pressure.toFixed(2)) + : '-' + } kPa`} diff --git a/tgui/packages/tgui/interfaces/AutomatedAnnouncement.tsx b/tgui/packages/tgui/interfaces/AutomatedAnnouncement.tsx index cae62cfec45..9ca71b63422 100644 --- a/tgui/packages/tgui/interfaces/AutomatedAnnouncement.tsx +++ b/tgui/packages/tgui/interfaces/AutomatedAnnouncement.tsx @@ -89,12 +89,12 @@ export const AutomatedAnnouncement = (props) => { icon="info" tooltip={ (entry.generalTooltip - ? entry.generalTooltip + '\n' + ? `${entry.generalTooltip}\n` : '') + Object.entries(entry.varsAndTooltipsMap) .map( ([varName, tooltip]) => - '%' + varName + ' ' + tooltip, + `%${varName} ${tooltip}`, ) .join('\n') } diff --git a/tgui/packages/tgui/interfaces/BankMachine.tsx b/tgui/packages/tgui/interfaces/BankMachine.tsx index 5782a47d1f0..8cd08b91d15 100644 --- a/tgui/packages/tgui/interfaces/BankMachine.tsx +++ b/tgui/packages/tgui/interfaces/BankMachine.tsx @@ -25,7 +25,7 @@ export const BankMachine = (props) => { Authorized personnel only -
+
{ formatMoney(value) + ' cr'} + format={(value) => `${formatMoney(value)} cr`} /> } @@ -126,9 +126,9 @@ export const BlackMarketUplink = (props) => { - {item.amount ? item.amount + ' in stock' : 'Out of stock'} + {item.amount ? `${item.amount} in stock` : 'Out of stock'} - {formatMoney(item.cost) + ' cr'} + {`${formatMoney(item.cost)} cr`} diff --git a/tgui/packages/tgui/interfaces/LanguageMenu.tsx b/tgui/packages/tgui/interfaces/LanguageMenu.tsx index 6233087f6a3..498e1c57088 100644 --- a/tgui/packages/tgui/interfaces/LanguageMenu.tsx +++ b/tgui/packages/tgui/interfaces/LanguageMenu.tsx @@ -204,7 +204,7 @@ const OmnitongueToggle = (props) => { selected={omnitongue} onClick={() => act('toggle_omnitongue')} > - {'Omnitongue ' + (omnitongue ? 'Enabled' : 'Disabled')} + {`Omnitongue ${omnitongue ? 'Enabled' : 'Disabled'}`} ); }; diff --git a/tgui/packages/tgui/interfaces/LibraryConsole/components/PageSelect.tsx b/tgui/packages/tgui/interfaces/LibraryConsole/components/PageSelect.tsx index 651135e113f..9d753aa31c1 100644 --- a/tgui/packages/tgui/interfaces/LibraryConsole/components/PageSelect.tsx +++ b/tgui/packages/tgui/interfaces/LibraryConsole/components/PageSelect.tsx @@ -31,7 +31,7 @@ export function PageSelect(props) { { if (value !== '') { call_on_change(value); diff --git a/tgui/packages/tgui/interfaces/LibraryConsole/screens/Checkout.tsx b/tgui/packages/tgui/interfaces/LibraryConsole/screens/Checkout.tsx index 8a01cc77896..c0e3aa30c14 100644 --- a/tgui/packages/tgui/interfaces/LibraryConsole/screens/Checkout.tsx +++ b/tgui/packages/tgui/interfaces/LibraryConsole/screens/Checkout.tsx @@ -182,7 +182,7 @@ export function CheckoutEntries(props) { {entry.author} {entry.borrower} - {entry.overdue ? 'Overdue' : entry.due_in_minutes + ' Minutes'} + {entry.overdue ? 'Overdue' : `${entry.due_in_minutes} Minutes`} diff --git a/tgui/packages/tgui/interfaces/MODsuit.tsx b/tgui/packages/tgui/interfaces/MODsuit.tsx index cd4224a6863..c67c62b96e7 100644 --- a/tgui/packages/tgui/interfaces/MODsuit.tsx +++ b/tgui/packages/tgui/interfaces/MODsuit.tsx @@ -431,8 +431,8 @@ const SuitStatusSection = (props) => { content={ link_freq ? link_call - ? 'Calling (' + link_call + ')' - : 'Call (' + link_id + ')' + ? `Calling (${link_call})` + : `Call (${link_id})` : 'Frequency Unset' } onClick={() => act('call')} @@ -504,7 +504,7 @@ const ModParts = (props) => { return ( { > {player.name} {(!!player.is_you && ' (YOU)') || - (!!player.role_revealed && ' - ' + player.role_revealed)} + (!!player.role_revealed && ` - ${player.role_revealed}`)} {player.votes !== undefined && diff --git a/tgui/packages/tgui/interfaces/ManufacturingSorter.tsx b/tgui/packages/tgui/interfaces/ManufacturingSorter.tsx index fd55c993655..7924ef3bc38 100644 --- a/tgui/packages/tgui/interfaces/ManufacturingSorter.tsx +++ b/tgui/packages/tgui/interfaces/ManufacturingSorter.tsx @@ -64,7 +64,7 @@ export function ManufacturingSorter(props) { {filters.map((filter, i) => ( @@ -646,7 +646,7 @@ const SnowflakeRadio = (props) => { selected={speaker} icon={speaker ? 'volume-up' : 'volume-mute'} > - {(speaker ? 'En' : 'Dis') + 'abled'} + {`${speaker ? 'En' : 'Dis'}abled`} @@ -1029,7 +1029,7 @@ const SnowflakeGeneraor = (props) => { {fuel === null ? 'None' - : toFixed(fuel * sheet_material_amount, 0.1) + ' cm³'} + : `${toFixed(fuel * sheet_material_amount, 0.1)} cm³`} ); }; diff --git a/tgui/packages/tgui/interfaces/Microscope.tsx b/tgui/packages/tgui/interfaces/Microscope.tsx index d7d6b72d549..9932be2b156 100644 --- a/tgui/packages/tgui/interfaces/Microscope.tsx +++ b/tgui/packages/tgui/interfaces/Microscope.tsx @@ -118,9 +118,7 @@ const CellList = (props) => { fluid color="good" key={reagent} - tooltip={ - '+' + cell_line.supplementaries[reagent] + '% growth/sec.' - } + tooltip={`+${cell_line.supplementaries[reagent]}% growth/sec.`} > {reagent} @@ -133,7 +131,7 @@ const CellList = (props) => { fluid color="bad" key={reagent} - tooltip={cell_line.suppressives[reagent] + '% growth/sec.'} + tooltip={`${cell_line.suppressives[reagent]}% growth/sec.`} > {reagent} diff --git a/tgui/packages/tgui/interfaces/Newscaster.jsx b/tgui/packages/tgui/interfaces/Newscaster.jsx index 75aa086e63a..aac48aea49c 100644 --- a/tgui/packages/tgui/interfaces/Newscaster.jsx +++ b/tgui/packages/tgui/interfaces/Newscaster.jsx @@ -489,7 +489,7 @@ const NewscasterChannelSelector = (props) => { const { act, data } = useBackend(); const { channels = [], viewing_channel, wanted = [] } = data; return ( -
+
{wanted.map((activeWanted) => ( { } > {typeof cyborg.charge === 'number' - ? cyborg.charge + '%' + ? `${cyborg.charge}%` : 'Not Found'} diff --git a/tgui/packages/tgui/interfaces/NtosEmojipedia.tsx b/tgui/packages/tgui/interfaces/NtosEmojipedia.tsx index 74e8351920c..74228465c4e 100644 --- a/tgui/packages/tgui/interfaces/NtosEmojipedia.tsx +++ b/tgui/packages/tgui/interfaces/NtosEmojipedia.tsx @@ -27,7 +27,7 @@ export const NtosEmojipedia = (props) => {
{ {show_imprint ? login.IDName + ' ' + - (proposed_login.IDName - ? '(' + proposed_login.IDName + ')' - : '') + (proposed_login.IDName ? `(${proposed_login.IDName})` : '') : (proposed_login.IDName ?? '')} @@ -153,7 +151,7 @@ export const NtosMain = (props) => { {show_imprint ? login.IDJob + ' ' + - (proposed_login.IDJob ? '(' + proposed_login.IDJob + ')' : '') + (proposed_login.IDJob ? `(${proposed_login.IDJob})` : '') : (proposed_login.IDJob ?? '')} diff --git a/tgui/packages/tgui/interfaces/NtosNetChat.jsx b/tgui/packages/tgui/interfaces/NtosNetChat.jsx index ebe38dfd405..5a5d163460f 100644 --- a/tgui/packages/tgui/interfaces/NtosNetChat.jsx +++ b/tgui/packages/tgui/interfaces/NtosNetChat.jsx @@ -135,7 +135,7 @@ export const NtosNetChat = (props) => {