Skip to content

refactor/tweak: TGUI5 #6829

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 36 commits into
base: master220
Choose a base branch
from

Conversation

dageavtobusnick
Copy link
Collaborator

Описание

Сделано следующее:
Замена inferno на react, с последующем обновлением реакта (не до react 19)
Замена useLocalState на useState
Обновление компонентов и кора до состояния, близкого к состоянию tgui-core до отказа от 516
Все js файлы заменены на ts и tsx, с сопутствующим рефактором.
Заменен тгуи сей на версию для 516.
Заменен babel плагин на swc.
Поправлены и почищены от мусора многие интерфейсы, а так же исправлено несколько старых ошибок.
Убран старый компонент ImageButton. Все заменено на TS версию, которая теперь является ImageButton.
Убраны средства совместимости тгуи с IE. Их поддержка излишне затруднительна.
Добавлено предупреждение для тех, кто заходит на 515 с рекомендацией обновиться.
Обновлен yarn.
Пофикшена проблема со статтерами на 516. Для тех, у кого останутся проблемы добавлена опция отключения сохранения чата в хранилище.
Много мелких изменений интерфейсов и настроек, которые произошли вследствие данных изменений.
Использован код со следующих пр-ов:
tgstation/tgstation#74638
tgstation/tgstation#61081
tgstation/tgstation#74547
tgstation/tgstation#79877
tgstation/tgstation#79894
tgstation/tgstation#79898
tgstation/tgstation#80430
ParadiseSS13/Paradise#26952
tgstation/tgstation#80276
tgstation/tgstation#80616
tgstation/tgstation#80656
tgstation/tgstation#80195
tgstation/tgstation#80249
tgstation/tgstation#80368
tgstation/tgstation#80291
tgstation/tgstation#90608
ParadiseSS13/Paradise#29100
ParadiseSS13/Paradise#29078
ParadiseSS13/Paradise#29193
А так же множество кода с https://github.com/tgstation/tgui-core и https://github.com/tgstation/tgstation, явные пр-ы которого выделить трудно.

Причина создания ПР / Почему это хорошо для игры

Использование реакта открывает больше возможностей для создания собственных интерфейсов, а так же порта интерфейсов с других билдов.
Перевод всего на typescript позволяет обнаружить некоторые баги еще на стадии компиляции, чего при использовании js нельзя сделать в полной мере.
swc банально быстрее и современнее babel в плане скорости сборки.

Тесты

Запустил, проверил все интерфейсы, которые смог использовать без бд и игроков(примерно 90%). На них на 516 все работает хорошо.

@github-actions github-actions bot added TGUI Affects TGUI javascript Pull requests that update Javascript code labels May 9, 2025
@github-actions github-actions bot added the Merge Conflict This doesn't seem right label May 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
javascript Pull requests that update Javascript code Merge Conflict This doesn't seem right TGUI Affects TGUI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant