// ==UserScript==
// @name Meneame.net - Menú ampliado ¡EXPANDIBLE!
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Ten todas las opciones SIEMPRE en el mismo sitio ocupando el mínimo espacio
// @author ᵒᶜʰᵒᶜᵉʳᵒˢ
// @match *://*.meneame.net/*
// @run-at document-end
// @icon https://www.meneame.net/favicon.ico
// @grant none
// @license GNU GPLv3
// ==/UserScript==
const menu_New = '<ul class="menu01-itemsr">MENU_OPTIONS</ul>';
const menu_Location = '#more-options';
const menu_Category = '<li class="mnu-c" title="%1"><details><summary class="mnu-c">%2</summary><ul class="mnu-c">MENU_ITEMS</li></details></li>';
const menu_Item = '<li class="mnu-c" title="%1"><a href="%2" data-option-name="%3" class="nav-bar-option"><div class="option-title">%3</div></a></li>';
const menu_Extended_CSS = '<style>ul.mnu-c {list-style: none; padding: 0;} li.mnu-c{padding: 4px 12px !important;text-transform: uppercase; font-weight: 600;} details {margin-bottom: 10px;}</style>';
const username_Shown = document.querySelector('#userinfo .usertext.wideonly .tooltip').innerHTML;
const parent_Items = [
['noticias', 'distintas vistas de noticias'],
['nótame','distintas vistas del nótame'],
['otros','otras opciones'],
['información','información varia de menéame'],
['perfil','enlaces de tu perfil de usuario']
];
const items = [
['menear noticias pendientes', '/queue', 'nuevas','noticias'],
['noticias candidatas', '/queue?meta=_popular', 'candidatas','noticias'],
['noticias más populares', '/popular', 'populares','noticias'],
['noticias más negativizadas', '/topshames.php', 'impopulares','noticias'],
['noticias más visitadas', '/top_visited', 'más visitadas','noticias'],
['noticias más activas', '/top_active', 'destacadas','noticias'],
['leer o escribir notas y mensajes privados', '/notame/', 'nótame','nótame'],
['notas más populares', '/notame/_best', 'populares','nótame'],
['notas con encuestas', '/notame/_poll', 'encuestas','nótame'],
['mis notas', '/user/' + username_Shown + '/notes', 'mis notas','nótame'],
['mis privados', '/user/' + username_Shown + '/notes_privates', 'mis privados','nótame'],
['Comunidades', '/subs', 'comunidades','otros'],
['artículos de usuarios', '/articles', 'artículos','otros'],
['las imágenes subidas por los usuarios', 'javascript:fancybox_gallery(\'all\');', 'galería','otros'],
['mejores comentarios', '/top_comments', 'comentarios +🔼','otros'],
['visualizador en tiempo real', '/sneak', 'fisgona','información'],
['ayuda para principiantes', 'https://github.com/Meneame/meneame.net/wiki/Comenzando', 'ayuda','información'],
['nube de etiquetas', '/cloud.php', 'nube etiquetas','información'],
['Información sobre valores de karma y límites', '/values.php', 'valores','información'],
['noticias pendientes de subir/bajar', '/promote.php', 'promote','información'],
['mi perfil', '/user/' + username_Shown, 'mi perfil','perfil'],
['mis comentarios', '/user/' + username_Shown + '/commented', 'mis comentarios','perfil'],
['mis notas', '/user/' + username_Shown + '/notes', 'mis notas','perfil'],
['mis privados', '/user/' + username_Shown + '/notes_privates', 'mis privados','perfil'],
['conversaciones entre dos usuarios', '/between.php', 'debates','perfil'],
];
function buildMenu() {
let result = '';
for (const parent of parent_Items) {
const childItems = items.filter(item => item[3] === parent[0]);
let childResult = '';
for (const child of childItems) {
childResult += menu_Item.replace('%1', child[0]).replace('%2', child[1]).replaceAll('%3', child[2]);
}
result += menu_Category.replace('%1', parent[1]).replace('%2', parent[0]).replace('MENU_ITEMS', childResult);
}
return result;
}
(function() {
document.head.insertAdjacentHTML("beforeend", menu_Extended_CSS);
var menu_Old = document.querySelector(menu_Location);
menu_Old.innerHTML = menu_New.replace('MENU_OPTIONS', buildMenu());
})();