diff --git a/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx b/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx
index a68718d60ca..22a026d18b9 100644
--- a/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx
+++ b/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx
@@ -6,6 +6,8 @@ import get from 'lodash.get';
import { Button } from '@app/ui/components/button/button';
import { Dialog } from '@app/ui/components/containers/dialog/dialog';
+import { Footer } from '@app/ui/components/containers/footers/footer';
+import { Header } from '@app/ui/components/containers/headers/header';
export function BroadcastErrorDialog() {
const navigate = useNavigate();
@@ -13,15 +15,26 @@ export function BroadcastErrorDialog() {
const message = get(location.state, 'message', '');
return (
-
);
diff --git a/src/app/features/container/container.tsx b/src/app/features/container/container.tsx
index 5b5ef3f67fb..8fc4ce04e31 100644
--- a/src/app/features/container/container.tsx
+++ b/src/app/features/container/container.tsx
@@ -24,9 +24,8 @@ import { ContainerLayout } from '@app/ui/components/containers/container.layout'
import { NetworkModeBadge } from '@app/ui/components/containers/headers/components/network-mode-badge';
import { Header } from '@app/ui/components/containers/headers/header';
import { Flag } from '@app/ui/components/flag/flag';
-import { IconButton } from '@app/ui/components/icon-button/icon-button';
import { Logo } from '@app/ui/components/logo';
-import { CloseIcon, HamburgerIcon } from '@app/ui/icons/';
+import { HamburgerIcon } from '@app/ui/icons/';
import { useRestoreFormState } from '../popup-send-form-restoration/use-restore-form-state';
import { Settings } from '../settings/settings';
@@ -46,6 +45,7 @@ import {
hideSettingsOnSm,
isLandingPage,
isNoHeaderPopup,
+ isSummaryPage,
} from './utils/route-helpers';
export function Container() {
@@ -100,6 +100,8 @@ export function Container() {
if (!hasStateRehydrated) return ;
const showLogoSm = variant === 'home' || isSessionLocked || isKnownPopupRoute(pathname);
+ const hideSettings =
+ isKnownPopupRoute(pathname) || isSummaryPage(pathname) || variant === 'onboarding';
return (
<>
@@ -114,14 +116,10 @@ export function Container() {
displayHeader ? (
} onClick={() => navigate(RouteUrls.Home)} />
- )
- }
onGoBack={canGoBack(pathname) ? () => getOnGoBackLocation(pathname) : undefined}
+ onClose={isSummaryPage(pathname) ? () => navigate(RouteUrls.Home) : undefined}
settingsMenu={
- isKnownPopupRoute(pathname) ? null : (
+ hideSettings ? null : (
();
return (
}
isShowing={isShowingHighFeeConfirmation}
onClose={() => setIsShowingHighFeeConfirmation(false)}
+ footer={
+
+ }
>
- {isShowingHighFeeConfirmation && (
-
-
-
-
- Are you sure you want to pay {values.fee} {values.feeCurrency} in fees for this
- transaction?
-
-
-
- This action cannot be undone and the fees won't be returned, even if the transaction
- fails.
- openInNewTab(learnMoreUrl)} size="sm">
- Learn more
-
-
-
-
-
-
-
- )}
+
+
+
+
+ Are you sure you want to pay {values.fee} {values.feeCurrency} in fees for this
+ transaction?
+
+
+
+ This action cannot be undone and the fees won't be returned, even if the transaction
+ fails.
+ openInNewTab(learnMoreUrl)} size="sm">
+ Learn more
+
+
+
);
}
diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx
index 1321c5b4626..43606978d31 100644
--- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx
+++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx
@@ -6,6 +6,7 @@ import { closeWindow } from '@shared/utils';
import { doesBrowserSupportWebUsbApi, whenPageMode } from '@app/common/utils';
import { openIndexPageInNewTab } from '@app/common/utils/open-in-new-tab';
import { Dialog } from '@app/ui/components/containers/dialog/dialog';
+import { Header } from '@app/ui/components/containers/headers/header';
import { immediatelyAttemptLedgerConnection } from '../../hooks/use-when-reattempt-ledger-connection';
import { ConnectLedger } from './connect-ledger';
@@ -35,7 +36,7 @@ export function ConnectLedgerStart() {
}
return (
- navigate('../')}>
+ } onClose={() => navigate('../')}>
connectChain('bitcoin')}
connectStacks={() => connectChain('stacks')}
diff --git a/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx b/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx
index 749fdd460f6..d41937fd3e6 100644
--- a/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx
+++ b/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx
@@ -4,6 +4,7 @@ import { styled } from 'leather-styles/jsx';
import { UnsupportedBrowserImg } from '@app/features/ledger/illustrations/ledger-illu-unsupported-browser';
import { Dialog } from '@app/ui/components/containers/dialog/dialog';
+import { Header } from '@app/ui/components/containers/headers/header';
import { Link } from '@app/ui/components/link/link';
import { LedgerTitle } from '../../components/ledger-title';
@@ -13,7 +14,7 @@ export function UnsupportedBrowserLayout() {
const navigate = useNavigate();
return (
- navigate(-1)}>
+ } isShowing onClose={() => navigate(-1)}>
}>
Your browser isn't supported
diff --git a/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx b/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx
index 8123674bd31..b7199b3b33d 100644
--- a/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx
+++ b/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx
@@ -4,6 +4,8 @@ import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon';
import { Button } from '@app/ui/components/button/button';
import { Callout } from '@app/ui/components/callout/callout';
import { Dialog } from '@app/ui/components/containers/dialog/dialog';
+import { Footer } from '@app/ui/components/containers/footers/footer';
+import { Header } from '@app/ui/components/containers/headers/header';
interface RetrieveTaprootToNativeSegwitLayoutProps {
isBroadcasting: boolean;
@@ -16,8 +18,19 @@ export function RetrieveTaprootToNativeSegwitLayout(
) {
const { onClose, onApproveTransaction, isBroadcasting, children } = props;
return (
- onClose()}>
-
+ }
+ onClose={() => onClose()}
+ footer={
+
+ }
+ >
+
Retrieve Bitcoin deposited to Taproot addresses
@@ -34,19 +47,11 @@ export function RetrieveTaprootToNativeSegwitLayout(
This transaction may take upwards of 30 minutes to confirm.
{children}
-
+
We recommend you check the URL for each "Uninscribed UTXO" listed above to ensure it
displays no inscription. If it does display one, do not proceed with retrieval or you may
lose it!
-
);
diff --git a/src/app/pages/onboarding/allow-diagnostics/allow-diagnostics-layout.tsx b/src/app/pages/onboarding/allow-diagnostics/allow-diagnostics-layout.tsx
index 55ffe3a0c7e..ce7e6ddf6a4 100644
--- a/src/app/pages/onboarding/allow-diagnostics/allow-diagnostics-layout.tsx
+++ b/src/app/pages/onboarding/allow-diagnostics/allow-diagnostics-layout.tsx
@@ -27,10 +27,11 @@ export function AllowDiagnosticsLayout({
onUserAllowDiagnostics,
onUserDenyDiagnostics,
}: AllowDiagnosticsLayoutProps) {
+ // this dialog cannot close without a footer action has no header
return (
null}
isShowing
+ onClose={() => null}
footer={