diff --git a/code/__DEFINES/modular_computer.dm b/code/__DEFINES/modular_computer.dm new file mode 100644 index 000000000000..2bcb36f5b05b --- /dev/null +++ b/code/__DEFINES/modular_computer.dm @@ -0,0 +1 @@ +#define PDA_DEFAULT_THEME "crtntos" diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm index 640c1a648a02..dac199f77b5e 100644 --- a/code/modules/mob/living/silicon/ai/examine.dm +++ b/code/modules/mob/living/silicon/ai/examine.dm @@ -16,7 +16,7 @@ if(deployed_shell) . += "The wireless networking light is blinking.\n" else if (!shunted && !client) - . += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n" + . += "[src]Core.exe has stopped responding! ThinkDOS is searching for a solution to the problem...\n" //. += "*---------*" PARIAH EDIT REMOVAL . += ..() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 7bbb08583ee9..9dee3c382f3e 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -111,7 +111,7 @@ modularInterface.icon_state_powered = "tablet-silicon-syndicate" modularInterface.icon_state_unpowered = "tablet-silicon-syndicate" else - modularInterface.device_theme = "ntos" + modularInterface.device_theme = PDA_DEFAULT_THEME modularInterface.icon_state = "tablet-silicon" modularInterface.icon_state_powered = "tablet-silicon" modularInterface.icon_state_unpowered = "tablet-silicon" diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index a5cf3f2e60a1..b9024f41393c 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -36,7 +36,7 @@ /// Looks of the MOD. var/skin = "standard" /// Theme of the MOD TGUI - var/ui_theme = "ntos" + var/ui_theme = PDA_DEFAULT_THEME /// If the suit is deployed and turned on. var/active = FALSE /// If the suit wire/module hatch is open. diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index 2affea270fc6..8fcaaee4cd1a 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -46,7 +46,7 @@ /// How long this MOD takes each part to seal. var/activation_step_time = MOD_ACTIVATION_STEP_TIME /// Theme used by the MOD TGUI. - var/ui_theme = "ntos" + var/ui_theme = PDA_DEFAULT_THEME /// List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity. var/list/inbuilt_modules = list() /// Modules blacklisted from the MOD. diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index bcd8489fc91a..e471d92b6241 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar var/upgradable = TRUE // whether or not the computer can be upgraded var/deconstructable = TRUE // whether or not the computer can be deconstructed var/screen_on = 1 // Whether the computer is active/opened/it's screen is on. - var/device_theme = "ntos" // Sets the theme for the main menu, hardware config, and file browser apps. Overridden by certain non-NT devices. + var/device_theme = PDA_DEFAULT_THEME // Sets the theme for the main menu, hardware config, and file browser apps. Overridden by certain non-NT devices. var/datum/computer_file/program/active_program = null // A currently active program running on the computer. var/hardware_flag = 0 // A flag that describes this device type var/last_power_usage = 0 diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index c8b9b6ac0df9..bb0fbf4f59f2 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -27,7 +27,7 @@ var/obj/item/insert_type = /obj/item/pen var/obj/item/inserted_item - var/note = "Congratulations on your station upgrading to the new NtOS and Thinktronic based collaboration effort, bringing you the best in electronics and software since 2467!" // the note used by the notekeeping app, stored here for convenience + var/note = "Congratulations on your new ThinkTronic Personal Digital Assistant." // the note used by the notekeeping app, stored here for convenience /obj/item/modular_computer/tablet/Destroy() QDEL_NULL(inserted_item) diff --git a/daedalus.dme b/daedalus.dme index acba9598a0f6..abbbdc6f7766 100644 --- a/daedalus.dme +++ b/daedalus.dme @@ -151,6 +151,7 @@ #include "code\__DEFINES\mob_spawn.dm" #include "code\__DEFINES\mobs.dm" #include "code\__DEFINES\mod.dm" +#include "code\__DEFINES\modular_computer.dm" #include "code\__DEFINES\monkeys.dm" #include "code\__DEFINES\move_force.dm" #include "code\__DEFINES\movement.dm" diff --git a/tgui/packages/tgui/components/Button.jsx b/tgui/packages/tgui/components/Button.jsx index 99e8132e6f5d..b50304bc3f92 100644 --- a/tgui/packages/tgui/components/Button.jsx +++ b/tgui/packages/tgui/components/Button.jsx @@ -19,6 +19,8 @@ export const Button = (props) => { const { className, fluid, + verticalFluid, + buttonList, icon, iconRotation, iconSpin, @@ -52,6 +54,8 @@ export const Button = (props) => { className={classes([ 'Button', fluid && 'Button--fluid', + verticalFluid && 'Button--verticalFluid', + buttonList && 'Button--buttonList', disabled && 'Button--disabled', selected && 'Button--selected', hasContent && 'Button--hasContent', diff --git a/tgui/packages/tgui/components/LabeledList.tsx b/tgui/packages/tgui/components/LabeledList.tsx index ecf4e3b4895c..7f94f8f81318 100644 --- a/tgui/packages/tgui/components/LabeledList.tsx +++ b/tgui/packages/tgui/components/LabeledList.tsx @@ -42,7 +42,7 @@ const LabeledListItem = (props: LabeledListItemProps) => { buttons, content, children, - verticalAlign = 'baseline', + verticalAlign = 'middle', } = props; return ( diff --git a/tgui/packages/tgui/components/Section.tsx b/tgui/packages/tgui/components/Section.tsx index 10cd2ba0843d..2afce60d2996 100644 --- a/tgui/packages/tgui/components/Section.tsx +++ b/tgui/packages/tgui/components/Section.tsx @@ -13,6 +13,8 @@ import { BoxProps, computeBoxClassName, computeBoxProps } from './Box'; interface SectionProps extends BoxProps { buttons?: ReactNode; className?: string; + // Property used to cleanly hide the borders of tables using the crt theme + crtFitted?: boolean; fill?: boolean; fitted?: boolean; /** @deprecated This property no longer works, please remove it. */ @@ -52,6 +54,7 @@ export class Section extends Component { buttons, fill, fitted, + crtFitted, scrollable, children, ...rest @@ -63,6 +66,7 @@ export class Section extends Component { 'Section', fill && 'Section--fill', fitted && 'Section--fitted', + !fitted && crtFitted && 'Section--crtfitted', scrollable && 'Section--scrollable', className, computeBoxClassName(rest), diff --git a/tgui/packages/tgui/components/Table.jsx b/tgui/packages/tgui/components/Table.jsx index 31a0a82d041c..992b4103464e 100644 --- a/tgui/packages/tgui/components/Table.jsx +++ b/tgui/packages/tgui/components/Table.jsx @@ -41,13 +41,14 @@ export const TableRow = (props) => { }; export const TableCell = (props) => { - const { className, collapsing, header, ...rest } = props; + const { className, collapsing, header, fluid, ...rest } = props; return ( { const statusBackup = dangerMap[data.power.backup] || dangerMap[0]; const statusElectrify = dangerMap[data.shock] || dangerMap[0]; return ( - + -
+
{ color={statusBackup.color} buttons={
-
+
{ label="Emergency Access" buttons={
-
+
{channelArray.map((channel) => { const { topicParams } = channel; @@ -155,6 +159,8 @@ const ApcContent = (props) => { {channel.status >= 2 ? 'On' : 'Off'}
@@ -217,8 +228,12 @@ const ApcContent = (props) => { label="Cover Lock" buttons={
{!!selectedChamber && !!data.control && ( -
+
{selectedChamber.input_info ? ( diff --git a/tgui/packages/tgui/interfaces/Cargo.jsx b/tgui/packages/tgui/interfaces/Cargo.jsx index 294897d6067a..95392109f493 100644 --- a/tgui/packages/tgui/interfaces/Cargo.jsx +++ b/tgui/packages/tgui/interfaces/Cargo.jsx @@ -101,6 +101,7 @@ const CargoStatus = (props) => { return (
{ {tags.join(', ')} - +
-
+
{!!isPillBottleLoaded && ( diff --git a/tgui/packages/tgui/interfaces/DisposalUnit.jsx b/tgui/packages/tgui/interfaces/DisposalUnit.jsx index f163c3c1c2c2..7dd0bac2e51d 100644 --- a/tgui/packages/tgui/interfaces/DisposalUnit.jsx +++ b/tgui/packages/tgui/interfaces/DisposalUnit.jsx @@ -20,9 +20,9 @@ export const DisposalUnit = (props) => { stateText = 'Off'; } return ( - + -
+
{stateText} diff --git a/tgui/packages/tgui/interfaces/MechBayPowerConsole.jsx b/tgui/packages/tgui/interfaces/MechBayPowerConsole.jsx index 94b102d0fc68..35a7efa73e7a 100644 --- a/tgui/packages/tgui/interfaces/MechBayPowerConsole.jsx +++ b/tgui/packages/tgui/interfaces/MechBayPowerConsole.jsx @@ -20,6 +20,7 @@ export const MechBayPowerConsole = (props) => {
{ + const { act, data } = useBackend(); + const { PC_device_theme } = data; return ( - + diff --git a/tgui/packages/tgui/interfaces/NtosCard.jsx b/tgui/packages/tgui/interfaces/NtosCard.jsx index 34fbc683b543..915749f397fc 100644 --- a/tgui/packages/tgui/interfaces/NtosCard.jsx +++ b/tgui/packages/tgui/interfaces/NtosCard.jsx @@ -14,8 +14,10 @@ import { NtosWindow } from '../layouts'; import { AccessList } from './common/AccessList'; export const NtosCard = (props) => { + const { act, data } = useBackend(); + const { PC_device_theme } = data; return ( - + diff --git a/tgui/packages/tgui/interfaces/NtosCargo.jsx b/tgui/packages/tgui/interfaces/NtosCargo.jsx index 19e36180f4bc..df60b31f122f 100644 --- a/tgui/packages/tgui/interfaces/NtosCargo.jsx +++ b/tgui/packages/tgui/interfaces/NtosCargo.jsx @@ -1,9 +1,12 @@ +import { useBackend } from '../backend'; import { NtosWindow } from '../layouts'; import { CargoContent } from './Cargo'; export const NtosCargo = (props) => { + const { act, data } = useBackend(); + const { PC_device_theme } = data; return ( - + diff --git a/tgui/packages/tgui/interfaces/NtosCrewManifest.jsx b/tgui/packages/tgui/interfaces/NtosCrewManifest.jsx index 3a6e77254719..a569f2482f5c 100644 --- a/tgui/packages/tgui/interfaces/NtosCrewManifest.jsx +++ b/tgui/packages/tgui/interfaces/NtosCrewManifest.jsx @@ -13,9 +13,9 @@ import { NtosWindow } from '../layouts'; export const NtosCrewManifest = (props) => { const { act, data } = useBackend(); - const { have_printer, manifest = {}, manifest_key } = data; + const { have_printer, manifest = {}, PC_device_theme, manifest_key } = data; return ( - +
{ File Type Size + Actions {files.map((file) => ( - + {!file.undeletable ? ( { {file.type} {file.size} - + {!!file.alert_able && (
)} {!!removable_media.length && ( @@ -139,7 +142,7 @@ export const NtosMain = (props) => { {programs.map((program) => ( - + @@ -139,6 +140,8 @@ export const Smes = (props) => { label="Output Mode" buttons={