improve sub navigation on config page

Don't hide the active element, it annoying to use the navigation if the
menu items changing there position with every click. Indicate the active
menu item instead, similar to the header navigation.

May I've worked to long with windows systems, but help and about have to
be the last menu items :-). I've reorderd the menu items to what I think
user need more often.

A sub-navigation should not change its parent heading. Changed that as
well.
This commit is contained in:
Mathias Kresin 2015-01-13 22:03:24 +01:00
parent cfaa25f667
commit 360fc9076e
15 changed files with 79 additions and 74 deletions

View File

@ -395,6 +395,7 @@ header a {
nav .active a { nav .active a {
color: #333; color: #333;
font-weight: bold; font-weight: bold;
text-decoration: none;
} }
.logo { .logo {

View File

@ -179,7 +179,7 @@ Router\get_action('help', function() {
'config' => Model\Config\get_all(), 'config' => Model\Config\get_all(),
'nb_unread_items' => Model\Item\count_by_status('unread'), 'nb_unread_items' => Model\Item\count_by_status('unread'),
'menu' => 'config', 'menu' => 'config',
'title' => t('Help') 'title' => t('Preferences')
))); )));
}); });
@ -191,7 +191,7 @@ Router\get_action('about', function() {
'config' => Model\Config\get_all(), 'config' => Model\Config\get_all(),
'nb_unread_items' => Model\Item\count_by_status('unread'), 'nb_unread_items' => Model\Item\count_by_status('unread'),
'menu' => 'config', 'menu' => 'config',
'title' => t('About') 'title' => t('Preferences')
))); )));
}); });
@ -204,7 +204,7 @@ Router\get_action('database', function() {
'db_size' => filesize(\Model\Database\get_path()), 'db_size' => filesize(\Model\Database\get_path()),
'nb_unread_items' => Model\Item\count_by_status('unread'), 'nb_unread_items' => Model\Item\count_by_status('unread'),
'menu' => 'config', 'menu' => 'config',
'title' => t('Database') 'title' => t('Preferences')
))); )));
}); });
@ -215,7 +215,7 @@ Router\get_action('api', function() {
'config' => Model\Config\get_all(), 'config' => Model\Config\get_all(),
'nb_unread_items' => Model\Item\count_by_status('unread'), 'nb_unread_items' => Model\Item\count_by_status('unread'),
'menu' => 'config', 'menu' => 'config',
'title' => t('API') 'title' => t('Preferences')
))); )));
}); });
@ -226,7 +226,7 @@ Router\get_action('services', function() {
'errors' => array(), 'errors' => array(),
'values' => Model\Config\get_all() + array('csrf' => Model\Config\generate_csrf()), 'values' => Model\Config\get_all() + array('csrf' => Model\Config\generate_csrf()),
'menu' => 'config', 'menu' => 'config',
'title' => t('External services') 'title' => t('Preferences')
))); )));
}); });

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => 'Potvrzení', 'Confirmation' => 'Potvrzení',
'Language' => 'Jazyk', 'Language' => 'Jazyk',
'Save' => 'Uložit', 'Save' => 'Uložit',
'Database' => 'Databáze',
'Database size:' => 'Velikost databáze:', 'Database size:' => 'Velikost databáze:',
'Optimize the database' => 'Optimalizovat databázi', 'Optimize the database' => 'Optimalizovat databázi',
'(VACUUM command)' => '(příkaz VACUUM)', '(VACUUM command)' => '(příkaz VACUUM)',
@ -204,7 +203,6 @@ return array(
// 'FAQ' => '', // 'FAQ' => '',
// 'settings' => '', // 'settings' => '',
// 'help' => '', // 'help' => '',
// 'API' => '',
// 'api' => '', // 'api' => '',
// 'about' => '', // 'about' => '',
// 'This action will update Miniflux with the last development version, are you sure?' => '', // 'This action will update Miniflux with the last development version, are you sure?' => '',
@ -218,7 +216,6 @@ return array(
// 'Remove automatically unread items' => '', // 'Remove automatically unread items' => '',
// 'Toggle RTL mode' => '', // 'Toggle RTL mode' => '',
// 'external services' => '', // 'external services' => '',
// 'External services' => '',
// 'Send bookmarks to Pinboard' => '', // 'Send bookmarks to Pinboard' => '',
// 'Pinboard API token' => '', // 'Pinboard API token' => '',
// 'Pinboard tags' => '', // 'Pinboard tags' => '',
@ -233,4 +230,5 @@ return array(
// 'Enable image proxy' => '', // 'Enable image proxy' => '',
// 'Avoid mixed content warnings with HTTPS' => '', // 'Avoid mixed content warnings with HTTPS' => '',
// 'Download favicons' => '', // 'Download favicons' => '',
// 'general' => '',
); );

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => 'Bestätigung', 'Confirmation' => 'Bestätigung',
'Language' => 'Sprache', 'Language' => 'Sprache',
'Save' => 'Speichern', 'Save' => 'Speichern',
'Database' => 'Datenbank',
'Database size:' => 'Größe der Datenbank:', 'Database size:' => 'Größe der Datenbank:',
'Optimize the database' => 'Datenbank optimieren', 'Optimize the database' => 'Datenbank optimieren',
'(VACUUM command)' => '(Befehl: SQL VACUUM)', '(VACUUM command)' => '(Befehl: SQL VACUUM)',
@ -204,7 +203,6 @@ return array(
'FAQ' => 'FAQ', 'FAQ' => 'FAQ',
'settings' => 'Einstellungen', 'settings' => 'Einstellungen',
'help' => 'Hilfe', 'help' => 'Hilfe',
'API' => 'API',
'api' => 'api', 'api' => 'api',
'about' => 'über', 'about' => 'über',
'This action will update Miniflux with the last development version, are you sure?' => 'Miniflux wird auf die aktuelle Entwicklungsversion aktualisiert. Bist du sicher?', 'This action will update Miniflux with the last development version, are you sure?' => 'Miniflux wird auf die aktuelle Entwicklungsversion aktualisiert. Bist du sicher?',
@ -218,7 +216,6 @@ return array(
'Remove automatically unread items' => 'Ungelesene Artikel automatisch entfernen', 'Remove automatically unread items' => 'Ungelesene Artikel automatisch entfernen',
'Toggle RTL mode' => 'Textrichtung umschalten', 'Toggle RTL mode' => 'Textrichtung umschalten',
'external services' => 'externe Dienste', 'external services' => 'externe Dienste',
'External services' => 'Externe Dienste',
'Send bookmarks to Pinboard' => 'Sende Lesezeichen an Pinboard', 'Send bookmarks to Pinboard' => 'Sende Lesezeichen an Pinboard',
'Pinboard API token' => 'Pinboard API Token', 'Pinboard API token' => 'Pinboard API Token',
'Pinboard tags' => 'Pinboard Tags', 'Pinboard tags' => 'Pinboard Tags',
@ -233,4 +230,5 @@ return array(
'Enable image proxy' => 'Verwende Proxyserver für Bilder', 'Enable image proxy' => 'Verwende Proxyserver für Bilder',
'Avoid mixed content warnings with HTTPS' => 'Vermeidet Warnungen wegen gemischtem Inhalt bei HTTPS', 'Avoid mixed content warnings with HTTPS' => 'Vermeidet Warnungen wegen gemischtem Inhalt bei HTTPS',
'Download favicons' => 'Favicons herunterladen', 'Download favicons' => 'Favicons herunterladen',
'general' => 'allgemein',
); );

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => 'Confirmación', 'Confirmation' => 'Confirmación',
'Language' => 'Idioma', 'Language' => 'Idioma',
'Save' => 'Guardar', 'Save' => 'Guardar',
'Database' => 'Base de datos',
'Database size:' => 'Tamaño de la base de datos:', 'Database size:' => 'Tamaño de la base de datos:',
'Optimize the database' => 'Optimizar la base de datos', 'Optimize the database' => 'Optimizar la base de datos',
'(VACUUM command)' => '(comando SQL VACUUM)', '(VACUUM command)' => '(comando SQL VACUUM)',
@ -204,7 +203,6 @@ return array(
// 'FAQ' => '', // 'FAQ' => '',
// 'settings' => '', // 'settings' => '',
// 'help' => '', // 'help' => '',
// 'API' => '',
// 'api' => '', // 'api' => '',
// 'about' => '', // 'about' => '',
// 'This action will update Miniflux with the last development version, are you sure?' => '', // 'This action will update Miniflux with the last development version, are you sure?' => '',
@ -218,7 +216,6 @@ return array(
// 'Remove automatically unread items' => '', // 'Remove automatically unread items' => '',
// 'Toggle RTL mode' => '', // 'Toggle RTL mode' => '',
// 'external services' => '', // 'external services' => '',
// 'External services' => '',
// 'Send bookmarks to Pinboard' => '', // 'Send bookmarks to Pinboard' => '',
// 'Pinboard API token' => '', // 'Pinboard API token' => '',
// 'Pinboard tags' => '', // 'Pinboard tags' => '',
@ -233,4 +230,5 @@ return array(
// 'Enable image proxy' => '', // 'Enable image proxy' => '',
// 'Avoid mixed content warnings with HTTPS' => '', // 'Avoid mixed content warnings with HTTPS' => '',
// 'Download favicons' => '', // 'Download favicons' => '',
// 'general' => '',
); );

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => 'Confirmation', 'Confirmation' => 'Confirmation',
'Language' => 'Langue', 'Language' => 'Langue',
'Save' => 'Sauvegarder', 'Save' => 'Sauvegarder',
'Database' => 'Base de données',
'Database size:' => 'Taille de la base de données :', 'Database size:' => 'Taille de la base de données :',
'Optimize the database' => 'Optimiser la base de données', 'Optimize the database' => 'Optimiser la base de données',
'(VACUUM command)' => '(commande SQL VACUUM)', '(VACUUM command)' => '(commande SQL VACUUM)',
@ -204,7 +203,6 @@ return array(
'FAQ' => 'Questions fréquentes', 'FAQ' => 'Questions fréquentes',
'settings' => 'préférences', 'settings' => 'préférences',
'help' => 'aide', 'help' => 'aide',
'API' => 'API',
'api' => 'api', 'api' => 'api',
'about' => 'a propos', 'about' => 'a propos',
'This action will update Miniflux with the last development version, are you sure?' => 'Cette action va mettre à jour Miniflux avec la dernière version en cours de développement, êtes-vous certain ?', 'This action will update Miniflux with the last development version, are you sure?' => 'Cette action va mettre à jour Miniflux avec la dernière version en cours de développement, êtes-vous certain ?',
@ -218,7 +216,6 @@ return array(
'Remove automatically unread items' => 'Supprimer automatiquement les éléments non lus', 'Remove automatically unread items' => 'Supprimer automatiquement les éléments non lus',
'Toggle RTL mode' => 'Basculer entre le mode RTL', 'Toggle RTL mode' => 'Basculer entre le mode RTL',
'external services' => 'services externes', 'external services' => 'services externes',
'External services' => 'Services externes',
'Send bookmarks to Pinboard' => 'Envoyer les favoris vers Pinboard', 'Send bookmarks to Pinboard' => 'Envoyer les favoris vers Pinboard',
'Pinboard API token' => 'Jeton d\'accès à l\'API de Pinboard', 'Pinboard API token' => 'Jeton d\'accès à l\'API de Pinboard',
'Pinboard tags' => 'Tags Pinboard', 'Pinboard tags' => 'Tags Pinboard',
@ -233,4 +230,5 @@ return array(
'Enable image proxy' => 'Activer le proxy pour les images', 'Enable image proxy' => 'Activer le proxy pour les images',
'Avoid mixed content warnings with HTTPS' => 'Évite les alertes du navigateur web en HTTPS', 'Avoid mixed content warnings with HTTPS' => 'Évite les alertes du navigateur web en HTTPS',
'Download favicons' => 'Télécharger les icônes des sites web', 'Download favicons' => 'Télécharger les icônes des sites web',
'general' => 'general',
); );

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => 'Conferma', 'Confirmation' => 'Conferma',
'Language' => 'Lingua', 'Language' => 'Lingua',
'Save' => 'Salva', 'Save' => 'Salva',
'Database' => 'Database',
'Database size:' => 'Dimensione database:', 'Database size:' => 'Dimensione database:',
'Optimize the database' => 'Ottimizza il database', 'Optimize the database' => 'Ottimizza il database',
'(VACUUM command)' => '(comando VACUUM)', '(VACUUM command)' => '(comando VACUUM)',
@ -204,7 +203,6 @@ return array(
// 'FAQ' => '', // 'FAQ' => '',
// 'settings' => '', // 'settings' => '',
// 'help' => '', // 'help' => '',
// 'API' => '',
// 'api' => '', // 'api' => '',
// 'about' => '', // 'about' => '',
// 'This action will update Miniflux with the last development version, are you sure?' => '', // 'This action will update Miniflux with the last development version, are you sure?' => '',
@ -218,7 +216,6 @@ return array(
// 'Remove automatically unread items' => '', // 'Remove automatically unread items' => '',
// 'Toggle RTL mode' => '', // 'Toggle RTL mode' => '',
// 'external services' => '', // 'external services' => '',
// 'External services' => '',
// 'Send bookmarks to Pinboard' => '', // 'Send bookmarks to Pinboard' => '',
// 'Pinboard API token' => '', // 'Pinboard API token' => '',
// 'Pinboard tags' => '', // 'Pinboard tags' => '',
@ -233,4 +230,5 @@ return array(
// 'Enable image proxy' => '', // 'Enable image proxy' => '',
// 'Avoid mixed content warnings with HTTPS' => '', // 'Avoid mixed content warnings with HTTPS' => '',
// 'Download favicons' => '', // 'Download favicons' => '',
// 'general' => '',
); );

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => 'Repetir Senha', 'Confirmation' => 'Repetir Senha',
'Language' => 'Linguagem', 'Language' => 'Linguagem',
'Save' => 'Salvar', 'Save' => 'Salvar',
'Database' => 'Banco de dados',
'Database size:' => 'Tamanho do Banco de dados:', 'Database size:' => 'Tamanho do Banco de dados:',
'Optimize the database' => 'Otimizar o banco de dados', 'Optimize the database' => 'Otimizar o banco de dados',
'(VACUUM command)' => '(Comando SQL VACUUM)', '(VACUUM command)' => '(Comando SQL VACUUM)',
@ -204,7 +203,6 @@ return array(
'FAQ' => 'FAQ', 'FAQ' => 'FAQ',
'settings' => 'configurações', 'settings' => 'configurações',
'help' => 'ajuda', 'help' => 'ajuda',
'API' => 'API',
'api' => 'api', 'api' => 'api',
'about' => 'sobre', 'about' => 'sobre',
'This action will update Miniflux with the last development version, are you sure?' => 'Esta ação irá atualizar o Miniflux com a última versão de desenvolvimento, você tem certeza?', 'This action will update Miniflux with the last development version, are you sure?' => 'Esta ação irá atualizar o Miniflux com a última versão de desenvolvimento, você tem certeza?',
@ -218,7 +216,6 @@ return array(
'Remove automatically unread items' => 'Remover automaticamente itens não lidos', 'Remove automatically unread items' => 'Remover automaticamente itens não lidos',
'Toggle RTL mode' => 'Alternar modo RTL', 'Toggle RTL mode' => 'Alternar modo RTL',
'external services' => 'serviços externos', 'external services' => 'serviços externos',
'External services' => 'Serviços externos',
'Send bookmarks to Pinboard' => 'Enviar bookmarks para Pinboard', 'Send bookmarks to Pinboard' => 'Enviar bookmarks para Pinboard',
'Pinboard API token' => 'Token da API Pinboard', 'Pinboard API token' => 'Token da API Pinboard',
'Pinboard tags' => 'Tags Pinboard', 'Pinboard tags' => 'Tags Pinboard',
@ -233,4 +230,5 @@ return array(
'Enable image proxy' => 'Habilitar proxy de imagens', 'Enable image proxy' => 'Habilitar proxy de imagens',
'Avoid mixed content warnings with HTTPS' => 'Evita alertas de mistura de conteúdo HTTPS', 'Avoid mixed content warnings with HTTPS' => 'Evita alertas de mistura de conteúdo HTTPS',
'Download favicons' => 'Download favicon', 'Download favicons' => 'Download favicon',
// 'general' => '',
); );

View File

@ -84,7 +84,6 @@ return array(
'Confirmation' => '确认密码', 'Confirmation' => '确认密码',
'Language' => '语言', 'Language' => '语言',
'Save' => '保存', 'Save' => '保存',
'Database' => '数据库',
'Database size:' => '数据库大小:', 'Database size:' => '数据库大小:',
'Optimize the database' => '数据库优化', 'Optimize the database' => '数据库优化',
'(VACUUM command)' => '(VACUUM 命令)', '(VACUUM command)' => '(VACUUM 命令)',
@ -204,7 +203,6 @@ return array(
// 'FAQ' => '', // 'FAQ' => '',
// 'settings' => '', // 'settings' => '',
// 'help' => '', // 'help' => '',
// 'API' => '',
// 'api' => '', // 'api' => '',
// 'about' => '', // 'about' => '',
// 'This action will update Miniflux with the last development version, are you sure?' => '', // 'This action will update Miniflux with the last development version, are you sure?' => '',
@ -218,7 +216,6 @@ return array(
// 'Remove automatically unread items' => '', // 'Remove automatically unread items' => '',
// 'Toggle RTL mode' => '', // 'Toggle RTL mode' => '',
// 'external services' => '', // 'external services' => '',
// 'External services' => '',
// 'Send bookmarks to Pinboard' => '', // 'Send bookmarks to Pinboard' => '',
// 'Pinboard API token' => '', // 'Pinboard API token' => '',
// 'Pinboard tags' => '', // 'Pinboard tags' => '',
@ -233,4 +230,5 @@ return array(
// 'Enable image proxy' => '', // 'Enable image proxy' => '',
// 'Avoid mixed content warnings with HTTPS' => '', // 'Avoid mixed content warnings with HTTPS' => '',
// 'Download favicons' => '', // 'Download favicons' => '',
// 'general' => '',
); );

View File

@ -1,12 +1,15 @@
<div class="page-header"> <div class="page-header">
<h2><?= t('About') ?></h2> <h2><?= $title ?></h2>
<ul> <nav>
<li><a href="?action=config"><?= t('settings') ?></a></li> <ul>
<li><a href="?action=services"><?= t('external services') ?></a></li> <li><a href="?action=config"><?= t('general') ?></a></li>
<li><a href="?action=help"><?= t('help') ?></a></li> <li><a href="?action=services"><?= t('external services') ?></a></li>
<li><a href="?action=database"><?= t('database') ?></a></li> <li><a href="?action=api"><?= t('api') ?></a></li>
<li><a href="?action=api"><?= t('api') ?></a></li> <li><a href="?action=database"><?= t('database') ?></a></li>
</ul> <li><a href="?action=help"><?= t('help') ?></a></li>
<li class="active"><a href="?action=about"><?= t('about') ?></a></li>
</ul>
</nav>
</div> </div>
<section> <section>
<div class="alert alert-normal"> <div class="alert alert-normal">

View File

@ -1,12 +1,15 @@
<div class="page-header"> <div class="page-header">
<h2><?= t('API') ?></h2> <h2><?= $title ?></h2>
<ul> <nav>
<li><a href="?action=config"><?= t('settings') ?></a></li> <ul>
<li><a href="?action=services"><?= t('external services') ?></a></li> <li><a href="?action=config"><?= t('general') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li> <li><a href="?action=services"><?= t('external services') ?></a></li>
<li><a href="?action=help"><?= t('help') ?></a></li> <li class="active"><a href="?action=api"><?= t('api') ?></a></li>
<li><a href="?action=database"><?= t('database') ?></a></li> <li><a href="?action=database"><?= t('database') ?></a></li>
</ul> <li><a href="?action=help"><?= t('help') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li>
</ul>
</nav>
</div> </div>
<section> <section>
<div class="alert alert-normal"> <div class="alert alert-normal">

View File

@ -1,12 +1,15 @@
<div class="page-header"> <div class="page-header">
<h2><?= t('Preferences') ?></h2> <h2><?= $title ?></h2>
<ul> <nav>
<li><a href="?action=services"><?= t('external services') ?></a></li> <ul>
<li><a href="?action=about"><?= t('about') ?></a></li> <li class="active"><a href="?action=config"><?= t('general') ?></a></li>
<li><a href="?action=help"><?= t('help') ?></a></li> <li><a href="?action=services"><?= t('external services') ?></a></li>
<li><a href="?action=database"><?= t('database') ?></a></li> <li><a href="?action=api"><?= t('api') ?></a></li>
<li><a href="?action=api"><?= t('api') ?></a></li> <li><a href="?action=database"><?= t('database') ?></a></li>
</ul> <li><a href="?action=help"><?= t('help') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li>
</ul>
</nav>
</div> </div>
<section> <section>
<form method="post" action="?action=config" autocomplete="off"> <form method="post" action="?action=config" autocomplete="off">

View File

@ -1,12 +1,15 @@
<div class="page-header"> <div class="page-header">
<h2><?= t('Database') ?></h2> <h2><?= $title ?></h2>
<ul> <nav>
<li><a href="?action=config"><?= t('settings') ?></a></li> <ul>
<li><a href="?action=services"><?= t('external services') ?></a></li> <li><a href="?action=config"><?= t('general') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li> <li><a href="?action=services"><?= t('external services') ?></a></li>
<li><a href="?action=help"><?= t('help') ?></a></li> <li><a href="?action=api"><?= t('api') ?></a></li>
<li><a href="?action=api"><?= t('api') ?></a></li> <li class="active"><a href="?action=database"><?= t('database') ?></a></li>
</ul> <li><a href="?action=help"><?= t('help') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li>
</ul>
</nav>
</div> </div>
<section> <section>
<div class="alert alert-normal"> <div class="alert alert-normal">

View File

@ -1,12 +1,15 @@
<div class="page-header"> <div class="page-header">
<h2><?= t('Help') ?></h2> <h2><?= $title ?></h2>
<ul> <nav>
<li><a href="?action=config"><?= t('settings') ?></a></li> <ul>
<li><a href="?action=services"><?= t('external services') ?></a></li> <li><a href="?action=config"><?= t('general') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li> <li><a href="?action=services"><?= t('external services') ?></a></li>
<li><a href="?action=database"><?= t('database') ?></a></li> <li><a href="?action=api"><?= t('api') ?></a></li>
<li><a href="?action=api"><?= t('api') ?></a></li> <li><a href="?action=database"><?= t('database') ?></a></li>
</ul> <li class="active"><a href="?action=help"><?= t('help') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li>
</ul>
</nav>
</div> </div>
<section> <section>
<?= \PicoFarad\Template\load('keyboard_shortcuts') ?> <?= \PicoFarad\Template\load('keyboard_shortcuts') ?>

View File

@ -1,12 +1,15 @@
<div class="page-header"> <div class="page-header">
<h2><?= t('External services') ?></h2> <h2><?= $title ?></h2>
<ul> <nav>
<li><a href="?action=config"><?= t('settings') ?></a></li> <ul>
<li><a href="?action=about"><?= t('about') ?></a></li> <li><a href="?action=config"><?= t('general') ?></a></li>
<li><a href="?action=help"><?= t('help') ?></a></li> <li class="active"><a href="?action=services"><?= t('external services') ?></a></li>
<li><a href="?action=database"><?= t('database') ?></a></li> <li><a href="?action=api"><?= t('api') ?></a></li>
<li><a href="?action=api"><?= t('api') ?></a></li> <li><a href="?action=database"><?= t('database') ?></a></li>
</ul> <li><a href="?action=help"><?= t('help') ?></a></li>
<li><a href="?action=about"><?= t('about') ?></a></li>
</ul>
</nav>
</div> </div>
<section> <section>