From 298d6023955781dc67cf3e512384acbbe0530f33 Mon Sep 17 00:00:00 2001 From: rekushi <1+rekushi@noreply.flipnote.world> Date: Thu, 29 Oct 2026 04:32:35 +0000 Subject: [PATCH] feat(dsi): add channels, search and server branding Add Channels and Search links and load home-menu text from server settings. --- hatenadir/ds/v2-xx/index.ugo.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hatenadir/ds/v2-xx/index.ugo.py b/hatenadir/ds/v2-xx/index.ugo.py index d35f088..b4bf05e 100644 --- a/hatenadir/ds/v2-xx/index.ugo.py +++ b/hatenadir/ds/v2-xx/index.ugo.py @@ -7,10 +7,14 @@ from reximemo import current_account, dsi_url, flipnote_buttons, make_menu, plac class PyResource(resource.Resource): isLeaf = True def render_GET(self, request): + from server_config import load_config + config = load_config() rows = Database.list_flipnotes(limit=8) account = current_account(request) buttons = [ {"label": "Browse Flipnotes", "url": dsi_url(request, "allflipnotes.uls"), "icon_ntft": placeholder_icon("browse"), "embed_name": "browse.ntft"}, + {"label": "Channels", "url": dsi_url(request, "channels.uls"), "icon": 101}, + {"label": "Search", "url": dsi_url(request, "search.uls"), "icon": 112}, {"label": "Account", "url": dsi_url(request, "sa/account.htm"), "icon_ntft": placeholder_icon("account"), "embed_name": "account.ntft"}, ] room = Database.room_for_account(account["id"]) if account else Database.room_for_ip(__import__('hatena').client_ip(request)) @@ -20,9 +24,9 @@ class PyResource(resource.Resource): request.setHeader(b"content-type", b"text/plain") return make_menu( layout=(2, 1), - title="RexiMemo OSE", - subtitle_top="Open Source Edition", - subtitle_bottom="Proxy build", + title=config.get("site_name") or "RexiMemo OSE", + subtitle_top=config.get("tagline") or "Open Source Edition", + subtitle_bottom=config.get("welcome_message") or "Proxy build", left="Recent", right=str(Database.count_flipnotes()), buttons=buttons,