Move store opening to frontend only

This commit is contained in:
Jonas Dellinger
2022-05-31 18:05:26 +02:00
parent 660e34664e
commit bd1b2e82fd
3 changed files with 27 additions and 40 deletions

View File

@@ -1,12 +1,17 @@
import { ButtonItem, DialogButton, PanelSection, PanelSectionRow } from 'decky-frontend-lib';
import { ButtonItem, DialogButton, PanelSection, PanelSectionRow, Router } from 'decky-frontend-lib';
import { VFC } from 'react';
import { FaArrowLeft } from 'react-icons/fa';
import { FaArrowLeft, FaStore } from 'react-icons/fa';
import { useDeckyState } from './DeckyState';
const PluginView: VFC = () => {
const { plugins, activePlugin, setActivePlugin, closeActivePlugin } = useDeckyState();
const onStoreClick = () => {
Router.CloseSideMenus();
Router.NavigateToExternalWeb('http://127.0.0.1:1337/browser/redirect');
};
if (activePlugin) {
return (
<div style={{ height: '100%' }}>
@@ -22,6 +27,11 @@ const PluginView: VFC = () => {
return (
<PanelSection>
<div style={{ position: 'absolute', top: '3px', right: '16px', zIndex: 20 }}>
<DialogButton style={{ minWidth: 0, padding: '10px 12px' }} onClick={onStoreClick}>
<FaStore style={{ display: 'block' }} />
</DialogButton>
</div>
{plugins.map(({ name, icon }) => (
<PanelSectionRow key={name}>
<ButtonItem layout="below" onClick={() => setActivePlugin(name)}>

View File

@@ -1,25 +1,13 @@
import { DialogButton, staticClasses } from 'decky-frontend-lib';
import { staticClasses } from 'decky-frontend-lib';
import { VFC } from 'react';
import { FaShoppingBag } from 'react-icons/fa';
import { useDeckyState } from './DeckyState';
const TitleView: VFC = () => {
const { activePlugin } = useDeckyState();
const openPluginStore = () => fetch('http://127.0.0.1:1337/methods/open_plugin_store', { method: 'POST' });
if (activePlugin === null) {
return (
<div className={staticClasses.Title}>
Decky
<div style={{ position: 'absolute', top: '3px', right: '16px', zIndex: 20 }}>
<DialogButton style={{ minWidth: 0, padding: '10px 12px' }} onClick={openPluginStore}>
<FaShoppingBag style={{ display: 'block' }} />
</DialogButton>
</div>
</div>
);
return <div className={staticClasses.Title}>Decky</div>;
}
return (