diff --git a/src/store/page.tsx b/src/store/page.tsx index 74926e2..a3269e1 100644 --- a/src/store/page.tsx +++ b/src/store/page.tsx @@ -1,4 +1,7 @@ -import { Component, Fragment } from "react"; +import { Component } from "react"; +import { HiDownload } from "react-icons/hi"; + +import { PanelSectionRow, PanelSection, Focusable, staticClasses, DialogButton } from "decky-frontend-lib"; import * as backend from "../backend"; import { tr } from "usdpl-front"; @@ -22,27 +25,84 @@ export class StoreResultsPage extends Component { if (storeItems) { if (storeItems.length == 0) { backend.log(backend.LogLevel.Warn, "No store results; got array with length 0 from cache"); - return (
+ return ( { tr("No results") /* TODO translate */ } -
); + ); } else { // TODO - return storeItems.map((meta: backend.StoreMetadata) => { -
-
{ meta.name }
-
{ tr("Created by") /* TODO translate */} { meta.steam_username }
-
{ meta.tags.map((tag: string) => {tag}) }
- Hey NG you should finish this page -
- }); + return ( + { + storeItems.map((meta: backend.StoreMetadata) => { + + + { + backend.log(backend.LogLevel.Info, "Downloading settings " + meta.name + " (" + meta.id + ")"); + backend.storeDownloadById(meta.id); + }} + > + { /* TODO make this responsive when clicked */} + + +
+
+ { meta.name } +
+
+ { tr("Created by") /* TODO translate */} { meta.steam_username } +
+
+ { meta.tags.map((tag: string) => ( + {tag} + ) + ) } +
+
+
+
+ }) + } +
); } } else { backend.log(backend.LogLevel.Warn, "Store failed to load; got null from cache"); // store did not pre-load when the game started - return ( + return ( { tr("Store failed to load") /* TODO translate */ } - ); + ); } } }