Forum Settings
Forums

[SCRIPT] Accurate Progress & Sorting On Anime List

New
Dec 22, 2024 5:43 PM
#1

Offline
Jul 2023
29


= Enhanced Sorting And Progress On Anime List =

= Correctly sorts your anime list by true progress, and reveals your exact progress percentage for each anime. =



˅˅˅˅˅˅ Download here! ˅˅˅˅˅˅

https://greasyfork.org/en/scripts/528832

˄˄˄˄˄˄ ˄˄˄˄˄˄ ˄˄˄˄˄˄





- Adds a button to your Anime List page.

- Click it to cycle through a loop which will correctly sort your anime list by true progress!
   (Default ➡️ Descending Order ➡️ Ascending Order)



- Also reveals your exact progress percentage for each anime!
   (So you know how far you're into a series!)

- Does so with pretty colors too, according to your progress!
   (Green for high progress, orange for medium progress, and red for low progress)





- [EXTRA!!!] Special behavior ONLY with Completed anime:

  - They will never display a progress percentage.
  (Since we know it's always 100% for all of them)

- [EXTRA!!!] Special behavior ONLY while viewing the All Anime category AND sorting the list:

  - Completed anime are moved to the top of the page when sorting in Descending Order, and to the bottom when sorting in Ascending Order.

  - Dropped anime are always moved to the bottom of the page, no matter the sorting.



- ✅ Works on all Anime List categories!!!

- ✅ Compatible with the MAL-Sync extension.



For a full and error-free experience:

  - Use the Modern List Design.
  - Enable the Episodes column on your Anime List Settings.

Should other external tools (scripts, extensions, etc.) conflict with the script and cause it to not work, try disabling them!



Want to leave a comment? Have a suggestion? Encountered an error? Let me know in the replies section! :D



ALL LINKS:

  - GreasyFork: https://greasyfork.org/en/scripts/528832

  - MAL: https://myanimelist.net/forum/?topicid=2194798


EzektorJul 1, 10:51 PM
Dec 22, 2024 6:27 PM
#2

Offline
May 2010
1266
not bad, should make it work with "all anime" too for links like https://myanimelist.net/animelist/ShaggyZE?status=7&season=fall&season_year=2024&order=4&order2=12
that just show seasonal so I don't need to edit it, an if statement for those completed instead of "NaN% progress" and maybe manga.
ShaggyZEDec 22, 2024 6:32 PM
Dec 22, 2024 6:29 PM
#3

Offline
Jul 2023
29
Reply to ShaggyZE
not bad, should make it work with "all anime" too for links like https://myanimelist.net/animelist/ShaggyZE?status=7&season=fall&season_year=2024&order=4&order2=12
that just show seasonal so I don't need to edit it, an if statement for those completed instead of "NaN% progress" and maybe manga.
@ShaggyZE Thank you! I know, making it work for all anime would be very much needed...

Making it work for manga list and handling the anime/manga with no definite episodes/chapters yet is definitely something I wanna add in the future!

Oh, and as far as I tested, completed anime that you have on your "currently watching" list will show "100% progress"! Did you encounter a NaN error somewhere along the way? :o
EzektorDec 22, 2024 6:50 PM
Dec 22, 2024 7:47 PM
#4

Offline
May 2010
1266
Reply to Ezektor
@ShaggyZE Thank you! I know, making it work for all anime would be very much needed...

Making it work for manga list and handling the anime/manga with no definite episodes/chapters yet is definitely something I wanna add in the future!

Oh, and as far as I tested, completed anime that you have on your "currently watching" list will show "100% progress"! Did you encounter a NaN error somewhere along the way? :o
@Ezektor with just removing "1" from @match I can use it here https://myanimelist.net/animelist/ShaggyZE?status=7&season=fall&season_year=2024&order=4&order2=12 (obviously are better ways to do it, plus exclude 2 & 6)

also I use MAL-Sync extension so it adds aired episode inside brackets so when I click the button I get

Edit:
finally compensated for MAL-Sync with
    function calculateProgress(row) {
        const progressCell = row.querySelector('.data.progress');
        if (!progressCell) return 0;

        const progressText = progressCell.innerText.trim();
        const [watched, total] = progressText.replace(/\[[^\]]*\]/g, '').split('/').map(s => parseInt(s.trim(), 10) || 0);
        return total == null ? 100 : total === 0 ? 0 : Math.floor((watched / total) * 100);
    }

ShaggyZEJan 8, 11:42 PM
Jan 8, 6:49 PM
#5

Offline
Jul 2023
29
Script has been updated! :)

Fixed errors, and added lots of cool features. Go check it out in the first post! :)
Jan 8, 11:23 PM
#6

Offline
May 2010
1266
Reply to Ezektor
Script has been updated! :)

Fixed errors, and added lots of cool features. Go check it out in the first post! :)
@Ezektor you can use @exclude so it doesn't work on completed, plan to watch or dropped as not much point using it in those places imo.
and latest version doesn't fix the issue with people who also use MAL-Sync, I posted code above that fixed it.
since
Ezektor said:
3) Use no other scripts or extensions while viewing your Anime List
is not a fair installation request.
ShaggyZEJan 9, 2:40 AM
Jan 9, 12:19 AM
#7

Offline
Jul 2023
29
Reply to ShaggyZE
@Ezektor you can use @exclude so it doesn't work on completed, plan to watch or dropped as not much point using it in those places imo.
and latest version doesn't fix the issue with people who also use MAL-Sync, I posted code above that fixed it.
since
Ezektor said:
3) Use no other scripts or extensions while viewing your Anime List
is not a fair installation request.
ShaggyZE said:
so it doesn't work on plan to watch or dropped as not much point using it in those places imo.


I for one have some anime with some episodes watched on PTW (I just keep them in there for whatever reason, instead of any other category), and it's nice being able to sort them and see which one has more progress, too! Same thing with Dropped anime. Even if they're on the "nasty list" for a good reason, I like being able to tell "I dropped this anime when I was 8%/70%/100%?!?!?! into the series".

I left the functionality there in the script thinking there might be someone else like me out there who could also find it useful. :D

ShaggyZE said:
is not a fair installation request.


I completely get your point! Totally valid. Unfortunately, I cannot guarantee that the script will never ever conflict with any other external tools, either now or in the future; that is why I asked what I asked in the opening post. (Perhaps I should have worded the post differently. Thanks for the idea, btw! I mean it!) I cannot account for any other script, extension, program, etc. that exists out there right now, or that might come into existence out there in the future! On the long run, trying to keep it functional and interactive with any other tools is just not feasible.

Of course, the script seems to work right now even when used alongside some other tools, as you proved in previous posts. I will do my best to keep the script updated and polished if needed, but I simply cannot keep it compatible with anything that the world out there has to offer. Sorry! :(
EzektorJan 9, 12:33 AM
Jan 9, 12:50 AM
#8

Offline
May 2010
1266
Reply to Ezektor
ShaggyZE said:
so it doesn't work on plan to watch or dropped as not much point using it in those places imo.


I for one have some anime with some episodes watched on PTW (I just keep them in there for whatever reason, instead of any other category), and it's nice being able to sort them and see which one has more progress, too! Same thing with Dropped anime. Even if they're on the "nasty list" for a good reason, I like being able to tell "I dropped this anime when I was 8%/70%/100%?!?!?! into the series".

I left the functionality there in the script thinking there might be someone else like me out there who could also find it useful. :D

ShaggyZE said:
is not a fair installation request.


I completely get your point! Totally valid. Unfortunately, I cannot guarantee that the script will never ever conflict with any other external tools, either now or in the future; that is why I asked what I asked in the opening post. (Perhaps I should have worded the post differently. Thanks for the idea, btw! I mean it!) I cannot account for any other script, extension, program, etc. that exists out there right now, or that might come into existence out there in the future! On the long run, trying to keep it functional and interactive with any other tools is just not feasible.

Of course, the script seems to work right now even when used alongside some other tools, as you proved in previous posts. I will do my best to keep the script updated and polished if needed, but I simply cannot keep it compatible with anything that the world out there has to offer. Sorry! :(
@Ezektor that makes sense, didn't really think about those that may use their lists wrong though personally would not care what percent my progress was for dropped shows as they are there for me to forget about.

believe it or not theres not alot of scripts and extensions for MAL (or specific to lists anyway) so your thinking about it too worldly, I use about 30 actively, you can search them on https://chromewebstore.google.com/search/MAL , https://openuserjs.org/group/myanimelist , https://greasyfork.org/en/scripts/by-site/myanimelist.net (obviously) and https://github.com/topics/myanimelist , but that's not really my point as I have already tested your script with just about everything someone might use on lists as me and hacker09 test ours scripts against every other extension/scripts as well so that they are compatible with each other and I only found one, MAL-Sync that it doesn't work with.

my point was more along the lines of simply warning the users that it might be incompatible with some scripts, advise that if it doesn't work they can try disabling other scripts/extensions or use various browsers, would suffice, and applying the fix I provided would most likely solve any issues your bound to come into with other scripts/extensions now or in the future anyway, if some other script comes out that does alter episodes column you'd only need to adjust the regex.
ShaggyZEJan 9, 1:47 AM
Jan 9, 1:51 AM
#9

Offline
Jul 2023
29
Reply to ShaggyZE
@Ezektor that makes sense, didn't really think about those that may use their lists wrong though personally would not care what percent my progress was for dropped shows as they are there for me to forget about.

believe it or not theres not alot of scripts and extensions for MAL (or specific to lists anyway) so your thinking about it too worldly, I use about 30 actively, you can search them on https://chromewebstore.google.com/search/MAL , https://openuserjs.org/group/myanimelist , https://greasyfork.org/en/scripts/by-site/myanimelist.net (obviously) and https://github.com/topics/myanimelist , but that's not really my point as I have already tested your script with just about everything someone might use on lists as me and hacker09 test ours scripts against every other extension/scripts as well so that they are compatible with each other and I only found one, MAL-Sync that it doesn't work with.

my point was more along the lines of simply warning the users that it might be incompatible with some scripts, advise that if it doesn't work they can try disabling other scripts/extensions or use various browsers, would suffice, and applying the fix I provided would most likely solve any issues your bound to come into with other scripts/extensions now or in the future anyway, if some other script comes out that does alter episodes column you'd only need to adjust the regex.
@ShaggyZE

I got you, bro!

OP wording updated.

Script should now work with MAL-Sync.
EzektorJan 9, 12:20 PM
Mar 4, 9:40 PM

Offline
Jul 2023
29
Script has got a new look, go check it out! :) Small but ~aesthetic~ change. ^^

Also now on GitHub! :D

Added all the links in which the script has been posted so far. ^^
EzektorMar 4, 11:42 PM
Mar 5, 4:14 AM

Offline
May 2010
1266
Reply to Ezektor
Script has got a new look, go check it out! :) Small but ~aesthetic~ change. ^^

Also now on GitHub! :D

Added all the links in which the script has been posted so far. ^^
@Ezektor looked at the code, only noticed you cleaning/improving bits of code, but was hard to compare since previously it looked like you were deleting and re-adding it to greasyfork, and even installing new version I couldn't visually see a difference, but it still works fine.

now looks like you are updating it properly, also you should add @updateURL/@downloadURL, now that you have it on github you can point them to its raw urls so you just push a new version to github with the github desktop app and it will update on greasyfork, and us, there is also https://openuserjs.org that I mentioned before which has better github support imo.

Example:
https://github.com/shaggyze/Userscripts
ShaggyZEMar 6, 11:28 PM
Mar 6, 7:42 PM

Offline
Jul 2023
29
Reply to ShaggyZE
@Ezektor looked at the code, only noticed you cleaning/improving bits of code, but was hard to compare since previously it looked like you were deleting and re-adding it to greasyfork, and even installing new version I couldn't visually see a difference, but it still works fine.

now looks like you are updating it properly, also you should add @updateURL/@downloadURL, now that you have it on github you can point them to its raw urls so you just push a new version to github with the github desktop app and it will update on greasyfork, and us, there is also https://openuserjs.org that I mentioned before which has better github support imo.

Example:
https://github.com/shaggyze/Userscripts
@ShaggyZE Yeah, I just made some small, almost unoticable changes. And sorry about deleting it, I'm just mad about OrDeR or whatever and wanted to have only the "clean" version of it uploaded.

Thanks so much for the suggestion! I'll look into it. :D
Mar 6, 10:06 PM
Nostalgia Rules!

Offline
Jun 2008
15985
Holy cow this is awesome! Definitely going to be using this. You rock! 👍
Mar 6, 11:20 PM

Offline
Jul 2023
29
Reply to Retro8bit
Holy cow this is awesome! Definitely going to be using this. You rock! 👍
@Retro8bit Thank you so much for your kind words! ^^ I'm so glad you like it. 🫶
Mar 11, 1:05 PM

Offline
Jun 2021
3189
Ah, so it was deleted and reuploaded on GreasyFork. Anyways, I just uninstalled the old one and installed the new version. Nice that it's now also on GitHub.

Uhm, is there a way to hide the word progress (0% progess) and just show the percentage (0% and so on)?
Mar 11, 5:03 PM

Offline
May 2010
1266
Reply to IridescentJaune
Ah, so it was deleted and reuploaded on GreasyFork. Anyways, I just uninstalled the old one and installed the new version. Nice that it's now also on GitHub.

Uhm, is there a way to hide the word progress (0% progess) and just show the percentage (0% and so on)?
@IridescentJaune i like that it shows the word progress, he could add a boolean variable and switch or if statement to show or not show "progress" or you can edit line 64
        progressPercentageElement.textContent = `${progressPercentage}% progress`;
Mar 11, 5:04 PM

Offline
May 2010
1266
Reply to IridescentJaune
Ah, so it was deleted and reuploaded on GreasyFork. Anyways, I just uninstalled the old one and installed the new version. Nice that it's now also on GitHub.

Uhm, is there a way to hide the word progress (0% progess) and just show the percentage (0% and so on)?
@IridescentJaune i like that it shows the word progress, he could add a boolean variable and switch or if statement to show or not show "progress" or you can edit line 64
        progressPercentageElement.textContent = `${progressPercentage}% progress`;
Mar 11, 5:09 PM

Offline
Jun 2021
3189
Reply to ShaggyZE
@IridescentJaune i like that it shows the word progress, he could add a boolean variable and switch or if statement to show or not show "progress" or you can edit line 64
        progressPercentageElement.textContent = `${progressPercentage}% progress`;
@ShaggyZE I guess seeing just percentages would confuse some. I just thought of removing the word progress because the percentages are already under the Progress column.

Thanks for sharing that line. I'll try it and see if I prefer it or the default.

Edit:
I forgot that only I could see the percentages/progress since it's a script. Hehe.
IridescentJauneMar 13, 7:20 PM
Mar 13, 7:15 PM

Offline
Jun 2021
3189
I removed the word progress. It's on line 66 on mine.

        progressPercentageElement.textContent = `${progressPercentage}%`;


It looks fine. I'm not yet sure which one I really like.
Mar 14, 7:44 AM

Offline
May 2010
1266
Reply to IridescentJaune
I removed the word progress. It's on line 66 on mine.

        progressPercentageElement.textContent = `${progressPercentage}%`;


It looks fine. I'm not yet sure which one I really like.
@IridescentJaune hmm yea I suppose it is, for some reason the code preview on greasyfork removes // @downloadURL and // @updateURL
https://greasyfork.org/en/scripts/528832-mal-myanimelist-accurate-progress-sorting-on-anime-list/code
Dec 20, 4:41 PM

Offline
Nov 2007
546
Thank you so much for this script! I was able to modify it so I can sort by episodes remaining instead of percentage :)

The lines I changed:
return total == null ? 100 : total === 0 ? 0 : Math.floor(total-watched);
progressPercentageElement.textContent = `${progressPercentage} episodes left`;


I also messed around with the colors to fit my preferences:
    if (progressPercentage <= 10) {
            progressPercentageElement.style.color = '#4caf50';
        } else if (progressPercentage <= 24) {
            progressPercentageElement.style.color = '#ff9800';
        } else {
            progressPercentageElement.style.color = '#f44336';
        }

More topics from this board

» Did I go over the top with the stamps on my profile?

vermerin - Dec 17

10 by Chipp_Dipp »»
1 hour ago

» Have you ever used a mechanical pencil for drawing?

DesuMaiden - Dec 19

8 by DesuMaiden »»
2 hours ago

» 【 ART THREAD 】Let's share our art! ‪‪❤︎‬ ( 1 2 3 4 5 ... Last Page )

mewmewforever - Aug 30, 2024

275 by waferish »»
5 hours ago

» I made a 'Cultured' higher or lower game

DuxAlbion - Yesterday

1 by Retro8bit »»
Yesterday, 5:07 PM

» AI-Powered Anime Recommendations + Stats ( 1 2 )

ameo___ - May 23, 2022

88 by therex55213 »»
Yesterday, 4:15 PM
It’s time to ditch the text file.
Keep track of your anime easily by creating your own list.
Sign Up Login