mirror of
https://gitflic.ru/project/alt-gnome/karkas.git
synced 2025-08-22 18:43:44 +03:00
55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
from typing import TYPE_CHECKING
|
|
|
|
from aiogram import types
|
|
from fastapi.middleware.wsgi import WSGIMiddleware
|
|
|
|
from karkas_core.modules_system.public_api import (
|
|
Storage,
|
|
get_module,
|
|
set_chat_menu_button,
|
|
)
|
|
|
|
if TYPE_CHECKING:
|
|
from karkas_blocks.standard.config import IConfig
|
|
|
|
config: "IConfig" = get_module("standard.config", "config")
|
|
|
|
|
|
def get_link():
|
|
pass
|
|
|
|
|
|
def module_init():
|
|
|
|
config.register(
|
|
"miniapp::prefix",
|
|
"string",
|
|
default_value="/webapp/",
|
|
visible=False,
|
|
)
|
|
|
|
config.register(
|
|
"miniapp::public_url",
|
|
"string",
|
|
visible=False,
|
|
)
|
|
|
|
pass
|
|
|
|
|
|
def register_page():
|
|
pass
|
|
|
|
|
|
async def module_late_init():
|
|
from .lib import create_dash_app
|
|
|
|
dash_app = create_dash_app(requests_pathname_prefix=config.get("miniapp::prefix"))
|
|
|
|
Storage.set("webapp", WSGIMiddleware(dash_app.server))
|
|
|
|
web_app_info = types.WebAppInfo(url=config.get("miniapp::public_url"))
|
|
menu_button = types.MenuButtonWebApp(text="Меню", web_app=web_app_info)
|
|
|
|
await set_chat_menu_button(menu_button)
|