feat: lecteur média persistant Now Playing (dock audio, mini-vidéo PiP, Media Session, mobile) #110
This commit is contained in:
@@ -197,9 +197,13 @@ function createPaneTabManager(paneId) {
|
||||
close(tabId) {
|
||||
const idx = this._tabs.findIndex(t => t.id === tabId);
|
||||
if (idx === -1) return;
|
||||
const closingTab = this._tabs[idx];
|
||||
this._tabs.splice(idx, 1);
|
||||
delete this._tabCache[tabId];
|
||||
this._dirtyTabs.delete(tabId);
|
||||
if (window.NowPlaying && closingTab) {
|
||||
window.NowPlaying.notifyTabClosed(closingTab.vault, closingTab.path);
|
||||
}
|
||||
if (this._tabs.length === 0) {
|
||||
this._activeTabId = null;
|
||||
// If this pane has no more tabs and isn't the last pane, close it
|
||||
@@ -826,6 +830,8 @@ const PaneManager = {
|
||||
grid.className = 'pane-grid';
|
||||
this._applyGridTemplate(grid, n);
|
||||
|
||||
// #110 — keep playing media alive across a pane-grid rebuild.
|
||||
if (window.NowPlaying) window.NowPlaying.handleRender(wrapper, null);
|
||||
wrapper.innerHTML = '';
|
||||
wrapper.appendChild(grid);
|
||||
this.panes = [];
|
||||
@@ -1216,6 +1222,8 @@ const PaneManager = {
|
||||
if (!grid) return;
|
||||
const wrapper = grid.parentElement;
|
||||
const pane0 = this.panes[0];
|
||||
// #110 — keep playing media alive across a pane collapse.
|
||||
if (window.NowPlaying) window.NowPlaying.handleRender(wrapper, null);
|
||||
wrapper.innerHTML = '';
|
||||
let tabBar = null, content = null;
|
||||
if (pane0 && pane0.element) {
|
||||
|
||||
Reference in New Issue
Block a user