Ghost/ghost/admin/app/templates/application.hbs
Nazar Gargol 5d59670ac3 Fixed browser URL syncronization with embeded iframe state
no issue

- Opted in to use explicit `hisotry.replaceState` and setting iframe's `src` using assignment instead of tracking it through computed property. This allows for tighter control over when iframe's history is updated which was causing problems when `src` was bound to computed property
- Added billing page metadata. This way browser history records appear with nicer signature
- Removed "update button" iframe and rewrote "global iframe" to not use modals. This allows to have single iframe on a page, which simplifies `postMessage` communication and preserve history inside iframe to be able to navigate it after closure
- Added route change handler responding to BMA app route changes. Allows to sync browser URL visible to the user with active route in BMA iframe. The sync is based on `hisory.replaceState` method that makes sure singular history records are kept in the browser history
- Added nested wildcard billing route. This is meant to catch all the nested routes inside of BMA iframe
2020-05-22 14:44:37 +12:00

37 lines
960 B
Handlebars

<GhApp @showSettingsMenu={{this.ui.showSettingsMenu}}>
<GhSkipLink @anchor=".gh-main">Skip to main content</GhSkipLink>
<GhAlerts />
<div class="gh-viewport {{if this.ui.showSettingsMenu 'settings-menu-expanded'}} {{if this.ui.showMobileMenu 'mobile-menu-expanded'}}">
{{#if this.showNavMenu}}
<GhNavMenu @icon={{this.settings.settledIcon}} />
{{/if}}
<main class="gh-main {{this.ui.mainClass}}" role="main">
{{outlet}}
</main>
<GhNotifications />
<GhContentCover />
<GhMobileNavBar />
<GhWhatsNew />
</div>{{!gh-viewport}}
{{#if this.customViews.showFormModal}}
<GhFullscreenModal
@modal="custom-view-form"
@close={{this.customViews.toggleFormModal}}
@modifier="action narrow"
/>
{{/if}}
{{#if this.showBilling}}
<GhBillingModal />
{{/if}}
</GhApp>
<EmberLoadRemover />