summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/ClipboardButton.tsx22
-rw-r--r--src/components/Content.tsx19
-rw-r--r--src/components/StatusDisplay.tsx21
-rw-r--r--src/components/UsageInstructions.tsx3
-rw-r--r--src/components/index.ts1
-rw-r--r--src/hooks/useLsfgHooks.ts12
6 files changed, 58 insertions, 20 deletions
diff --git a/src/components/ClipboardButton.tsx b/src/components/ClipboardButton.tsx
new file mode 100644
index 0000000..3760e81
--- /dev/null
+++ b/src/components/ClipboardButton.tsx
@@ -0,0 +1,22 @@
+import { PanelSectionRow, ButtonItem } from "@decky/ui";
+import { FaExternalLinkAlt } from "react-icons/fa";
+
+export function ClipboardButton() {
+ const handleClipboardClick = () => {
+ window.open("https://github.com/xXJSONDeruloXx/decky-lossless-scaling-vk/wiki/Clipboard", "_blank");
+ };
+
+ return (
+ <PanelSectionRow>
+ <ButtonItem
+ layout="below"
+ onClick={handleClipboardClick}
+ >
+ <div style={{ display: "flex", alignItems: "center", gap: "8px" }}>
+ <FaExternalLinkAlt />
+ <div>Launch Option Clipboard</div>
+ </div>
+ </ButtonItem>
+ </PanelSectionRow>
+ );
+}
diff --git a/src/components/Content.tsx b/src/components/Content.tsx
index 16c8f2f..39de01b 100644
--- a/src/components/Content.tsx
+++ b/src/components/Content.tsx
@@ -6,6 +6,8 @@ import { StatusDisplay } from "./StatusDisplay";
import { InstallationButton } from "./InstallationButton";
import { ConfigurationSection } from "./ConfigurationSection";
import { UsageInstructions } from "./UsageInstructions";
+import { WikiButton } from "./WikiButton";
+import { ClipboardButton } from "./ClipboardButton";
export function Content() {
const {
@@ -79,13 +81,6 @@ export function Content() {
return (
<PanelSection>
- <StatusDisplay
- dllDetected={dllDetected}
- dllDetectionStatus={dllDetectionStatus}
- isInstalled={isInstalled}
- installationStatus={installationStatus}
- />
-
<InstallationButton
isInstalled={isInstalled}
isInstalling={isInstalling}
@@ -94,6 +89,13 @@ export function Content() {
onUninstall={onUninstall}
/>
+ <StatusDisplay
+ dllDetected={dllDetected}
+ dllDetectionStatus={dllDetectionStatus}
+ isInstalled={isInstalled}
+ installationStatus={installationStatus}
+ />
+
{/* Configuration Section - only show if installed */}
{isInstalled && (
<ConfigurationSection
@@ -109,6 +111,9 @@ export function Content() {
)}
<UsageInstructions config={config} />
+
+ <WikiButton />
+ <ClipboardButton />
</PanelSection>
);
}
diff --git a/src/components/StatusDisplay.tsx b/src/components/StatusDisplay.tsx
index 8eecd42..3a48a15 100644
--- a/src/components/StatusDisplay.tsx
+++ b/src/components/StatusDisplay.tsx
@@ -19,18 +19,31 @@ export function StatusDisplay({
<div
style={{
color: dllDetected ? "#4CAF50" : "#F44336",
- fontWeight: "bold",
- marginBottom: "4px"
+ fontWeight: "600",
+ marginBottom: "6px",
+ display: "flex",
+ alignItems: "center",
+ gap: "6px"
}}
>
+ <span style={{ fontSize: "16px" }}>
+ {dllDetected ? "✅" : "❌"}
+ </span>
{dllDetectionStatus}
</div>
<div
style={{
- color: isInstalled ? "#4CAF50" : "#FF9800"
+ color: isInstalled ? "#4CAF50" : "#FF9800",
+ fontWeight: "600",
+ display: "flex",
+ alignItems: "center",
+ gap: "6px"
}}
>
- Status: {installationStatus}
+ <span style={{ fontSize: "16px" }}>
+ {isInstalled ? "✅" : "❌"}
+ </span>
+ {installationStatus}
</div>
</div>
</PanelSectionRow>
diff --git a/src/components/UsageInstructions.tsx b/src/components/UsageInstructions.tsx
index ca9ddd2..bf80630 100644
--- a/src/components/UsageInstructions.tsx
+++ b/src/components/UsageInstructions.tsx
@@ -1,5 +1,4 @@
import { PanelSectionRow } from "@decky/ui";
-import { WikiButton } from "./WikiButton";
interface ConfigType {
enableLsfg: boolean;
@@ -96,8 +95,6 @@ export function UsageInstructions({ config }: UsageInstructionsProps) {
</div>
</div>
</PanelSectionRow>
-
- <WikiButton />
</>
);
}
diff --git a/src/components/index.ts b/src/components/index.ts
index 26eb2fb..7304ca9 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -4,3 +4,4 @@ export { InstallationButton } from "./InstallationButton";
export { ConfigurationSection } from "./ConfigurationSection";
export { UsageInstructions } from "./UsageInstructions";
export { WikiButton } from "./WikiButton";
+export { ClipboardButton } from "./ClipboardButton";
diff --git a/src/hooks/useLsfgHooks.ts b/src/hooks/useLsfgHooks.ts
index c0bd8e8..ad04305 100644
--- a/src/hooks/useLsfgHooks.ts
+++ b/src/hooks/useLsfgHooks.ts
@@ -17,13 +17,13 @@ export function useInstallationStatus() {
const status = await checkLsfgVkInstalled();
setIsInstalled(status.installed);
if (status.installed) {
- setInstallationStatus("lsfg-vk is installed");
+ setInstallationStatus("lsfg-vk Installed");
} else {
- setInstallationStatus("lsfg-vk is not installed");
+ setInstallationStatus("lsfg-vk Not Installed");
}
return status.installed;
} catch (error) {
- setInstallationStatus("Error checking installation status");
+ setInstallationStatus("lsfg-vk Not Installed");
return false;
}
};
@@ -50,12 +50,12 @@ export function useDllDetection() {
const result = await checkLosslessScalingDll();
setDllDetected(result.detected);
if (result.detected) {
- setDllDetectionStatus(`Lossless Scaling App detected (${result.source})`);
+ setDllDetectionStatus("Lossless Scaling Installed");
} else {
- setDllDetectionStatus(result.message || "Lossless Scaling App not detected");
+ setDllDetectionStatus("Lossless Scaling Not Installed");
}
} catch (error) {
- setDllDetectionStatus("Error checking Lossless Scaling App");
+ setDllDetectionStatus("Lossless Scaling Not Installed");
}
};