aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/components/calculator.tsx24
1 files changed, 21 insertions, 3 deletions
diff --git a/app/components/calculator.tsx b/app/components/calculator.tsx
index 3ce91e7..12e4ad3 100644
--- a/app/components/calculator.tsx
+++ b/app/components/calculator.tsx
@@ -5,6 +5,10 @@ import styles from "./calculator.module.css";
5import { BitcoinPrice } from "../utils/bitcoin-price"; 5import { BitcoinPrice } from "../utils/bitcoin-price";
6 6
7export const Calculator = () => { 7export const Calculator = () => {
8 const [querySats, setQuerySats] = useState("");
9 const [queryBtc, setQueryBtc] = useState("");
10 const [queryUsd, setQueryUsd] = useState("");
11
8 const [sats, setSats] = useState(""); 12 const [sats, setSats] = useState("");
9 const [btc, setBtc] = useState(""); 13 const [btc, setBtc] = useState("");
10 const [usd, setUsd] = useState(""); 14 const [usd, setUsd] = useState("");
@@ -67,9 +71,23 @@ export const Calculator = () => {
67 }; 71 };
68 72
69 useEffect(() => { 73 useEffect(() => {
70 // Initialize the calculator with some numbers 74 // Initialize the calculator with any query params
71 handleUpdate("sats", "1000"); 75 querySats && handleUpdate("sats", querySats);
72 }, [btcPrice]); 76 queryBtc && handleUpdate("btc", queryBtc);
77 queryUsd && handleUpdate("usd", queryUsd);
78
79 // Otherwise set default values
80 if (!(querySats || queryBtc || queryUsd) && btcPrice) {
81 handleUpdate("sats", "1000");
82 }
83 }, [btcPrice, querySats, queryBtc]);
84
85 useEffect(() => {
86 const params = new URLSearchParams(window.location.search);
87 setQuerySats(params.get("sats") || "");
88 setQueryBtc(params.get("btc") || "");
89 setQueryUsd(params.get("usd") || "");
90 }, []);
73 91
74 return ( 92 return (
75 <form className="flex flex-col"> 93 <form className="flex flex-col">