diff options
| author | 2024-06-13 16:40:54 +0200 | |
|---|---|---|
| committer | 2024-06-13 16:40:54 +0200 | |
| commit | 20f13312d15a1408365b859b14621364009990cd (patch) | |
| tree | 7519ad4014f7000e24c0c95862d5adafc2b31317 /app | |
| parent | 35ee123dda654facadf82037675c21ca215d7fec (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')
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> |
