Improve req console UI appearance (#29945)

This commit is contained in:
warriorstar-orion
2025-09-11 02:36:40 +00:00
committed by GitHub
parent 0f438326b6
commit ca3b608197
6 changed files with 277 additions and 385 deletions
@@ -2,14 +2,39 @@ import { Blink, Box, Button, LabeledList, Section, Stack } from 'tgui-core/compo
import { useBackend } from '../backend';
import { Window } from '../layouts';
import { BooleanLike } from 'tgui-core/react';
const RQ_NONEW_MESSAGES = 0;
const RQ_LOWPRIORITY = 1;
const RQ_NORMALPRIORITY = 2;
const RQ_HIGHPRIORITY = 3;
enum MsgPriority {
RQ_NONEW_MESSAGES = 0,
RQ_LOWPRIORITY = 1,
RQ_NORMALPRIORITY = 2,
RQ_HIGHPRIORITY = 3,
}
export const RequestConsole = (props) => {
const { act, data } = useBackend();
type RequestConsoleData = {
announceAuth: BooleanLike;
announcementConsole: BooleanLike;
assist_dept: string[];
department: string;
info_dept: string[];
message_log: string[][];
message: string;
msgStamped: string;
msgVerified: string;
newmessagepriority: MsgPriority;
recipient: string;
screen: BooleanLike;
secondaryGoalAuth: BooleanLike;
secondaryGoalEnabled: BooleanLike;
ship_dept: string[];
shipDest: string;
shipping_log: string[][];
silent: BooleanLike;
supply_dept: string[];
};
export const RequestConsole = () => {
const { data } = useBackend<RequestConsoleData>();
const { screen, announcementConsole } = data;
const pickPage = (index) => {
@@ -44,7 +69,7 @@ export const RequestConsole = (props) => {
};
return (
<Window width={450} height={announcementConsole ? 425 : 385}>
<Window width={450} height={announcementConsole ? 430 : 385}>
<Window.Content scrollable>
<Stack fill vertical>
{pickPage(screen)}
@@ -54,11 +79,30 @@ export const RequestConsole = (props) => {
);
};
const MainMenu = (props) => {
const { act, data } = useBackend();
const MainMenuButton = (props: { text: string; icon: string; screen: number }) => {
const { act } = useBackend();
const { text, icon, screen } = props;
return (
<Button fluid lineHeight={3} icon={icon} onClick={() => act('setScreen', { setScreen: screen })}>
{text}
</Button>
);
};
const BackButton = () => {
const { act } = useBackend();
return (
<Button icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })}>
Back
</Button>
);
};
const MainMenu = () => {
const { act, data } = useBackend<RequestConsoleData>();
const { newmessagepriority, announcementConsole, silent } = data;
let messageInfo;
if (newmessagepriority === RQ_HIGHPRIORITY) {
if (newmessagepriority === MsgPriority.RQ_HIGHPRIORITY) {
messageInfo = (
<Blink>
<Box color="red" bold mb={1}>
@@ -66,7 +110,7 @@ const MainMenu = (props) => {
</Box>
</Blink>
);
} else if (newmessagepriority > RQ_NONEW_MESSAGES) {
} else if (newmessagepriority > MsgPriority.RQ_NONEW_MESSAGES) {
messageInfo = (
<Box color="red" bold mb={1}>
There are new messages
@@ -88,83 +132,36 @@ const MainMenu = (props) => {
buttons={
<Button
width={9}
content={silent ? 'Speaker Off' : 'Speaker On'}
selected={!silent}
icon={silent ? 'volume-mute' : 'volume-up'}
onClick={() => act('toggleSilent')}
/>
>
{silent ? 'Speaker Off' : 'Speaker On'}
</Button>
}
>
{messageInfo}
<Stack.Item>
<Button
fluid
lineHeight={3}
content="View Messages"
icon={newmessagepriority > RQ_NONEW_MESSAGES ? 'envelope-open-text' : 'envelope'}
onClick={() => act('setScreen', { setScreen: 6 })}
<Box>
<MainMenuButton
icon={newmessagepriority > MsgPriority.RQ_NONEW_MESSAGES ? 'envelope-open-text' : 'envelope'}
screen={6}
text="View Messages"
/>
</Stack.Item>
<Stack.Item mt={1}>
<Button
fluid
lineHeight={3}
content="Request Assistance"
icon="hand-paper"
onClick={() => act('setScreen', { setScreen: 1 })}
/>
<Stack.Item>
<Button
fluid
lineHeight={3}
content="Request Supplies"
icon="box"
onClick={() => act('setScreen', { setScreen: 2 })}
/>
<Button
fluid
lineHeight={3}
content="Request Secondary Goal"
icon="clipboard-list"
onClick={() => act('setScreen', { setScreen: 11 })}
/>
<Button
fluid
lineHeight={3}
content="Relay Anonymous Information"
icon="comment"
onClick={() => act('setScreen', { setScreen: 3 })}
/>
</Stack.Item>
</Stack.Item>
<Stack.Item mt={1}>
<Stack.Item>
<Button
fluid
lineHeight={3}
content="Print Shipping Label"
icon="tag"
onClick={() => act('setScreen', { setScreen: 9 })}
/>
<Button
fluid
lineHeight={3}
content="View Shipping Logs"
icon="clipboard-list"
onClick={() => act('setScreen', { setScreen: 10 })}
/>
</Stack.Item>
</Stack.Item>
</Box>
<Box mt={1}>
<MainMenuButton icon="hand-paper" screen={1} text="Request Assistance" />
<MainMenuButton icon="box" screen={2} text="Request Supplies" />
<MainMenuButton icon="clipboard-list" screen={11} text="Request Secondary Goal" />
<MainMenuButton icon="comment" screen={3} text="Relay Anonymous Information" />
</Box>
<Box mt={1}>
<MainMenuButton icon="tag" screen={9} text="Print Shipping Label" />
<MainMenuButton icon="clipboard-list" screen={10} text="View Shipping Logs" />
</Box>
{!!announcementConsole && (
<Stack.Item mt={1}>
<Button
fluid
lineHeight={3}
content="Send Station-Wide Announcement"
icon="bullhorn"
onClick={() => act('setScreen', { setScreen: 8 })}
/>
</Stack.Item>
<Box mt={1}>
<MainMenuButton icon="bullhorn" screen={8} text="Send Station-Wide Announcement" />
</Box>
)}
</Section>
</Stack.Item>
@@ -172,48 +169,45 @@ const MainMenu = (props) => {
};
const DepartmentList = (props) => {
const { act, data } = useBackend();
const { department } = data;
const { act, data } = useBackend<RequestConsoleData>();
const { department, assist_dept, supply_dept, info_dept } = data;
let list2iterate = [];
let list2iterate: string[] = [];
let sectionTitle;
switch (props.purpose) {
case 'ASSISTANCE':
list2iterate = data.assist_dept;
list2iterate = assist_dept;
sectionTitle = 'Request assistance from another department';
break;
case 'SUPPLIES':
list2iterate = data.supply_dept;
list2iterate = supply_dept;
sectionTitle = 'Request supplies from another department';
break;
case 'INFO':
list2iterate = data.info_dept;
list2iterate = info_dept;
sectionTitle = 'Relay information to another department';
break;
}
return (
<Stack.Item grow>
<Section
fill
scrollable
title={sectionTitle}
buttons={<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />}
>
<Section fill scrollable title={sectionTitle} buttons={<BackButton />}>
<LabeledList>
{list2iterate
.filter((d) => d !== department)
.map((d) => (
<LabeledList.Item key={d} label={d} textAlign="right" className="candystripe">
<Button
content="Message"
icon="envelope"
onClick={() => act('writeInput', { write: d, priority: RQ_NORMALPRIORITY })}
/>
onClick={() => act('writeInput', { write: d, priority: MsgPriority.RQ_NORMALPRIORITY })}
>
Message
</Button>
<Button
content="High Priority"
icon="exclamation-circle"
onClick={() => act('writeInput', { write: d, priority: RQ_HIGHPRIORITY })}
/>
onClick={() => act('writeInput', { write: d, priority: MsgPriority.RQ_HIGHPRIORITY })}
>
High Priority
</Button>
</LabeledList.Item>
))}
</LabeledList>
@@ -223,10 +217,9 @@ const DepartmentList = (props) => {
};
const MessageResponse = (props) => {
const { act, data } = useBackend();
const { type } = props;
let sectionTitle;
switch (props.type) {
switch (type) {
case 'SUCCESS':
sectionTitle = 'Message sent successfully';
break;
@@ -235,27 +228,22 @@ const MessageResponse = (props) => {
break;
}
return (
<Section
fill
title={sectionTitle}
buttons={<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />}
/>
);
return <Section fill title={sectionTitle} buttons={<BackButton />} />;
};
const MessageLog = (props) => {
const { act, data } = useBackend();
const MessageLog = (props: { type: string }) => {
const { act, data } = useBackend<RequestConsoleData>();
const { message_log, shipping_log } = data;
let list2iterate;
let list2iterate: string[][] = [];
let sectionTitle;
switch (props.type) {
case 'MESSAGES':
list2iterate = data.message_log;
list2iterate = message_log;
sectionTitle = 'Message Log';
break;
case 'SHIPPING':
list2iterate = data.shipping_log;
list2iterate = shipping_log;
sectionTitle = 'Shipping label print log';
break;
}
@@ -263,16 +251,11 @@ const MessageLog = (props) => {
return (
<Stack.Item grow textAlign="center">
<Section
fill
scrollable
title={sectionTitle}
buttons={<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />}
>
{list2iterate.map((m) => (
<Box key={m} textAlign="left">
{m.map((i, key) => {
return <div key={key}>{i}</div>;
<Section fill scrollable title={sectionTitle} buttons={<BackButton />}>
{list2iterate.map((m, i) => (
<Box key={i} textAlign="left">
{m.map((msg, key) => {
return <div key={key}>{msg}</div>;
})}
<hr />
</Box>
@@ -282,19 +265,14 @@ const MessageLog = (props) => {
);
};
const MessageAuth = (props) => {
const { act, data } = useBackend();
const MessageAuth = () => {
const { act, data } = useBackend<RequestConsoleData>();
const { recipient, message, msgVerified, msgStamped } = data;
return (
<>
<Stack.Item grow textAlign="center">
<Section
fill
scrollable
title="Message Authentication"
buttons={<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />}
>
<Section fill scrollable title="Message Authentication" buttons={<BackButton />}>
<LabeledList>
<LabeledList.Item label="Recipient">{recipient}</LabeledList.Item>
<LabeledList.Item label="Message">{message}</LabeledList.Item>
@@ -309,21 +287,17 @@ const MessageAuth = (props) => {
</Stack.Item>
<Stack.Item>
<Section>
<Button
fluid
textAlign="center"
content="Send Message"
icon="envelope"
onClick={() => act('department', { department: recipient })}
/>
<Button fluid textAlign="center" icon="envelope" onClick={() => act('department', { department: recipient })}>
Send Message
</Button>
</Section>
</Stack.Item>
</>
);
};
const StationAnnouncement = (props) => {
const { act, data } = useBackend();
const StationAnnouncement = () => {
const { act, data } = useBackend<RequestConsoleData>();
const { message, announceAuth } = data;
return (
@@ -335,8 +309,10 @@ const StationAnnouncement = (props) => {
title="Station-Wide Announcement"
buttons={
<>
<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />
<Button content="Edit Message" icon="edit" onClick={() => act('writeAnnouncement')} />
<BackButton />
<Button icon="edit" onClick={() => act('writeAnnouncement')}>
Edit Message
</Button>
</>
}
>
@@ -358,28 +334,26 @@ const StationAnnouncement = (props) => {
fluid
mt={2}
textAlign="center"
content="Send Announcement"
icon="bullhorn"
disabled={!(announceAuth && message)}
onClick={() => act('sendAnnouncement')}
/>
>
Send Announcement
</Button>
</Section>
</Stack.Item>
</>
);
};
const PrintShippingLabel = (props) => {
const { act, data } = useBackend();
const PrintShippingLabel = () => {
const { act, data } = useBackend<RequestConsoleData>();
const { shipDest, msgVerified, ship_dept } = data;
return (
<>
<Stack.Item textAlign="center">
<Section
title="Print Shipping Label"
buttons={<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />}
>
<Section title="Print Shipping Label" buttons={<BackButton />}>
<LabeledList>
<LabeledList.Item label="Destination">{shipDest}</LabeledList.Item>
<LabeledList.Item label="Validated by">{msgVerified}</LabeledList.Item>
@@ -388,11 +362,12 @@ const PrintShippingLabel = (props) => {
fluid
mt={1}
textAlign="center"
content="Print Label"
icon="print"
disabled={!(shipDest && msgVerified)}
onClick={() => act('printLabel')}
/>
>
Print Label
</Button>
</Section>
</Stack.Item>
<Stack.Item grow>
@@ -400,11 +375,9 @@ const PrintShippingLabel = (props) => {
<LabeledList>
{ship_dept.map((d) => (
<LabeledList.Item label={d} key={d} textAlign="right" className="candystripe">
<Button
content={shipDest === d ? 'Selected' : 'Select'}
selected={shipDest === d}
onClick={() => act('shipSelect', { shipSelect: d })}
/>
<Button selected={shipDest === d} onClick={() => act('shipSelect', { shipSelect: d })}>
{shipDest === d ? 'Selected' : 'Select'}
</Button>
</LabeledList.Item>
))}
</LabeledList>
@@ -414,19 +387,14 @@ const PrintShippingLabel = (props) => {
);
};
const SecondaryGoal = (props) => {
const { act, data } = useBackend();
const SecondaryGoal = () => {
const { act, data } = useBackend<RequestConsoleData>();
const { secondaryGoalAuth, secondaryGoalEnabled } = data;
return (
<>
<Stack.Item grow>
<Section
fill
scrollable
title="Request Secondary Goal"
buttons={<Button content="Back" icon="arrow-left" onClick={() => act('setScreen', { setScreen: 0 })} />}
/>
<Section fill scrollable title="Request Secondary Goal" buttons={<BackButton />} />
</Stack.Item>
<Stack.Item>
<Section>
@@ -449,11 +417,12 @@ const SecondaryGoal = (props) => {
fluid
mt={2}
textAlign="center"
content="Request Secondary Goal"
icon="clipboard-list"
disabled={!(secondaryGoalAuth && secondaryGoalEnabled)}
onClick={() => act('requestSecondaryGoal')}
/>
>
Request Secondary Goal
</Button>
</Section>
</Stack.Item>
</>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+137 -214
View File
@@ -2018,48 +2018,48 @@ __metadata:
languageName: node
linkType: hard
"@floating-ui/core@npm:^1.7.2":
version: 1.7.2
resolution: "@floating-ui/core@npm:1.7.2"
"@floating-ui/core@npm:^1.7.3":
version: 1.7.3
resolution: "@floating-ui/core@npm:1.7.3"
dependencies:
"@floating-ui/utils": "npm:^0.2.10"
checksum: 10c0/ea5909ae1bfad6d8dd60ab893c7751fd974d96b25481d13805935a089b39881b4d69425a0a84cc74c82269d8b64ca0117c472fc83e425143bee1bb21b247de9c
checksum: 10c0/edfc23800122d81df0df0fb780b7328ae6c5f00efbb55bd48ea340f4af8c5b3b121ceb4bb81220966ab0f87b443204d37105abdd93d94846468be3243984144c
languageName: node
linkType: hard
"@floating-ui/dom@npm:^1.7.2":
version: 1.7.2
resolution: "@floating-ui/dom@npm:1.7.2"
"@floating-ui/dom@npm:^1.7.4":
version: 1.7.4
resolution: "@floating-ui/dom@npm:1.7.4"
dependencies:
"@floating-ui/core": "npm:^1.7.2"
"@floating-ui/core": "npm:^1.7.3"
"@floating-ui/utils": "npm:^0.2.10"
checksum: 10c0/1b2ad76dc7fe245a1bb406cd5b64a1316f2ec642aebaa4d1928b56ced6fe71046f089e3fef9340bab234645b6333546211e363a630a9e7cfca6bf5031c39e0cb
checksum: 10c0/da6166c25f9b0729caa9f498685a73a0e28251613b35d27db8de8014bc9d045158a23c092b405321a3d67c2064909b6e2a7e6c1c9cc0f62967dca5779f5aef30
languageName: node
linkType: hard
"@floating-ui/react-dom@npm:^2.1.4":
version: 2.1.4
resolution: "@floating-ui/react-dom@npm:2.1.4"
"@floating-ui/react-dom@npm:^2.1.6":
version: 2.1.6
resolution: "@floating-ui/react-dom@npm:2.1.6"
dependencies:
"@floating-ui/dom": "npm:^1.7.2"
"@floating-ui/dom": "npm:^1.7.4"
peerDependencies:
react: ">=16.8.0"
react-dom: ">=16.8.0"
checksum: 10c0/2dade6b8e18de09c90b876249756155ab31f49b5a81d246a3dc568d0355bc9e4bc26485dfd27b9e3bf86585700f4d241e8f53e8321249ec9b012a266a86b9366
checksum: 10c0/6654834a8e73ecbdbc6cad2ad8f7abc698ac7c1800ded4d61113525c591c03d2e3b59d3cf9205859221465ea38c87af4f9e6e204703c5b7a7e85332d1eef2e18
languageName: node
linkType: hard
"@floating-ui/react@npm:^0.27.13":
version: 0.27.13
resolution: "@floating-ui/react@npm:0.27.13"
"@floating-ui/react@npm:^0.27.16":
version: 0.27.16
resolution: "@floating-ui/react@npm:0.27.16"
dependencies:
"@floating-ui/react-dom": "npm:^2.1.4"
"@floating-ui/react-dom": "npm:^2.1.6"
"@floating-ui/utils": "npm:^0.2.10"
tabbable: "npm:^6.0.0"
peerDependencies:
react: ">=17.0.0"
react-dom: ">=17.0.0"
checksum: 10c0/4f5dd45829e4c62f447718d07bcf88a2388efb78dd91e38a6f34091feecfa4044ff7b43357192cdad4acbfc3898b932527c2a320913c5f492bae998f34f9f57d
checksum: 10c0/a026266d8875e69de1ac1e1a00588660c8ee299c1e7d067c5c5fd1d69a46fd10acff5dd6cb66c3fe40a3347b443234309ba95f5b33d49059d0cda121f558f566
languageName: node
linkType: hard
@@ -3093,142 +3093,142 @@ __metadata:
languageName: node
linkType: hard
"@rollup/rollup-android-arm-eabi@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-android-arm-eabi@npm:4.49.0"
"@rollup/rollup-android-arm-eabi@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-android-arm-eabi@npm:4.39.0"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
"@rollup/rollup-android-arm64@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-android-arm64@npm:4.49.0"
"@rollup/rollup-android-arm64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-android-arm64@npm:4.39.0"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-darwin-arm64@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-darwin-arm64@npm:4.49.0"
"@rollup/rollup-darwin-arm64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-darwin-arm64@npm:4.39.0"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-darwin-x64@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-darwin-x64@npm:4.49.0"
"@rollup/rollup-darwin-x64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-darwin-x64@npm:4.39.0"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-freebsd-arm64@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-freebsd-arm64@npm:4.49.0"
"@rollup/rollup-freebsd-arm64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-freebsd-arm64@npm:4.39.0"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-freebsd-x64@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-freebsd-x64@npm:4.49.0"
"@rollup/rollup-freebsd-x64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-freebsd-x64@npm:4.39.0"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-linux-arm-gnueabihf@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.49.0"
"@rollup/rollup-linux-arm-gnueabihf@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.39.0"
conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-arm-musleabihf@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.49.0"
"@rollup/rollup-linux-arm-musleabihf@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.39.0"
conditions: os=linux & cpu=arm & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-arm64-gnu@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.49.0"
"@rollup/rollup-linux-arm64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.39.0"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-arm64-musl@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.49.0"
"@rollup/rollup-linux-arm64-musl@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.39.0"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-loongarch64-gnu@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.49.0"
"@rollup/rollup-linux-loongarch64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.39.0"
conditions: os=linux & cpu=loong64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-ppc64-gnu@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.49.0"
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.39.0"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-riscv64-gnu@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.49.0"
"@rollup/rollup-linux-riscv64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.39.0"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-riscv64-musl@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.49.0"
"@rollup/rollup-linux-riscv64-musl@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.39.0"
conditions: os=linux & cpu=riscv64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-s390x-gnu@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.49.0"
"@rollup/rollup-linux-s390x-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.39.0"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-x64-gnu@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.49.0"
"@rollup/rollup-linux-x64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.39.0"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-x64-musl@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-linux-x64-musl@npm:4.49.0"
"@rollup/rollup-linux-x64-musl@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-x64-musl@npm:4.39.0"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-win32-arm64-msvc@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.49.0"
"@rollup/rollup-win32-arm64-msvc@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.39.0"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-win32-ia32-msvc@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.49.0"
"@rollup/rollup-win32-ia32-msvc@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.39.0"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@rollup/rollup-win32-x64-msvc@npm:4.49.0":
version: 4.49.0
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.49.0"
"@rollup/rollup-win32-x64-msvc@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.39.0"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -3752,7 +3752,7 @@ __metadata:
languageName: node
linkType: hard
"@types/estree@npm:*, @types/estree@npm:^1.0.0":
"@types/estree@npm:*, @types/estree@npm:1.0.7, @types/estree@npm:^1.0.0":
version: 1.0.7
resolution: "@types/estree@npm:1.0.7"
checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c
@@ -3766,13 +3766,6 @@ __metadata:
languageName: node
linkType: hard
"@types/estree@npm:1.0.8":
version: 1.0.8
resolution: "@types/estree@npm:1.0.8"
checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5
languageName: node
linkType: hard
"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0":
version: 5.0.6
resolution: "@types/express-serve-static-core@npm:5.0.6"
@@ -5924,12 +5917,12 @@ __metadata:
linkType: hard
"brace-expansion@npm:^1.1.7":
version: 1.1.12
resolution: "brace-expansion@npm:1.1.12"
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
dependencies:
balanced-match: "npm:^1.0.0"
concat-map: "npm:0.0.1"
checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73
checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
languageName: node
linkType: hard
@@ -7053,7 +7046,7 @@ __metadata:
languageName: node
linkType: hard
"create-hash@npm:^1.1.0, create-hash@npm:^1.2.0":
"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0":
version: 1.2.0
resolution: "create-hash@npm:1.2.0"
dependencies:
@@ -7066,19 +7059,7 @@ __metadata:
languageName: node
linkType: hard
"create-hash@npm:~1.1.3":
version: 1.1.3
resolution: "create-hash@npm:1.1.3"
dependencies:
cipher-base: "npm:^1.0.1"
inherits: "npm:^2.0.1"
ripemd160: "npm:^2.0.0"
sha.js: "npm:^2.4.0"
checksum: 10c0/dbcf4a1b13c8dd5f2a69f5f30bd2701f919ed7d3fbf5aa530cf00b17a950c2b77f63bfe6a2981735a646ae2620d96c8f4584bf70aeeabf050a31de4e46219d08
languageName: node
linkType: hard
"create-hmac@npm:^1.1.7":
"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7":
version: 1.1.7
resolution: "create-hmac@npm:1.1.7"
dependencies:
@@ -9624,18 +9605,6 @@ __metadata:
languageName: node
linkType: hard
"fdir@npm:^6.4.4":
version: 6.5.0
resolution: "fdir@npm:6.5.0"
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f
languageName: node
linkType: hard
"figgy-pudding@npm:^3.5.1":
version: 3.5.2
resolution: "figgy-pudding@npm:3.5.2"
@@ -9878,15 +9847,14 @@ __metadata:
linkType: hard
"form-data@npm:^3.0.0":
version: 3.0.4
resolution: "form-data@npm:3.0.4"
version: 3.0.3
resolution: "form-data@npm:3.0.3"
dependencies:
asynckit: "npm:^0.4.0"
combined-stream: "npm:^1.0.8"
es-set-tostringtag: "npm:^2.1.0"
hasown: "npm:^2.0.2"
mime-types: "npm:^2.1.35"
checksum: 10c0/2451043b3e931653ce9690ba051b0bf1b5855a63029279bd7bdf8d02e4b5b42f4582b23ed3637df27a0d21bac2013c37d165ec9486e1af2470c13114aee83acc
checksum: 10c0/a62b275f9736ff94f327c66d5f6c581391eafe07c912b12c3738e822aa3b1f27fb23d7138af5b48163497a278e2f84ec9f4a27e60dd511b7683fb76a835bb395
languageName: node
linkType: hard
@@ -10503,15 +10471,6 @@ __metadata:
languageName: node
linkType: hard
"hash-base@npm:^2.0.0":
version: 2.0.2
resolution: "hash-base@npm:2.0.2"
dependencies:
inherits: "npm:^2.0.1"
checksum: 10c0/283f6060277b52e627a734c4d19d4315ba82326cab5a2f4f2f00b924d747dc7cc902a8cedb1904c7a3501075fcbb24c08de1152bae296698fdc5ad75b33986af
languageName: node
linkType: hard
"hash-base@npm:^3.0.0":
version: 3.1.0
resolution: "hash-base@npm:3.1.0"
@@ -15002,16 +14961,15 @@ __metadata:
linkType: hard
"pbkdf2@npm:^3.1.2":
version: 3.1.3
resolution: "pbkdf2@npm:3.1.3"
version: 3.1.2
resolution: "pbkdf2@npm:3.1.2"
dependencies:
create-hash: "npm:~1.1.3"
create-hmac: "npm:^1.1.7"
ripemd160: "npm:=2.0.1"
safe-buffer: "npm:^5.2.1"
sha.js: "npm:^2.4.11"
to-buffer: "npm:^1.2.0"
checksum: 10c0/12779463dfb847701f186e0b7e5fd538a1420409a485dcf5100689c2b3ec3cb113204e82a68668faf3b6dd76ec19260b865313c9d3a9c252807163bdc24652ae
create-hash: "npm:^1.1.2"
create-hmac: "npm:^1.1.4"
ripemd160: "npm:^2.0.1"
safe-buffer: "npm:^5.0.1"
sha.js: "npm:^2.4.8"
checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd
languageName: node
linkType: hard
@@ -17200,16 +17158,6 @@ __metadata:
languageName: node
linkType: hard
"ripemd160@npm:=2.0.1":
version: 2.0.1
resolution: "ripemd160@npm:2.0.1"
dependencies:
hash-base: "npm:^2.0.0"
inherits: "npm:^2.0.1"
checksum: 10c0/d4cbb4713c1268bb35e44815b12e3744a952a72b72e6a72110c8f3932227ddf68841110285fe2ed1c04805e2621d85f905deb5f55f9d91fa1bfc0f8081a244e6
languageName: node
linkType: hard
"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1":
version: 2.0.2
resolution: "ripemd160@npm:2.0.2"
@@ -17270,31 +17218,31 @@ __metadata:
languageName: node
linkType: hard
"rollup@npm:^4.34.9":
version: 4.49.0
resolution: "rollup@npm:4.49.0"
"rollup@npm:^4.30.1":
version: 4.39.0
resolution: "rollup@npm:4.39.0"
dependencies:
"@rollup/rollup-android-arm-eabi": "npm:4.49.0"
"@rollup/rollup-android-arm64": "npm:4.49.0"
"@rollup/rollup-darwin-arm64": "npm:4.49.0"
"@rollup/rollup-darwin-x64": "npm:4.49.0"
"@rollup/rollup-freebsd-arm64": "npm:4.49.0"
"@rollup/rollup-freebsd-x64": "npm:4.49.0"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.49.0"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.49.0"
"@rollup/rollup-linux-arm64-gnu": "npm:4.49.0"
"@rollup/rollup-linux-arm64-musl": "npm:4.49.0"
"@rollup/rollup-linux-loongarch64-gnu": "npm:4.49.0"
"@rollup/rollup-linux-ppc64-gnu": "npm:4.49.0"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.49.0"
"@rollup/rollup-linux-riscv64-musl": "npm:4.49.0"
"@rollup/rollup-linux-s390x-gnu": "npm:4.49.0"
"@rollup/rollup-linux-x64-gnu": "npm:4.49.0"
"@rollup/rollup-linux-x64-musl": "npm:4.49.0"
"@rollup/rollup-win32-arm64-msvc": "npm:4.49.0"
"@rollup/rollup-win32-ia32-msvc": "npm:4.49.0"
"@rollup/rollup-win32-x64-msvc": "npm:4.49.0"
"@types/estree": "npm:1.0.8"
"@rollup/rollup-android-arm-eabi": "npm:4.39.0"
"@rollup/rollup-android-arm64": "npm:4.39.0"
"@rollup/rollup-darwin-arm64": "npm:4.39.0"
"@rollup/rollup-darwin-x64": "npm:4.39.0"
"@rollup/rollup-freebsd-arm64": "npm:4.39.0"
"@rollup/rollup-freebsd-x64": "npm:4.39.0"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.39.0"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.39.0"
"@rollup/rollup-linux-arm64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-arm64-musl": "npm:4.39.0"
"@rollup/rollup-linux-loongarch64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-powerpc64le-gnu": "npm:4.39.0"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-riscv64-musl": "npm:4.39.0"
"@rollup/rollup-linux-s390x-gnu": "npm:4.39.0"
"@rollup/rollup-linux-x64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-x64-musl": "npm:4.39.0"
"@rollup/rollup-win32-arm64-msvc": "npm:4.39.0"
"@rollup/rollup-win32-ia32-msvc": "npm:4.39.0"
"@rollup/rollup-win32-x64-msvc": "npm:4.39.0"
"@types/estree": "npm:1.0.7"
fsevents: "npm:~2.3.2"
dependenciesMeta:
"@rollup/rollup-android-arm-eabi":
@@ -17319,7 +17267,7 @@ __metadata:
optional: true
"@rollup/rollup-linux-loongarch64-gnu":
optional: true
"@rollup/rollup-linux-ppc64-gnu":
"@rollup/rollup-linux-powerpc64le-gnu":
optional: true
"@rollup/rollup-linux-riscv64-gnu":
optional: true
@@ -17341,7 +17289,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
checksum: 10c0/ca950eb0fb550c40e0a06e9bb4f17c3b7097a3684152327569d9b20891e704ea8b20764b26d54442fc1eb00615923a191bb928087a7e23e5fa8c3c00e06680e4
checksum: 10c0/2dc0c23ca04bd00295035b405c977261559aed8acc9902ee9ff44e4a6b54734fcb64999c32143c43804dcb543da7983032831b893a902633b006c21848a093ce
languageName: node
linkType: hard
@@ -18092,16 +18040,15 @@ __metadata:
languageName: node
linkType: hard
"sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8":
version: 2.4.12
resolution: "sha.js@npm:2.4.12"
"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8":
version: 2.4.11
resolution: "sha.js@npm:2.4.11"
dependencies:
inherits: "npm:^2.0.4"
safe-buffer: "npm:^5.2.1"
to-buffer: "npm:^1.2.0"
inherits: "npm:^2.0.1"
safe-buffer: "npm:^5.0.1"
bin:
sha.js: bin.js
checksum: 10c0/9d36bdd76202c8116abbe152a00055ccd8a0099cb28fc17c01fa7bb2c8cffb9ca60e2ab0fe5f274ed6c45dc2633d8c39cf7ab050306c231904512ba9da4d8ab1
sha.js: ./bin.js
checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5
languageName: node
linkType: hard
@@ -19276,15 +19223,15 @@ __metadata:
linkType: soft
"tgui-core@npm:^5.1.0":
version: 5.1.0
resolution: "tgui-core@npm:5.1.0"
version: 5.3.1
resolution: "tgui-core@npm:5.3.1"
dependencies:
"@floating-ui/react": "npm:^0.27.13"
"@floating-ui/react": "npm:^0.27.16"
"@nozbe/microfuzz": "npm:^1.0.0"
peerDependencies:
react: ^19.1.0
react-dom: ^19.1.0
checksum: 10c0/7f32d32af555908ecef025606efc9478c6b14d48d08ba1516ce18f51b7e248fa68efd22e8f69b103f1813cda57762b4772d5afb7206fe099585e5640ce1676e0
checksum: 10c0/0305d561f8cd629d506e93bfe4dfe00df3427e1a4471d6124d372431d6eb759264443384697722eec4b60eabbfcf0d04e7094634fa88f968995056621f191cc1
languageName: node
linkType: hard
@@ -19477,16 +19424,6 @@ __metadata:
languageName: node
linkType: hard
"tinyglobby@npm:^0.2.13":
version: 0.2.14
resolution: "tinyglobby@npm:0.2.14"
dependencies:
fdir: "npm:^6.4.4"
picomatch: "npm:^4.0.2"
checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6
languageName: node
linkType: hard
"tinypool@npm:^1.0.2":
version: 1.0.2
resolution: "tinypool@npm:1.0.2"
@@ -19540,17 +19477,6 @@ __metadata:
languageName: node
linkType: hard
"to-buffer@npm:^1.2.0":
version: 1.2.1
resolution: "to-buffer@npm:1.2.1"
dependencies:
isarray: "npm:^2.0.5"
safe-buffer: "npm:^5.2.1"
typed-array-buffer: "npm:^1.0.3"
checksum: 10c0/bbf07a2a7d6ff9e3ffe503c689176c7149cf3ec25887ce7c4aa5c4841a8845cc71121cd7b4a4769957f823b3f31dbf6b1be6e0a5955798ad864bf2245ee8b5e4
languageName: node
linkType: hard
"to-object-path@npm:^0.3.0":
version: 0.3.0
resolution: "to-object-path@npm:0.3.0"
@@ -20312,16 +20238,13 @@ __metadata:
linkType: hard
"vite@npm:^5.0.0 || ^6.0.0":
version: 6.3.5
resolution: "vite@npm:6.3.5"
version: 6.2.5
resolution: "vite@npm:6.2.5"
dependencies:
esbuild: "npm:^0.25.0"
fdir: "npm:^6.4.4"
fsevents: "npm:~2.3.3"
picomatch: "npm:^4.0.2"
postcss: "npm:^8.5.3"
rollup: "npm:^4.34.9"
tinyglobby: "npm:^0.2.13"
rollup: "npm:^4.30.1"
peerDependencies:
"@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0
jiti: ">=1.21.0"
@@ -20362,7 +20285,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
checksum: 10c0/df70201659085133abffc6b88dcdb8a57ef35f742a01311fc56a4cfcda6a404202860729cc65a2c401a724f6e25f9ab40ce4339ed4946f550541531ced6fe41c
checksum: 10c0/226bb3c1875e1982559007007580e8d083b81f5289f18e28841d622ba030599e1bd9926adccc8264879e319e9f9e4f48a38a0dc52a5dfcdf2a9cb7313bfc1816
languageName: node
linkType: hard