schon/evibes/settings/unfold.py
Egor fureunoir Gorbunov 20ecaa683f Features: 1) Added "Orders", "Taskboard", "Support", "Quick Links" settings; 2) Reordered and updated setting labels for consistency.
Fixes: 1) Corrected line endings in locale file; 2) Updated POT-Creation-Date to reflect current build.

Extra: 1) Refactored setting file to improve structure; 2) Ensured translation keys match updated UI labels.
2025-11-16 15:48:23 +03:00

153 lines
5.3 KiB
Python

from django.templatetags.static import static
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
from evibes.settings.base import (
PROJECT_NAME,
STOREFRONT_DOMAIN,
SUPPORT_CONTACT,
TASKBOARD_URL,
LANGUAGES as BASE_LANGUAGES,
LANGUAGES_FLAGS,
)
UNFOLD = {
"SITE_URL": STOREFRONT_DOMAIN,
"SITE_TITLE": f"{PROJECT_NAME} Dashboard",
"SITE_HEADER": PROJECT_NAME,
"SITE_LOGO": "favicon.png",
"SITE_ICON": "favicon.ico",
"SITE_SYMBOL": "money",
"SHOW_LANGUAGES": True,
"SHOW_VIEW_ON_SITE": False,
"LOGIN": {
"image": lambda request: static("favicon.png"),
},
"COMMAND": {
"search_models": True,
"show_history": True,
},
"DASHBOARD_CALLBACK": "engine.core.views.dashboard_callback",
"LANGUAGES": {
"navigation": [
{
"bidi": code.split("-")[0] in {"ar", "he", "fa", "ur"},
"code": code,
"name": LANGUAGES_FLAGS.get(code),
"name_local": name,
"name_translated": _(name),
}
for code, name in BASE_LANGUAGES
],
},
"EXTENSIONS": {
"modeltranslation": {
"flags": LANGUAGES_FLAGS,
},
},
"SIDEBAR": {
"show_search": True,
"show_all_applications": True,
"navigation": [
{
"title": _("Menu"),
"separator": True,
"collapsible": False,
"items": [
{
"title": _("Dashboard"),
"icon": "dashboard",
"link": reverse_lazy("admin:index"),
},
{
"title": _("Health"),
"icon": "health_metrics",
"link": reverse_lazy("health_check:health_check_home"),
},
{
"title": _("Config"),
"icon": "construction",
"link": reverse_lazy("admin:core_config_changelist"),
},
{
"title": _("Periodic Tasks"),
"icon": "event_list",
"link": reverse_lazy("admin:django_celery_beat_periodictask_changelist"),
},
{
"title": "Sitemap",
"icon": "rss_feed",
"link": reverse_lazy("core:sitemap-index"),
},
{
"title": "Swagger",
"icon": "integration_instructions",
"link": reverse_lazy("swagger-ui-platform"),
},
{
"title": "Redoc",
"icon": "integration_instructions",
"link": reverse_lazy("redoc-ui-platform"),
},
{
"title": "GraphQL",
"icon": "graph_5",
"link": reverse_lazy("graphql-platform"),
},
{
"title": _("Taskboard"),
"icon": "view_kanban",
"link": TASKBOARD_URL,
},
{
"title": _("Support"),
"icon": "contact_support",
"link": SUPPORT_CONTACT,
},
],
},
{
"title": _("Quick Links"),
"separator": True,
"collapsible": False,
"items": [
{
"title": _("Users"),
"icon": "person",
"link": reverse_lazy("admin:vibes_auth_user_changelist"),
},
{
"title": _("Groups"),
"icon": "people",
"link": reverse_lazy("admin:vibes_auth_group_changelist"),
},
{
"title": _("Orders"),
"icon": "package",
"link": reverse_lazy("admin:core_order_changelist"),
},
{
"title": _("Products"),
"icon": "storefront",
"link": reverse_lazy("admin:core_product_changelist"),
},
{
"title": _("Categories"),
"icon": "category",
"link": reverse_lazy("admin:core_category_changelist"),
},
{
"title": _("Brands"),
"icon": "copyright",
"link": reverse_lazy("admin:core_brand_changelist"),
},
{
"title": _("Blogposts"),
"icon": "newspaper",
"link": reverse_lazy("admin:blog_post_changelist"),
},
],
},
],
},
}