From 19771237c96543ffd6fa0825d5937cd6d70d2947 Mon Sep 17 00:00:00 2001 From: Hibryda Date: Tue, 17 Mar 2026 02:22:20 +0100 Subject: [PATCH] =?UTF-8?q?refactor(pro):=20simplify=20PluginMarketplace?= =?UTF-8?q?=20component=20(503=E2=86=92310=20lines)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/commercial/PluginMarketplace.svelte | 511 ++++++-------------- 1 file changed, 159 insertions(+), 352 deletions(-) diff --git a/src/lib/commercial/PluginMarketplace.svelte b/src/lib/commercial/PluginMarketplace.svelte index a37a1ce..d0eaa48 100644 --- a/src/lib/commercial/PluginMarketplace.svelte +++ b/src/lib/commercial/PluginMarketplace.svelte @@ -1,31 +1,23 @@ // SPDX-License-Identifier: LicenseRef-Commercial
- - {#if toast} -
{toast}
- {/if} + {#if toast}
{toast}
{/if} -
- {#if tab === 'browse'} {#if catalogLoading}
Loading catalog...
{:else if catalogError} -
{catalogError}
+
{catalogError}
{:else if filtered.length === 0}
{search ? 'No plugins match your search' : 'No plugins available'}
{:else}
- {#each filtered as plugin (plugin.id)} -
(selectedPlugin = selectedPlugin?.id === plugin.id ? null : plugin)}> -
- {plugin.name} - v{plugin.version} + {#each filtered as p (p.id)} +
(selectedPlugin = selectedPlugin?.id === p.id ? null : p)}> +
+ {p.name} + v{p.version}
-
by {plugin.author}
-
{plugin.description}
-
- {#if plugin.tags} -
- {#each plugin.tags.slice(0, 3) as t} - {t} - {/each} -
- {/if} -
- {#if plugin.downloads != null}{fmtDownloads(plugin.downloads)} dl{/if} - {#if plugin.rating != null}{stars(plugin.rating)}{/if} +
by {p.author}
+
{p.description}
+
+ {#if p.tags}
{#each p.tags.slice(0, 3) as t}{t}{/each}
{/if} +
+ {#if p.downloads != null}{fmtDl(p.downloads)} dl{/if} + {#if p.rating != null}{stars(p.rating)}{/if}
- {#if plugin.permissions.length > 0} -
- {#each plugin.permissions.slice(0, 3) as perm} - {perm} - {/each} - {#if plugin.permissions.length > 3} - +{plugin.permissions.length - 3} - {/if} + {#if p.permissions.length > 0} +
+ {#each p.permissions.slice(0, 3) as pm}{pm}{/each} + {#if p.permissions.length > 3}+{p.permissions.length - 3}{/if}
{/if} -
-
@@ -236,35 +174,34 @@
{/if} - {#if selectedPlugin} + {@const sp = selectedPlugin}
-
-

{selectedPlugin.name}

- +
+

{sp.name}

+
-

{selectedPlugin.description}

-
-
Version {selectedPlugin.version}
-
Author {selectedPlugin.author}
- {#if selectedPlugin.license}
License {selectedPlugin.license}
{/if} - {#if selectedPlugin.sizeBytes != null}
Size {(selectedPlugin.sizeBytes / 1024).toFixed(0)} KB
{/if} - {#if selectedPlugin.minAgorVersion}
Min Version {selectedPlugin.minAgorVersion}
{/if} +

{sp.description}

+
+ Version {sp.version} + Author {sp.author} + {#if sp.license}License {sp.license}{/if} + {#if sp.sizeBytes != null}Size {(sp.sizeBytes / 1024).toFixed(0)} KB{/if} + {#if sp.minAgorVersion}Min Ver {sp.minAgorVersion}{/if}
- {#if selectedPlugin.permissions.length > 0} -
Permissions
-
{#each selectedPlugin.permissions as p}{p}{/each}
+ {#if sp.permissions.length > 0} +
Permissions
+
{#each sp.permissions as pm}{pm}{/each}
{/if} - {/if} - {:else} -
+
@@ -273,44 +210,39 @@ {#if installedLoading}
Loading installed plugins...
{:else if installedError} -
{installedError}
+
{installedError}
{:else if installed.length === 0}
No plugins installed. Browse the catalog to get started.
{:else} -
- {#each installed as plugin (plugin.id)} -
-
-
- {plugin.name} - v{plugin.version} - {#if plugin.hasUpdate && plugin.latestVersion} - v{plugin.latestVersion} available - {/if} +
+ {#each installed as p (p.id)} +
+
+
+ {p.name} + v{p.version} + {#if p.hasUpdate && p.latestVersion}v{p.latestVersion} available{/if}
-
by {plugin.author}
-
{plugin.description}
- {#if plugin.permissions.length > 0} -
- {#each plugin.permissions as perm}{perm}{/each} -
+
by {p.author}
+
{p.description}
+ {#if p.permissions.length > 0} +
{#each p.permissions as pm}{pm}{/each}
{/if}
-
- {#if plugin.hasUpdate} - {/if} - {#if confirmUninstall === plugin.id} - + {#if confirmUninstall === p.id} + {:else} - + {/if}
@@ -321,183 +253,58 @@