MyList Status Bar

UserScript for adding status bar to AniDB MyList page.

  1. // ==UserScript==
  2. // @name MyList Status Bar
  3. // @version 3.5
  4. // @author wiidat
  5. // @description UserScript for adding status bar to AniDB MyList page.
  6. // @license GPL-3.0-or-later
  7. // @include http://anidb.net/user/mylist/*
  8. // @include https://anidb.net/user/mylist/*
  9. // @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
  10. // @grant none
  11. // @icon http://static.anidb.net/favicon.ico
  12. // @homepageURL https://github.com/wiidat/MyList-Status-Bar
  13. // @namespace wiidat
  14. // ==/UserScript==
  15.  
  16. var url = window.location.href;
  17.  
  18. if (url.indexOf("mylist") > -1 && url.indexOf("show=mylist&do=add") == -1) {
  19. var list_url = '//anidb.net/user/mylist/';
  20. function getUrlVars() {
  21. var vars = {
  22. };
  23. var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
  24. vars[key] = value;
  25. });
  26. return vars;
  27. }
  28. var user_id = parseInt(getUrlVars() ['uid']);
  29. var char_id = getUrlVars() ['char'];
  30. var page_id = parseInt(getUrlVars() ['page']);
  31. var liststate_watching = parseInt(getUrlVars() ['liststate.watching']); //Currently Watching
  32. var liststate_completed = parseInt(getUrlVars() ['liststate.completed']); //Completed
  33. var liststate_stalled = parseInt(getUrlVars() ['liststate.stalled']); //On Hold
  34. var liststate_dropped = parseInt(getUrlVars() ['liststate.dropped']); //Dropped
  35. var liststate_collecting = parseInt(getUrlVars() ['liststate.collecting']); //Plan to Watch
  36. var liststate_unknown = parseInt(getUrlVars() ['liststate.unknown']); //Recently Added
  37. if (isNaN(user_id)) {
  38. var user_url = ''
  39. } else {
  40. var user_url = '&uid=' + user_id
  41. }
  42. if (typeof char_id === 'undefined') {
  43. var char_url = ''
  44. } else {
  45. var char_url = '&char=' + char_id
  46. }
  47. if (isNaN(page_id)) {
  48. page_id = 0
  49. }
  50. var page_back_id = page_id - 1;
  51. var page_next_id = page_id + 1;
  52. if (isNaN(liststate_watching)) {
  53. liststate_watching = 0
  54. }
  55. if (isNaN(liststate_completed)) {
  56. liststate_completed = 0
  57. }
  58. if (isNaN(liststate_stalled)) {
  59. liststate_stalled = 0
  60. }
  61. if (isNaN(liststate_dropped)) {
  62. liststate_dropped = 0
  63. }
  64. if (isNaN(liststate_collecting)) {
  65. liststate_collecting = 0
  66. }
  67. if (isNaN(liststate_unknown)) {
  68. liststate_unknown = 0
  69. }
  70. if (liststate_watching == 0) {
  71. var liststate_watching_url = ''
  72. } else {
  73. var liststate_watching_url = '?do.update=1&liststate.watching=1'
  74. }
  75. if (liststate_completed == 0) {
  76. var liststate_completed_url = ''
  77. } else {
  78. var liststate_completed_url = '?do.update=1&liststate.completed=1'
  79. }
  80. if (liststate_stalled == 0) {
  81. var liststate_stalled_url = ''
  82. } else {
  83. var liststate_stalled_url = '?do.update=1&liststate.stalled=1'
  84. }
  85. if (liststate_dropped == 0) {
  86. var liststate_dropped_url = ''
  87. } else {
  88. var liststate_dropped_url = '?do.update=1&liststate.dropped=1'
  89. }
  90. if (liststate_collecting == 0) {
  91. var liststate_collecting_url = ''
  92. } else {
  93. var liststate_collecting_url = '?do.update=1&liststate.collecting=1'
  94. }
  95. if (liststate_unknown == 0) {
  96. var liststate_unknown_url = ''
  97. } else {
  98. var liststate_unknown_url = '?do.update=1&liststate.unknown=1'
  99. }
  100. var a_anime = '<li><a href=\"' + list_url + user_url + '\">All Anime</a></li>'
  101. var w_state = '<li><a href=\"' + list_url + user_url + '?do.update=1&liststate.watching=1\">Watching</a></li>'
  102. var com_state = '<li><a href=\"' + list_url + user_url + '?do.update=1&liststate.completed=1\">Completed</a></li>'
  103. var s_state = '<li><a href=\"' + list_url + user_url + '?do.update=1&liststate.stalled=1\">Stalled</a></li>'
  104. var d_state = '<li><a href=\"' + list_url + user_url + '?do.update=1&liststate.dropped=1\">Dropped</a></li>'
  105. var col_state = '<li><a href=\"' + list_url + user_url + '?do.update=1&liststate.collecting=1\">Plan to Watch</a></li>'
  106. var u_state = '<li><a href=\"' + list_url + user_url + '?do.update=1&liststate.unknown=1\">Recently Added</a></li>'
  107. $('ul.g_list').before('<ul class=\"g_list jump\">' + a_anime + w_state + com_state + s_state + d_state + col_state + u_state + '</ul>');
  108. }