From 034b3df7aec9976027f6b0f4e91d080f2c212045 Mon Sep 17 00:00:00 2001 From: Jonathan Sykes Date: Tue, 6 Oct 2026 04:12:15 +0800 Subject: [PATCH] Complete Framework7 swipe gestures --- frontend/f7-layout.js | 111 +++++++++++++++++-- frontend/f7-layout.test.js | 14 ++- plans/codex-shots-r2/05-song-row-actions.png | Bin 0 -> 60081 bytes plans/codex-shots-r2/05-song-row-swipe.png | Bin 0 -> 38547 bytes plans/codex-shots-r2/06-card-action-menu.png | Bin 0 -> 47159 bytes plans/codex-shots-r2/06-up-next-sheet.png | Bin 0 -> 6429 bytes plans/codex-shots-r2/07-up-next-half.png | Bin 0 -> 76188 bytes plans/codex-shots-r2/08-up-next-full.png | Bin 0 -> 50224 bytes 8 files changed, 113 insertions(+), 12 deletions(-) create mode 100644 plans/codex-shots-r2/05-song-row-actions.png create mode 100644 plans/codex-shots-r2/05-song-row-swipe.png create mode 100644 plans/codex-shots-r2/06-card-action-menu.png create mode 100644 plans/codex-shots-r2/06-up-next-sheet.png create mode 100644 plans/codex-shots-r2/07-up-next-half.png create mode 100644 plans/codex-shots-r2/08-up-next-full.png diff --git a/frontend/f7-layout.js b/frontend/f7-layout.js index ada9206..809ad0f 100644 --- a/frontend/f7-layout.js +++ b/frontend/f7-layout.js @@ -8,7 +8,7 @@ // Which swipe actions a card gets in a given view. Pure, so it is testable. function cardActions(viewType,canDelete){ - const left=viewType==='queue'?[]:[{act:'queue',label:'Queue'}]; + const left=[{act:'queue',label:'Queue'}]; const right=[{act:'playlist',label:'Playlist'}]; if(canDelete)right.push({act:'remove',label:'Remove',danger:true}); return {left,right}; @@ -21,6 +21,10 @@ if(ay>ax*1.4)return dy<0?'up':'down'; return null; } + function tabSwipeIndex(active,count,direction){ + if(direction!=='left'&&direction!=='right'||count<1)return -1; + return Math.max(0,Math.min(count-1,active+(direction==='left'?1:-1))); + } function mount(doc){ const html=doc.documentElement;let app=null,loading=null,active=false,sheet=null,cardsObserver=null; @@ -49,7 +53,22 @@ // ---- Swipeout cards ---- // Framework7 only animates children of the actions box, so these are links acting as buttons. - function actionBtn(a){const b=doc.createElement('a');b.setAttribute('role','button');b.tabIndex=0;b.className='f7s-act'+(a.danger?' f7s-danger swipeout-overswipe':'');b.dataset.act=a.act;b.textContent=a.label;return b;} + function actionBtn(a){const b=doc.createElement('a');b.setAttribute('role','button');b.tabIndex=0;b.className='swipeout-action f7s-act'+(a.danger?' f7s-danger swipeout-overswipe':'');b.dataset.act=a.act;b.textContent=a.label;return b;} + function closeRow(li){ + if(app){try{app.swipeout.close(li);return;}catch{}} + li.classList.remove('f7s-touch-open','swipeout-opened');li.querySelector('.swipeout-content')?.style.removeProperty('transform'); + li.querySelectorAll('.swipeout-actions-opened').forEach(el=>el.classList.remove('swipeout-actions-opened')); + li.querySelectorAll('.f7s-act').forEach(el=>el.style.removeProperty('transform')); + } + function openRow(li,side){ + const box=li.querySelector(`.swipeout-actions-${side}`);if(!box)return; + doc.querySelectorAll('li.f7s-row.f7s-touch-open').forEach(other=>{if(other!==li)closeRow(other);}); + if(app){try{app.swipeout.open(li,side);if(li.classList.contains('swipeout-opened'))return;}catch{}} + const width=[...box.children].reduce((sum,el)=>sum+el.offsetWidth,0)+16; + li.classList.add('f7s-touch-open','swipeout-opened');box.classList.add('swipeout-actions-opened'); + li.querySelector('.swipeout-content').style.transform=`translate3d(${side==='right'?-width:width}px,0,0)`; + box.querySelectorAll('.f7s-act').forEach(el=>el.style.transform='scale(1)'); + } function wrapCard(card){ if(!card.classList||!card.classList.contains('card')||card.closest('li.swipeout')||card.classList.contains('skeleton-card')||!card._video)return; const li=doc.createElement('li');li.className='swipeout f7s-row'; @@ -67,7 +86,7 @@ function onAction(e){ const btn=e.target.closest('.f7s-act');if(!btn)return; const li=btn.closest('li.swipeout'),card=li&&li.querySelector('.card'),v=card&&card._video; - e.stopPropagation();if(app)app.swipeout.close(li);if(!v)return; + e.stopPropagation();closeRow(li);if(!v)return; if(btn.dataset.act==='queue')root.addToQueue&&root.addToQueue(v); else if(btn.dataset.act==='playlist')root.openCardMenu&&root.openCardMenu(v); else if(btn.dataset.act==='remove'){const del=card.querySelector('.card-del');if(del)del.click();} @@ -81,8 +100,9 @@ if(!items.length){const p=doc.createElement('p');p.className='f7s-empty';p.textContent='Nothing queued after this song.';list.append(p);return;} items.forEach((v,k)=>{ const li=doc.createElement('li');li.className='f7s-up'; - li.innerHTML='
'; - li.querySelector('img').src=v.thumbnail||'';li.querySelector('.f7s-up-title').textContent=v.title||'';li.querySelector('.f7s-up-ch').textContent=v.channel||''; + li.innerHTML='
'; + if(v.thumbnail){const img=doc.createElement('img');img.alt='';img.loading='lazy';img.decoding='async';img.src=v.thumbnail;li.prepend(img);} + li.querySelector('.f7s-up-title').textContent=v.title||'';li.querySelector('.f7s-up-ch').textContent=v.channel||''; li.addEventListener('click',()=>{const q=g('queue')||[],i=g('queueIndex');sheet.close();root.playFromList&&root.playFromList(q,(typeof i==='number'?i:-1)+1+k,g('queueSource'));}); list.append(li); }); @@ -98,17 +118,29 @@ renderSheet();sheet.open(); }).catch(()=>{}); } + function closeSheet(){ + const modal=sheet&&sheet.el&&sheet.el.f7Modal;if(!modal)return; + sheet.el.classList.remove('f7s-full');modal.setBreakpoint(0); + // F7 emits its initial `opened` transition after the sheet animation. If a + // very fast drag reaches the handle during that transition, repeat close + // after that event so its initial breakpoint cannot reopen the sheet. + setTimeout(()=>{if(modal.opened)modal.setBreakpoint(0);},360); + } // ---- Mini bar + edge swipes (F7 has no component for these) ---- let drag=null,swallowClick=false; function down(e){ - if(!on()||e.pointerType==='mouse'&&e.button!==0)return; + if(!on()||e.pointerType==='touch'||e.pointerType==='mouse'&&e.button!==0)return; const mini=e.target.closest&&e.target.closest('#miniBar'); const sidebarOpen=!!doc.querySelector('.app.sidebar-open'); const edge=!mini&&e.clientX<22&&!e.target.closest('.player-stage'); const inSidebar=sidebarOpen&&e.target.closest&&e.target.closest('#sidebar, #sidebarBackdrop'); - if(!mini&&!edge&&!inSidebar)return; - drag={x:e.clientX,y:e.clientY,kind:mini?'mini':edge?'edge':'sidebar'}; + const inRow=!!(e.target.closest&&e.target.closest('.f7s-row, .card, input, textarea, select, button, a, [role="slider"], #seek, #volume')); + const inPlayer=e.target.closest&&e.target.closest('#playerPane:not(.empty)'); + const inBody=e.target.closest&&e.target.closest('.body'); + if(!mini&&!edge&&!inSidebar&&(!inBody||inRow)&&!(inPlayer&&!inRow))return; + const kind=mini?'mini':edge?'edge':inSidebar?'sidebar':inPlayer?'player':'tabs'; + drag={x:e.clientX,y:e.clientY,kind}; } function up(e){ if(!drag)return;const d=drag;drag=null; @@ -118,10 +150,67 @@ if(dir==='left')root.playNext&&root.playNext(); else if(dir==='right')root.playPrev&&root.playPrev(); else if(dir==='up')openSheet(); + }else if(d.kind==='sheet'){ + if(dir==='up'&&sheet){sheet.el.f7Modal.setBreakpoint(1);sheet.el.classList.add('f7s-full');} + else if(dir==='down')closeSheet(); }else if(d.kind==='edge'&&dir==='right')root.openSidebar&&root.openSidebar(); else if(d.kind==='sidebar'&&dir==='left')root.closeSidebar&&root.closeSidebar(); + else if(d.kind==='tabs'&&(dir==='left'||dir==='right')){ + const tabs=[...doc.querySelectorAll('#bottomNav .bottom-nav-btn')].filter(b=>!b.disabled&&!b.hidden); + const active=Math.max(0,tabs.findIndex(b=>b.classList.contains('active'))),next=tabSwipeIndex(active,tabs.length,dir); + if(tabs[next]&&next!==active){swallowClick=true;setTimeout(()=>{swallowClick=false;},400);tabs[next].click();} + }else if(d.kind==='player'&&dir==='down'&&innerWidth<=860&&!doc.fullscreenElement&&!doc.querySelector('.orientation-fullscreen')){ + const search=doc.querySelector('#bottomNav .bottom-nav-btn[data-view="search"]');if(search)search.click(); + } } function click(e){if(swallowClick&&e.target.closest&&e.target.closest('#miniBar')){e.stopPropagation();e.preventDefault();swallowClick=false;}} + let touchDrag=null,rowDrag=null; + function touchDown(e){ + if(!on()||!e.changedTouches.length)return; + const t=e.changedTouches[0],target=e.target,mini=target.closest&&target.closest('#miniBar'); + if(target.closest&&target.closest('.f7s-grab, .f7s-sheet-head')){touchDrag={x:t.clientX,y:t.clientY,kind:'sheet'};rowDrag=null;return;} + const row=target.closest&&target.closest('li.f7s-row'); + if(row){rowDrag={row,x:t.clientX,y:t.clientY};touchDrag=null;return;} + const sidebarOpen=!!doc.querySelector('.app.sidebar-open'),edge=!mini&&t.clientX<22&&!target.closest('.player-stage'); + const inSidebar=sidebarOpen&&target.closest&&target.closest('#sidebar, #sidebarBackdrop'); + const inRow=!!(target.closest&&target.closest('.f7s-row, .card, input, textarea, select, button, a, [role="slider"], #seek, #volume')); + const inPlayer=target.closest&&target.closest('#playerPane:not(.empty)'),inBody=target.closest&&target.closest('.body'); + if(!mini&&!edge&&!inSidebar&&(!inBody||inRow)&&!(inPlayer&&!inRow))return; + touchDrag={x:t.clientX,y:t.clientY,kind:mini?'mini':edge?'edge':inSidebar?'sidebar':inPlayer?'player':'tabs'}; + } + function finish(d,x,y){ + if(!d)return;const dir=swipeDirection(x-d.x,y-d.y,d.kind==='mini'?36:56);if(!dir)return; + if(d.kind==='mini'){ + swallowClick=true;setTimeout(()=>{swallowClick=false;},400); + if(dir==='left')root.playNext&&root.playNext();else if(dir==='right')root.playPrev&&root.playPrev();else if(dir==='up')openSheet(); + }else if(d.kind==='sheet'){ + if(dir==='up'&&sheet){sheet.el.f7Modal.setBreakpoint(1);sheet.el.classList.add('f7s-full');} + else if(dir==='down')closeSheet(); + }else if(d.kind==='edge'&&dir==='right')root.openSidebar&&root.openSidebar(); + else if(d.kind==='sidebar'&&dir==='left')root.closeSidebar&&root.closeSidebar(); + else if(d.kind==='tabs'&&(dir==='left'||dir==='right')){ + const tabs=[...doc.querySelectorAll('#bottomNav .bottom-nav-btn')].filter(b=>!b.disabled&&!b.hidden); + const active=Math.max(0,tabs.findIndex(b=>b.classList.contains('active'))),next=tabSwipeIndex(active,tabs.length,dir); + if(tabs[next]&&next!==active){swallowClick=true;setTimeout(()=>{swallowClick=false;},400);tabs[next].click();} + }else if(d.kind==='player'&&dir==='down'&&innerWidth<=860&&!doc.fullscreenElement&&!doc.querySelector('.orientation-fullscreen')){ + const search=doc.querySelector('#bottomNav .bottom-nav-btn[data-view="search"]');if(search)search.click(); + } + } + function touchUp(e){ + if(!e.changedTouches.length)return;const t=e.changedTouches[0]; + if(rowDrag){const d=rowDrag;rowDrag=null;const dx=t.clientX-d.x,dy=t.clientY-d.y; + if(Math.abs(dx)>Math.max(56,Math.abs(dy)*1.4)){ + const card=d.row.querySelector('.card'); + if(dx< -170){const remove=card&&card.querySelector('.card-del');if(remove)remove.click();else {const v=card&&card._video;const del=d.row.querySelector('[data-act="remove"]');if(del)del.click();}} + else if(dx<0)openRow(d.row,'right'); + else if(dx>0&&d.row.querySelector('.swipeout-actions-left'))openRow(d.row,'left'); + else if(dx>0){const v=card&&card._video;v&&root.addToQueue&&root.addToQueue(v);} + else if(dx<0)openRow(d.row,'right'); + } + return; + } + if(!touchDrag)return;const d=touchDrag;touchDrag=null;finish(d,t.clientX,t.clientY); + } function activate(){ active=true; @@ -140,12 +229,16 @@ doc.addEventListener('pointerdown',down,{passive:true}); doc.addEventListener('pointerup',up,{passive:true}); doc.addEventListener('pointercancel',()=>{drag=null;},{passive:true}); + doc.addEventListener('touchstart',touchDown,{passive:true,capture:true}); + doc.addEventListener('touchend',touchUp,{passive:true,capture:true}); + doc.addEventListener('touchcancel',()=>{touchDrag=null;rowDrag=null;},{passive:true,capture:true}); doc.addEventListener('click',click,true); + doc.addEventListener('click',e=>{if(e.target.classList?.contains('sheet-backdrop'))closeSheet();},true); new root.MutationObserver(sync).observe(html,{attributes:true,attributeFilter:['data-layout']}); sync(); } - const api={cardActions,swipeDirection}; + const api={cardActions,swipeDirection,tabSwipeIndex}; if(typeof module!=='undefined')module.exports=api; else {root.F7Swipe=api; if(root.document.readyState==='loading')root.document.addEventListener('DOMContentLoaded',()=>mount(root.document),{once:true});else mount(root.document);} })(typeof window==='undefined'?globalThis:window); diff --git a/frontend/f7-layout.test.js b/frontend/f7-layout.test.js index 7a23041..2e630aa 100644 --- a/frontend/f7-layout.test.js +++ b/frontend/f7-layout.test.js @@ -1,9 +1,9 @@ const test = require('node:test'); const assert = require('node:assert'); -const { cardActions, swipeDirection } = require('./f7-layout'); +const { cardActions, swipeDirection, tabSwipeIndex } = require('./f7-layout'); -test('cardActions: queue view has no Queue action, removable rows get Remove', () => { - assert.deepStrictEqual(cardActions('queue', true).left, []); +test('cardActions: every view gets Queue, removable rows get Playlist and Remove', () => { + assert.deepStrictEqual(cardActions('queue', true).left.map((a) => a.act), ['queue']); assert.deepStrictEqual(cardActions('queue', true).right.map((a) => a.act), ['playlist', 'remove']); assert.deepStrictEqual(cardActions('search', false).left.map((a) => a.act), ['queue']); assert.deepStrictEqual(cardActions('search', false).right.map((a) => a.act), ['playlist']); @@ -17,3 +17,11 @@ test('swipeDirection classifies clear swipes and ignores short or diagonal drags assert.strictEqual(swipeDirection(60, 60), null); assert.strictEqual(swipeDirection(40, 0, 36), 'right'); }); + +test('tabSwipeIndex moves between bottom tabs and clamps at either end', () => { + assert.strictEqual(tabSwipeIndex(0, 5, 'left'), 1); + assert.strictEqual(tabSwipeIndex(3, 5, 'right'), 2); + assert.strictEqual(tabSwipeIndex(4, 5, 'left'), 4); + assert.strictEqual(tabSwipeIndex(0, 5, 'right'), 0); + assert.strictEqual(tabSwipeIndex(2, 5, 'up'), -1); +}); diff --git a/plans/codex-shots-r2/05-song-row-actions.png b/plans/codex-shots-r2/05-song-row-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..47658af6c327fd5302e78898243431b9dcfe5308 GIT binary patch literal 60081 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