feat: indicate plugins marked AI-assisted in the catalogue in the plugin store

This commit is contained in:
nekename committed 2026-10-06 12:34:20 +01:00
1 parent f10df5da0a
commit f9694810d2
2 files changed
+18 -1

No files matched your search

+5 -1
View File
@@ -1,6 +1,7 @@
<script lang="ts">
import ArrowSquareOut from "phosphor-svelte/lib/ArrowSquareOut";
import DownloadSimple from "phosphor-svelte/lib/DownloadSimple";
import Robot from "phosphor-svelte/lib/Robot";
import Popup from "./Popup.svelte";
import { t } from "$lib/i18n.ts";
@@ -14,7 +15,7 @@
import { onMount } from "svelte";
export let id: string;
export let details: { repository: string; name: string; author: string; download_url: string | undefined };
export let details: { repository: string; name: string; author: string; download_url: string | undefined; flags?: { ai_assisted?: boolean } };
let readme = `<strong>${$t("plugin_details.loading")}</strong>`;
let downloadCount = 0;
@@ -91,6 +92,9 @@
({details.repository.split("/")[3]})
{/if}
</a>
{#if details.flags?.ai_assisted}
<Robot size="20" class="ml-1.5 text-yellow-500" />
{/if}
</div>
<div class="flex flex-row items-center mt-6">
+13
View File
@@ -5,6 +5,7 @@
import FileArrowUp from "phosphor-svelte/lib/FileArrowUp";
import Gear from "phosphor-svelte/lib/Gear";
import MagnifyingGlass from "phosphor-svelte/lib/MagnifyingGlass";
import Robot from "phosphor-svelte/lib/Robot";
import Trash from "phosphor-svelte/lib/Trash";
import WarningCircle from "phosphor-svelte/lib/WarningCircle";
import ListedPlugin from "./ListedPlugin.svelte";
@@ -79,6 +80,9 @@
author: string;
repository: string;
download_url: string | undefined;
flags?: {
ai_assisted?: boolean;
};
};
async function installPluginGitHub(id: string, plugin: GitHubPlugin) {
if (plugin.download_url) {
@@ -343,6 +347,15 @@
action={() => (openDetailsView = id)}
actionLabel={$t("plugin_manager.view_details")}
>
<svelte:fragment slot="subtitle">
<span>
{plugin.author}
{#if plugin.flags?.ai_assisted}
<Robot size="1em" class="inline align-text-bottom text-yellow-500" />
{/if}
</span>
</svelte:fragment>
<ArrowSquareOut size="24" class="text-neutral-400" />
</ListedPlugin>
{/each}