mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-14 23:57:16 +01:00
+12![github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
![/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
![github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
![/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)
![/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)





Burzah
GitHub
Aylong
warriorstar-orion
Arthri
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
Toastical
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
Aylong
Arthri
/tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
Charlie Nolan
18573ef254
* [TGUI v6 Project] Remove `context` (#29086)
* [TGUI v6 Project] Remove `context`
* I forgot I had to do that.
* [TGUI v6 Project] Move to React (#29090)
* It compiles
* Last Inferno uses
* all works now
* Fixes
* [TGUI v6] Changes files extensions for interfaces from .js to .jsx, Deprecates Inferno State Hooks (#29094)
* Initial Commit
* Apply suggestions from code review
trust me bro
Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
---------
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com>
* [TGUI v6] Replaces babel with swc, fixes realtive paths on a few files, new build (#29100)
* Initial commit
* Build
* webpack config and errors and rebuild
* export routingError, hopefully
* fix pda app routing
* pass current tab index to tab headers and content in nanobank
---------
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
* fix dna modifier bluescreen and library computer tabs (#29108)
* TGUI parity with TG
Need to fix a bunch of things...
* Implement TGUI payload chunking backend
https://github.com/tgstation/tgstation/pull/90295
* Filx chan bottom scroll. Again
* Fix TGchat focus
* Fix rounding
* Fix inputs
* Upgrade deps
* More fixes
* Fix chat lineHeight
* Fix NanoMap
* Update `tgui-core`
* fix autolathe
* fix airlock electronics
* fix intercom
* fix compost bin height
* Fix chat preferences
* Move to TSX without types :clueless:
* test tiny meet your new brother test tgui
* Fix RCD
* fix stackcraft
* fix up beakercontents
* Fix MODsuits
* fix seed extractor
* Merge branch 'tgui-v6' of github.com:ParadiseSS13/Paradise into tgui-v6
* fix holodeck
* fix cookbook pda app
* fix remaining useState args
* Fix DNAModifier
* Fix Sleeper
* Fix SupermatterMonitor
* Remove `vitest`
* Update dev-server
* Fix `IconStack`
* Correct margin
* bundles, please don't break
* prettier
* Revert "Remove `vitest`"
This reverts commit 0609006abb.
* Re-add tests
* Prettier
* fix maplint for test_tgui
* TGchat shine effect
* TGUI Rebuildo
* Fix broken tabs, search boxes, sortable tables, and others (#29450)
* Replace KitchenSink theme state with a React context
* Remove last usage of useLocalState
* Rebind unbound useState calls
* Build and update /tg/ui
* Reformat /tg/ui
* [ci skip]
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
* Ports #29217 to tgui v6. Added tgui-setup to CI builds (#29787)
* Add tgui-setup to build scripts
* Fix CORS issue
* Build and update /tg/ui
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
* Add one missing word to comment
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix law manager
* Removes dangling references to `context` (#29793)
* Removes dangling references to `context`
* Build and update /tg/ui (#25)
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix messenger and atmos scanner
* swap out line break in examinate
* fix powermonitor
* Bump tgui-core from 3.1.5/3.1.4 to 4.3.4 (#29799)
* Bump tgui-core
* Build and update /tg/ui (#28)
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fixes additional examine text
* oopsie
* Small tgui v6 fixes (#29801)
* Remove flow
* Miscellaneous fixes
* Miscellaneous fixes
* Moved properties placed on the wrong element
* Migrate removed CSS attributes in JSX
* Build and update /tg/ui (#27)
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix carbon examine
* fix robot examine
* fix lint
* improve SMES appearance
* fix camera console name order
* more newline fixes
* fix boolean modal cancel not working
* fix random disabled access in RCD
* point tgui to correct passthrough verb names
* Fix missing 0 option for ERTs. (#29819)
* fix newlines in damage flavor
* Revert all changes related to newlines in DM
* fix the actual thing that was wrong with newlines
* fix ERT manager deny input
* [tgui-v6] Makes Agent Card UI more aesthethic, fixes input fields, fixes minimum age slider (#29832)
* agent card fixes and tweaks
* tgui bundle
* Reformat /tg/ui (#33) (#29838)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* restore camera console list appearance
* fixed pai ui paths (#29867)
* /tg/ui fixes no. 3 (#29868)
* Remove IconStack styles that conflict with styles added in tgstation/tgui-core#203
* Fix minesweeper icon
* DNA Modifier fixes
* Fix alignment of icons in PDA games menu
* Expand chem dispenser
* Fix pAI interfaces
* Build and update /tg/ui
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Toastical <20125180+Toastical@users.noreply.github.com>
* teleporter fix, bundle changes, test
* /tg/ui fixes no.4 (#29877)
* Fix translucent buttons
* Remove stories already present in tgui-core
* Make voting choices not transparent
* Build and update /tg/ui
* Fix size of set ringtone in PDA messenger
* Fix crew monitor highlight colors
* Fix ReagentsEditor search. Small style fixes
* tgui-say radio prefix has special color again
* Expand chameleon mask a little
* Fix search in chameleon mask
* Make list input modal slightly taller
* [ci skip]
* Build /tg/ui
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
---------
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Aylong <alexanderkitsa@gmail.com>
Co-authored-by: Arthri <41360489+Arthri@users.noreply.github.com>
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Charlie Nolan <funnyman3595@gmail.com>
Co-authored-by: Toastical <20125180+Toastical@users.noreply.github.com>
144 lines
5.0 KiB
JavaScript
144 lines
5.0 KiB
JavaScript
import { useState } from 'react';
|
|
import { useDispatch, useSelector } from 'tgui/backend';
|
|
import { Button, Collapsible, Input, LabeledList, NoticeBox, Section, Slider, Stack } from 'tgui-core/components';
|
|
import { toFixed } from 'tgui-core/math';
|
|
import { capitalize } from 'tgui-core/string';
|
|
|
|
import { updateSettings } from './actions';
|
|
import { FONTS } from './constants';
|
|
import { selectSettings } from './selectors';
|
|
|
|
export const SettingsStatPanel = (props) => {
|
|
const { statLinked, statFontSize, statFontFamily, statTabsStyle } = useSelector(selectSettings);
|
|
const dispatch = useDispatch();
|
|
|
|
const TabsViews = ['default', 'classic', 'scrollable'];
|
|
const LinkedToChat = () => (
|
|
<NoticeBox m={0} color="red" style={{ padding: `0.2em 0.5em` }}>
|
|
Unlink Stat Panel from chat!
|
|
</NoticeBox>
|
|
);
|
|
|
|
const [freeStatFont, setFreeStatFont] = useState(false);
|
|
|
|
return (
|
|
<Section fill>
|
|
<Stack fill vertical>
|
|
<Stack.Item>
|
|
<LabeledList>
|
|
<LabeledList.Item label="Tabs">
|
|
{TabsViews.map((view) => (
|
|
<Button
|
|
key={view}
|
|
color="transparent"
|
|
selected={statTabsStyle === view}
|
|
onClick={() => dispatch(updateSettings({ statTabsStyle: view }))}
|
|
>
|
|
{capitalize(view)}
|
|
</Button>
|
|
))}
|
|
</LabeledList.Item>
|
|
<LabeledList.Item label="Font style">
|
|
{statLinked ? (
|
|
<LinkedToChat />
|
|
) : (
|
|
<Stack.Item>
|
|
{!freeStatFont ? (
|
|
<Collapsible
|
|
title={statFontFamily}
|
|
width={'100%'}
|
|
buttons={
|
|
<Button
|
|
icon={freeStatFont ? 'lock-open' : 'lock'}
|
|
color={freeStatFont ? 'good' : 'bad'}
|
|
onClick={() => {
|
|
setFreeStatFont(!freeStatFont);
|
|
}}
|
|
>
|
|
Custom font
|
|
</Button>
|
|
}
|
|
>
|
|
{FONTS.map((FONT) => (
|
|
<Button
|
|
key={FONT}
|
|
fontFamily={FONT}
|
|
selected={statFontFamily === FONT}
|
|
color="transparent"
|
|
onClick={() =>
|
|
dispatch(
|
|
updateSettings({
|
|
statFontFamily: FONT,
|
|
})
|
|
)
|
|
}
|
|
>
|
|
{FONT}
|
|
</Button>
|
|
))}
|
|
</Collapsible>
|
|
) : (
|
|
<Stack>
|
|
<Input
|
|
width={'100%'}
|
|
value={statFontFamily}
|
|
onChange={(value) =>
|
|
dispatch(
|
|
updateSettings({
|
|
statFontFamily: value,
|
|
})
|
|
)
|
|
}
|
|
/>
|
|
<Button
|
|
ml={0.5}
|
|
icon={freeStatFont ? 'lock-open' : 'lock'}
|
|
color={freeStatFont ? 'good' : 'bad'}
|
|
onClick={() => {
|
|
setFreeStatFont(!freeStatFont);
|
|
}}
|
|
>
|
|
Custom font
|
|
</Button>
|
|
</Stack>
|
|
)}
|
|
</Stack.Item>
|
|
)}
|
|
</LabeledList.Item>
|
|
<LabeledList.Item label="Font size">
|
|
<Stack.Item grow>
|
|
{statLinked ? (
|
|
<LinkedToChat />
|
|
) : (
|
|
<Slider
|
|
width="100%"
|
|
step={1}
|
|
stepPixelSize={20}
|
|
minValue={8}
|
|
maxValue={32}
|
|
value={statFontSize}
|
|
unit="px"
|
|
format={(value) => toFixed(value)}
|
|
onChange={(e, value) => dispatch(updateSettings({ statFontSize: value }))}
|
|
/>
|
|
)}
|
|
</Stack.Item>
|
|
</LabeledList.Item>
|
|
</LabeledList>
|
|
</Stack.Item>
|
|
<Stack.Divider mt={2.5} />
|
|
<Stack.Item textAlign="center">
|
|
<Button
|
|
fluid
|
|
icon={statLinked ? 'unlink' : 'link'}
|
|
color={statLinked ? 'bad' : 'good'}
|
|
onClick={() => dispatch(updateSettings({ statLinked: !statLinked }))}
|
|
>
|
|
{statLinked ? 'Unlink from chat' : 'Link to chat'}
|
|
</Button>
|
|
</Stack.Item>
|
|
</Stack>
|
|
</Section>
|
|
);
|
|
};
|