Skip to content

Commit

Permalink
Fix: tgui rebuild for node 18
Browse files Browse the repository at this point in the history
  • Loading branch information
Furrior committed Sep 23, 2023
1 parent b38afa4 commit a8f36de
Show file tree
Hide file tree
Showing 3 changed files with 212 additions and 140 deletions.
117 changes: 59 additions & 58 deletions tgui/packages/tgui/interfaces/Photocopier220.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { useBackend, useLocalState } from '../backend';
import { Button, Section, Flex, Input } from "../components";
import { Button, Section, Flex, Input } from '../components';
import { Window } from '../layouts';
import { filter, sortBy } from 'common/collections';
import { FlexItem } from '../components/Flex';
import { flow } from 'common/fp';
import { createSearch } from 'common/string';

String.prototype.trimLongStr = function (length) {
return this.length > length ? this.substring(0, length) + "..." : this;
return this.length > length ? this.substring(0, length) + '...' : this;
};

const selectForms = (forms, searchText = '') => {
Expand All @@ -19,13 +19,15 @@ const selectForms = (forms, searchText = '') => {
])(forms);
};


export const Photocopier220 = (props, context) => {
const { act, data } = useBackend(context);

const [searchText, setSearchText] = useLocalState(context, 'searchText', '');

const forms = selectForms(sortBy(form => form.category)(data.forms || []), searchText);
const forms = selectForms(
sortBy((form) => form.category)(data.forms || []),
searchText
);
const categories = [];
for (let form of forms) {
if (!categories.includes(form.category)) {
Expand All @@ -34,30 +36,27 @@ export const Photocopier220 = (props, context) => {
}

let category;
if (data.category === "") {
if (data.category === '') {
category = forms;
} else {
category = forms.filter(form => form.category === data.category);
category = forms.filter((form) => form.category === data.category);
}

return (
<Window theme={data.ui_theme}>
<Window.Content
scrollable
display="flex">
<Flex
direction="row"
spacing={1}>
<Flex.Item
width={24}
shrink={0}>
<Section
title="Статус">
<Window.Content scrollable display="flex">
<Flex direction="row" spacing={1}>
<Flex.Item width={24} shrink={0}>
<Section title="Статус">
<Flex>
<Flex.Item mr="20px" color="grey">
Заряд тонера:
</Flex.Item>
<Flex.Item mr="5px" color={data.toner > 0 ? "good" : "bad"} bold>
<Flex.Item
mr="5px"
color={data.toner > 0 ? 'good' : 'bad'}
bold
>
{data.toner}
</Flex.Item>
</Flex>
Expand All @@ -71,8 +70,8 @@ export const Photocopier220 = (props, context) => {
data.copyitem
? data.copyitem
: data.mob
? "Жопа " + data.mob + "!"
: 'Слот для документа'
? 'Жопа ' + data.mob + '!'
: 'Слот для документа'
}
onClick={() => act('removedocument')}
/>
Expand All @@ -90,17 +89,16 @@ export const Photocopier220 = (props, context) => {
</Flex.Item>
</Flex>
</Section>
<Section
title="Управление">
<Section title="Управление">
<Flex>
<Flex.Item width="60%" mr="3px">
<Button
fluid
textAlign="center"
icon="clone"
content="Копия"
disabled={data.toner === 0 || !data.copyitem && !data.mob}
onClick={() => act("copy")}
disabled={data.toner === 0 || (!data.copyitem && !data.mob)}
onClick={() => act('copy')}
/>
</Flex.Item>
<Flex.Item width="40%" mr="3px">
Expand All @@ -110,7 +108,7 @@ export const Photocopier220 = (props, context) => {
icon="file"
disabled={data.toner === 0 || data.form === null}
content="Печать"
onClick={() => act("print_form")}
onClick={() => act('print_form')}
/>
</Flex.Item>
</Flex>
Expand All @@ -123,7 +121,7 @@ export const Photocopier220 = (props, context) => {
icon="terminal"
disabled={data.toner < 5}
content="Фото из БД"
onClick={() => act("aipic")}
onClick={() => act('aipic')}
/>
)}
</Flex.Item>
Expand Down Expand Up @@ -157,70 +155,73 @@ export const Photocopier220 = (props, context) => {
</Flex.Item>
</Flex>
</Section>
<Section
title="Бюрократия">
<Section title="Бюрократия">
<Flex>
<Flex.Item mr="20px" color="grey">
Форма:
</Flex.Item>
<FlexItem bold>
{data.form_id === "" ? "Не выбрана" : data.form_id}
{data.form_id === '' ? 'Не выбрана' : data.form_id}
</FlexItem>
</Flex>
<Flex
direction="column"
mt={2}>
<Flex direction="column" mt={2}>
<Flex.Item>
<Button
fluid
icon="chevron-right"
content="Все формы"
selected={data.category === "" ? "selected" : null}
onClick={() => act("choose_category", {
category: null,
})}
selected={data.category === '' ? 'selected' : null}
onClick={() =>
act('choose_category', {
category: null,
})
}
mb={1}
/>
</Flex.Item>
{categories.map(category => (
{categories.map((category) => (
<Flex.Item key={category}>
<Button fluid key={category}
<Button
fluid
key={category}
icon="chevron-right"
content={category}
selected={data.category === category ? "selected" : null}
onClick={() => act("choose_category", {
category: category,
})}
selected={data.category === category ? 'selected' : null}
onClick={() =>
act('choose_category', {
category: category,
})
}
mb={1}
/>
</Flex.Item>
))}
</Flex>
</Section>
</Flex.Item>
<Flex.Item
width={35}>
<Section
title={data.category === "" ? "Все формы" : data.category}>
<Flex.Item width={35}>
<Section title={data.category === '' ? 'Все формы' : data.category}>
<Input
fluid
mb={1}
placeholder="Поиск формы"
onInput={(e, value) => setSearchText(value)}
/>
<Flex
direction="column"
mt={2}>
{category.map(form => (
<Flex direction="column" mt={2}>
{category.map((form) => (
<Flex.Item key={form.path}>
<Button fluid key={form.path}
content={form.id + ": " + form.altername.trimLongStr(27)}
tooltip={form.id + ": " + form.altername}
selected={data.form_id === form.id ? "selected" : null}
onClick={() => act("choose_form", {
path: form.path,
id: form.id,
})}
<Button
fluid
key={form.path}
content={form.id + ': ' + form.altername.trimLongStr(27)}
tooltip={form.id + ': ' + form.altername}
selected={data.form_id === form.id ? 'selected' : null}
onClick={() =>
act('choose_form', {
path: form.path,
id: form.id,
})
}
mb={1}
/>
</Flex.Item>
Expand Down
Loading

0 comments on commit a8f36de

Please sign in to comment.