1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00

!feat: major 3.0 release candidate

This commit is contained in:
2025-05-03 23:59:43 +03:00
parent dbc8c7fd4d
commit 39793a38c3
143 changed files with 14277 additions and 0 deletions
@@ -0,0 +1,51 @@
import { CollectionItem, GraphicsItem, GraphicsStorage } from "@/models/CollectionModels";
import { sendMessage } from "@/utils/messaging";
import { collectionStorage } from "./collectionStorage";
export default async function updateGraphics(
collections: CollectionItem[],
graphicsCache?: GraphicsStorage
): Promise<void>
{
const localGraphics: GraphicsStorage = await collectionStorage.graphics.getValue();
const tempGraphics: GraphicsStorage = graphicsCache || await sendMessage("getGraphicsCache", undefined);
function getGraphics(url: string): GraphicsItem | null
{
const preview = tempGraphics[url]?.preview ?? localGraphics[url]?.preview;
const icon = tempGraphics[url]?.icon ?? localGraphics[url]?.icon;
const graphics: GraphicsItem = {};
if (preview)
graphics.preview = preview;
if (icon)
graphics.icon = icon;
return preview || icon ? graphics : null;
}
const newGraphics: GraphicsStorage = {};
for (const collection of collections)
for (const item of collection.items)
{
if (item.type === "group")
for (const tab of item.items)
{
const graphics = getGraphics(tab.url);
if (graphics)
newGraphics[tab.url] = graphics;
}
else
{
const graphics = getGraphics(item.url);
if (graphics)
newGraphics[item.url] = graphics;
}
}
await collectionStorage.graphics.setValue(newGraphics);
}