diff options
| -rw-r--r-- | app/views/configure/display.phtml | 111 | ||||
| -rw-r--r-- | p/themes/Dark-pink/pinkdark.css | 4 | ||||
| -rw-r--r-- | p/themes/Dark-pink/pinkdark.rtl.css | 4 | ||||
| -rw-r--r-- | p/themes/Origine/origine.css | 4 | ||||
| -rw-r--r-- | p/themes/Origine/origine.rtl.css | 4 | ||||
| -rw-r--r-- | p/themes/base-theme/frss.css | 51 | ||||
| -rw-r--r-- | p/themes/base-theme/frss.rtl.css | 51 |
7 files changed, 111 insertions, 118 deletions
diff --git a/app/views/configure/display.phtml b/app/views/configure/display.phtml index 8efc13266..57f6b0abf 100644 --- a/app/views/configure/display.phtml +++ b/app/views/configure/display.phtml @@ -43,64 +43,67 @@ <div class="form-group"> <label class="group-name" for="theme"><?= _t('conf.display.theme') ?></label> <div class="group-controls"> - <ul class="theme-preview-list"> - <?php $slides = count($this->themes); $i = 1; $themeAvailable = false; ?> - <?php - foreach ($this->themes as $theme) { ?> - <?php if (FreshRSS_Context::userConf()->theme === $theme['id']) { - $checked = 'checked="checked"'; - $themeAvailable = true; - } else { - $checked = ''; - } ?> - <input type="radio" name="theme" id="img-<?= $i ?>" <?= $checked ?> value="<?= $theme['id'] ?>" /> - <li class="preview-container"> - <div class="preview"> - <img src="<?= Minz_Url::display('/themes/' . $theme['id'] . '/thumbs/original.png') ?>" loading="lazy" /> - </div> - <div class="nav"> - <?php if ($i !== 1) {?> - <label for="img-<?= $i - 1 ?>" class="prev">‹</label> - <?php } ?> - <?php if ($i !== $slides) {?> - <label for="img-<?= $i + 1 ?>" class="next">›</label> - <?php } ?> - </div> - <div class="properties"> - <div> - <?php if (!empty($theme['deprecated'])) { ?> - <span class="deprecated error"><?= _t('conf.display.theme.deprecated') ?>:</span> + <div class="theme-preview-list-wrapper"> + <ul class="theme-preview-list"> + <?php $slides = count($this->themes); $i = 1; $themeAvailable = false; ?> + <?php + foreach ($this->themes as $theme) { ?> + <?php if (FreshRSS_Context::userConf()->theme === $theme['id']) { + $checked = 'checked="checked"'; + $themeAvailable = true; + } else { + $checked = ''; + } ?> + <input type="radio" name="theme" id="img-<?= $i ?>" <?= $checked ?> value="<?= $theme['id'] ?>" /> + <li class="preview-container"> + <div class="preview"> + <img src="<?= Minz_Url::display('/themes/' . $theme['id'] . '/thumbs/original.png') ?>" loading="lazy" /> + </div> + <div class="nav"> + <?php if ($i !== 1) {?> + <label for="img-<?= $i - 1 ?>" class="btn prev"><?= _i('prev') ?></label> + <?php } ?> + <?php if ($i !== $slides) {?> + <label for="img-<?= $i + 1 ?>" class="btn next"><?= _i('next') ?></label> <?php } ?> - <?= sprintf('%s — %s %s', $theme['name'], _t('gen.short.by_author'), $theme['author']) ?> </div> - <div> - <?php if (!empty($theme['deprecated'])) { ?> - <span class="deprecated"><?= _t('conf.display.theme.deprecated.description') ?></span><br /> + <div class="properties"> + <div> + <?php if (!empty($theme['deprecated'])) { ?> + <span class="deprecated error"><?= _t('conf.display.theme.deprecated') ?>:</span> + <?php } ?> + <?= sprintf('%s — %s %s', $theme['name'], _t('gen.short.by_author'), $theme['author']) ?> + </div> + <div> + <?php if (!empty($theme['deprecated'])) { ?> + <span class="deprecated"><?= _t('conf.display.theme.deprecated.description') ?></span><br /> + <?php } ?> + <?= $theme['description'] ?> + </div> + <?php if (!empty($theme['theme-color']['dark'])) { ?> + <div class="darkMode">✔ <?= _t('conf.display.darkMode') ?></div> <?php } ?> - <?= $theme['description'] ?> + + </div> + <div class="page-number">( <?= sprintf('%d/%d', $i, $slides) ?> )</div> + </li> + <?php $i++ ?> + <?php } ?> + <?php if (!$themeAvailable) {?> + <input type="radio" name="theme" checked="checked" value="Origine" /> + <li class="preview-container"> + <div class="preview"> + </div> + <div class="nav"> + <label for="img-<?= $i - 1 ?>" class="prev"><?= _i('prev') ?></label> + </div> + <div class="properties alert-error"> + <div><?= _t('conf.display.theme_not_available', FreshRSS_Context::userConf()->theme)?></div> </div> - <?php if (!empty($theme['theme-color']['dark'])) { ?> - <div class="darkMode">✔ <?= _t('conf.display.darkMode') ?></div> - <?php } ?> - <div class="page-number"><?= sprintf('%d/%d', $i, $slides) ?></div> - </div> - </li> - <?php $i++ ?> - <?php } ?> - <?php if (!$themeAvailable) {?> - <input type="radio" name="theme" checked="checked" value="Origine" /> - <li class="preview-container"> - <div class="preview"> - </div> - <div class="nav"> - <label for="img-<?= $i - 1 ?>" class="prev">‹</label> - </div> - <div class="properties alert-error"> - <div><?= _t('conf.display.theme_not_available', FreshRSS_Context::userConf()->theme)?></div> - </div> - </li> - <?php }?> - </ul> + </li> + <?php }?> + </ul> + </div> </div> </div> diff --git a/p/themes/Dark-pink/pinkdark.css b/p/themes/Dark-pink/pinkdark.css index da7ef0c36..922d427a8 100644 --- a/p/themes/Dark-pink/pinkdark.css +++ b/p/themes/Dark-pink/pinkdark.css @@ -160,3 +160,7 @@ input:focus { #btn-add > img { filter: brightness(0.75); } + +.theme-preview-list .nav label.btn:hover { + background-color: var(--background-color-hover); +} diff --git a/p/themes/Dark-pink/pinkdark.rtl.css b/p/themes/Dark-pink/pinkdark.rtl.css index 6426b2f9a..670bacbb8 100644 --- a/p/themes/Dark-pink/pinkdark.rtl.css +++ b/p/themes/Dark-pink/pinkdark.rtl.css @@ -160,3 +160,7 @@ input:focus { #btn-add > img { filter: brightness(0.75); } + +.theme-preview-list .nav label.btn:hover { + background-color: var(--background-color-hover); +} diff --git a/p/themes/Origine/origine.css b/p/themes/Origine/origine.css index 98fb576b1..665bc08b7 100644 --- a/p/themes/Origine/origine.css +++ b/p/themes/Origine/origine.css @@ -290,7 +290,9 @@ th { text-decoration: none; } -a:hover .icon { +a:hover .icon, +button:hover .icon, +.btn:hover .icon { filter: brightness(1.5); transition: 0.1s linear; } diff --git a/p/themes/Origine/origine.rtl.css b/p/themes/Origine/origine.rtl.css index ca3faf02d..d4d84d70a 100644 --- a/p/themes/Origine/origine.rtl.css +++ b/p/themes/Origine/origine.rtl.css @@ -290,7 +290,9 @@ th { text-decoration: none; } -a:hover .icon { +a:hover .icon, +button:hover .icon, +.btn:hover .icon { filter: brightness(1.5); transition: 0.1s linear; } diff --git a/p/themes/base-theme/frss.css b/p/themes/base-theme/frss.css index d645536fc..d7e48d3f3 100644 --- a/p/themes/base-theme/frss.css +++ b/p/themes/base-theme/frss.css @@ -2093,6 +2093,7 @@ html.slider-active { /*=== SLIDESHOW Theme Preview */ /*==============*/ .theme-preview-list { + margin: 0.5rem 1rem 2rem 1rem; padding: 0; display: block; max-width: 640px; @@ -2100,7 +2101,6 @@ html.slider-active { border: 1px solid var(--frss-border-color); position: relative; min-width: 260px; - margin-bottom: 30px; } .theme-preview-list input { @@ -2118,8 +2118,6 @@ html.slider-active { top: 0; opacity: 0; position: absolute; - transform: scale(0); - transition: all .7s ease-in-out; } .theme-preview-list .preview img { @@ -2130,22 +2128,16 @@ html.slider-active { .theme-preview-list .nav label { padding: 0; display: none; - width: 65px; - height: 100%; - color: var(--frss-font-color-light); - font-family: "Varela Round", sans-serif; - font-size: 9rem; + min-width: 50px; + min-height: 5rem; position: absolute; - opacity: 0; + top: 34%; z-index: 9; - cursor: pointer; - transition: opacity .2s; text-align: center; - line-height: 2; - background-color: var(--frss-background-color-transparent); - text-shadow: 0px 0px 15px #000; + line-height: 5; } + .theme-preview-list .properties { padding: 5px; background-color: var(--frss-background-color-transparent); @@ -2158,35 +2150,32 @@ html.slider-active { backdrop-filter: blur(3px); } -.theme-preview-list .properties .page-number { - right: 5px; - top: 0; +.theme-preview-list .page-number { + bottom: -1.5rem; position: absolute; + display: none; + left: 0; + right: 0; + text-align: center; } -.theme-preview-list .preview + .nav label { - opacity: 0.8; -} - -.theme-preview-list .nav label:hover { - opacity: 1; +.theme-preview-list .nav label.prev { + left: -1rem; } -.theme-preview-list .nav .next { - right: 0; +.theme-preview-list .nav label.next { + right: -1rem; } .theme-preview-list input:checked + .preview-container .preview { opacity: 1; transform: scale(1); - transition: opacity 1s ease-in-out; -} - -.theme-preview-list input:checked + .preview-container .nav label { - display: block; + transition: opacity .5s ease-in-out; } -.theme-preview-list input:checked + .preview-container .properties { +.theme-preview-list input:checked + .preview-container .nav label, +.theme-preview-list input:checked + .preview-container .properties, +.theme-preview-list input:checked + .preview-container .page-number { display: block; } diff --git a/p/themes/base-theme/frss.rtl.css b/p/themes/base-theme/frss.rtl.css index 247a31e75..95e9704e7 100644 --- a/p/themes/base-theme/frss.rtl.css +++ b/p/themes/base-theme/frss.rtl.css @@ -2093,6 +2093,7 @@ html.slider-active { /*=== SLIDESHOW Theme Preview */ /*==============*/ .theme-preview-list { + margin: 0.5rem 1rem 2rem 1rem; padding: 0; display: block; max-width: 640px; @@ -2100,7 +2101,6 @@ html.slider-active { border: 1px solid var(--frss-border-color); position: relative; min-width: 260px; - margin-bottom: 30px; } .theme-preview-list input { @@ -2118,8 +2118,6 @@ html.slider-active { top: 0; opacity: 0; position: absolute; - transform: scale(0); - transition: all .7s ease-in-out; } .theme-preview-list .preview img { @@ -2130,22 +2128,16 @@ html.slider-active { .theme-preview-list .nav label { padding: 0; display: none; - width: 65px; - height: 100%; - color: var(--frss-font-color-light); - font-family: "Varela Round", sans-serif; - font-size: 9rem; + min-width: 50px; + min-height: 5rem; position: absolute; - opacity: 0; + top: 34%; z-index: 9; - cursor: pointer; - transition: opacity .2s; text-align: center; - line-height: 2; - background-color: var(--frss-background-color-transparent); - text-shadow: 0px 0px 15px #000; + line-height: 5; } + .theme-preview-list .properties { padding: 5px; background-color: var(--frss-background-color-transparent); @@ -2158,35 +2150,32 @@ html.slider-active { backdrop-filter: blur(3px); } -.theme-preview-list .properties .page-number { - left: 5px; - top: 0; +.theme-preview-list .page-number { + bottom: -1.5rem; position: absolute; + display: none; + right: 0; + left: 0; + text-align: center; } -.theme-preview-list .preview + .nav label { - opacity: 0.8; -} - -.theme-preview-list .nav label:hover { - opacity: 1; +.theme-preview-list .nav label.prev { + right: -1rem; } -.theme-preview-list .nav .next { - left: 0; +.theme-preview-list .nav label.next { + left: -1rem; } .theme-preview-list input:checked + .preview-container .preview { opacity: 1; transform: scale(1); - transition: opacity 1s ease-in-out; -} - -.theme-preview-list input:checked + .preview-container .nav label { - display: block; + transition: opacity .5s ease-in-out; } -.theme-preview-list input:checked + .preview-container .properties { +.theme-preview-list input:checked + .preview-container .nav label, +.theme-preview-list input:checked + .preview-container .properties, +.theme-preview-list input:checked + .preview-container .page-number { display: block; } |
