diff options
| author | 2022-03-14 23:04:17 +0100 | |
|---|---|---|
| committer | 2022-03-14 23:04:17 +0100 | |
| commit | 6650d1d29ea5e6f895124afce9ed4a6e920a1ed8 (patch) | |
| tree | e81fc72e0a31d9ceaa1d3a9afeb2f4bc4ad46040 | |
| parent | 7b962e246bb9f273dda534b340851db799577dfe (diff) | |
Improved: log page (#4204)
* first draft
* wip
* Theme Ansum
* Update logs_pagination.phtml
* Theme Mapco
* Update adark.css
* Update BlueLagoon.css
* Update dark.css
* Update screwdriver.css
* Theme Swage
* Update app/views/helpers/logs_pagination.phtml
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update app/views/helpers/logs_pagination.phtml
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update template.css
* Update logs_pagination.phtml
* Update logs_pagination.phtml
* Update logs_pagination.phtml
* RTL CSS
* Update dark.rtl.css
* Update swage.css
* fix CLI findings
* Indentation fixed
* icons improved
* CSS: centered icons
* i18n
* pipline test fixes
* Update conf.php
* Update gen.php
* Update app/i18n/fr/conf.php
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
70 files changed, 500 insertions, 407 deletions
diff --git a/app/Models/Themes.php b/app/Models/Themes.php index 693657fae..ed379dc0d 100644 --- a/app/Models/Themes.php +++ b/app/Models/Themes.php @@ -79,6 +79,7 @@ class FreshRSS_Themes extends Minz_Model { 'close' => '❌', 'configure' => '⚙', 'down' => '▽', + 'error' => '❌', 'favorite' => '★', 'FreshRSS-logo' => '⊚', 'help' => 'ⓘ', @@ -91,6 +92,7 @@ class FreshRSS_Themes extends Minz_Model { 'logout' => '🔓', 'next' => '⏩', 'non-starred' => '☆', + 'notice' => 'ⓘ', 'prev' => '⏪', 'read' => '☑', 'rss' => '☄', @@ -107,6 +109,7 @@ class FreshRSS_Themes extends Minz_Model { 'view-normal' => '☰', 'view-global' => '☷', 'view-reader' => '☕', + 'warning' => '△', ); return isset($name) ? $alts[$name] : ''; } diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php index f25382a3d..3e961e3a9 100644 --- a/app/i18n/cz/conf.php +++ b/app/i18n/cz/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Úzká', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'První', + 'last' => 'Poslední', + 'next' => 'Další', + 'previous' => 'Předchozí', + ), + ), 'profile' => array( '_' => 'Správa profilu', 'api' => 'Správa API', diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 853f4d0d9..cee99c845 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Správa uživatelů', 'user_profile' => 'Profil', ), - 'pagination' => array( - 'first' => 'První', - 'last' => 'Poslední', - 'next' => 'Další', - 'previous' => 'Předchozí', - ), 'period' => array( 'days' => 'dní', 'hours' => 'hodin', diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php index bc1fdc14f..5a0438f3b 100644 --- a/app/i18n/de/conf.php +++ b/app/i18n/de/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Klein', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Stufe', + 'message' => 'Log Nachricht', + 'timestamp' => 'Zeitstempel', + ), + 'pagination' => array( + 'first' => 'Erste', + 'last' => 'Letzte', + 'next' => 'Nächste', + 'previous' => 'Vorherige', + ), + ), 'profile' => array( '_' => 'Profil-Verwaltung', 'api' => 'API-Verwaltung', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 3f81a2e34..493cb3b1a 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Benutzer verwalten', 'user_profile' => 'Profil', ), - 'pagination' => array( - 'first' => 'Erste', - 'last' => 'Letzte', - 'next' => 'Nächste', - 'previous' => 'Vorherige', - ), 'period' => array( 'days' => 'Tage', 'hours' => 'Stunden', diff --git a/app/i18n/en-us/conf.php b/app/i18n/en-us/conf.php index de51f5881..dcb530e90 100644 --- a/app/i18n/en-us/conf.php +++ b/app/i18n/en-us/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Narrow', // IGNORE ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'First', // IGNORE + 'last' => 'Last', // IGNORE + 'next' => 'Next', // IGNORE + 'previous' => 'Previous', // IGNORE + ), + ), 'profile' => array( '_' => 'Profile management', // IGNORE 'api' => 'API management', // IGNORE diff --git a/app/i18n/en-us/gen.php b/app/i18n/en-us/gen.php index 35d2c2cfd..2bebf441a 100644 --- a/app/i18n/en-us/gen.php +++ b/app/i18n/en-us/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Manage users', // IGNORE 'user_profile' => 'Profile', // IGNORE ), - 'pagination' => array( - 'first' => 'First', // IGNORE - 'last' => 'Last', // IGNORE - 'next' => 'Next', // IGNORE - 'previous' => 'Previous', // IGNORE - ), 'period' => array( 'days' => 'days', // IGNORE 'hours' => 'hours', // IGNORE diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 2bbceafca..7050a5cdc 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Narrow', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'First', + 'last' => 'Last', + 'next' => 'Next', + 'previous' => 'Previous', + ), + ), 'profile' => array( '_' => 'Profile management', 'api' => 'API management', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 9fd81a716..06c8d356a 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Manage users', 'user_profile' => 'Profile', ), - 'pagination' => array( - 'first' => 'First', - 'last' => 'Last', - 'next' => 'Next', - 'previous' => 'Previous', - ), 'period' => array( 'days' => 'days', 'hours' => 'hours', diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php index d5b25469d..63289f800 100755 --- a/app/i18n/es/conf.php +++ b/app/i18n/es/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Estrecho', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Primero', + 'last' => 'Último', + 'next' => 'Siguiente', + 'previous' => 'Anterior', + ), + ), 'profile' => array( '_' => 'Administración de perfiles', 'api' => 'Administración de API', diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php index de7b53924..c63bacedf 100755 --- a/app/i18n/es/gen.php +++ b/app/i18n/es/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Administrar usuarios', 'user_profile' => 'Perfil', ), - 'pagination' => array( - 'first' => 'Primero', - 'last' => 'Último', - 'next' => 'Siguiente', - 'previous' => 'Anterior', - ), 'period' => array( 'days' => 'dias', 'hours' => 'horas', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index 8d097fa59..c48a7bb6c 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Fine', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Niveau de sévérité', + 'message' => 'Message de journal', + 'timestamp' => 'Horodatage', + ), + 'pagination' => array( + 'first' => 'Début', + 'last' => 'Fin', + 'next' => 'Suivant', + 'previous' => 'Précédent', + ), + ), 'profile' => array( '_' => 'Gestion du profil', 'api' => 'Gestion de l’API', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 80a1d7276..0554f6d52 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Gestion des utilisateurs', 'user_profile' => 'Profil', ), - 'pagination' => array( - 'first' => 'Début', - 'last' => 'Fin', - 'next' => 'Suivant', - 'previous' => 'Précédent', - ), 'period' => array( 'days' => 'jours', 'hours' => 'heures', diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php index 62dca4b11..7ce29c582 100644 --- a/app/i18n/he/conf.php +++ b/app/i18n/he/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'צר', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'הראשון', + 'last' => 'אחרון', + 'next' => 'הבא', + 'previous' => 'הקודם', + ), + ), 'profile' => array( '_' => 'Profile management', // TODO 'api' => 'API management', // TODO diff --git a/app/i18n/he/gen.php b/app/i18n/he/gen.php index e9da2bb9e..144c1242a 100644 --- a/app/i18n/he/gen.php +++ b/app/i18n/he/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Manage users', // TODO 'user_profile' => 'Profile', // TODO ), - 'pagination' => array( - 'first' => 'הראשון', - 'last' => 'אחרון', - 'next' => 'הבא', - 'previous' => 'הקודם', - ), 'period' => array( 'days' => 'days', // TODO 'hours' => 'hours', // TODO diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php index a9fc1a6d8..41f7e041c 100644 --- a/app/i18n/it/conf.php +++ b/app/i18n/it/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Stretto', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Prima', + 'last' => 'Ultima', + 'next' => 'Successiva', + 'previous' => 'Precedente', + ), + ), 'profile' => array( '_' => 'Gestione profili', 'api' => 'API management', // TODO diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index b65b7305d..fa1e9d3c6 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Gestione utenti', 'user_profile' => 'Profilo', ), - 'pagination' => array( - 'first' => 'Prima', - 'last' => 'Ultima', - 'next' => 'Successiva', - 'previous' => 'Precedente', - ), 'period' => array( 'days' => 'days', // TODO 'hours' => 'hours', // TODO diff --git a/app/i18n/ja/conf.php b/app/i18n/ja/conf.php index 113d385dd..29d69cd6b 100644 --- a/app/i18n/ja/conf.php +++ b/app/i18n/ja/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => '狭い', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => '先頭', + 'last' => '最後', + 'next' => 'つぎへ', + 'previous' => '前へ', + ), + ), 'profile' => array( '_' => 'プロフィール', 'api' => 'API管理', diff --git a/app/i18n/ja/gen.php b/app/i18n/ja/gen.php index 360ae1d87..a5d55fec9 100644 --- a/app/i18n/ja/gen.php +++ b/app/i18n/ja/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'ユーザー管理', 'user_profile' => 'プロフィール', ), - 'pagination' => array( - 'first' => '先頭', - 'last' => '最後', - 'next' => 'つぎへ', - 'previous' => '前へ', - ), 'period' => array( 'days' => '日', 'hours' => '時', diff --git a/app/i18n/ko/conf.php b/app/i18n/ko/conf.php index 1c9674d3c..01d853585 100644 --- a/app/i18n/ko/conf.php +++ b/app/i18n/ko/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => '얇게', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => '처음으로', + 'last' => '마지막으로', + 'next' => '다음', + 'previous' => '이전', + ), + ), 'profile' => array( '_' => '프로필 관리', 'api' => 'API 관리', diff --git a/app/i18n/ko/gen.php b/app/i18n/ko/gen.php index 566bdd4d5..d996ac467 100644 --- a/app/i18n/ko/gen.php +++ b/app/i18n/ko/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => '사용자 관리', 'user_profile' => '프로필', ), - 'pagination' => array( - 'first' => '처음으로', - 'last' => '마지막으로', - 'next' => '다음', - 'previous' => '이전', - ), 'period' => array( 'days' => '일', 'hours' => '시', diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php index 6e266c350..f8c11707a 100644 --- a/app/i18n/nl/conf.php +++ b/app/i18n/nl/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Smal', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Eerste', + 'last' => 'Laatste', + 'next' => 'Volgende', + 'previous' => 'Vorige', + ), + ), 'profile' => array( '_' => 'Profielbeheer', 'api' => 'API-beheer', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 81b265616..286b69c85 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Gebruikersbeheer', 'user_profile' => 'Profiel', ), - 'pagination' => array( - 'first' => 'Eerste', - 'last' => 'Laatste', - 'next' => 'Volgende', - 'previous' => 'Vorige', - ), 'period' => array( 'days' => 'dagen', 'hours' => 'uren', diff --git a/app/i18n/oc/conf.php b/app/i18n/oc/conf.php index 28f11798a..3cca02c2b 100644 --- a/app/i18n/oc/conf.php +++ b/app/i18n/oc/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Fina', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Debuta', + 'last' => 'Fin', + 'next' => 'Seguent', + 'previous' => 'Precedent', + ), + ), 'profile' => array( '_' => 'Gestion del perfil', 'api' => 'Gestion API', diff --git a/app/i18n/oc/gen.php b/app/i18n/oc/gen.php index 88758ab0d..86f556895 100644 --- a/app/i18n/oc/gen.php +++ b/app/i18n/oc/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Gestion dels utilizaires', 'user_profile' => 'Perfil', ), - 'pagination' => array( - 'first' => 'Debuta', - 'last' => 'Fin', - 'next' => 'Seguent', - 'previous' => 'Precedent', - ), 'period' => array( 'days' => 'jorns', 'hours' => 'oras', diff --git a/app/i18n/pl/conf.php b/app/i18n/pl/conf.php index 4c5dd0646..fa342abdd 100644 --- a/app/i18n/pl/conf.php +++ b/app/i18n/pl/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Wąska', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Początek', + 'last' => 'Koniec', + 'next' => 'Następne', + 'previous' => 'Poprzednie', + ), + ), 'profile' => array( '_' => 'Zarządzanie profilem', 'api' => 'Zarządzanie API', diff --git a/app/i18n/pl/gen.php b/app/i18n/pl/gen.php index 2acb5ece2..dc7d31da7 100644 --- a/app/i18n/pl/gen.php +++ b/app/i18n/pl/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Zarządzanie użytkownikami', 'user_profile' => 'Profil', ), - 'pagination' => array( - 'first' => 'Początek', - 'last' => 'Koniec', - 'next' => 'Następne', - 'previous' => 'Poprzednie', - ), 'period' => array( 'days' => 'dni', 'hours' => 'godziny', diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php index 2b6241449..07d1c7872 100644 --- a/app/i18n/pt-br/conf.php +++ b/app/i18n/pt-br/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Fino', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Primeiro', + 'last' => 'Último', + 'next' => 'Próximo', + 'previous' => 'Anterior', + ), + ), 'profile' => array( '_' => 'Gerenciamento de perfil', 'api' => 'Administração da API', diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php index 744b89788..c1cb7326c 100644 --- a/app/i18n/pt-br/gen.php +++ b/app/i18n/pt-br/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Gerenciamento de usuários', 'user_profile' => 'Perfil', ), - 'pagination' => array( - 'first' => 'Primeiro', - 'last' => 'Último', - 'next' => 'Próximo', - 'previous' => 'Anterior', - ), 'period' => array( 'days' => 'dias', 'hours' => 'horas', diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php index 577076805..1c6e3af5a 100644 --- a/app/i18n/ru/conf.php +++ b/app/i18n/ru/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Узкое', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Первая', + 'last' => 'Последняя', + 'next' => 'Следующая', + 'previous' => 'Предыдущая', + ), + ), 'profile' => array( '_' => 'Настройки профиля', 'api' => 'Настройки API', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 3a2f2de28..4c0334153 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Управление пользователями', 'user_profile' => 'Профиль', ), - 'pagination' => array( - 'first' => 'Первая', - 'last' => 'Последняя', - 'next' => 'Следующая', - 'previous' => 'Предыдущая', - ), 'period' => array( 'days' => 'дней', 'hours' => 'часов', diff --git a/app/i18n/sk/conf.php b/app/i18n/sk/conf.php index cbade872d..35a34c136 100644 --- a/app/i18n/sk/conf.php +++ b/app/i18n/sk/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Úzka', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'Prvý', + 'last' => 'Posledný', + 'next' => 'Ďalší', + 'previous' => 'Predošlý', + ), + ), 'profile' => array( '_' => 'Správca profilu', 'api' => 'Správa API', diff --git a/app/i18n/sk/gen.php b/app/i18n/sk/gen.php index 9c060f690..6954e7cbb 100644 --- a/app/i18n/sk/gen.php +++ b/app/i18n/sk/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Spravovať používateľov', 'user_profile' => 'Profil', ), - 'pagination' => array( - 'first' => 'Prvý', - 'last' => 'Posledný', - 'next' => 'Ďalší', - 'previous' => 'Predošlý', - ), 'period' => array( 'days' => 'dni', 'hours' => 'hodiny', diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php index ae1a2bf47..e3750235c 100644 --- a/app/i18n/tr/conf.php +++ b/app/i18n/tr/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => 'Zayıf', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'İlk', + 'last' => 'Son', + 'next' => 'Sonraki', + 'previous' => 'Önceki', + ), + ), 'profile' => array( '_' => 'Profil yönetimi', 'api' => 'API yönetimi', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 56b7a3962..6d6aac595 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => 'Kullanıcıları yönet', 'user_profile' => 'Profil', ), - 'pagination' => array( - 'first' => 'İlk', - 'last' => 'Son', - 'next' => 'Sonraki', - 'previous' => 'Önceki', - ), 'period' => array( 'days' => 'gün', 'hours' => 'saat', diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php index 44d27e3b0..1c9e1100b 100644 --- a/app/i18n/zh-cn/conf.php +++ b/app/i18n/zh-cn/conf.php @@ -66,6 +66,19 @@ return array( 'thin' => '窄', ), ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => '首页', + 'last' => '末页', + 'next' => '下一页', + 'previous' => '上一页', + ), + ), 'profile' => array( '_' => '用户管理', 'api' => 'API 管理', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 9942f98e7..1071b6703 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -176,12 +176,6 @@ return array( 'user_management' => '用户管理', 'user_profile' => '用户帐户', ), - 'pagination' => array( - 'first' => '首页', - 'last' => '末页', - 'next' => '下一页', - 'previous' => '上一页', - ), 'period' => array( 'days' => '天', 'hours' => '时', diff --git a/app/layout/aside_configure.phtml b/app/layout/aside_configure.phtml index f71419dc1..5f1762834 100644 --- a/app/layout/aside_configure.phtml +++ b/app/layout/aside_configure.phtml @@ -33,6 +33,11 @@ <li class="item<?= Minz_Request::controllerName() === 'extension' ? ' active' : '' ?>"> <a href="<?= _url('extension', 'index') ?>"><?= _t('gen.menu.extensions') ?></a> </li> + <?php if (!FreshRSS_Auth::hasAccess('admin')) { ?> + <li class="item<?= Minz_Request::actionName() === 'logs' ? ' active' : '' ?>"> + <a href="<?= _url('index', 'logs') ?>"><?= _t('gen.menu.logs') ?></a> + </li> + <?php } ?> <?= Minz_ExtensionManager::callHook('menu_configuration_entry') ?> <?php if (FreshRSS_Auth::hasAccess('admin')) { ?> @@ -53,6 +58,9 @@ <li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'index' ? ' active' : '' ?>"> <a href="<?= _url('update', 'index') ?>"><?= _t('gen.menu.update') ?></a> </li> + <li class="item<?= Minz_Request::actionName() === 'logs' ? ' active' : '' ?>"> + <a href="<?= _url('index', 'logs') ?>"><?= _t('gen.menu.logs') ?></a> + </li> <?php } ?> <?= Minz_ExtensionManager::callHook('menu_admin_entry') ?> <?php } ?> diff --git a/app/views/helpers/logs_pagination.phtml b/app/views/helpers/logs_pagination.phtml index fe6a71a3a..d12b3f9d1 100755 --- a/app/views/helpers/logs_pagination.phtml +++ b/app/views/helpers/logs_pagination.phtml @@ -6,46 +6,53 @@ ?> <?php if ($this->nbPage > 1) { ?> -<ul class="pagination"> - <?php - /** @var int $getteur */ - $params[$getteur] = 1; - ?> - <li class="item pager-first"> - <?php if ($this->currentPage > 1) { ?> - <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>">« <?= _t('gen.pagination.first') ?></a> - <?php } ?> - </li> +<nav class="nav-pagination nav-list"> + <ul class="pagination"> + <?php + /** @var int $getteur */ + $params[$getteur] = 1; + ?> + <li class="item pager-first"> + <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>">« <?= _t('conf.logs.pagination.first') ?></a> + </li> - <?php $params[$getteur] = $this->currentPage - 1; ?> - <li class="item pager-previous"> - <?php if ($this->currentPage > 1) { ?> - <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>">‹ <?= _t('gen.pagination.previous') ?></a> - <?php } ?> - </li> + <?php $params[$getteur] = $this->currentPage - 1; ?> + <li class="item pager-previous"> + <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>">‹ <?= _t('conf.logs.pagination.previous') ?></a> + </li> - <?php for ($i = $this->currentPage - 2; $i <= $this->currentPage + 2; $i++) { ?> - <?php if($i > 0 && $i <= $this->nbPage) { ?> - <?php if ($i != $this->currentPage) { ?> - <?php $params[$getteur] = $i; ?> - <li class="item pager-item"><a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>"><?= $i ?></a></li> - <?php } else { ?> - <li class="item pager-current"><?= $i ?></li> - <?php } ?> + <?php if ($this->currentPage - 2 > 1) { ?> + <li class="item">…</a></li> <?php } ?> - <?php } ?> - <?php $params[$getteur] = $this->currentPage + 1; ?> - <li class="item pager-next"> - <?php if ($this->currentPage < $this->nbPage) { ?> - <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>"><?= _t('gen.pagination.next') ?> ›</a> - <?php } ?> - </li> - <?php $params[$getteur] = $this->nbPage; ?> - <li class="item pager-last"> - <?php if ($this->currentPage < $this->nbPage) { ?> - <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>"><?= _t('gen.pagination.last') ?> »</a> + <?php + for ($i = $this->currentPage - 2; $i <= $this->currentPage + 2; $i++) { + if($i > 0 && $i <= $this->nbPage) { + if ($i != $this->currentPage) { + $params[$getteur] = $i; + $class = ''; + $aria = 'false'; + } else { + $class = ' active'; + $aria = 'true'; + } ?> + <li class="item<?= $class ?>"><a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>" aria-current="<?= $aria ?>"><?= $i ?></a></li> + <?php + } + } ?> + + <?php if ($this->nbPage > $i - 1) { ?> + <li class="item">…</a></li> <?php } ?> - </li> -</ul> + + <?php $params[$getteur] = $this->currentPage + 1; ?> + <li class="item pager-next"> + <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>"><?= _t('conf.logs.pagination.next') ?> ›</a> + </li> + <?php $params[$getteur] = $this->nbPage; ?> + <li class="item pager-last"> + <a href="<?= Minz_Url::display(array('c' => $c, 'a' => $a, 'params' => $params)) ?>"><?= _t('conf.logs.pagination.last') ?> »</a> + </li> + </ul> +</nav> <?php } ?> diff --git a/app/views/index/logs.phtml b/app/views/index/logs.phtml index bb11f9f69..8221d2d4b 100644 --- a/app/views/index/logs.phtml +++ b/app/views/index/logs.phtml @@ -1,15 +1,12 @@ <?php /** @var FreshRSS_View $this */ ?> -<main class="post content"> +<?php $this->partial('aside_configure'); ?> +<main class="post"> <div class="link-back-wrapper"> <a class="link-back" href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a> </div> <h1><?= _t('index.log') ?></h1> - <form method="post" action="<?= _url('index', 'logs') ?>"><p> - <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" /> - <input type="hidden" name="clearLogs" /> - <button type="submit" class="btn"><?= _t('index.log.clear') ?></button> - </p></form> + <?php /** @var array<FreshRSS_Log> $items */ @@ -17,18 +14,49 @@ ?> <?php if (!empty($items)) { ?> - <div class="loglist"> - <?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?> - + <?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?> + <div id="loglist-wrapper"> + <table id="loglist"> + <thead> + <th><?= _t('conf.logs.loglist.level') ?></th> + <th><?= _t('conf.logs.loglist.timestamp') ?></th> + <th><?= _t('conf.logs.loglist.message') ?></th> + </thead> + <tbody> <?php foreach ($items as $log) { ?> - <div class="log <?= $log->level() ?>"><span class="date"> - <?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?> - </span><?= htmlspecialchars($log->info(), ENT_NOQUOTES, 'UTF-8') ?></div> + <tr class="log-item"> + <td class="log-<?= $log->level() ?>"> + <?= _i($log->level()) ?> + </td> + <td class="log-date"> + <time datetime="<?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?>"> + <?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?> + </time> + </td> + <td class="log-message"> + <?= htmlspecialchars($log->info(), ENT_NOQUOTES, 'UTF-8') ?> + </td> + </tr> <?php } ?> + </tbody> + </table> + </div> + <?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?> + - <?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?> + + <form method="post" action="<?= _url('index', 'logs') ?>"> + <div class="form-group form-actions"> + <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" /> + <input type="hidden" name="clearLogs" /> + <div class="group-controls"> + <button type="submit" class="btn btn-attention"><?= _t('index.log.clear') ?></button> + </div> </div> + </form> + <?php } else { ?> <p class="alert alert-warn"><?= _t('index.log.empty') ?></p> <?php } ?> + </main> diff --git a/p/themes/Alternative-Dark/adark.css b/p/themes/Alternative-Dark/adark.css index 8106b3a46..65e7f8bc8 100644 --- a/p/themes/Alternative-Dark/adark.css +++ b/p/themes/Alternative-Dark/adark.css @@ -219,20 +219,20 @@ a.btn { .nav-list .item { height: 2.5em; line-height: 2.5em; + color: #ccc; font-size: 0.9rem; } -.nav-list .item:hover { - background: #1f1f1f; +.nav-list .item a { + color: #ccc; } -.nav-list .item.active { - background: #171717; - color: #fff; +.nav-list .item a:hover { + background-color: #1f1f1f; } .nav-list .item.active a { - color: #fff; + background-color: #1f1f1f; } .nav-list .disable { @@ -395,41 +395,14 @@ a.btn { } /*=== Pagination */ -.pagination { - background: #171717; - text-align: center; - color: #e8e8e8; - font-size: 0.8em; -} - -.content .pagination { - margin: 0; - padding: 0; -} - -.pagination .item.pager-current { - font-weight: bold; - font-size: 1.5em; -} - .pagination .item a { - display: block; - color: #333; - font-style: italic; line-height: 3em; - text-decoration: none; } -.pagination .item a:hover { - background: #ddd; -} - -.pagination:first-child .item { - border-bottom: 1px solid #aaa; -} - -.pagination:last-child .item { - border-top: 1px solid #292929; +.pagination { + color: #999; + border-top: 1px solid #999; + border-bottom: 1px solid #999; } /*=== Boxes */ diff --git a/p/themes/Alternative-Dark/adark.rtl.css b/p/themes/Alternative-Dark/adark.rtl.css index f1939a7be..d63222693 100644 --- a/p/themes/Alternative-Dark/adark.rtl.css +++ b/p/themes/Alternative-Dark/adark.rtl.css @@ -219,20 +219,20 @@ a.btn { .nav-list .item { height: 2.5em; line-height: 2.5em; + color: #ccc; font-size: 0.9rem; } -.nav-list .item:hover { - background: #1f1f1f; +.nav-list .item a { + color: #ccc; } -.nav-list .item.active { - background: #171717; - color: #fff; +.nav-list .item a:hover { + background-color: #1f1f1f; } .nav-list .item.active a { - color: #fff; + background-color: #1f1f1f; } .nav-list .disable { @@ -395,41 +395,14 @@ a.btn { } /*=== Pagination */ -.pagination { - background: #171717; - text-align: center; - color: #e8e8e8; - font-size: 0.8em; -} - -.content .pagination { - margin: 0; - padding: 0; -} - -.pagination .item.pager-current { - font-weight: bold; - font-size: 1.5em; -} - .pagination .item a { - display: block; - color: #333; - font-style: italic; line-height: 3em; - text-decoration: none; } -.pagination .item a:hover { - background: #ddd; -} - -.pagination:first-child .item { - border-bottom: 1px solid #aaa; -} - -.pagination:last-child .item { - border-top: 1px solid #292929; +.pagination { + color: #999; + border-top: 1px solid #999; + border-bottom: 1px solid #999; } /*=== Boxes */ diff --git a/p/themes/Ansum/_components.scss b/p/themes/Ansum/_components.scss index b5ed5ae25..02b1563b1 100644 --- a/p/themes/Ansum/_components.scss +++ b/p/themes/Ansum/_components.scss @@ -185,11 +185,6 @@ font-style: italic; line-height: 3em; text-decoration: none; - - &:hover { - background: variables.$main-font-color; - color: variables.$grey-light; - } } } } diff --git a/p/themes/Ansum/_mobile.scss b/p/themes/Ansum/_mobile.scss index c8399169b..cc5ce3f1c 100644 --- a/p/themes/Ansum/_mobile.scss +++ b/p/themes/Ansum/_mobile.scss @@ -188,10 +188,6 @@ } - .pagination { - margin: 0 0 3.5em; - } - #nav_entries { line-height: 4.5rem; } diff --git a/p/themes/Ansum/_sidebar.scss b/p/themes/Ansum/_sidebar.scss index 4f5f1424a..07f589ab8 100644 --- a/p/themes/Ansum/_sidebar.scss +++ b/p/themes/Ansum/_sidebar.scss @@ -149,11 +149,11 @@ .item { background: variables.$sid-bg; - @include mixins.transition(all, 0.15s, ease-in-out); - a { padding: 0 1rem; color: variables.$sid-font-color; + + @include mixins.transition(all, 0.15s, ease-in-out); } .error { @@ -163,9 +163,6 @@ } &:hover { - background: variables.$sid-bg-dark; - color: variables.$sid-font-color; - .error { a { background: variables.$main-first; @@ -181,7 +178,7 @@ } a { - color: variables.$sid-font-color; + background: variables.$sid-bg-dark; text-decoration: none; } } @@ -205,11 +202,11 @@ } a { + background: variables.$main-first; color: variables.$white; text-decoration: none; } } - } &.empty { diff --git a/p/themes/Ansum/ansum.css b/p/themes/Ansum/ansum.css index b06f01aaa..d60f11be4 100644 --- a/p/themes/Ansum/ansum.css +++ b/p/themes/Ansum/ansum.css @@ -637,19 +637,15 @@ form th { } .nav-list .item { background: #fbf9f6; - transition: all 0.15s ease-in-out; } .nav-list .item a { padding: 0 1rem; color: #363330; + transition: all 0.15s ease-in-out; } .nav-list .item .error a { color: #f5633e; } -.nav-list .item:hover { - background: #efe3d3; - color: #363330; -} .nav-list .item:hover .error a { background: #ca7227; color: #363330; @@ -659,7 +655,7 @@ form th { color: #363330; } .nav-list .item:hover a { - color: #363330; + background: #efe3d3; text-decoration: none; } .nav-list .item.active { @@ -675,6 +671,7 @@ form th { color: #fff; } .nav-list .item.active a { + background: #ca7227; color: #fff; text-decoration: none; } @@ -1531,10 +1528,6 @@ form th { margin-bottom: 1rem; } - .pagination { - margin: 0 0 3.5em; - } - #nav_entries { line-height: 4.5rem; } diff --git a/p/themes/Ansum/ansum.rtl.css b/p/themes/Ansum/ansum.rtl.css index 6842ee5e2..c3cda7f4d 100644 --- a/p/themes/Ansum/ansum.rtl.css +++ b/p/themes/Ansum/ansum.rtl.css @@ -637,19 +637,15 @@ form th { } .nav-list .item { background: #fbf9f6; - transition: all 0.15s ease-in-out; } .nav-list .item a { padding: 0 1rem; color: #363330; + transition: all 0.15s ease-in-out; } .nav-list .item .error a { color: #f5633e; } -.nav-list .item:hover { - background: #efe3d3; - color: #363330; -} .nav-list .item:hover .error a { background: #ca7227; color: #363330; @@ -659,7 +655,7 @@ form th { color: #363330; } .nav-list .item:hover a { - color: #363330; + background: #efe3d3; text-decoration: none; } .nav-list .item.active { @@ -675,6 +671,7 @@ form th { color: #fff; } .nav-list .item.active a { + background: #ca7227; color: #fff; text-decoration: none; } @@ -1531,10 +1528,6 @@ form th { margin-bottom: 1rem; } - .pagination { - margin: 0 0 3.5em; - } - #nav_entries { line-height: 4.5rem; } diff --git a/p/themes/BlueLagoon/BlueLagoon.css b/p/themes/BlueLagoon/BlueLagoon.css index 12a5a334c..304f55e0f 100644 --- a/p/themes/BlueLagoon/BlueLagoon.css +++ b/p/themes/BlueLagoon/BlueLagoon.css @@ -277,23 +277,17 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { +.nav-list .item a:hover { text-shadow: 0 0 2px rgba(255,255,255,0.28); color: #fff; } -.nav-list .item.active { +.nav-list .item.active a { margin: 0; background: linear-gradient(180deg, #0090ff 0%, #0062be 100%) #e4992c; background: -webkit-linear-gradient(top, #0090ff 0%, #0062be 100%); - box-shadow: -1px 2px 2px #171717, 0px 1px rgba(255, 255, 255, 0.08) inset; - border-width: medium medium 1px; - border-style: none none solid; - border-color: -moz-use-text-color -moz-use-text-color #171717; -} - -.nav-list .item.active a { color: #fff; + border-color: -moz-use-text-color -moz-use-text-color #171717; } .nav-list .disable { @@ -504,14 +498,12 @@ a.btn { .pagination .item a:hover { background: #ddd; + color: inherit; } -.pagination:first-child .item { - border-bottom: 1px solid #aaa; -} - -.pagination:last-child .item { +.pagination .item { border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; } /*=== Boxes */ diff --git a/p/themes/BlueLagoon/BlueLagoon.rtl.css b/p/themes/BlueLagoon/BlueLagoon.rtl.css index a1c510bbd..d1d4757cc 100644 --- a/p/themes/BlueLagoon/BlueLagoon.rtl.css +++ b/p/themes/BlueLagoon/BlueLagoon.rtl.css @@ -277,23 +277,17 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { +.nav-list .item a:hover { text-shadow: 0 0 2px rgba(255,255,255,0.28); color: #fff; } -.nav-list .item.active { +.nav-list .item.active a { margin: 0; background: linear-gradient(-180deg, #0090ff 0%, #0062be 100%) #e4992c; background: -webkit-linear-gradient(top, #0090ff 0%, #0062be 100%); - box-shadow: 1px 2px 2px #171717, 0px 1px rgba(255, 255, 255, 0.08) inset; - border-width: medium medium 1px; - border-style: none none solid; - border-color: -moz-use-text-color -moz-use-text-color #171717; -} - -.nav-list .item.active a { color: #fff; + border-color: -moz-use-text-color -moz-use-text-color #171717; } .nav-list .disable { @@ -504,14 +498,12 @@ a.btn { .pagination .item a:hover { background: #ddd; + color: inherit; } -.pagination:first-child .item { - border-bottom: 1px solid #aaa; -} - -.pagination:last-child .item { +.pagination .item { border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; } /*=== Boxes */ diff --git a/p/themes/Dark/dark.css b/p/themes/Dark/dark.css index 56b293f80..356ec9ac7 100644 --- a/p/themes/Dark/dark.css +++ b/p/themes/Dark/dark.css @@ -260,7 +260,7 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { +.nav-list .item a:hover { background: #26303f; } @@ -462,11 +462,8 @@ a.btn { } .pagination:first-child .item { - border-bottom: 1px solid #333; -} - -.pagination:last-child .item { border-top: 1px solid #333; + border-bottom: 1px solid #333; } #load_more.loading, diff --git a/p/themes/Dark/dark.rtl.css b/p/themes/Dark/dark.rtl.css index 1019c1c48..bf6c15517 100644 --- a/p/themes/Dark/dark.rtl.css +++ b/p/themes/Dark/dark.rtl.css @@ -260,7 +260,7 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { +.nav-list .item a:hover { background: #26303f; } @@ -462,11 +462,8 @@ a.btn { } .pagination:first-child .item { - border-bottom: 1px solid #333; -} - -.pagination:last-child .item { border-top: 1px solid #333; + border-bottom: 1px solid #333; } #load_more.loading, diff --git a/p/themes/Flat/flat.css b/p/themes/Flat/flat.css index 52200ab88..0a6617f59 100644 --- a/p/themes/Flat/flat.css +++ b/p/themes/Flat/flat.css @@ -265,13 +265,12 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover, +.nav-list .item a:hover, .nav-list .item.active { background: #2980b9; color: #fff; } -.nav-list .item:hover a, .nav-list .item.active a { color: #fff; } @@ -448,27 +447,10 @@ a.btn { .pagination { background: #ecf0f1; color: #000; - font-size: 0.8em; - text-align: center; -} - -.content .pagination { - margin: 0; - padding: 0; -} - -.pagination .item.pager-current { - background: #34495e; - color: #ecf0f1; - font-size: 1.5em; - font-weight: bold; } .pagination .item a { - display: block; - font-style: italic; line-height: 3em; - text-decoration: none; color: #000; } diff --git a/p/themes/Flat/flat.rtl.css b/p/themes/Flat/flat.rtl.css index 7fa4b4ab2..a10f27952 100644 --- a/p/themes/Flat/flat.rtl.css +++ b/p/themes/Flat/flat.rtl.css @@ -265,13 +265,12 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover, +.nav-list .item a:hover, .nav-list .item.active { background: #2980b9; color: #fff; } -.nav-list .item:hover a, .nav-list .item.active a { color: #fff; } @@ -448,27 +447,10 @@ a.btn { .pagination { background: #ecf0f1; color: #000; - font-size: 0.8em; - text-align: center; -} - -.content .pagination { - margin: 0; - padding: 0; -} - -.pagination .item.pager-current { - background: #34495e; - color: #ecf0f1; - font-size: 1.5em; - font-weight: bold; } .pagination .item a { - display: block; - font-style: italic; line-height: 3em; - text-decoration: none; color: #000; } diff --git a/p/themes/Mapco/_components.scss b/p/themes/Mapco/_components.scss index 5d7bfd285..7347bcc6f 100644 --- a/p/themes/Mapco/_components.scss +++ b/p/themes/Mapco/_components.scss @@ -180,11 +180,6 @@ font-style: italic; line-height: 3em; text-decoration: none; - - &:hover { - background: variables.$main-font-color; - color: variables.$grey-light; - } } } diff --git a/p/themes/Mapco/_mobile.scss b/p/themes/Mapco/_mobile.scss index 357369f05..7cd15514c 100644 --- a/p/themes/Mapco/_mobile.scss +++ b/p/themes/Mapco/_mobile.scss @@ -188,10 +188,6 @@ } - .pagination { - margin: 0 0 3.5em; - } - #nav_entries { line-height: 4.5rem; } diff --git a/p/themes/Mapco/_sidebar.scss b/p/themes/Mapco/_sidebar.scss index c4a3003c2..a5ee0ea82 100644 --- a/p/themes/Mapco/_sidebar.scss +++ b/p/themes/Mapco/_sidebar.scss @@ -146,12 +146,13 @@ .item { background: variables.$sid-bg; - - @include mixins.transition(all, 0.15s, ease-in-out); + color: variables.$white; a { padding: 0 1rem; color: variables.$sid-font-color; + + @include mixins.transition(all, 0.15s, ease-in-out); } .error { @@ -161,9 +162,6 @@ } &:hover { - background: variables.$sid-bg-dark; - color: variables.$sid-font-color; - .error { a { background: variables.$main-first; @@ -179,7 +177,7 @@ } a { - color: variables.$sid-font-color; + background: variables.$sid-bg-dark; text-decoration: none; } } @@ -203,11 +201,11 @@ } a { + background: variables.$main-first; color: variables.$white; text-decoration: none; } } - } &.empty { diff --git a/p/themes/Mapco/mapco.css b/p/themes/Mapco/mapco.css index 6ec1ffb60..8768481c8 100644 --- a/p/themes/Mapco/mapco.css +++ b/p/themes/Mapco/mapco.css @@ -628,19 +628,16 @@ form th { } .nav-list .item { background: #303136; - transition: all 0.15s ease-in-out; + color: #fff; } .nav-list .item a { padding: 0 1rem; color: #ffffff; + transition: all 0.15s ease-in-out; } .nav-list .item .error a { color: #f5633e; } -.nav-list .item:hover { - background: #17181a; - color: #ffffff; -} .nav-list .item:hover .error a { background: #36c; color: #ffffff; @@ -650,7 +647,7 @@ form th { color: #ffffff; } .nav-list .item:hover a { - color: #ffffff; + background: #17181a; text-decoration: none; } .nav-list .item.active { @@ -666,6 +663,7 @@ form th { color: #fff; } .nav-list .item.active a { + background: #36c; color: #fff; text-decoration: none; } @@ -1520,10 +1518,6 @@ form th { margin-bottom: 1rem; } - .pagination { - margin: 0 0 3.5em; - } - #nav_entries { line-height: 4.5rem; } diff --git a/p/themes/Mapco/mapco.rtl.css b/p/themes/Mapco/mapco.rtl.css index e761439dc..a029cce3e 100644 --- a/p/themes/Mapco/mapco.rtl.css +++ b/p/themes/Mapco/mapco.rtl.css @@ -628,19 +628,16 @@ form th { } .nav-list .item { background: #303136; - transition: all 0.15s ease-in-out; + color: #fff; } .nav-list .item a { padding: 0 1rem; color: #ffffff; + transition: all 0.15s ease-in-out; } .nav-list .item .error a { color: #f5633e; } -.nav-list .item:hover { - background: #17181a; - color: #ffffff; -} .nav-list .item:hover .error a { background: #36c; color: #ffffff; @@ -650,7 +647,7 @@ form th { color: #ffffff; } .nav-list .item:hover a { - color: #ffffff; + background: #17181a; text-decoration: none; } .nav-list .item.active { @@ -666,6 +663,7 @@ form th { color: #fff; } .nav-list .item.active a { + background: #36c; color: #fff; text-decoration: none; } @@ -1520,10 +1518,6 @@ form th { margin-bottom: 1rem; } - .pagination { - margin: 0 0 3.5em; - } - #nav_entries { line-height: 4.5rem; } diff --git a/p/themes/Origine/origine.css b/p/themes/Origine/origine.css index dd2b864eb..f8e9d4722 100644 --- a/p/themes/Origine/origine.css +++ b/p/themes/Origine/origine.css @@ -1060,6 +1060,16 @@ a.btn { /*=== LOGS */ /*=========*/ +.pagination .item.active { + background-color: #0062be; + color: white; +} + +#loglist td { + font-family: monospace; +} + +/****old******/ .loglist { border: 1px solid #aaa; border-radius: 5px; diff --git a/p/themes/Origine/origine.rtl.css b/p/themes/Origine/origine.rtl.css index 477c9351b..f9dc2f720 100644 --- a/p/themes/Origine/origine.rtl.css +++ b/p/themes/Origine/origine.rtl.css @@ -1060,6 +1060,16 @@ a.btn { /*=== LOGS */ /*=========*/ +.pagination .item.active { + background-color: #0062be; + color: white; +} + +#loglist td { + font-family: monospace; +} + +/****old******/ .loglist { border: 1px solid #aaa; border-radius: 5px; diff --git a/p/themes/Screwdriver/screwdriver.css b/p/themes/Screwdriver/screwdriver.css index 53fc593e7..1cee7a914 100644 --- a/p/themes/Screwdriver/screwdriver.css +++ b/p/themes/Screwdriver/screwdriver.css @@ -277,7 +277,7 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { +.nav-list .item a:hover { text-shadow: 0 0 2px rgba(255,255,255,0.28); color: #fff; } @@ -493,6 +493,7 @@ a.btn { .pagination .item a:hover { background: #ddd; + color: inherit } .pagination:first-child .item { diff --git a/p/themes/Screwdriver/screwdriver.rtl.css b/p/themes/Screwdriver/screwdriver.rtl.css index 7ec1e75d0..bee07294c 100644 --- a/p/themes/Screwdriver/screwdriver.rtl.css +++ b/p/themes/Screwdriver/screwdriver.rtl.css @@ -277,7 +277,7 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { +.nav-list .item a:hover { text-shadow: 0 0 2px rgba(255,255,255,0.28); color: #fff; } @@ -493,6 +493,7 @@ a.btn { .pagination .item a:hover { background: #ddd; + color: inherit } .pagination:first-child .item { diff --git a/p/themes/Swage/swage.css b/p/themes/Swage/swage.css index 03b7be3b5..2751701d6 100644 --- a/p/themes/Swage/swage.css +++ b/p/themes/Swage/swage.css @@ -231,22 +231,25 @@ form th { color: #fcfcfc; cursor: default; } -.nav-list .item:hover, .nav-list .item.active { +.nav-list .item a:hover { background: #00488b; color: #fcfcfc; } -.nav-list .item:hover a, .nav-list .item.active a { +.nav-list .item.active { + background: #00488b; + color: #fcfcfc; +} +.nav-list .item.active a { color: #fcfcfc; } -.nav-list .item:hover.empty a, -.nav-list .item:hover .error a, .nav-list .item.active.empty a, +.nav-list .item.active.empty a, .nav-list .item.active .error a { color: #fcfcfc; } -.nav-list .item:hover.empty a, .nav-list .item.active.empty a { +.nav-list .item.active.empty a { background: #fa8052; } -.nav-list .item:hover.error a, .nav-list .item.active.error a { +.nav-list .item.active.error a { background: #c46178; } .nav-list .item > a { @@ -1170,5 +1173,3 @@ button.as-link { #slider .form-group:hover { background: initial; } - -/*# sourceMappingURL=swage.css.map */ diff --git a/p/themes/Swage/swage.rtl.css b/p/themes/Swage/swage.rtl.css index 65aa1f3a8..d71d9a653 100644 --- a/p/themes/Swage/swage.rtl.css +++ b/p/themes/Swage/swage.rtl.css @@ -231,22 +231,25 @@ form th { color: #fcfcfc; cursor: default; } -.nav-list .item:hover, .nav-list .item.active { +.nav-list .item a:hover { background: #00488b; color: #fcfcfc; } -.nav-list .item:hover a, .nav-list .item.active a { +.nav-list .item.active { + background: #00488b; + color: #fcfcfc; +} +.nav-list .item.active a { color: #fcfcfc; } -.nav-list .item:hover.empty a, -.nav-list .item:hover .error a, .nav-list .item.active.empty a, +.nav-list .item.active.empty a, .nav-list .item.active .error a { color: #fcfcfc; } -.nav-list .item:hover.empty a, .nav-list .item.active.empty a { +.nav-list .item.active.empty a { background: #fa8052; } -.nav-list .item:hover.error a, .nav-list .item.active.error a { +.nav-list .item.active.error a { background: #c46178; } .nav-list .item > a { diff --git a/p/themes/Swage/swage.scss b/p/themes/Swage/swage.scss index fedabf09d..6feb294b2 100644 --- a/p/themes/Swage/swage.scss +++ b/p/themes/Swage/swage.scss @@ -289,7 +289,11 @@ form { @extend %nav-list; - &:hover, + a:hover { + background: color.adjust( $color_nav, $lightness: -10%); + color: $color_light; + } + &.active { background: color.adjust( $color_nav, $lightness: -10%); color: $color_light; diff --git a/p/themes/base-theme/template.css b/p/themes/base-theme/template.css index 0a03a80d4..70aa65dfd 100644 --- a/p/themes/base-theme/template.css +++ b/p/themes/base-theme/template.css @@ -609,22 +609,31 @@ input[type="checkbox"]:focus-visible { /*=== Pagination */ .pagination { - margin: 0; + margin: 2em auto; padding: 0; display: table; - width: 100%; table-layout: fixed; } .pagination .item { display: table-cell; + width: 3em; + text-align: center; +} + +.pagination .item.active { + min-width: 3em; + font-weight: bold; } -.pagination .pager-first, .pagination .pager-previous, -.pagination .pager-next, +.pagination .pager-next { + width: 6em; +} + +.pagination .pager-first, .pagination .pager-last { - width: 100px; + width: 7.5em; } /*=== Boxes */ @@ -1515,6 +1524,12 @@ input:checked + .slide-container .properties { /*=== DIVERS */ /*===========*/ +.log-error, +.log-warning, +.log-notice { + text-align: center; +} + .category .title.error::before { content: "⚠ "; color: #bd362f; @@ -1612,6 +1627,10 @@ input:checked + .slide-container .properties { display: none; } +#loglist-wrapper { + overflow-x: auto; +} + /*=== MOBILE */ /*===========*/ diff --git a/p/themes/base-theme/template.rtl.css b/p/themes/base-theme/template.rtl.css index fdf094b9c..158840252 100644 --- a/p/themes/base-theme/template.rtl.css +++ b/p/themes/base-theme/template.rtl.css @@ -609,22 +609,31 @@ input[type="checkbox"]:focus-visible { /*=== Pagination */ .pagination { - margin: 0; + margin: 2em auto; padding: 0; display: table; - width: 100%; table-layout: fixed; } .pagination .item { display: table-cell; + width: 3em; + text-align: center; +} + +.pagination .item.active { + min-width: 3em; + font-weight: bold; } -.pagination .pager-first, .pagination .pager-previous, -.pagination .pager-next, +.pagination .pager-next { + width: 6em; +} + +.pagination .pager-first, .pagination .pager-last { - width: 100px; + width: 7.5em; } /*=== Boxes */ @@ -1515,6 +1524,12 @@ input:checked + .slide-container .properties { /*=== DIVERS */ /*===========*/ +.log-error, +.log-warning, +.log-notice { + text-align: center; +} + .category .title.error::before { content: "⚠ "; color: #bd362f; @@ -1612,6 +1627,10 @@ input:checked + .slide-container .properties { display: none; } +#loglist-wrapper { + overflow-x: auto; +} + /*=== MOBILE */ /*===========*/ diff --git a/p/themes/icons/error.svg b/p/themes/icons/error.svg new file mode 100644 index 000000000..6b5976090 --- /dev/null +++ b/p/themes/icons/error.svg @@ -0,0 +1,4 @@ +<svg viewBox="0 0 16 16" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" xmlns="http://www.w3.org/2000/svg"> + <circle cx="116.818" cy="290.931" r="50.694" style="fill:none;stroke:#d40000;stroke-width:14.166;stroke-opacity:1" transform="matrix(.12944 0 0 .12944 -7.12 -29.657)"/> + <path fill="#666" d="M5.146 5.144h.736a.743.743 0 0 1 .491.224l1.629 1.627 1.65-1.627c.19-.165.319-.215.491-.222h.714v.714c0 .204-.025.393-.179.535L9.05 8.022l1.606 1.606c.134.136.2.321.2.514v.714h-.714a.723.723 0 0 1-.512-.2L8 9.028l-1.628 1.627a.719.719 0 0 1-.514.2h-.713v-.714c0-.19.067-.379.201-.513l1.628-1.606-1.627-1.627a.647.647 0 0 1-.202-.536v-.713Z" color="#bebebe" style="text-indent:0;text-align:start;text-transform:none;stroke-width:.713684"/> +</svg> diff --git a/p/themes/icons/notice.svg b/p/themes/icons/notice.svg new file mode 100644 index 000000000..e21ee13b4 --- /dev/null +++ b/p/themes/icons/notice.svg @@ -0,0 +1,5 @@ +<svg viewBox="0 0 16 16" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" xmlns="http://www.w3.org/2000/svg"> + <circle style="fill:#666;fill-opacity:1;stroke:none;stroke-width:1.47316;stroke-linecap:round;stroke-opacity:1" cx="-8" cy="-4.966" r="1.377" transform="scale(-1)"/> + <rect style="fill:#666;fill-opacity:1;stroke:#666;stroke-width:.88443;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" width="1.809" height="4.623" x="-8.904" y="-12.022" ry="0" transform="scale(-1)"/> + <rect style="fill:none;fill-opacity:1;stroke:#666;stroke-width:1.743;stroke-linecap:square;stroke-miterlimit:2;stroke-dasharray:none;stroke-opacity:1;stroke-linejoin:miter" width="11.757" height="11.757" x="2.121" y="2.121" ry="0"/> +</svg> diff --git a/p/themes/icons/warning.svg b/p/themes/icons/warning.svg new file mode 100644 index 000000000..4f4ecdc9a --- /dev/null +++ b/p/themes/icons/warning.svg @@ -0,0 +1,5 @@ +<svg viewBox="0 0 16 16" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" xmlns="http://www.w3.org/2000/svg"> + <path style="color:#000;clip-rule:nonzero;fill:#666;fill-rule:nonzero;stroke-width:.953325;stroke-linecap:round;stroke-linejoin:miter;-inkscape-stroke:none;paint-order:markers stroke fill" d="M8 1.595.447 14.405h15.106Zm0 3.323 4.525 7.836h-9.05Z"/> + <circle style="fill:#666;fill-opacity:1;stroke:none;stroke-width:.641916;stroke-linecap:round;stroke-opacity:1" cx="8" cy="11.275" r=".6"/> + <rect style="fill:#666;fill-opacity:1;stroke:#666;stroke-width:.387856;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" width=".612" height="2.628" x="7.694" y="7.212" ry="0"/> +</svg> |
