view libervia/web/pages/chat/select/_browser/__init__.py @ 1618:5d9889f14012 default tip @

server: start major redesign - Add icons to menu items - Switch menu items representation from tuple to dictionary for future extensibility: - Include icon information - Prepare for additional data - Remove "login" from main menu, add login page URL to template data, as it is now a separate right-aligned item
author Goffi <goffi@goffi.org>
date Sat, 26 Oct 2024 23:07:01 +0200
parents c6976c5b85a1
children
line wrap: on
line source


from bridge import AsyncBridge as Bridge
from browser import console as log, document
from cache import cache
from jid_search import JidSearch

bridge = Bridge()
log.warning = log.warn


async def empty_search(jid_search):
    # FIXME: this is Q&D way to add bookmarks, a proper handling of joined room must be
    #   done
    items = [
        {
            "entity": jid_,
            "groups": data["groups"]
        }
        for jid_, data in cache.roster.items()
    ]
    bookmarks = await bridge.bookmarks_list("muc", "all")
    for bm_values in list(bookmarks.values()):
        for room_jid, room_data in bm_values.items():
            items.append({"entity": room_jid})
    jid_search.show_items(items)

jid_search = JidSearch(
    document["search"],
    document["chat_items"],
    empty_cb = empty_search
)