summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/deploy-to-deck.sh30
-rw-r--r--src/components/FlatpakTab.tsx7
2 files changed, 35 insertions, 2 deletions
diff --git a/scripts/deploy-to-deck.sh b/scripts/deploy-to-deck.sh
index b5cb4f7..f27fe4e 100755
--- a/scripts/deploy-to-deck.sh
+++ b/scripts/deploy-to-deck.sh
@@ -5,6 +5,36 @@ deck_host="deck@192.168.0.241"
plugin_root="Decky LSFG-VK"
install_path="/home/deck/homebrew/plugins/Decky LSFG-VK"
+if [[ -z ${DEPLOY_EXPECT:-} && -f .env ]]; then
+ set -a
+ source .env
+ set +a
+fi
+
+if [[ -n ${DECK_PASSWORD:-} && -z ${DEPLOY_EXPECT:-} ]]; then
+ export DEPLOY_EXPECT=1
+ export DEPLOY_SCRIPT="$0"
+ exec expect <<'EXPECT'
+set timeout -1
+spawn bash $env(DEPLOY_SCRIPT)
+
+expect {
+ -re {(?i)yes/no} {
+ send -- "yes\r"
+ exp_continue
+ }
+ -re {(?i)(password|passphrase).*:} {
+ send -- "$env(DECK_PASSWORD)\r"
+ exp_continue
+ }
+ eof
+}
+
+catch wait result
+exit [lindex $result 3]
+EXPECT
+fi
+
package_dir="$(mktemp -d "${TMPDIR:-/tmp}/decky-plugin-package.XXXXXX")"
run_id="$(basename "$package_dir")"
remote_archive="/tmp/decky-lsfg-vk-${run_id}.zip"
diff --git a/src/components/FlatpakTab.tsx b/src/components/FlatpakTab.tsx
index 31bfc2d..b46eb28 100644
--- a/src/components/FlatpakTab.tsx
+++ b/src/components/FlatpakTab.tsx
@@ -20,6 +20,9 @@ interface Props {
onWorkaroundChange: (appId: string, state: WorkaroundState) => Promise<boolean>;
}
+const ENABLED_COLLAPSED_KEY = "lsfg-flatpak-enabled-collapsed-v2";
+const AVAILABLE_COLLAPSED_KEY = "lsfg-flatpak-available-collapsed-v2";
+
function usePersistentCollapsed(key: string) {
const [collapsed, setCollapsed] = useState(() => {
try {
@@ -55,8 +58,8 @@ export function FlatpakTab({
[apps, selectedAppId],
);
const close = useCallback(() => setSelectedAppId(null), []);
- const [enabledCollapsed, toggleEnabled] = usePersistentCollapsed("lsfg-flatpak-enabled-collapsed-v1");
- const [availableCollapsed, toggleAvailable] = usePersistentCollapsed("lsfg-flatpak-available-collapsed-v1");
+ const [enabledCollapsed, toggleEnabled] = usePersistentCollapsed(ENABLED_COLLAPSED_KEY);
+ const [availableCollapsed, toggleAvailable] = usePersistentCollapsed(AVAILABLE_COLLAPSED_KEY);
const enabledToggleRef = useRef<HTMLDivElement>(null);
const enabledApps = useMemo(