summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrainDoctor <traindoctor@protonmail.com>2022-10-23 13:04:00 -0700
committerTrainDoctor <traindoctor@protonmail.com>2022-10-23 13:04:00 -0700
commit4ad15568cd2802f9499bd3961c5fe24391745502 (patch)
treec66db7a36e8ae219cfbe1b236d0168f28594e115
parent58849b30024d816f374e11c5489fd5adbcd9a22d (diff)
downloaddecky-loader-4ad15568cd2802f9499bd3961c5fe24391745502.tar.gz
decky-loader-4ad15568cd2802f9499bd3961c5fe24391745502.zip
Merge drop-legacy to main.
-rw-r--r--frontend/src/components/store/PluginCard.tsx73
-rw-r--r--frontend/src/components/store/Store.tsx13
-rw-r--r--frontend/src/store.tsx49
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;
-}