diff options
| author | TrainDoctor <traindoctor@protonmail.com> | 2022-10-23 13:04:00 -0700 |
|---|---|---|
| committer | TrainDoctor <traindoctor@protonmail.com> | 2022-10-23 13:04:00 -0700 |
| commit | 4ad15568cd2802f9499bd3961c5fe24391745502 (patch) | |
| tree | c66db7a36e8ae219cfbe1b236d0168f28594e115 | |
| parent | 58849b30024d816f374e11c5489fd5adbcd9a22d (diff) | |
| download | decky-loader-4ad15568cd2802f9499bd3961c5fe24391745502.tar.gz decky-loader-4ad15568cd2802f9499bd3961c5fe24391745502.zip | |
Merge drop-legacy to main.
| -rw-r--r-- | frontend/src/components/store/PluginCard.tsx | 73 | ||||
| -rw-r--r-- | frontend/src/components/store/Store.tsx | 13 | ||||
| -rw-r--r-- | frontend/src/store.tsx | 49 |
3 files changed, 16 insertions, 119 deletions
diff --git a/frontend/src/components/store/PluginCard.tsx b/frontend/src/components/store/PluginCard.tsx index 0155ff99..03f11b4a 100644 --- a/frontend/src/components/store/PluginCard.tsx +++ b/frontend/src/components/store/PluginCard.tsx @@ -11,17 +11,10 @@ import { } from 'decky-frontend-lib'; import { FC, useRef, useState } from 'react'; -import { - LegacyStorePlugin, - StorePlugin, - StorePluginVersion, - isLegacyPlugin, - requestLegacyPluginInstall, - requestPluginInstall, -} from '../../store'; +import { StorePlugin, StorePluginVersion, requestPluginInstall } from '../../store'; interface PluginCardProps { - plugin: StorePlugin | LegacyStorePlugin; + plugin: StorePlugin; } const PluginCard: FC<PluginCardProps> = ({ plugin }) => { @@ -63,22 +56,13 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => { }} > <div className="deckyStoreCardHeader" style={{ display: 'flex', alignItems: 'center' }}> - <a + <div style={{ fontSize: '18pt', padding: '10px' }} className={joinClassNames(staticClasses.Text)} // onClick={() => Router.NavigateToExternalWeb('https://github.com/' + plugin.artifact)} > - {isLegacyPlugin(plugin) ? ( - <div className="deckyStoreCardNameContainer"> - <span className="deckyStoreCardLegacyRepoOwner" style={{ color: 'grey' }}> - {plugin.artifact.split('/')[0]}/ - </span> - {plugin.artifact.split('/')[1]} - </div> - ) : ( - plugin.name - )} - </a> + {plugin.name} + </div> </div> <div style={{ @@ -94,17 +78,10 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => { width: 'auto', height: '160px', }} - src={ - isLegacyPlugin(plugin) - ? `https://cdn.tzatzikiweeb.moe/file/steam-deck-homebrew/artifact_images/${plugin.artifact.replace( - '/', - '_', - )}.png` - : `https://cdn.tzatzikiweeb.moe/file/steam-deck-homebrew/artifact_images/${plugin.name.replace( - '/', - '_', - )}.png` - } + src={`https://cdn.tzatzikiweeb.moe/file/steam-deck-homebrew/artifact_images/${plugin.name.replace( + '/', + '_', + )}.png`} /> <div style={{ @@ -152,19 +129,6 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => { {tag == 'root' ? 'Requires root' : tag} </span> ))} - {isLegacyPlugin(plugin) && ( - <span - className="deckyStoreCardTag deckyStoreCardLegacyTag" - style={{ - color: '#232120', - padding: '5px', - borderRadius: '5px', - background: '#EDE841', - }} - > - legacy - </span> - )} </p> </div> </div> @@ -194,11 +158,7 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => { <DialogButton className="deckyStoreCardInstallButton" ref={buttonRef} - onClick={() => - isLegacyPlugin(plugin) - ? requestLegacyPluginInstall(plugin, Object.keys(plugin.versions)[selectedOption]) - : requestPluginInstall(plugin.name, plugin.versions[selectedOption]) - } + onClick={() => requestPluginInstall(plugin.name, plugin.versions[selectedOption])} > Install </DialogButton> @@ -211,15 +171,10 @@ const PluginCard: FC<PluginCardProps> = ({ plugin }) => { > <Dropdown rgOptions={ - (isLegacyPlugin(plugin) - ? Object.keys(plugin.versions).map((v, k) => ({ - data: k, - label: v, - })) - : plugin.versions.map((version: StorePluginVersion, index) => ({ - data: index, - label: version.name, - }))) as SingleDropdownOption[] + plugin.versions.map((version: StorePluginVersion, index) => ({ + data: index, + label: version.name, + })) as SingleDropdownOption[] } strDefaultLabel={'Select a version'} selectedOption={selectedOption} diff --git a/frontend/src/components/store/Store.tsx b/frontend/src/components/store/Store.tsx index cb6f34ad..2ffd8efb 100644 --- a/frontend/src/components/store/Store.tsx +++ b/frontend/src/components/store/Store.tsx @@ -2,14 +2,13 @@ import { SteamSpinner } from 'decky-frontend-lib'; import { FC, useEffect, useState } from 'react'; import Logger from '../../logger'; -import { LegacyStorePlugin, StorePlugin, getLegacyPluginList, getPluginList } from '../../store'; +import { StorePlugin, getPluginList } from '../../store'; import PluginCard from './PluginCard'; const logger = new Logger('FilePicker'); const StorePage: FC<{}> = () => { const [data, setData] = useState<StorePlugin[] | null>(null); - const [legacyData, setLegacyData] = useState<LegacyStorePlugin[] | null>(null); useEffect(() => { (async () => { @@ -17,11 +16,6 @@ const StorePage: FC<{}> = () => { logger.log('got data!', res); setData(res); })(); - (async () => { - const res = await getLegacyPluginList(); - logger.log('got legacy data!', res); - setLegacyData(res); - })(); }, []); return ( @@ -49,11 +43,6 @@ const StorePage: FC<{}> = () => { {data.map((plugin: StorePlugin) => ( <PluginCard plugin={plugin} /> ))} - {!legacyData ? ( - <SteamSpinner /> - ) : ( - legacyData.map((plugin: LegacyStorePlugin) => <PluginCard plugin={plugin} />) - )} </div> )} </div> diff --git a/frontend/src/store.tsx b/frontend/src/store.tsx index 10c35406..cc0e4cf0 100644 --- a/frontend/src/store.tsx +++ b/frontend/src/store.tsx @@ -1,5 +1,3 @@ -import { ConfirmModal, showModal, staticClasses } from 'decky-frontend-lib'; - import { Plugin } from './plugin'; export interface StorePluginVersion { @@ -17,22 +15,12 @@ export interface StorePlugin { image_url: string; } -export interface LegacyStorePlugin { - artifact: string; - versions: { - [version: string]: string; - }; - author: string; - description: string; - tags: string[]; -} - // name: version export type PluginUpdateMapping = Map<string, StorePluginVersion>; export async function getPluginList(): Promise<StorePlugin[]> { let version = await window.DeckyPluginLoader.updateVersion(); - return fetch('https://beta.deckbrew.xyz/plugins', { + return fetch('https://plugins.deckbrew.xyz/plugins', { method: 'GET', headers: { 'X-Decky-Version': version.current, @@ -40,12 +28,6 @@ export async function getPluginList(): Promise<StorePlugin[]> { }).then((r) => r.json()); } -export function getLegacyPluginList(): Promise<LegacyStorePlugin[]> { - return fetch('https://plugins.deckbrew.xyz/get_plugins', { - method: 'GET', - }).then((r) => r.json()); -} - export async function installFromURL(url: string) { const splitURL = url.split('/'); await window.DeckyPluginLoader.callServerMethod('install_plugin', { @@ -54,31 +36,6 @@ export async function installFromURL(url: string) { }); } -export function requestLegacyPluginInstall(plugin: LegacyStorePlugin, selectedVer: string) { - showModal( - <ConfirmModal - onOK={() => { - window.DeckyPluginLoader.callServerMethod('install_plugin', { - name: plugin.artifact, - artifact: `https://github.com/${plugin.artifact}/archive/refs/tags/${selectedVer}.zip`, - version: selectedVer, - hash: plugin.versions[selectedVer], - }); - }} - onCancel={() => { - // do nothing - }} - > - <div className={staticClasses.Title} style={{ flexDirection: 'column', boxShadow: 'unset' }}> - Using legacy plugins - </div> - You are currently installing a <b>legacy</b> plugin. Legacy plugins are no longer supported and may have issues. - Legacy plugins do not support gamepad input. To interact with a legacy plugin, you will need to use the - touchscreen. - </ConfirmModal>, - ); -} - export async function requestPluginInstall(plugin: string, selectedVer: StorePluginVersion) { await window.DeckyPluginLoader.callServerMethod('install_plugin', { name: plugin, @@ -99,7 +56,3 @@ export async function checkForUpdates(plugins: Plugin[]): Promise<PluginUpdateMa } return updateMap; } - -export function isLegacyPlugin(plugin: LegacyStorePlugin | StorePlugin): plugin is LegacyStorePlugin { - return 'artifact' in plugin; -} |
