Skip to content

Commit 4a0d173

Browse files
committed
Improve block tracker disabling design
1 parent b591811 commit 4a0d173

File tree

4 files changed

+29
-6
lines changed

4 files changed

+29
-6
lines changed

src/background/index.ts

+11
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,17 @@ function disableBlocksTracking(): void {
192192
}
193193
});
194194
socket?.close(1000, "Disabling blocks tracking");
195+
196+
fees = null;
197+
lastBlockTime = null;
198+
lastBlockHeight = null;
199+
200+
sendMessage({
201+
target: "popup",
202+
data: { blockInfo: { lastBlockTime, lastBlockHeight } },
203+
type: "blockInfo"
204+
});
205+
sendMessage({ target: "popup", data: { fees }, type: "fees" });
195206
}
196207

197208
chrome.storage.local.get(["isTrackingEnabled", "isMainnet"]).then((result) => {

src/popup/components/Main/FeeInfo.tsx

+8-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ import { Fees, FeesPopupMessage, PopupMessage } from "@models/types";
66
import styles from "./styles/FeeInfo.module.scss";
77
import mainStyles from "./styles/Main.module.scss";
88

9-
export default function FeeInfo() {
9+
interface FeeInfoProps {
10+
isTrackingEnabled: boolean;
11+
}
12+
13+
export default function FeeInfo({ isTrackingEnabled }: FeeInfoProps) {
14+
const noDataText = isTrackingEnabled ? "Loading..." : "Block tracking is disabled";
15+
1016
const [fees, setFees] = useState<Fees | null>();
1117

1218
const updateFees = useCallback((message: PopupMessage) => {
@@ -53,7 +59,7 @@ export default function FeeInfo() {
5359
</div>
5460
</div>
5561
) : (
56-
<div className={styles.loading}>Loading...</div>
62+
<div className={styles.loading}>{noDataText}</div>
5763
)}
5864
</div>
5965
);

src/popup/components/Main/LastBlockInfo.tsx

+8-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ import { BlockInfo, BlockPopupMessage, PopupMessage } from "@models/types";
66
import styles from "./styles/LastBlockInfo.module.scss";
77
import mainStyles from "./styles/Main.module.scss";
88

9-
export default function LastBlockInfo() {
9+
interface LastBlockInfoProps {
10+
isTrackingEnabled: boolean;
11+
}
12+
13+
export default function LastBlockInfo({ isTrackingEnabled }: LastBlockInfoProps) {
14+
const noDataText = isTrackingEnabled ? "Loading..." : "Block tracking is disabled";
15+
1016
const [lastBlockInfo, setLastBlockInfo] = useState<BlockInfo | null>();
1117
const [currentDate, setCurrentDate] = useState<number>(Date.now());
1218

@@ -61,7 +67,7 @@ export default function LastBlockInfo() {
6167
</div>
6268
</div>
6369
) : (
64-
<div className={styles.loading}>Loading...</div>
70+
<div className={styles.loading}>{noDataText}</div>
6571
)}
6672
</div>
6773
);

src/popup/components/Main/index.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ export default function Main() {
3030
setIsMainnet={setIsMainnet}
3131
isMainnet={isMainnet}
3232
/>
33-
<FeeInfo />
34-
<LastBlockInfo />
33+
<FeeInfo isTrackingEnabled={isTrackingEnabled} />
34+
<LastBlockInfo isTrackingEnabled={isTrackingEnabled} />
3535
</>
3636
);
3737
}

0 commit comments

Comments
 (0)