hotpocket/services/backend/hotpocket_backend/apps/ui/views/meta.py
Tomek Wójcik 2e8b8d7330 BTHLABS-60: Appearance settings
Co-authored-by: Tomek Wójcik <labs@tomekwojcik.pl>
Co-committed-by: Tomek Wójcik <labs@tomekwojcik.pl>
2025-10-07 04:42:58 +00:00

67 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import annotations
from django.http import HttpRequest, JsonResponse
from django.templatetags.static import static
from django.urls import reverse
from hotpocket_backend.apps.core.conf import settings
def manifest_json(request: HttpRequest) -> JsonResponse:
light_theme = False
if request.user.is_anonymous is False:
light_theme = request.user.settings.get('light_theme', None) or False
result = {
'name': settings.SITE_TITLE,
'short_name': settings.SITE_SHORT_TITLE,
'start_url': request.build_absolute_uri(
reverse('ui.associations.browse'),
),
'display': 'standalone',
'background_color': (
'#212529'
if light_theme is False
else '#ffffff'
),
'theme_color': (
'#2b3035'
if light_theme is False
else
'#f8f9fa'
),
'icons': [
{
'src': request.build_absolute_uri(
static('ui/img/icon-192.png'),
),
'sizes': '192x192',
'type': 'image/png',
},
{
'src': request.build_absolute_uri(
static('ui/img/icon-512.png'),
),
'sizes': '512x512',
'type': 'image/png',
},
],
'scope': '/',
'share_target': {
'action': request.build_absolute_uri(
reverse('ui.integrations.android.share_sheet'),
),
'method': 'POST',
'enctype': 'multipart/form-data',
'params': {
'title': 'title',
'text': 'text',
'url': 'url',
'files': [],
},
},
}
return JsonResponse(result)