FEAT: Add default landing pages

This commit is contained in:
Brandon Nguyen
2026-09-07 13:52:02 -07:00
parent 1f8ab0c1af
commit ed1066f253
8 changed files with 79 additions and 1 deletions

7
.gitignore vendored
View File

@@ -236,6 +236,11 @@ spirit/assets/bundleCache/foil_masks/
# fresh clone has a working Home button without needing a local game install.
!spirit/assets/bundleCache/en_US_Logos/
!spirit/assets/bundleCache/en_US_Logos/**
# Default landing carousel artwork for new installations.
!spirit/assets/bundleCache/en_US_LandingPage_CRR80_3/
!spirit/assets/bundleCache/en_US_LandingPage_CRR80_3/**
!spirit/assets/bundleCache/en_US_LandingPage_CRR87_3/
!spirit/assets/bundleCache/en_US_LandingPage_CRR87_3/**
!spirit/assets/cards/
# Static localization reference data must ship with the repo (server loads it at
# startup; a git-clone deploy has no other source). Runtime account/user DBs stay ignored.
@@ -249,4 +254,4 @@ AGENTS.md
unity_ptcgo_recon/
docs/
native/
native/

View File

@@ -0,0 +1,4 @@
-1
1677808771
1
__data

View File

@@ -0,0 +1,4 @@
-1
1677808766
1
__data

View File

@@ -1,5 +1,13 @@
# Custom landing-page artwork
Fresh databases receive the two starter pages from
`spirit/database/json_data/default_dynamic_pages.json` when the `dynamic_pages`
table is first created. Their Whimsicott and Galarian Articuno artwork ships in
the tracked `en_US_LandingPage_CRR87_3` and `en_US_LandingPage_CRR80_3` bundles.
Existing tables are left alone, including intentionally empty ones: editing or
deleting pages in the dashboard persists across restarts. To change defaults
for future installations, edit the JSON seed; do not commit `ptcgo_server.db`.
Add a 16:9 PNG here to make it available in **Admin Dashboard → Dynamic
Pages → Browse game artwork**. A 1920×1080 source is recommended.

View File

@@ -6,6 +6,7 @@ from spirit.database.models import (
VersusProgress, DailyLoginProgress,
AsyncTournament, TournamentEntry, TournamentLeaderboardClaim
)
from spirit.database import seeds as _seeds
__all__ = [
"Base",

View File

@@ -0,0 +1,56 @@
[
{
"page_type": "landing",
"sort_order": 1,
"content_json": {
"template": "LandingPageLeft",
"sortOrder": 1,
"startTime": 0,
"endTime": 4102444800000,
"labels": {
"GameText": {
"token": "spirit.dynamic_page.game_text",
"bundle": {
"en_US": "Welcome to SpiritPTCGO"
}
}
},
"images": {
"GameBackground": {
"localeImageMap": {
"en_US": "LandingPage/swsh9_whimsicott_landingpage"
}
}
},
"actions": {}
},
"enabled": true
},
{
"page_type": "landing",
"sort_order": 2,
"content_json": {
"template": "LandingPageRight",
"sortOrder": 2,
"startTime": 0,
"endTime": 4102444800000,
"labels": {
"GameText": {
"token": "spirit.dynamic_page.game_text",
"bundle": {
"en_US": "The first PTCGO private server!"
}
}
},
"images": {
"GameBackground": {
"localeImageMap": {
"en_US": "LandingPage/swsh6_galarianarticuno_landingpage"
}
}
},
"actions": {}
},
"enabled": true
}
]