From 47812ffd09ead401a35ce0bf2a4b5727d91fbbd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gremaud?= Date: Sun, 24 May 2026 19:11:02 +0200 Subject: [PATCH] feat(market): settings toggle --- .../0015_migrate_data_from_submissions.py | 3 +-- polylan_submitter/polylan_submitter/api.py | 5 ++++- .../polylan_submitter/settings.py | 3 +++ polylan_submitter/polylan_submitter/urls.py | 10 +++++++++- polylan_submitter/src/Home.vue | 19 +++++++++++++++++-- polylan_submitter/templates/home.html | 2 +- 6 files changed, 35 insertions(+), 7 deletions(-) diff --git a/polylan_submitter/opus_magnum/migrations/0015_migrate_data_from_submissions.py b/polylan_submitter/opus_magnum/migrations/0015_migrate_data_from_submissions.py index f90c4e0..c208621 100644 --- a/polylan_submitter/opus_magnum/migrations/0015_migrate_data_from_submissions.py +++ b/polylan_submitter/opus_magnum/migrations/0015_migrate_data_from_submissions.py @@ -57,9 +57,8 @@ def migrate_data_backward(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ - ('opus_magnum', '0014_steamcollection_accepting_submissions'), + ("opus_magnum", "0014_steamcollection_accepting_submissions"), ] operations = [ diff --git a/polylan_submitter/polylan_submitter/api.py b/polylan_submitter/polylan_submitter/api.py index a2316bb..bc4424a 100644 --- a/polylan_submitter/polylan_submitter/api.py +++ b/polylan_submitter/polylan_submitter/api.py @@ -1,4 +1,5 @@ from ninja import NinjaAPI +from django.conf import settings from django.core.cache import cache from django.http import HttpRequest from opus_magnum.api import router as submissions_router @@ -37,7 +38,9 @@ api.add_router("/opus-magnum/", submissions_router, tags=["opus-magnum"]) api.add_router("/results/", results_router, tags=["results"]) api.add_router("/noita/", noita_router, tags=["noita"]) api.add_router("/games/", games_router, tags=["games"]) -api.add_router("/market/", market_router) + +if settings.MARKET_ENABLED: + api.add_router("/market/", market_router) # Health check endpoint diff --git a/polylan_submitter/polylan_submitter/settings.py b/polylan_submitter/polylan_submitter/settings.py index 75f684e..6d23b3a 100644 --- a/polylan_submitter/polylan_submitter/settings.py +++ b/polylan_submitter/polylan_submitter/settings.py @@ -169,6 +169,9 @@ ALLOWED_SUBMISSION_TYPES = [ "video/webm", ] +# Market app settings +MARKET_ENABLED = os.environ.get("MARKET_ENABLED", "true").lower() == "true" + # Authentication backends AUTHENTICATION_BACKENDS = [ "django.contrib.auth.backends.ModelBackend", diff --git a/polylan_submitter/polylan_submitter/urls.py b/polylan_submitter/polylan_submitter/urls.py index aabbdb8..8f51aca 100644 --- a/polylan_submitter/polylan_submitter/urls.py +++ b/polylan_submitter/polylan_submitter/urls.py @@ -33,7 +33,15 @@ OPUS_MAGNUM_APP_ID = 558990 @login_required def home(request: HttpRequest): - return render(request, "home.html", {}) + from django.conf import settings + + return render( + request, + "home.html", + { + "market_enabled": settings.MARKET_ENABLED, + }, + ) @login_required diff --git a/polylan_submitter/src/Home.vue b/polylan_submitter/src/Home.vue index b3846a2..f3d44b0 100644 --- a/polylan_submitter/src/Home.vue +++ b/polylan_submitter/src/Home.vue @@ -3,9 +3,16 @@ import { ref, onMounted } from "vue"; import { gamesApiListGames } from "./api"; import type { GamesApiListGamesResponse } from "./api/types.gen"; +interface Props { + marketEnabled?: string | boolean; +} + +const props = withDefaults(defineProps(), { + marketEnabled: true, +}); + const games = ref(); const loading = ref(true); - const imageErrors = ref>(new Set()); const getHeaderImage = (appId: number) => { @@ -20,7 +27,15 @@ const navigate = (path: string) => { window.location.href = path; }; +const isMarketEnabled = () => { + if (typeof props.marketEnabled === 'string') { + return props.marketEnabled === 'true'; + } + return Boolean(props.marketEnabled); +}; + onMounted(async () => { + // Fetch games list const response = await gamesApiListGames(); if (response.data) { games.value = response.data; @@ -48,7 +63,7 @@ onMounted(async () => {
-
diff --git a/polylan_submitter/templates/home.html b/polylan_submitter/templates/home.html index 65e5fc4..aff100e 100644 --- a/polylan_submitter/templates/home.html +++ b/polylan_submitter/templates/home.html @@ -9,5 +9,5 @@ {% endblock %} {% block content %} -
+
{% endblock %}