Manga Update Filter

Member
Joined
Aug 28, 2023
Messages
31
The update page is a nice way to keep tabs on which manga you are reading. But one problem is that come across is that every series you follow is added into the listing, making it easier for you to spoil yourself with ones that you've haven't read yet or are catching up on reading. It would be nice to have a filter setting so that you can choose which new chapters of manga your following by reading, plan to read, completed, etc. This way they can be categorized so that you know which ones you want to read and not spoil any of the plots.
 
Upvote 0
Dex-chan lover
Joined
Jan 25, 2020
Messages
381
A little unsure of your post, but the bell icon is what adds a title to the Updates page, regardless of the "Reading Status" so make sure that titles outside "reading" don't have it
 
Member
Joined
Jun 8, 2018
Messages
62
Sorry for reviving this thread.

I wanted to ask for a similar function, but for different reasons.
So I thought it would be best to use this thread than start a new one.

I prefer to have my updates to only show the manga that I'm currently reading.

I know I could just un-bell every manga that I'm currently not actively reading.
However I'd have to manually do this for almost 300 titles and the process is quite tedious.

Either a filter for the update page, or a power-user function to speed up the un-bell process would be much appreciated.

Thanks for the consideration.
 
Contributor
Joined
Jan 19, 2018
Messages
604
Either a filter for the update page
Unlikely to happen

a power-user function to speed up the un-bell process
You can use the API directly to do this

Some JS I quickly wrote out that could be run from your browser's console and will unfollow titles based on your reading status in your library.

NOTE: This is untested code so use at your own risk.
JavaScript:
async function GetLibrary(readingStatus) {
    const baseUrl = 'https://api.mangadex.org';
    const authToken = JSON.parse(localStorage.getItem('oidc.user:https://auth.mangadex.org/realms/mangadex:mangadex-frontend-stable')).access_token;
   
    let fetchUrl = `${baseUrl}/manga/status`;
   
    if(readingStatus !== '')
        fetchUrl = `${fetchUrl}?status=${readingStatus}`
   
    let response = await fetch(fetchUrl, {
        method: 'GET',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${authToken}`,
        },
    });
    return await response.json();
}

async function UnfollowTitle(titleId) {
    const baseUrl = 'https://api.mangadex.org';
    const authToken = JSON.parse(localStorage.getItem('oidc.user:https://auth.mangadex.org/realms/mangadex:mangadex-frontend-stable')).access_token;
    
    let response = await fetch(`${baseUrl}/manga/${titleId}/follow`, {
        method: 'DELETE',
        headers: {
            'Authorization': `Bearer ${authToken}`,
            'accept': 'application/json',
        },
    });
    
    const result = await response.json();
}

function Sleep(milliseconds) {
    return new Promise((resolve) => setTimeout(resolve, milliseconds))
}

(async () => {
    //const readingStatus = 'reading';
    //const readingStatus = 'plan_to_read';
    //const readingStatus = 'on_hold';
    const readingStatus = 'dropped';
    //const readingStatus = 're_reading';
    //const readingStatus = 'completed';
    //const readingStatus = ''; // empty for all titles
    const result = await GetLibrary(readingStatus);
    for(const id in result.statuses) {
        await UnfollowTitle(id);
        await Sleep(300);
    }
})();
 

Users who are viewing this thread

Top