From 6e88c7c9ac1bf2b4cd21947724508d75caab439b Mon Sep 17 00:00:00 2001 From: AAGaming Date: Sun, 17 Jul 2022 16:09:42 -0400 Subject: Show warning when installing legacy plugins --- frontend/src/components/store/Store.tsx | 38 +++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'frontend/src') diff --git a/frontend/src/components/store/Store.tsx b/frontend/src/components/store/Store.tsx index 01cf383d..ffad5426 100644 --- a/frontend/src/components/store/Store.tsx +++ b/frontend/src/components/store/Store.tsx @@ -1,4 +1,4 @@ -import { SteamSpinner } from 'decky-frontend-lib'; +import { ModalRoot, SteamSpinner, showModal, staticClasses } from 'decky-frontend-lib'; import { FC, useEffect, useState } from 'react'; import PluginCard from './PluginCard'; @@ -38,16 +38,32 @@ export async function installFromURL(url: string) { }); } -export async function requestLegacyPluginInstall(plugin: LegacyStorePlugin, selectedVer: string) { - const formData = new FormData(); - formData.append('name', plugin.artifact); - formData.append('artifact', `https://github.com/${plugin.artifact}/archive/refs/tags/${selectedVer}.zip`); - formData.append('version', selectedVer); - formData.append('hash', plugin.versions[selectedVer]); - await fetch('http://localhost:1337/browser/install_plugin', { - method: 'POST', - body: formData, - }); +export function requestLegacyPluginInstall(plugin: LegacyStorePlugin, selectedVer: string) { + showModal( + { + const formData = new FormData(); + formData.append('name', plugin.artifact); + formData.append('artifact', `https://github.com/${plugin.artifact}/archive/refs/tags/${selectedVer}.zip`); + formData.append('version', selectedVer); + formData.append('hash', plugin.versions[selectedVer]); + fetch('http://localhost:1337/browser/install_plugin', { + method: 'POST', + body: formData, + }); + }} + onCancel={() => { + // do nothing + }} + > +
+ Using legacy plugins +
+ You are currently installing a legacy 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. +
, + ); } export async function requestPluginInstall(plugin: StorePlugin, selectedVer: StorePluginVersion) { -- cgit v1.2.3