Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
3956137
merge: merge new changes
suprstarrd Feb 9, 2026
fe43326
feat: add hooks for all JSX utils
mrjvs Feb 21, 2026
1a7a65a
chore: port all usages of `utils` to `useUrl`
mrjvs Feb 21, 2026
cea440d
chore: remove all context props
mrjvs Feb 21, 2026
df9d593
chore: remove ctx usages
mrjvs Feb 21, 2026
123d479
chore: port all usages of useCache
mrjvs Feb 21, 2026
f91df93
feat: port pid and perms to useUser
mrjvs Feb 22, 2026
e9933e8
feat: add contexts to all JSX rendered templates
mrjvs Feb 22, 2026
8c5d586
feat: remove ctx props when rendering views
mrjvs Feb 22, 2026
e2f0077
feat: install i18next
mrjvs Feb 22, 2026
ea36f6a
feat: add T component
mrjvs Feb 22, 2026
b1bc26d
feat: use new T component instead of props.ctx.lang
mrjvs Feb 22, 2026
e22d3af
feat: fix some compile bugs
mrjvs Feb 22, 2026
d99eee7
fix: update types for T component
mrjvs Feb 22, 2026
bc2764c
fix: solve last couple bugs with language providing
mrjvs Feb 22, 2026
e1d1e2b
Add explaination comment
mrjvs Feb 22, 2026
bc19271
chore: Fix linting
mrjvs Feb 22, 2026
58f0c68
Merge branch 'dev' into feat/jsx-tools
mrjvs Feb 22, 2026
30b26e6
chore(ui): refactor icon views to new component style
ashquarky Feb 23, 2026
9ffca19
feat(admin): Add extra details to report view
ashquarky Feb 23, 2026
bd38ec9
feat(admin): bundle js/css
ashquarky Feb 23, 2026
58af93b
chore(admin): crappy TypeScript port
ashquarky Feb 23, 2026
b497ebc
chore(admin): refactor search bars, save pnid button, user mod stuff
ashquarky Feb 23, 2026
28c06fb
chore(admin): move report processing buttons
ashquarky Feb 23, 2026
4a01b39
chore(admin): refactor community edit image picker
ashquarky Feb 23, 2026
88aa0aa
feat(admin): improve title id input control
ashquarky Feb 23, 2026
5bbba08
chore: process review comments
mrjvs Feb 23, 2026
d7fb1ed
fix(admin): Add "reported by" text to clickable link
ashquarky Feb 24, 2026
44da457
fix(portal): rescale and tidy up design assets
ashquarky Feb 17, 2026
76650bd
fix(ctr): rescale design assets
ashquarky Feb 17, 2026
10fd510
fix(ui): optimize images
suprstarrd Feb 24, 2026
84ad6da
merge: merge new changes
suprstarrd Feb 24, 2026
09f11c7
fix: block replies to removed posts
suprstarrd Feb 24, 2026
6b15037
Merge pull request #388 from suprstarrd/fix/block-replies-to-removed-…
ashquarky Feb 24, 2026
50b222c
feat(debug): add toolbar emulator
ashquarky Feb 25, 2026
c3a75a6
fix(debug): make debug toolbar also work in legacy chrome
ashquarky Feb 25, 2026
81842cd
chore(ctr): Port toolbar configs to TypeScript
ashquarky Feb 25, 2026
0207366
chore(ctr): Streamline toolbar API and use it everywhere
ashquarky Feb 25, 2026
eb3de01
fix(ctr): show server error responses
ashquarky Feb 25, 2026
d328a51
feat(ui): convert ctr/ui new post modals to full pages
ashquarky Feb 27, 2026
0ef58ee
feat(ui): convert ctr/portal report modals to pages
ashquarky Feb 27, 2026
23dd6d5
fix(ctr): Tidy up reporting page
ashquarky Feb 27, 2026
d698f79
feat(ctr): add report button to post replies
ashquarky Feb 27, 2026
e6ae09c
chore(ctr): remove post modules
ashquarky Feb 27, 2026
11abda4
fix(ctr): default report option
ashquarky Feb 27, 2026
042cf7f
Merge pull request #390 from PretendoNetwork/master
mrjvs Feb 28, 2026
a83bd3a
fix: add fallback language
mrjvs Feb 28, 2026
5aecfbf
Merge pull request #378 from PretendoNetwork/work/modpanel-tweaks
ashquarky Feb 28, 2026
7aa4179
Merge branch 'dev' into work/modal-no-more
ashquarky Feb 28, 2026
96b8414
Merge pull request #389 from PretendoNetwork/work/modal-no-more
ashquarky Feb 28, 2026
0660119
Merge branch 'dev' into feat/jsx-tools
mrjvs Mar 1, 2026
5658d0c
feat: add static files routing for improved caching
mrjvs Mar 1, 2026
727ad4d
chore: reorganize routers
mrjvs Mar 1, 2026
68f1f54
feat: update all references to assets to the new path
mrjvs Mar 1, 2026
9e2cd7b
fix: add simple static route back in for notification images
mrjvs Mar 1, 2026
9e38f5b
feat: add 404 for assets
mrjvs Mar 1, 2026
85702c3
chore(juxt): update common packages and lint
binaryoverload Mar 1, 2026
79184ef
chore(miiverse): update common packages and lint
binaryoverload Mar 1, 2026
283570d
Merge pull request #392 from PretendoNetwork/upgrades/common-configs
mrjvs Mar 1, 2026
2bc8804
chore(deps-dev): bump nodemon from 3.1.11 to 3.1.14
dependabot[bot] Mar 1, 2026
cdf7faa
Merge remote-tracking branch 'origin/dev' into feat/static-files
binaryoverload Mar 1, 2026
822cdd1
Merge pull request #377 from PretendoNetwork/feat/jsx-tools
binaryoverload Mar 1, 2026
6979141
chore(deps-dev): bump @bufbuild/buf from 1.65.0 to 1.66.0
dependabot[bot] Mar 1, 2026
d454f11
Merge remote-tracking branch 'origin/dev' into feat/static-files
binaryoverload Mar 1, 2026
ece1804
fix image urls for static file change
binaryoverload Mar 1, 2026
74f73c2
Merge pull request #386 from PretendoNetwork/dependabot/npm_and_yarn/…
binaryoverload Mar 1, 2026
e2c21dc
Merge pull request #379 from PretendoNetwork/dependabot/npm_and_yarn/…
binaryoverload Mar 1, 2026
bc2e91f
locales(update): Updated Chinese (Simplified Han script) locale
BBasilio2001 Mar 1, 2026
e1ddb6f
locales(update): Updated Czech locale
silver-volt4 Mar 1, 2026
1b09fc9
locales(update): Updated Chinese (Traditional Han script) locale
BBasilio2001 Mar 1, 2026
4859bfb
locales(update): Updated Basque locale
weblate Mar 1, 2026
c137fbe
locales(update): Updated Croatian locale
milotype Mar 1, 2026
4b7ebc8
locales(update): Updated Toki Pona locale
weblate Mar 1, 2026
d8e0abb
locales(update): Updated Hungarian locale
vargaviktor Mar 1, 2026
90993f7
Merge pull request #375 from PretendoNetwork/weblate
binaryoverload Mar 1, 2026
d175527
fix: revert changes to notifications
binaryoverload Mar 1, 2026
c9d1322
Merge pull request #266 from suprstarrd/imgbot
ashquarky Mar 5, 2026
dc872ac
Merge branch 'dev' into feat/static-files
mrjvs Mar 5, 2026
adbd216
Merge pull request #391 from PretendoNetwork/feat/static-files
mrjvs Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .docker/squash-images.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/fish

# Shitty image opt script
# Delete once we have proper stuff

source (which env_parallel.fish)

set files (find . -name '*.png' -print0 | string split0)

echo Will process (count $files) images.

function process
oxipng -o max --zopfli --zi 50 --ng --strip all $argv
ect -9 -strip --allfilters-b $argv
end

env_parallel --env process process ::: $files
10 changes: 6 additions & 4 deletions apps/juxtaposition-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"express-session": "^1.19.0",
"express-subdomain": "^1.0.6",
"hashmap": "^2.4.0",
"i18next": "^25.8.13",
"luxon": "^3.7.2",
"method-override": "^3.0.0",
"moment": "^2.30.1",
Expand All @@ -48,13 +49,14 @@
"prom-client": "^15.1.3",
"react": "^19.1.1",
"react-dom": "^19.2.4",
"react-i18next": "^16.5.4",
"redis": "^5.10.0",
"tsx": "^4.21.0",
"zod": "^4.3.6"
},
"devDependencies": {
"@pretendonetwork/cave-types": "^1.0.2",
"@pretendonetwork/eslint-config": "^0.1.3",
"@pretendonetwork/eslint-config": "^0.1.4",
"@pretendonetwork/wiiu-browser-types": "^1.0.0",
"@pretendonetwork/wiiu-dialog-types": "^1.0.0",
"@pretendonetwork/wiiu-error-viewer-types": "^1.0.0",
Expand All @@ -73,9 +75,9 @@
"esbuild-fix-imports-plugin": "^1.0.23",
"esbuild-plugin-copy": "^2.1.1",
"esbuild-raw-plugin": "^0.3.1",
"eslint": "^9.39.2",
"globals": "^17.3.0",
"nodemon": "^3.1.11",
"eslint": "^9.39.3",
"globals": "^17.4.0",
"nodemon": "^3.1.14",
"npm-run-all": "^4.1.5",
"tsup": "^8.5.1",
"typescript": "^5.9.3"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"sixth": "Nezveřejňujte osobní informace — Vaše i jiných",
"first": "Následující pravidla jsou důležitými pokyny, které z Juxtu dělají zábavným a příjemným místem pro každého. Pravidla Juxtu obsahují detailní informace, přečtěte si je, prosím, pozorně.",
"eighth": "Dejte pozor na spoilery",
"seventh": "Pamatujte, že znát někoho na Juxtu není to samé, jako je znát v reálném světě. Nikdy na Juxtu nesdílejte e-mailovou adresu, bydliště, jméno pracoviště, školy nebo jiné osobní údaje o Vás nebo jiných lidech. Dále také nepříjímejte pozvánky ke schůzkám v reálném světě. Juxt je online komunita a neměla by být používána k plánování schůzek v reálném světě.",
"seventh": "Pamatujte, že znát někoho na Juxtu není to samé jako znát někoho v reálném světě. Nikdy na Juxtu nesdílejte e-mailovou adresu, bydliště, kde pracujete, kam chodíte do školy nebo jiné osobní údaje o Vás nebo jiných lidech. Dále také nepříjímejte pozvánky ke schůzkám v reálném světě. Juxt je online komunita a neměla by být používána k plánování schůzek v reálném světě.",
"twelfth": "Hrál(a) jste tuto hru?"
},
"beta_text": {
Expand All @@ -106,7 +106,7 @@
"ready": "Jste připraven(a) začít s Juxtem",
"guest_text": "Váš účet v tuto chvíli nemůžeme ověřit, což nejspíš znamená, že jste přihlášen(a) účtem Nintendo Network. Stále můžete prohlížet Juxt, ale nebudte moct Yeah!ovat příspěvky nebo přidávat své vlastní, dokud se nepřihlásíte s účtem Pretendo Network. Pro více informací nahlédněte do Discord serveru.",
"experience": "Zkušenost s hrami",
"analytics": "Analytics",
"analytics": "Analytické údaje",
"rules": "Pravidla Juxtu",
"welcome_text": "Juxt je herní komunita, která propojuje lidi z celého světa prostřednictvím Mii postav. Použijte Juxt pro sdílení Vašich herních zážitků a poznejte lidi z celého světa.",
"analytics_text": "Služba Juxtaposition používá Cloudflare Web Analytics, aby sledovala, jak ji lidé používají. Tato data zahrnují, ale nejsou omezena na: čas přístupu, navštívené stránky a čas strávený na síti. Tato data nejsou spojena s Vaší identitou a nejsou používána Cloudflare ani námi pro účely reklamy.",
Expand Down
126 changes: 126 additions & 0 deletions apps/juxtaposition-ui/src/assets/locales/eu.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"language": "Euskara",
"global": {
"user_page": "Erabiltzailearen orria",
"activity_feed": "Jarduera",
"communities": "Komunitateak",
"messages": "Mezuak",
"notifications": "Jakinarazpenak",
"go_back": "Atzera joan",
"back": "Atzera",
"save": "Gorde",
"more": "Argitarapen gehiago erakutsi",
"no_posts": "Ez dago argitarapenik",
"private": "Pribatua",
"close": "Itxi",
"exit": "Irten",
"next": "Hurrengoa",
"yeahs": "Datseginak"
},
"all_communities": {
"text": "Komunitate denak",
"announcements": "Iragarpenak",
"ann_string": "Hemen klik egin notizia berriak ikusteko!",
"popular_places": "Toki ospetsuak",
"new_communities": "Komunitate berriak",
"show_all": "Dena erakutsi",
"search": "Komunitateak bilatu..."
},
"community": {
"follow": "Komunitatea Jarraitu",
"following": "Jarraitzen",
"followers": "Jarraitzaileak",
"posts": "Argitalpenak",
"tags": "Etiketak",
"recent": "Publikazio berriak",
"popular": "Argitaralpen ospetsuak",
"verified": "Egiaztatutako argitaralpenak",
"new": "Argitalpen berriak"
},
"user_page": {
"country": "Herrialdea",
"birthday": "Urtebetetzea",
"game_experience": "Joko mailak",
"friends": "Lagunak",
"following": "Jarraitzen",
"followers": "Jarraitzaileak",
"follow_user": "",
"no_following": "",
"befriend": "",
"posts": "",
"following_user": "",
"pending": "",
"unfriend": "",
"no_followers": "",
"no_friends": ""
},
"setup": {
"rules_text": {
"eleventh": "",
"tenth": "",
"third": "",
"thirteenth": "",
"fifth": "",
"ninth": "",
"fourth": "",
"second": "",
"sixth": "",
"first": "",
"eighth": "",
"seventh": "",
"twelfth": ""
},
"beta_text": {
"third": "",
"second": "",
"first": ""
},
"experience_text": {
"expert": "",
"info": "",
"intermediate": "",
"beginner": ""
},
"guest_button": "",
"analytics": "",
"done_button": "",
"guest": "",
"ready": "",
"guest_text": "",
"experience": "",
"rules": "",
"welcome_text": "",
"analytics_text": "",
"info": "",
"info_text": "",
"ready_text": "",
"done": "",
"beta": "",
"welcome": ""
},
"notifications": {
"none": "",
"new_follower": ""
},
"new_post": {
"swearing": "",
"text_hint": "",
"new_post_text": "",
"post_to": ""
},
"user_settings": {
"show_game": "",
"show_comment": "",
"show_birthday": "",
"profile_settings": "",
"profile_comment": "",
"swearing": "",
"show_country": ""
},
"activity_feed": {
"empty": ""
},
"messages": {
"coming_soon": ""
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"text_hint": "Dodirni ovdje za izradu objave."
},
"messages": {
"coming_soon": "Poruke još ne radi. Navrati kasnije!"
"coming_soon": "Nema poruka"
},
"setup": {
"welcome": "Dobro došli u Juxtaposition!",
Expand Down Expand Up @@ -108,7 +108,7 @@
"intermediate": "Napredni",
"expert": "Profesionalac"
},
"analytics": "Analytics",
"analytics": "Analitika",
"analytics_text": "Juxtaposition koristi Cloudflare Web Analytics kako bi pratio način na koji korisnici koriste našu uslugu. Prikupljeni podaci uključuju, ali nisu ograničeni na vrijeme posjete, posjećene stranice i provedeno vrijeme na web stranici. Ovi podaci nisu na nikoji način s tobom povezani i mi niti Cloudflare ih ne koristimo za oglase.",
"ready": "Sve je spremno za početak korištenja Juxta",
"ready_text": "Najprije pogledaj neke zajednice i vidi što ljudi iz cijelog svijeta objavljuju. Iskoristi ovu priliku da upoznaš Juxt. Možda ćeš otkriti nešto novo!",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
"intermediate": "Középszint",
"expert": "Profi"
},
"analytics": "Analytics",
"analytics": "Analitika",
"ready": "Készen állsz használni a Juxt-ot",
"ready_text": "Először nézz meg néhány közösséget, és nézd meg, miről posztolnak az emberek a világ minden tájáról. Használd ki az alkalmat, hogy megismerkedj a Juxttal. Útközben új felfedezéseket tehetsz!",
"done": "Jó szórakozást a Juxt-ban!",
Expand Down
126 changes: 126 additions & 0 deletions apps/juxtaposition-ui/src/assets/locales/tok.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"setup": {
"rules_text": {
"eleventh": "",
"tenth": "",
"third": "",
"thirteenth": "",
"fifth": "",
"ninth": "",
"fourth": "",
"second": "",
"sixth": "",
"first": "",
"eighth": "",
"seventh": "",
"twelfth": ""
},
"beta_text": {
"third": "",
"second": "",
"first": ""
},
"experience_text": {
"expert": "",
"info": "",
"intermediate": "",
"beginner": ""
},
"guest_button": "",
"analytics": "",
"done_button": "",
"guest": "",
"ready": "",
"guest_text": "",
"experience": "",
"rules": "",
"welcome_text": "",
"analytics_text": "",
"info": "",
"info_text": "",
"ready_text": "",
"done": "",
"beta": "",
"welcome": ""
},
"global": {
"communities": "",
"more": "",
"next": "",
"yeahs": "",
"messages": "",
"activity_feed": "",
"exit": "",
"back": "",
"notifications": "",
"save": "",
"no_posts": "",
"private": "",
"close": "",
"user_page": "",
"go_back": ""
},
"notifications": {
"none": "",
"new_follower": ""
},
"user_page": {
"follow_user": "",
"game_experience": "",
"no_following": "",
"befriend": "",
"posts": "",
"friends": "",
"following_user": "",
"pending": "",
"followers": "",
"unfriend": "",
"no_followers": "",
"no_friends": "",
"birthday": "",
"country": "",
"following": ""
},
"new_post": {
"swearing": "",
"text_hint": "",
"new_post_text": "",
"post_to": ""
},
"community": {
"new": "",
"posts": "",
"tags": "",
"followers": "",
"following": "",
"follow": "",
"verified": "",
"recent": "",
"popular": ""
},
"user_settings": {
"show_game": "",
"show_comment": "",
"show_birthday": "",
"profile_settings": "",
"profile_comment": "",
"swearing": "",
"show_country": ""
},
"all_communities": {
"show_all": "",
"announcements": "",
"search": "",
"text": "",
"ann_string": "",
"new_communities": "",
"popular_places": ""
},
"language": "",
"activity_feed": {
"empty": ""
},
"messages": {
"coming_soon": ""
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"language": "中文(简体)",
"language": "简体中文",
"global": {
"user_page": "用户页面",
"activity_feed": "活动提要",
Expand Down Expand Up @@ -38,7 +38,7 @@
"new": "新建帖子"
},
"user_page": {
"country": "国家",
"country": "国家/地区",
"birthday": "生日",
"game_experience": "游戏经验",
"posts": "帖子",
Expand Down
Loading