diff --git a/.changeset/mighty-jokes-joke.md b/.changeset/mighty-jokes-joke.md
new file mode 100644
index 000000000..c3a6bbbf7
--- /dev/null
+++ b/.changeset/mighty-jokes-joke.md
@@ -0,0 +1,7 @@
+---
+'hostd': minor
+'renterd': minor
+'walletd': minor
+---
+
+Currency display can now be configured to siacoin, fiat, or both along with a preference for when only one can be displayed.
diff --git a/.changeset/seven-cars-nail.md b/.changeset/seven-cars-nail.md
new file mode 100644
index 000000000..2d3c094bd
--- /dev/null
+++ b/.changeset/seven-cars-nail.md
@@ -0,0 +1,5 @@
+---
+'renterd': minor
+---
+
+Fixed an issue with file search where selecting a file would navigate to the path without the bucket.
diff --git a/apps/explorer/components/Layout/Footer.tsx b/apps/explorer/components/Layout/Footer.tsx
index cf295348a..35b8c63ff 100644
--- a/apps/explorer/components/Layout/Footer.tsx
+++ b/apps/explorer/components/Layout/Footer.tsx
@@ -4,7 +4,7 @@ import {
webLinks,
Logo,
ThemeRadio,
- CurrencySelector,
+ CurrencyFiatSelector,
} from '@siafoundation/design-system'
export function Footer() {
@@ -48,7 +48,7 @@ export function Footer() {
)}
diff --git a/libs/design-system/src/app/CurrencyDisplaySelector.tsx b/libs/design-system/src/app/CurrencyDisplaySelector.tsx
new file mode 100644
index 000000000..5c3951d01
--- /dev/null
+++ b/libs/design-system/src/app/CurrencyDisplaySelector.tsx
@@ -0,0 +1,33 @@
+'use client'
+
+import { Option, Select } from '../core/Select'
+import { CurrencyDisplay, useAppSettings } from '@siafoundation/react-core'
+
+const displayOptions = [
+ { id: 'sc', label: 'Siacoin' },
+ { id: 'fiat', label: 'Fiat' },
+ { id: 'bothPreferSc', label: 'Both - prefer siacoin' },
+ { id: 'bothPreferFiat', label: 'Both - prefer fiat' },
+] as const
+
+export function CurrencyDisplaySelector() {
+ const { settings, setSettings } = useAppSettings()
+
+ return (
+
+ )
+}
diff --git a/libs/design-system/src/app/CurrencySelector.tsx b/libs/design-system/src/app/CurrencyFiatSelector.tsx
similarity index 92%
rename from libs/design-system/src/app/CurrencySelector.tsx
rename to libs/design-system/src/app/CurrencyFiatSelector.tsx
index aaad00222..af4ae5b69 100644
--- a/libs/design-system/src/app/CurrencySelector.tsx
+++ b/libs/design-system/src/app/CurrencyFiatSelector.tsx
@@ -3,7 +3,7 @@
import { Option, Select } from '../core/Select'
import { CurrencyId, useAppSettings } from '@siafoundation/react-core'
-export function CurrencySelector() {
+export function CurrencyFiatSelector() {
const { settings, setCurrency, currencyOptions } = useAppSettings()
return (
diff --git a/libs/design-system/src/app/DatumCardConfigurable.tsx b/libs/design-system/src/app/DatumCardConfigurable.tsx
index 7be911047..f1b7cf66c 100644
--- a/libs/design-system/src/app/DatumCardConfigurable.tsx
+++ b/libs/design-system/src/app/DatumCardConfigurable.tsx
@@ -4,11 +4,11 @@ import { Option, Select } from '../core/Select'
import { Text } from '../core/Text'
import { DatumCard } from '../components/DatumCard'
import { ValueNum } from '../components/ValueNum'
-import { ValueSc } from '../components/ValueSc'
import { DataLabel } from './DataLabel'
import BigNumber from 'bignumber.js'
import { Tooltip } from '../core/Tooltip'
import useLocalStorageState from 'use-local-storage-state'
+import { ValueScFiat } from '../components/ValueScFiat'
type Mode = 'total' | 'average' | 'latest'
@@ -87,8 +87,9 @@ export function DatumCardConfigurable({
comment={
sc ? (
-
{showChange && sc.change !== undefined && (
diff --git a/libs/design-system/src/app/SettingsDialog.tsx b/libs/design-system/src/app/SettingsDialog.tsx
index d1fc3ac8a..1e4e12a3c 100644
--- a/libs/design-system/src/app/SettingsDialog.tsx
+++ b/libs/design-system/src/app/SettingsDialog.tsx
@@ -17,7 +17,8 @@ import { webLinks } from '../data/webLinks'
import { useAppSettings } from '@siafoundation/react-core'
import { Dialog } from '../core/Dialog'
import { minutesInMilliseconds } from '../lib/time'
-import { CurrencySelector } from './CurrencySelector'
+import { CurrencyFiatSelector } from './CurrencyFiatSelector'
+import { CurrencyDisplaySelector } from './CurrencyDisplaySelector'
type Props = {
open: boolean
@@ -51,13 +52,31 @@ export function SettingsDialog({ open, onOpenChange, securityEl }: Props) {
- Currency
+ Currency display
-
+
- Select a currency for price conversions from Siacoin. Requires
- Sia Central third-party data enabled under Privacy.
+ Select whether you would like to see currency values in
+ siacoin, fiat, or both. Fiat requires Sia Central third-party
+ data enabled under Privacy.
+
+
+
+
+
+
+
+
+
+
+ Fiat
+
+
+
+
+ Select a fiat currency for price conversions from Siacoin.
+ Requires Sia Central third-party data enabled under Privacy.
diff --git a/libs/design-system/src/app/WalletBalance.tsx b/libs/design-system/src/app/WalletBalance.tsx
index be98f60d3..b5aaa71ef 100644
--- a/libs/design-system/src/app/WalletBalance.tsx
+++ b/libs/design-system/src/app/WalletBalance.tsx
@@ -1,10 +1,10 @@
import { Panel } from '../core/Panel'
import { Text } from '../core/Text'
-import { humanSiacoin } from '@siafoundation/sia-js'
import BigNumber from 'bignumber.js'
import { Warning16 } from '@siafoundation/react-icons'
import { Tooltip } from '../core/Tooltip'
-import { ValueSc } from '../components/ValueSc'
+import { WalletBalanceTip } from './WalletBalanceTip'
+import { ValueScFiat } from '../components/ValueScFiat'
export function WalletBalance({
balanceSc,
@@ -32,55 +32,29 @@ export function WalletBalance({
>
-
-
-
- {humanSiacoin(balanceSc.spendable.plus(balanceSc.unconfirmed))}
+
+
)
}
return (
-
-
-
- spendable
- All confirmed outputs not in-use.
-
-
-
-
-
-
-
- confirmed
- All confirmed outputs.
-
-
-
-
-
-
-
- unconfirmed
- All unconfirmed outputs not in-use.
-
-
-
-
-
-
- }
- >
+
-
- {humanSiacoin(balanceSc.spendable.plus(balanceSc.unconfirmed))}
-
+
-
+
)
}
diff --git a/libs/design-system/src/app/WalletBalanceSideNav.tsx b/libs/design-system/src/app/WalletBalanceSideNav.tsx
index 494eb8009..4b13c0a82 100644
--- a/libs/design-system/src/app/WalletBalanceSideNav.tsx
+++ b/libs/design-system/src/app/WalletBalanceSideNav.tsx
@@ -1,8 +1,7 @@
-import { Text } from '../core/Text'
-import { humanSiacoin } from '@siafoundation/sia-js'
import BigNumber from 'bignumber.js'
import { Tooltip } from '../core/Tooltip'
-import { ValueSc } from '../components/ValueSc'
+import { ValueScFiat } from '../components/ValueScFiat'
+import { WalletBalanceTip } from './WalletBalanceTip'
export function WalletBalanceSideNav({
balanceSc,
@@ -21,6 +20,17 @@ export function WalletBalanceSideNav({
return null
}
+ const el = (
+
+ )
+
if (!isSynced) {
return (
-
- {humanSiacoin(balanceSc.spendable.plus(balanceSc.unconfirmed), {
- fixed: 0,
- })}
-
+
{el}
)
}
return (
-
-
-
- spendable
- All confirmed outputs not in-use.
-
-
-
-
-
-
-
- confirmed
- All confirmed outputs.
-
-
-
-
-
-
-
- unconfirmed
- All unconfirmed outputs not in-use.
-