From 5a212e95fc2dfb6725b6996b4a72a2acd8a6b942 Mon Sep 17 00:00:00 2001
From: Beebles <102569435+beebls@users.noreply.github.com>
Date: Wed, 7 Aug 2024 16:57:21 -0600
Subject: feat(motd): add motd component (untested)

---
 frontend/src/store.tsx | 138 -------------------------------------------------
 1 file changed, 138 deletions(-)
 delete mode 100644 frontend/src/store.tsx

(limited to 'frontend/src/store.tsx')

diff --git a/frontend/src/store.tsx b/frontend/src/store.tsx
deleted file mode 100644
index dfd9b04b..00000000
--- a/frontend/src/store.tsx
+++ /dev/null
@@ -1,138 +0,0 @@
-import { compare } from 'compare-versions';
-
-import { InstallType, Plugin, installPlugin, installPlugins } from './plugin';
-import { getSetting, setSetting } from './utils/settings';
-
-export enum Store {
-  Default,
-  Testing,
-  Custom,
-}
-
-export enum SortOptions {
-  name = 'name',
-  date = 'date',
-  downloads = 'downloads',
-}
-
-export enum SortDirections {
-  ascending = 'asc',
-  descending = 'desc',
-}
-
-export interface StorePluginVersion {
-  name: string;
-  hash: string;
-  artifact: string | undefined | null;
-}
-
-export interface StorePlugin {
-  id: number;
-  name: string;
-  versions: StorePluginVersion[];
-  author: string;
-  description: string;
-  tags: string[];
-  image_url: string;
-}
-
-export interface PluginInstallRequest {
-  plugin: string;
-  selectedVer: StorePluginVersion;
-  installType: InstallType;
-}
-
-// name: version
-export type PluginUpdateMapping = Map<string, StorePluginVersion>;
-
-export async function getStore(): Promise<Store> {
-  return await getSetting<Store>('store', Store.Default);
-}
-
-export async function getPluginList(
-  sort_by: SortOptions | null = null,
-  sort_direction: SortDirections | null = null,
-): Promise<StorePlugin[]> {
-  let version = await window.DeckyPluginLoader.updateVersion();
-  let store = await getSetting<Store | null>('store', null);
-  let customURL = await getSetting<string>('store-url', 'https://plugins.deckbrew.xyz/plugins');
-
-  let query: URLSearchParams | string = new URLSearchParams();
-  sort_by && query.set('sort_by', sort_by);
-  sort_direction && query.set('sort_direction', sort_direction);
-  query = '?' + String(query);
-
-  let storeURL;
-  if (store === null) {
-    console.log('Could not get store, using Default.');
-    await setSetting('store', Store.Default);
-    store = Store.Default;
-  }
-  switch (+store) {
-    case Store.Default:
-      storeURL = 'https://plugins.deckbrew.xyz/plugins';
-      break;
-    case Store.Testing:
-      storeURL = 'https://testing.deckbrew.xyz/plugins';
-      break;
-    case Store.Custom:
-      storeURL = customURL;
-      break;
-    default:
-      console.error('Somehow you ended up without a standard URL, using the default URL.');
-      storeURL = 'https://plugins.deckbrew.xyz/plugins';
-      break;
-  }
-  return fetch(storeURL + query, {
-    method: 'GET',
-    headers: {
-      'X-Decky-Version': version.current,
-    },
-  }).then((r) => r.json());
-}
-
-export async function installFromURL(url: string) {
-  const splitURL = url.split('/');
-  await installPlugin(url, splitURL[splitURL.length - 1].replace('.zip', ''));
-}
-
-export async function requestPluginInstall(plugin: string, selectedVer: StorePluginVersion, installType: InstallType) {
-  const artifactUrl = selectedVer.artifact ?? pluginUrl(selectedVer.hash);
-  await installPlugin(artifactUrl, plugin, selectedVer.name, selectedVer.hash, installType);
-}
-
-export async function requestMultiplePluginInstalls(requests: PluginInstallRequest[]) {
-  await installPlugins(
-    requests.map(({ plugin, installType, selectedVer }) => ({
-      name: plugin,
-      artifact: selectedVer.artifact ?? pluginUrl(selectedVer.hash),
-      version: selectedVer.name,
-      hash: selectedVer.hash,
-      install_type: installType,
-    })),
-  );
-}
-
-export async function checkForPluginUpdates(plugins: Plugin[]): Promise<PluginUpdateMapping> {
-  const serverData = await getPluginList();
-  const updateMap = new Map<string, StorePluginVersion>();
-  for (let plugin of plugins) {
-    const remotePlugin = serverData?.find((x) => x.name == plugin.name);
-    //FIXME: Ugly hack since plugin.version might be null during evaluation,
-    //so this will set the older version possible
-    const curVer = plugin.version ? plugin.version : '0.0';
-    if (
-      remotePlugin &&
-      remotePlugin.versions?.length > 0 &&
-      plugin.version != remotePlugin?.versions?.[0]?.name &&
-      compare(remotePlugin?.versions?.[0]?.name, curVer, '>')
-    ) {
-      updateMap.set(plugin.name, remotePlugin.versions[0]);
-    }
-  }
-  return updateMap;
-}
-
-function pluginUrl(hash: string) {
-  return `https://cdn.tzatzikiweeb.moe/file/steam-deck-homebrew/versions/${hash}.zip`;
-}
-- 
cgit v1.2.3

