import { ButtonItem, definePlugin, DialogButton, Menu, MenuItem, PanelSection, PanelSectionRow, Router, ServerAPI, showContextMenu, staticClasses, } from "decky-frontend-lib"; import { VFC } from "react"; import { FaShip } from "react-icons/fa"; import logo from "../assets/logo.png"; // interface AddMethodArgs { // left: number; // right: number; // } const Content: VFC<{ serverAPI: ServerAPI }> = ({}) => { // const [result, setResult] = useState(); // const onClick = async () => { // const result = await serverAPI.callPluginMethod( // "add", // { // left: 2, // right: 2, // } // ); // if (result.success) { // setResult(result.result); // } // }; return ( showContextMenu( {}}> {}}>Item #1 {}}>Item #2 {}}>Item #3 , e.currentTarget ?? window ) } > Server says yolo
{ Router.CloseSideMenus(); Router.Navigate("/decky-plugin-test"); }} > Router
); }; const DeckyPluginRouterTest: VFC = () => { return (
Hello World! Router.NavigateToStore()}> Go to Store
); }; export default definePlugin((serverApi: ServerAPI) => { serverApi.routerHook.addRoute("/decky-plugin-test", DeckyPluginRouterTest, { exact: true, }); return { title:
Example Plugin
, content: , icon: , onDismount() { serverApi.routerHook.removeRoute("/decky-plugin-test"); }, }; });