"Continue reading" manga list in follows

Joined
Jul 10, 2018
Messages
31
It would be nice to have one-unique-manga-per-line list with first-unread after last-read chapter of every manga on the follows list. It will really better user experience if we could just pick unfinished mangas from where we left off in case of a large number of follows. Currently it's difficult to do because of many different chapter mentions in the update list and no easy reading continuation option on the generic follow list.

It can be implemented as "continue reading" menu entry under "latest updates" and in the same format, because the list feels better sorted by latest update, or entirely separate tab.
 
Joined
Apr 23, 2018
Messages
1,071
@Robosox
I had a need for this recently. For now, here is a small script to filter read chapters out of follows which you can use while on PC.
Instructions
1) Go to your MD follows page https://mangadex.org/follows
2) Open your browsers console (instructions [ Firefox | Chrome ])
3) Paste the code below and press enter (can also be made into a bookmarklet for easy access).

Minified [bookmarklet compatible] code:
Code:
javascript:(()=>{Object.values(document.querySelectorAll("[data-manga-id] .fa-eye")).forEach(e=>e.parentNode.parentNode.parentNode.parentNode.parentNode.remove()),Object.values(document.querySelectorAll("a[title]")).map(e=>[e,e.href]).map(([e,t])=>[e,t.match(/\/title\/(\d+)\//)]).filter(([e,t])=>null!=t).map(([e,t])=>[e,t[1]]).forEach(([e,t])=>{const a=document.createElement("img");a.style.width="100px",a.style.minWidth="100px",a.style.maxWidth="100px",a.style.height="auto",a.src=`https://mangadex.org/images/manga/${t}.thumb.jpg`,e.parentNode.parentNode.insertBefore(a,e.parentNode);const r=document.createElement("button");r.innerText="Not Interested",r.classList.add("btn","btn-danger"),r.style.height="50px",r.title="Temporarily hide this series from view",r.addEventListener("click",()=>{Object.values(document.querySelectorAll(`[data-manga-id='${t}']`)).forEach(e=>{e.parentNode.parentNode.remove()})}),e.parentNode.parentNode.insertBefore(r,e.parentNode.nextSibling)});})()

Source:
Code:
// Remove read
Object.values((document.querySelectorAll('[data-manga-id] .fa-eye') )).forEach(an_e=>an_e.parentNode.parentNode.parentNode.parentNode.parentNode.remove())

// Find Series Titles.
Object.values(document.querySelectorAll('a[title]'))
  .map(e=>[e,e.href])
  .map(([e,url])=>[e,url.match(/\/title\/(\d+)\//)])
  .filter(([e,match])=>match!=undefined)
  .map(([e,match])=>[e,match[1]])
  .forEach(([e,id])=>{

  // Add thumbnail
  const img = document.createElement('img')
  img.style.width='100px'
  img.style.minWidth='100px'
  img.style.maxWidth='100px'
  img.style.height='auto'
  img.src=`https://mangadex.org/images/manga/${id}.thumb.jpg`
  e.parentNode.parentNode.insertBefore(img,e.parentNode)

  // Add uninterested btn
  const uninterestedBtn = document.createElement('button')
  uninterestedBtn.innerText='Not Interested'
  uninterestedBtn.classList.add('btn','btn-danger')
  uninterestedBtn.style.height='50px'
  uninterestedBtn.title='Temporarily hide this series from view'
  uninterestedBtn.addEventListener('click',()=>{ Object.values(document.querySelectorAll(`[data-manga-id='${id}']`)).forEach(an_e=>{
    an_e.parentNode.parentNode.remove()
  }) })
  e.parentNode.parentNode.insertBefore(uninterestedBtn,e.parentNode.nextSibling)
})
Preview gif:
5UvkYB6.gif

This is an imperfect solution that will have issues when, for instance, you have read the latest chapter, but not he one directly before (wont have thumbnail/series title/not interested button). But it should still be useful. It doesn't filter out to latest chapter only bc when multiple groups release, occasionally chapter numbers will not match up (different sources may use different numbers for same chapter. Its weird).
 
Custom title
Staff
Developer
Joined
Jan 19, 2018
Messages
2,457
Already in the Planned and Rejected features thread

It's the first damn line
 
Custom title
Staff
Developer
Joined
Jan 19, 2018
Messages
2,457
Oops, sorry, you're not suggesting exactly the same thing. Anyway, there's a feature coming soon (I've actually already written it) where the unread chapters will be sorted to the top in the follows list. Should alleviate this issue a bit.

Something akin to what @firefish5000 has implemented might be interesting to develop too.
 

Users who are viewing this thread

Top