尋找相似元素並按觀看次數降序排列新增排名。
// ==UserScript==
// @name Append Rank by WatchNumber/LikeNumber in the Suno.ai Single Page
// @name:ar إضافة ترتيب حسب عدد المشاهدات/الإعجابات في صفحة Suno.ai المفردة
// @name:bg Добавяне на ранг по брой гледания/харесвания в единичната страница на Suno.ai
// @name:cs Přidat hodnocení podle počtu zhlédnutí/lajků na jedné stránce Suno.ai
// @name:da Tilføj rangering efter antal visninger/likes på Suno.ai enkeltside
// @name:de Rangfolge nach Anzahl der Aufrufe/Likes auf der Suno.ai-Einzelansicht hinzufügen
// @name:el Προσθήκη κατάταξης βάσει αριθμού προβολών/Μου αρέσει σε μεμονωμένη σελίδα Suno.ai
// @name:en Append Rank by WatchNumber/LikeNumber in the Suno.ai Single Page
// @name:eo Aldoni Rangon laŭ Vidoj/Ŝatoj en la Unuopa Paĝo de Suno.ai
// @name:es Añadir rango por número de vistas/Me gusta en la página individual de Suno.ai
// @name:fi Lisää sijoitus katselukertojen/tykkäysten mukaan Suno.ai:n yhdellä sivulla
// @name:fr Ajouter un rang par nombre de vues/J'aime dans la page unique Suno.ai
// @name:fr-CA Ajouter un rang par nombre de vues/J'aime dans la page unique Suno.ai (Canada)
// @name:he הוסף דירוג לפי מספר צפיות/לייקים בדף יחיד של Suno.ai
// @name:hr Dodaj rang prema broju pregleda/lajkova na jednoj stranici Suno.ai
// @name:hu Rangsor hozzáadása a megtekintések/lájkok száma alapján a Suno.ai egyoldalas nézetben
// @name:id Tambahkan Peringkat berdasarkan Jumlah Tontonan/Suka di Halaman Tunggal Suno.ai
// @name:it Aggiungi ranking per numero di visualizzazioni/Mi piace nella pagina singola di Suno.ai
// @name:ja Suno.aiのシングルページに視聴数/いいね数でランクを追加
// @name:ka დაამატეთ რანგი ნახვების/ლაიქების რაოდენობის მიხედვით Suno.ai-ის ერთ გვერდზე
// @name:ko Suno.ai 단일 페이지에서 조회수/좋아요 수로 순위 추가
// @name:nb Legg til rangering etter antall visninger/liker på Suno.ai-siden
// @name:nl Rang toevoegen op basis van aantal views/likes op de Suno.ai-pagina
// @name:pl Dodaj ranking według liczby wyświetleń/polubień na pojedynczej stronie Suno.ai
// @name:pt-BR Adicionar classificação por número de visualizações/curtidas na página única do Suno.ai
// @name:ro Adaugă rangul după numărul de vizualizări/aprecieri în pagina unică Suno.ai
// @name:ru Добавить рейтинг по количеству просмотров/лайков на отдельной странице Suno.ai
// @name:sk Pridať poradie podľa počtu zhliadnutí/páči sa mi na jednej stránke Suno.ai
// @name:sr Dodaj rang po broju pregleda/lajkova na jednoj stranici Suno.ai
// @name:sv Lägg till rangordning efter antal visningar/gillningar på Suno.ai:s enskilda sida
// @name:th เพิ่มอันดับตามจำนวนการดู/จำนวนถูกใจในหน้าเดียวของ Suno.ai
// @name:tr Suno.ai Tek Sayfasında İzlenme/Beğeni Sayısına Göre Sıra Ekle
// @name:ug Suno.ai بىر بەتتە كۆرۈش سانى / ياقتۇرۇش سانى بويىچە رەت قوشۇڭ
// @name:uk Додати рейтинг за кількістю переглядів/вподобайок на окремій сторінці Suno.ai
// @name:vi Thêm thứ hạng theo số lượt xem/thích trong Trang đơn của Suno.ai
// @name:zh 在 Suno.ai 单页中按观看次数/点赞数添加排名
// @name:zh-CN 在 Suno.ai 单页中按观看次数/点赞数添加排名
// @name:zh-HK 在 Suno.ai 單頁中按觀看次數/讚好數新增排名
// @name:zh-SG 在 Suno.ai 单页中按观看次数/点赞数添加排名
// @name:zh-TW 在 Suno.ai 單頁中按觀看次數/讚好數新增排名
// @description Find similar elements and append their rank by watch number in descending order.
// @description:ar ابحث عن عناصر مماثلة وألحق ترتيبها حسب عدد المشاهدات بترتيب تنازلي.
// @description:bg Намерете подобни елементи и добавете техния ранг според броя гледания в низходящ ред.
// @description:cs Najděte podobné prvky a připojte jejich hodnocení podle počtu zhlédnutí v sestupném pořadí.
// @description:da Find lignende elementer og tilføj deres rangering efter antal visninger i faldende rækkefølge.
// @description:de Ähnliche Elemente finden und ihre Rangfolge nach Anzahl der Aufrufe in absteigender Reihenfolge hinzufügen.
// @description:el Βρείτε παρόμοια στοιχεία και προσθέστε την κατάταξή τους κατά αριθμό προβολών σε φθίνουσα σειρά.
// @description:eo Trovu similajn elementojn kaj aldonu ilian rangon laŭ nombro de vidoj en malkreskanta ordo.
// @description:es Encuentra elementos similares y añade su rango por número de vistas en orden descendente.
// @description:fi Etsi samankaltaisia elementtejä ja lisää niiden sijoitus katselukertojen mukaan laskevassa järjestyksessä.
// @description:fr Trouver des éléments similaires et ajouter leur rang par nombre de vues par ordre décroissant.
// @description:fr-CA Trouver des éléments similaires et ajouter leur rang par nombre de vues par ordre décroissant (Canada).
// @description:he מצא רכיבים דומים והוסף את הדירוג שלהם לפי מספר צפיות בסדר יורד.
// @description:hr Pronađite slične elemente i dodajte njihov rang prema broju pregleda u silaznom redoslijedu.
// @description:hu Hasonló elemek keresése és a rangsorolásuk hozzáadása a megtekintések száma alapján csökkenő sorrendben.
// @description:id Temukan elemen serupa dan tambahkan peringkatnya berdasarkan jumlah tontonan dalam urutan menurun.
// @description:it Trova elementi simili e aggiungi il loro ranking per numero di visualizzazioni in ordine decrescente.
// @description:ja 類似の要素を見つけて、視聴数で降順にランクを追加します。
// @description:ka იპოვეთ მსგავსი ელემენტები და დაამატეთ მათი რანგი ნახვების რაოდენობის მიხედვით კლებადობის მიხედვით.
// @description:ko 유사한 요소를 찾고 조회수 기준으로 내림차순으로 순위를 추가합니다.
// @description:nb Finn lignende elementer og legg til rangeringen deres etter antall visninger i synkende rekkefølge.
// @description:nl Vind vergelijkbare elementen en voeg hun rang toe op basis van het aantal weergaven in aflopende volgorde.
// @description:pl Znajdź podobne elementy i dodaj ich ranking według liczby wyświetleń w kolejności malejącej.
// @description:pt-BR Encontre elementos semelhantes e adicione sua classificação pelo número de visualizações em ordem decrescente.
// @description:ro Găsește elemente similare și adaugă rangul lor după numărul de vizualizări în ordine descrescătoare.
// @description:ru Найдите похожие элементы и добавьте их рейтинг по количеству просмотров в порядке убывания.
// @description:sk Nájdite podobné prvky a pripojte ich poradie podľa počtu zhliadnutí v zostupnom poradí.
// @description:sr Pronađite slične elemente i dodajte njihov rang po broju pregleda u opadajućem redosledu.
// @description:sv Hitta liknande element och lägg till deras rangordning efter antal visningar i fallande ordning.
// @description:th ค้นหาองค์ประกอบที่คล้ายกันและเพิ่มอันดับตามจำนวนการดูในลำดับจากมากไปน้อย
// @description:tr Benzer öğeleri bulun ve azalan düzende izlenme sayısına göre sıralarını ekleyin.
// @description:ug ئوخشاش ئېلېمېنتلارنى تېپىپ ، تۆۋەنلەش تەرتىپىدە كۆرۈش سانى بويىچە دەرىجىسىنى قوشۇڭ.
// @description:uk Знайдіть подібні елементи та додайте їх рейтинг за кількістю переглядів у порядку спадання.
// @description:vi Tìm các phần tử tương tự và thêm thứ hạng của chúng theo số lượt xem theo thứ tự giảm dần.
// @description:zh 查找相似元素并按观看次数降序排列添加排名。
// @description:zh-CN 查找相似元素并按观看次数降序排列添加排名。
// @description:zh-HK 尋找相似元素並按觀看次數降序排列新增排名。
// @description:zh-SG 查找相似元素并按观看次数降序排列添加排名。
// @description:zh-TW 尋找相似元素並按觀看次數降序排列新增排名。
// @namespace http://tampermonkey.net/
// @version 1.0.2.1
// @author aspen138
// @match *://app.suno.ai/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=suno.ai
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Function to append rankings based on text content numbers
function appendRankings(selector) {
window.addEventListener('load', function() {
// Find elements matching the selector and convert NodeList to Array
const elements = Array.from(document.querySelectorAll(selector));
console.log("elements=", elements);
// Filter, sort, and append rank in a combined step
elements
.filter(el => el.querySelector('p')) // Filter elements containing a <p> tag
.sort((a, b) => { // Sort elements by the number inside <p> in descending order
const aNumber = parseInt(a.querySelector('p').textContent, 10);
const bNumber = parseInt(b.querySelector('p').textContent, 10);
return bNumber - aNumber;
})
.forEach((element, index) => { // Append a rank span to each element
const rankDisplay = document.createElement('span');
rankDisplay.style.marginLeft = '10px';
rankDisplay.textContent = `Rank${index + 1}'`;
rankDisplay.className="chakra-text css-19h91tu";
element.appendChild(rankDisplay);
});
console.log("sortedElements", elements); // Debugging
});
}
// Call the function for both selectors
appendRankings('button[data-theme="dark"][aria-label="Play Count"].css-1v0yma7');
appendRankings('button[data-theme="dark"][aria-label="like-button"]');
})();