aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar maTh <1645099+math-GH@users.noreply.github.com> 2024-06-13 16:40:54 +0200
committerGravatar GitHub <noreply@github.com> 2024-06-13 16:40:54 +0200
commit20f13312d15a1408365b859b14621364009990cd (patch)
tree7519ad4014f7000e24c0c95862d5adafc2b31317 /app
parent35ee123dda654facadf82037675c21ca215d7fec (diff)
Reading view: action icons position (#6297)
* add configs in reading * implementation into the reading view * CSS * i18n * Credits to joshka * Update article.phtml * fix * fix * <br /> * Update app/i18n/fr/conf.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/i18n/en/conf.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * fix French * show_articleicons => show_article_icons * Update app/i18n/en/conf.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/i18n/en-us/conf.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Diffstat (limited to 'app')
-rw-r--r--app/Controllers/configureController.php1
-rw-r--r--app/Models/UserConfiguration.php1
-rw-r--r--app/i18n/cs/conf.php5
-rw-r--r--app/i18n/de/conf.php5
-rw-r--r--app/i18n/el/conf.php5
-rw-r--r--app/i18n/en-us/conf.php5
-rw-r--r--app/i18n/en/conf.php5
-rw-r--r--app/i18n/es/conf.php5
-rw-r--r--app/i18n/fa/conf.php5
-rw-r--r--app/i18n/fr/conf.php5
-rw-r--r--app/i18n/he/conf.php5
-rw-r--r--app/i18n/hu/conf.php5
-rw-r--r--app/i18n/id/conf.php5
-rw-r--r--app/i18n/it/conf.php5
-rw-r--r--app/i18n/ja/conf.php5
-rw-r--r--app/i18n/ko/conf.php5
-rw-r--r--app/i18n/lv/conf.php5
-rw-r--r--app/i18n/nl/conf.php5
-rw-r--r--app/i18n/oc/conf.php5
-rw-r--r--app/i18n/pl/conf.php5
-rw-r--r--app/i18n/pt-br/conf.php5
-rw-r--r--app/i18n/ru/conf.php5
-rw-r--r--app/i18n/ru/sub.php2
-rw-r--r--app/i18n/sk/conf.php5
-rw-r--r--app/i18n/tr/conf.php5
-rw-r--r--app/i18n/zh-cn/conf.php5
-rw-r--r--app/i18n/zh-tw/conf.php5
-rw-r--r--app/views/configure/reading.phtml9
-rw-r--r--app/views/helpers/index/article.phtml83
29 files changed, 189 insertions, 27 deletions
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php
index 343623d75..770787021 100644
--- a/app/Controllers/configureController.php
+++ b/app/Controllers/configureController.php
@@ -123,6 +123,7 @@ class FreshRSS_configure_Controller extends FreshRSS_ActionController {
FreshRSS_Context::userConf()->show_tags_max = Minz_Request::paramInt('show_tags_max');
FreshRSS_Context::userConf()->show_author_date = Minz_Request::paramString('show_author_date') ?: '0';
FreshRSS_Context::userConf()->show_feed_name = Minz_Request::paramString('show_feed_name') ?: 't';
+ FreshRSS_Context::userConf()->show_article_icons = Minz_Request::paramString('show_article_icons') ?: 't';
FreshRSS_Context::userConf()->hide_read_feeds = Minz_Request::paramBoolean('hide_read_feeds');
FreshRSS_Context::userConf()->onread_jump_next = Minz_Request::paramBoolean('onread_jump_next');
FreshRSS_Context::userConf()->lazyload = Minz_Request::paramBoolean('lazyload');
diff --git a/app/Models/UserConfiguration.php b/app/Models/UserConfiguration.php
index c9d5b07af..938c2ed27 100644
--- a/app/Models/UserConfiguration.php
+++ b/app/Models/UserConfiguration.php
@@ -21,6 +21,7 @@ declare(strict_types=1);
* @property int $show_tags_max
* @property string $show_author_date
* @property string $show_feed_name
+ * @property string $show_article_icons
* @property bool $display_posts
* @property string $email_validation_token
* @property-read bool $enabled
diff --git a/app/i18n/cs/conf.php b/app/i18n/cs/conf.php
index f43236020..2c2559d8b 100644
--- a/app/i18n/cs/conf.php
+++ b/app/i18n/cs/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'V řádku s autory a datem',
),
'feed_title' => 'Název feedu',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Štítky',
'both' => 'V záhlaví a zápatí',
diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php
index 9da725499..71b402b73 100644
--- a/app/i18n/de/conf.php
+++ b/app/i18n/de/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'In der Zeile mit Autoren und Datum',
),
'feed_title' => 'Feed Titel',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Hashtags',
'both' => 'In Kopf- und Fußzeile',
diff --git a/app/i18n/el/conf.php b/app/i18n/el/conf.php
index cae8efe15..681ec5ecd 100644
--- a/app/i18n/el/conf.php
+++ b/app/i18n/el/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'In authors and date row', // TODO
),
'feed_title' => 'Feed title', // TODO
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tags', // TODO
'both' => 'In header and footer', // TODO
diff --git a/app/i18n/en-us/conf.php b/app/i18n/en-us/conf.php
index d0f7c4f8e..9281fd9c2 100644
--- a/app/i18n/en-us/conf.php
+++ b/app/i18n/en-us/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'In authors and date row', // IGNORE
),
'feed_title' => 'Feed title', // IGNORE
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // IGNORE
+ 'above_title' => 'Above title', // IGNORE
+ 'with_authors' => 'In authors and date row', // IGNORE
+ ),
'tags' => array(
'_' => 'Tags', // IGNORE
'both' => 'In header and footer', // IGNORE
diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php
index 5b3b93fcb..30b499a5f 100644
--- a/app/i18n/en/conf.php
+++ b/app/i18n/en/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'In authors and date row',
),
'feed_title' => 'Feed title',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>',
+ 'above_title' => 'Above title',
+ 'with_authors' => 'In authors and date row',
+ ),
'tags' => array(
'_' => 'Tags',
'both' => 'In header and footer',
diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php
index 6aa11b0c7..02c1609ec 100644
--- a/app/i18n/es/conf.php
+++ b/app/i18n/es/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'En la fila de autores y fecha',
),
'feed_title' => 'Título del Feed',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Etiquetas',
'both' => 'En el encabezado y pie de página',
diff --git a/app/i18n/fa/conf.php b/app/i18n/fa/conf.php
index 63b6ecd1f..75e698516 100644
--- a/app/i18n/fa/conf.php
+++ b/app/i18n/fa/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => ' در نویسندگان و ردیف تاریخ',
),
'feed_title' => ' عنوان خوراک',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => ' برچسب ها',
'both' => ' در سرصفحه و پاورقی',
diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php
index 325752dc7..7470d3aa9 100644
--- a/app/i18n/fr/conf.php
+++ b/app/i18n/fr/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Sur la ligne « Auteurs et date »',
),
'feed_title' => 'Titre du flux',
+ 'icons' => array(
+ '_' => 'Position des icônes d’article<br /><small>(Vue lecture seulement)</small>',
+ 'above_title' => 'Au dessus du titre',
+ 'with_authors' => 'Sur la ligne auteur et date',
+ ),
'tags' => array(
'_' => 'Tags', // IGNORE
'both' => 'En en-tête et en pied d’article',
diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php
index d00c8ad2c..112016084 100644
--- a/app/i18n/he/conf.php
+++ b/app/i18n/he/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'In authors and date row', // TODO
),
'feed_title' => 'Feed title', // TODO
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tags', // TODO
'both' => 'In header and footer', // TODO
diff --git a/app/i18n/hu/conf.php b/app/i18n/hu/conf.php
index ae3c164fd..331599189 100644
--- a/app/i18n/hu/conf.php
+++ b/app/i18n/hu/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'A szerzők és dátum sorban',
),
'feed_title' => 'Hírforrás címe',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Címkék',
'both' => 'Fejlécben és láblécben',
diff --git a/app/i18n/id/conf.php b/app/i18n/id/conf.php
index 21f14d423..660894bd8 100644
--- a/app/i18n/id/conf.php
+++ b/app/i18n/id/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Di baris penulis dan tanggal',
),
'feed_title' => 'Judul feed',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tag',
'both' => 'Di header dan footer',
diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php
index d042b8f09..77980b16b 100644
--- a/app/i18n/it/conf.php
+++ b/app/i18n/it/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Nella riga degli autori e data',
),
'feed_title' => 'Titolo del feed',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tag',
'both' => 'Nell’intestazione e nel fondo pagina',
diff --git a/app/i18n/ja/conf.php b/app/i18n/ja/conf.php
index 3b3a91746..22075b92b 100644
--- a/app/i18n/ja/conf.php
+++ b/app/i18n/ja/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => '著者と日付の行',
),
'feed_title' => 'フィードのタイトル',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'タグ',
'both' => 'ヘッダーとフッター',
diff --git a/app/i18n/ko/conf.php b/app/i18n/ko/conf.php
index 9223863ba..2dc85f84a 100644
--- a/app/i18n/ko/conf.php
+++ b/app/i18n/ko/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => '작성자, 작성일과 같은 줄에',
),
'feed_title' => '피드 제목',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => '태그',
'both' => '머리말과 꼬리말에',
diff --git a/app/i18n/lv/conf.php b/app/i18n/lv/conf.php
index 90a425eeb..65df53baa 100644
--- a/app/i18n/lv/conf.php
+++ b/app/i18n/lv/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Autoru un datuma rindā',
),
'feed_title' => 'Barotnes tituls',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Birkas',
'both' => 'Virsrakstā un kājenē',
diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php
index 83f0ea6ba..241b4f91f 100644
--- a/app/i18n/nl/conf.php
+++ b/app/i18n/nl/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'In lijn met auteurs en datum',
),
'feed_title' => 'Feedtitel',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tags', // IGNORE
'both' => 'In kop en voet',
diff --git a/app/i18n/oc/conf.php b/app/i18n/oc/conf.php
index f803ab7bf..456414504 100644
--- a/app/i18n/oc/conf.php
+++ b/app/i18n/oc/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Dins la linha autors e data',
),
'feed_title' => 'Títol del flux',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Etiquetas',
'both' => 'Dins l’entèsta e lo bas de pagina',
diff --git a/app/i18n/pl/conf.php b/app/i18n/pl/conf.php
index 875f21a45..7f9fcb9d2 100644
--- a/app/i18n/pl/conf.php
+++ b/app/i18n/pl/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'W tej samej linii co autor i data',
),
'feed_title' => 'Nazwa kanału',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tagi',
'both' => 'W nagłówku i stopce',
diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php
index d7353c1d2..29ca4f7cf 100644
--- a/app/i18n/pt-br/conf.php
+++ b/app/i18n/pt-br/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Com autores e data',
),
'feed_title' => 'Título do Feed',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Tag',
'both' => 'No cabeçalho e rodapé',
diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php
index e71d43c20..0c28ef0cb 100644
--- a/app/i18n/ru/conf.php
+++ b/app/i18n/ru/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'В строке с автором и датой',
),
'feed_title' => 'Титул ленты',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Метки',
'both' => 'В верхнем и нижнем колонтитулах',
diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php
index 91cd3807c..789f8312e 100644
--- a/app/i18n/ru/sub.php
+++ b/app/i18n/ru/sub.php
@@ -16,7 +16,7 @@ return array(
'title' => 'API', // IGNORE
),
'bookmarklet' => array(
- 'documentation' => 'Перетяните эту кнопку на вашу панель закладок, или нажмите правой кнопкой мыши и выберите "Добавить ссылку в закладки". Нажимайте кнопку "Подписаться" на любой странице, на которую вы хотите подписаться.<br>',
+ 'documentation' => 'Перетяните эту кнопку на вашу панель закладок, или нажмите правой кнопкой мыши и выберите "Добавить ссылку в закладки". Нажимайте кнопку "Подписаться" на любой странице, на которую вы хотите подписаться.<br />',
'label' => 'Подписаться',
'title' => 'Букмарклет',
),
diff --git a/app/i18n/sk/conf.php b/app/i18n/sk/conf.php
index dafb1bfe9..d50d84f37 100644
--- a/app/i18n/sk/conf.php
+++ b/app/i18n/sk/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'V riadku autori a dátum',
),
'feed_title' => 'Nadpis kanála',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Značky',
'both' => 'V záhlaví a pätičke',
diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php
index 2ef8486bf..74e3cc8f8 100644
--- a/app/i18n/tr/conf.php
+++ b/app/i18n/tr/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => 'Yazarlar ve tarihler satırında',
),
'feed_title' => 'Akış Başlığı',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => 'Etiketler',
'both' => 'Üst Bilgi ve Alt Bilgide',
diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php
index c92239e8d..6222b76f6 100644
--- a/app/i18n/zh-cn/conf.php
+++ b/app/i18n/zh-cn/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => '与作者和日期一行',
),
'feed_title' => '订阅源标题',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => '文章标签',
'both' => '页脚与页眉',
diff --git a/app/i18n/zh-tw/conf.php b/app/i18n/zh-tw/conf.php
index 2598d97a1..ccfa7a0d5 100644
--- a/app/i18n/zh-tw/conf.php
+++ b/app/i18n/zh-tw/conf.php
@@ -186,6 +186,11 @@ return array(
'with_authors' => '與作者和日期一行',
),
'feed_title' => '訂閱源標題',
+ 'icons' => array(
+ '_' => 'Article icons position<br /><small>(Reading view only)</small>', // TODO
+ 'above_title' => 'Above title', // TODO
+ 'with_authors' => 'In authors and date row', // TODO
+ ),
'tags' => array(
'_' => '文章標籤',
'both' => '兩者都顯示',
diff --git a/app/views/configure/reading.phtml b/app/views/configure/reading.phtml
index e475b220c..8df461ef8 100644
--- a/app/views/configure/reading.phtml
+++ b/app/views/configure/reading.phtml
@@ -137,6 +137,15 @@
</div>
</div>
<div class="form-group">
+ <label class="group-name" for="show_article_icons"><?= _t('conf.reading.article.icons') ?></label>
+ <div class="group-controls">
+ <select name="show_article_icons" id="show_article_icons" data-leave-validation="<?= FreshRSS_Context::userConf()->show_article_icons ?>">
+ <option value="t" <?= FreshRSS_Context::userConf()->show_article_icons === 't' ? ' selected="selected"' : '' ?> data-input-visible="true"><?= _t('conf.reading.article.icons.above_title') ?></option>
+ <option value="a" <?= FreshRSS_Context::userConf()->show_article_icons === 'a' ? ' selected="selected"' : '' ?> data-input-visible="true"><?= _t('conf.reading.article.icons.with_authors') ?></option>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
<label class="group-name" for="show_tags"><?= _t('conf.reading.article.tags') ?></label>
<div class="group-controls">
<select class="select-input-changer" name="show_tags" id="show_tags" data-name="show_tags_max" data-leave-validation="<?= FreshRSS_Context::userConf()->show_tags ?>">
diff --git a/app/views/helpers/index/article.phtml b/app/views/helpers/index/article.phtml
index bfdfdb8d1..bdc108f1e 100644
--- a/app/views/helpers/index/article.phtml
+++ b/app/views/helpers/index/article.phtml
@@ -1,4 +1,5 @@
<?php
+ // used only in Reading view and html.phtml
declare(strict_types=1);
/** @var FreshRSS_View $this */
$entry = $this->entry;
@@ -17,16 +18,32 @@
$readUrl['params']['is_read'] = '0';
}
?>
- <div class="article-header-topline">
+ <div class="article-header-topline horizontal-list">
<?php if (FreshRSS_Auth::hasAccess()) { ?>
- <a class="read" href="<?= Minz_Url::display($readUrl) ?>" title="<?= _t('conf.shortcut.mark_read') ?>"><?= _i($entry->isRead() ? 'read' : 'unread') ?></a>
- <a class="bookmark" href="<?= Minz_Url::display($favoriteUrl) ?>" title="<?= _t('conf.shortcut.mark_favorite') ?>"><?= _i($entry->isFavorite() ? 'starred' : 'non-starred') ?></a>
+ <?php if (FreshRSS_Context::userConf()->topline_read && FreshRSS_Context::userConf()->show_article_icons == 't') { ?>
+ <div class="item manage">
+ <a class="read" href="<?= Minz_Url::display($readUrl) ?>" title="<?= _t('conf.shortcut.mark_read') ?>"><?= _i($entry->isRead() ? 'read' : 'unread') ?></a>
+ </div>
+ <?php } ?>
+ <?php if (FreshRSS_Context::userConf()->topline_favorite && FreshRSS_Context::userConf()->show_article_icons == 't') { ?>
+ <div class="item manage">
+ <a class="bookmark" href="<?= Minz_Url::display($favoriteUrl) ?>" title="<?= _t('conf.shortcut.mark_favorite') ?>"><?= _i($entry->isFavorite() ? 'starred' : 'non-starred') ?></a>
+ </div>
+ <?php } ?>
<?php } ?>
- <?php if (FreshRSS_Context::userConf()->show_feed_name === 't') { ?>
- <a class="website" href="<?= _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>" title="<?= _t('gen.action.filter') ?>">
- <?php if (FreshRSS_Context::userConf()->show_favicons): ?>
- <img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php
- endif; ?><span><?= $feed->name() ?></span></a>
+ <div class="item">
+ <?php if (FreshRSS_Context::userConf()->show_feed_name === 't') { ?>
+ <a class="website" href="<?= _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>" title="<?= _t('gen.action.filter') ?>">
+ <?php if (FreshRSS_Context::userConf()->show_favicons): ?>
+ <img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php
+ endif; ?><span><?= $feed->name() ?></span></a>
+ <?php } ?>
+ </div>
+ <?php
+ if (FreshRSS_Context::userConf()->topline_link && FreshRSS_Context::userConf()->show_article_icons == 't') { ?>
+ <div class="item link">
+ <a target="_blank" rel="noreferrer" href="<?= $this->entry->link() ?>" class="item-element" title="<?= _t('conf.shortcut.see_on_website') ?>"><?= _i('link') ?></a>
+ </div>
<?php } ?>
</div>
@@ -35,24 +52,31 @@
$this->renderHelper('index/tags');
}
?>
-
<h1 class="title"><a target="_blank" rel="noreferrer" class="go_website" href="<?= $entry->link() ?>"><?= $entry->title() ?></a></h1>
- <?php if (FreshRSS_Context::userConf()->show_author_date === 'h' || FreshRSS_Context::userConf()->show_author_date === 'b') { ?>
- <div class="subtitle">
- <?php if (FreshRSS_Context::userConf()->show_feed_name === 'a') { ?>
- <div class="website">
- <a href="<?= $this->internal_rendering ? $feed->website() : _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>" title="<?= _t('gen.action.filter') ?>">
+ <?php if (in_array(FreshRSS_Context::userConf()->show_author_date, ['h','b'], true)) { ?>
+ <div class="subtitle horizontal-list">
+ <?php if (FreshRSS_Auth::hasAccess()) { ?>
+ <?php if (FreshRSS_Context::userConf()->topline_read && FreshRSS_Context::userConf()->show_article_icons == 'a') { ?>
+ <div class="item manage">
+ <a class="read" href="<?= Minz_Url::display($readUrl) ?>" title="<?= _t('conf.shortcut.mark_read') ?>"><?= _i($entry->isRead() ? 'read' : 'unread') ?></a>
+ </div>
+ <?php } ?>
+ <?php if (FreshRSS_Context::userConf()->topline_favorite && FreshRSS_Context::userConf()->show_article_icons == 'a') { ?>
+ <div class="item manage">
+ <a class="bookmark" href="<?= Minz_Url::display($favoriteUrl) ?>" title="<?= _t('conf.shortcut.mark_favorite') ?>"><?= _i($entry->isFavorite() ? 'starred' : 'non-starred') ?></a>
+ </div>
+ <?php } ?>
+ <?php } ?>
+ <div class="item">
+ <?php if (FreshRSS_Context::userConf()->show_feed_name === 'a') { ?>
+ <span class="website"><a href="<?= $this->internal_rendering ? $feed->website() : _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>" title="<?= _t('gen.action.filter') ?>">
<?php if (FreshRSS_Context::userConf()->show_favicons): ?>
<img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php
- endif; ?><span><?= $feed->name() ?></span>
- </a>
- </div>
- <?php }
-
- $authors = $entry->authors();
- if (!empty($authors) && is_array($authors)) {
- ?>
- <div class="author">
+ endif; ?><span><?= $feed->name() ?></span></a></span>
+ <?php }
+ $authors = $entry->authors();
+ if (!empty($authors) && is_array($authors)) { ?>
+ <div class="author">
<?= _t('gen.short.by_author') ?>
<?php
foreach ($authors as $author) {
@@ -60,11 +84,18 @@
?>
<a href="<?= $href ?>" title="<?= _t('gen.action.filter') ?>"><?= $author ?></a>
<?php } ?>
- </div>
- <?php } ?>
- <div class="date">
+ </div>
+ <?php } ?>
+ </div>
+ <div class="item date">
<time datetime="<?= $entry->machineReadableDate() ?>"><?= $entry->date() ?></time>
</div>
+ <?php
+ if (FreshRSS_Context::userConf()->topline_link && FreshRSS_Context::userConf()->show_article_icons == 'a') { ?>
+ <div class="item link">
+ <a target="_blank" rel="noreferrer" href="<?= $this->entry->link() ?>" class="item-element" title="<?= _t('conf.shortcut.see_on_website') ?>"><?= _i('link') ?></a>
+ </div>
+ <?php } ?>
</div>
<?php } ?>
</header>