Files
VOREStation/tgui/packages/common/assets.ts
T
Kashargul 6cf7d1ab5f ports the chat panel and backend updates [NO GBP] (#18895)
* ports the chat  settings update

* .

* .

* follow up changes

* zod

* migration changes from jl

* this will blow up badly

* yuck

* .

* .

* order

* .

* :

* be gone

* .

* .

* logging

* dix logging

* move to its own atom

* fix settings import

* .

* fix audio

* tgui fix

* .

* archiving as atom

* more changes from JL

* bring back default archive  all

* no stale state

* no need to run twice

* -

* we need both anyway

* dep up

* .

* build fixes port

* Fix file path replacement in build script

* backend update

* .

* .

* use the tg method

* only use as unchunked fallback for say etc

* .

* linter errors

* tg's chunking methód should be sane enough

* sadly still not

* update for tg chunking

* force those

* jl suggestion

* .

* needs game atom

* push

* have this

* we only want to store if a page was changed or added

* only store what we really care about

* fixes import port

* we need settings first

* recoloring shouldn't be a pain

* partial

* .

* some type fixing

* .

* no throw of events

* ree map might not be there yet

* .

* always store our settings

* this is a valid crash

* ss early assets

* saver image access

* missed unsafe access

* .

* move chat loading order

* .

* .

* .

* .

* missing unregs

* keep the ref map name, just don't bother

* await the asset like redux did before

* try that?

* .

* use await

* biome up

* better handling as JL did on tg

* rename

* last dep up

* major bump here

* major bump

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2026-01-06 11:56:31 +01:00

31 lines
669 B
TypeScript

const EXCLUDED_PATTERNS = [/v4shim/i];
export function loadStyleSheet(payload: string): void {
Byond.loadCss(payload);
}
export function loadMappings(
payload: Record<string, string>,
/** Lets you insert your own independent asset map. */
map: Record<string, string>,
): void {
for (const name in payload) {
// Skip anything that matches excluded patterns
if (EXCLUDED_PATTERNS.some((regex) => regex.test(name))) {
continue;
}
const url = payload[name];
const ext = name.split('.').pop();
map[name] = url;
if (ext === 'css') {
Byond.loadCss(url);
}
if (ext === 'js') {
Byond.loadJs(url);
}
}
}