72 Commits

Author SHA1 Message Date
Frans de Jonge
fcc129fe54 Reduce sidebar animation duration from 200ms to 100ms (#8830)
#8747 (re?)introduced an animation I find unbearably slow. If it was always there I suppose I just got used to it.

How to test the feature manually:

1. Open and close the sidebar on a sufficiently small width.
2026-05-14 12:55:33 +02:00
polybjorn
1ff27fea21 fix(themes): replace #load_more loading-state GIF with a CSS spinner (#8804)
* fix(themes): replace #load_more loading-state GIF with a CSS spinner

In its `.loading` state, the "Load more" button kept its `.btn` frame and the spinner inside was hard to see or invisible across themes. Replaces the GIF with a base-theme CSS spinner inheriting `currentColor`, drops the button frame, respects `prefers-reduced-motion`, and renders crisply at any DPI. Per-theme `#load_more.loading` overrides in Nord, Flat, Mapco, Ansum and Swage become redundant and are removed; a now-redundant `font-size: 0` rule in `base.css` is also dropped.

* fix(themes): use border-rotation spinner for older-browser compat

Replaces conic-gradient + mask + aspect-ratio (Firefox 83+, Safari 15.4+) with border + rotate, supported in Gecko since Firefox 16 (2012) and Blink/WebKit since 2015. Visual difference: a ring with a rotating gap instead of a tapered arc. currentColor inheritance and prefers-reduced-motion handling are preserved.

* fix(themes): regenerate RTL spinner stylesheet

rtlcss flips border-right-color to border-left-color for RTL; the manual port of the spinner block missed it. Regenerated via npm run rtlcss.

Reworked the spinner with border + rotate instead of conic-gradient + mask + aspect-ratio. 

<img width="35" height="36" alt="Screenshot 2026-05-11 at 11 05 43" src="https://github.com/user-attachments/assets/e065efc9-9d6c-4369-8390-f0e89db81952" />

Oldest browser versions still supported: Firefox 16 (2012), SeaMonkey 2.13 (2012), Chrome 43 (2015), Safari 9 (2015), Edge 12 (2015). Below those, `@keyframes` and `animation` would need `-webkit-` fallbacks.

Verified now working in SeaMonkey 2.53.23. Couldn't test feed clicks or page reload there because login itself hits a separate cookie issue.
---------

Co-authored-by: Bjørn A. Andersen <polybjorn@users.noreply.github.com>
2026-05-11 16:30:08 +02:00
polybjorn
4f250caa67 refactor(themes): consolidate shared narrow @media rules into frss.css (#8746)
Two narrow-viewport rules were duplicated across leaf themes: `.aside { transition: width 200ms linear }` and `.aside.aside_feed { padding: 0 }`. This PR lifts both into the existing `@media (max-width: 840px)` block in `base-theme/frss.css` and removes the duplicates from Alternative-Dark, Flat, Origine, Pafat, and Nord. Swage's redundant `transition` line is also dropped (its other `.aside` properties stay).

Verified visually across Alternative-Dark, Ansum, Flat, Mapco, Nord, Origine, and Pafat at narrow and wide viewports. No regressions. Ansum and Mapco keep their own `.aside { transition: all 0.2s ease-in-out }` via source-order. Themes that previously had no explicit `.aside` rule (Dark, Dark-pink, Origine-compact via inheritance) gain identical computed values to their parent themes.

Also adds top-of-file comments to `base-theme/base.css` and `base-theme/frss.css` clarifying that `base.css` is a scaffold loaded only for the unconfigured base-theme fallback, while `frss.css` is the real shared base loaded by every theme via the `_frss.css` prefix in `metadata.json`. Follow-up to #8743, which initially targeted the wrong file before being corrected.

Lift .aside { transition: width 200ms linear } and
.aside.aside_feed { padding: 0 } from leaf themes into the shared
@media (max-width: 840px) block in base-theme/frss.css. Delete the
duplicates from Alternative-Dark, Flat, Origine, Pafat, and Nord.
Drop the redundant transition line from Swage.

Add top-of-file comments to base-theme/base.css and base-theme/frss.css
clarifying that base.css is a scaffold for the base-theme fallback only,
while frss.css is the real shared base loaded by every theme via the
"_frss.css" prefix in metadata.json. Documents the structure that made
#8743 initially target the wrong file.

Co-authored-by: Bjørn A. Andersen <polybjorn@users.noreply.github.com>
2026-05-01 14:23:47 +02:00
Alexandre Alapetite
b6c63d2239 Better transitions between groups of articles (#8174)
fix https://github.com/FreshRSS/FreshRSS/issues/7520
fix https://github.com/FreshRSS/FreshRSS/issues/8168
fix https://github.com/FreshRSS/FreshRSS/discussions/8172
2025-11-04 12:49:21 +01:00
maTh
b0a663f6ee Fix/improve <textarea> (#8171)
## Feed configuration slider:

### Before:
<img width="747" height="346" alt="grafik" src="https://github.com/user-attachments/assets/37056ef8-1163-48d1-a3dd-99e745418b2d" />

### After:
<img width="743" height="473" alt="grafik" src="https://github.com/user-attachments/assets/388a0ef6-633e-43ee-8ea5-5cbe7b40e6e4" />

## CustomCSS, CustomJS extensions
### Before:
<img width="762" height="504" alt="grafik" src="https://github.com/user-attachments/assets/279801fb-06a7-477a-81e7-c681087595a5" />

### After:
<img width="767" height="922" alt="grafik" src="https://github.com/user-attachments/assets/ca4cf304-03c7-4028-89d0-1c3094086176" />

And cleaning some CSS

* UserCSS+JS: w100 h50
* clean textarea width height
* feed config slider
* Update base.rtl.css
* fix class="valid-json"
* padding + vertical-align
* fix ansum mapco
2025-11-01 10:15:59 +01:00
maTh
e8a5e4e50f delete margin (#7904)
Ref: #4493

Before:
<img width="816" height="571" alt="grafik" src="https://github.com/user-attachments/assets/bfc6c933-5e4e-46e8-91d7-0e0e7b469671" />

After:
<img width="795" height="523" alt="grafik" src="https://github.com/user-attachments/assets/5b5a668c-c3ca-46ef-be69-ad5b5b90a412" />
2025-09-03 06:52:31 +02:00
Alexandre Alapetite
9374b7745f Themes fix CSS .as-link (#7526)
* Themes fix CSS .as-link
Add missing rules.
fix https://github.com/FreshRSS/FreshRSS/pull/7489#issuecomment-2781146577

* More fixes
2025-04-27 22:30:52 +02:00
Alexandre Alapetite
d858053a7c Use HTTP POST for logout (#7489)
* Use HTTP POST for logout
To avoid potential CSRF risks

* Fixed button font issue

* Minor whitespace
2025-04-05 23:15:37 +02:00
maTh
0217c83979 Themes: .btn padding + small adjustments (#7168)
Closes https://github.com/FreshRSS/FreshRSS/issues/6262

Changes proposed in this pull request:

- CSS: the search button was too big/not flexible enough for the height because of the padding


How to test the feature manually:

1. browser configuration: change the default font size from (`16`pt mostly) to `15` or `14`
2. go to subscription management -> `Subscription tools`
3. there should be no scroll bar (because the left hand side navigation is short and the content right hand side is short too)

Side effect: All buttons will be a bit smaller as before (because `px` -> `rem`) It should not be an issue at all
2025-03-22 23:31:08 +01:00
maTh
7de384bf9c Mark as read button: config for the size (#7314)
* settings

* i18n: mark_read_button

* big, small, none

* fix

* Fixes

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-03-13 23:10:48 +01:00
maTh
f72f5e9523 Improve notification banner (#7268)
* a -> button

* i18n: Close

* a.close -> .close

* themes

* Apply suggestions from code review

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

* Update app/i18n/fr/gen.php

---------

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-01-31 13:58:57 +01:00
maTh
1d10b3697d new: reader view: footer has manage icons (#7133)
* add footer

* rename content thin medium large class

* rework css

* footer improved
2024-12-26 19:05:18 +01:00
maTh
496d3a1a48 Improved: Subscription management page (#6816)
* i18n: Add an RSS feed -> Add a feed

* manage mouse title for category

* no white space between manage icon and favicon and title

* add feed link: use icon instead of plus character

* better CSS class for empty category and its alert text box

* show muted icon and warning icon

* the CSS magic incl. the themes improvements

* fix

* mute icon is more important than warning

* feed mouse hover title

* fix feed navigation sidebar: show error

* fix btn with icon and text

* fix aside feed: muted icon over warning icon
2024-09-29 10:28:28 +02:00
maTh
8f7c3473a7 improved: Default styles for pre and code (#6770)
* set frss.css

* clean base.css

* themes
2024-09-06 08:59:22 +02:00
maTh
4f60a42e64 Improved: Nav buttons as buttons (#6485)
* improved HTML

* CSS

* i18n: new title text

* Update swage.scss

* Update app/i18n/fr/gen.php

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* Update swage.scss

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-06-05 20:45:30 +02:00
maTh
d656896a95 Fix date issue in mobile view (#6385)
* font-size: 0.7rem; in frss.css

* fix date issue in mobile view

* better CSS for date in header and footer

* RTL

* padding in mobile view
2024-04-26 13:11:38 +02:00
maTh
bf68205ae3 Improved: Reading view: author (#6289)
* move the margin from themes to frss.css + delete font-size

* same source code as normal view for author information
2024-04-15 23:14:34 +02:00
maTh
6bd6494ad4 fixed HTML: <fieldset> + <legend> (#6202)
* legend tags cleaned

* formgroup -> fieldset tag

* add bookmarklet class

* Update logs.phtml

* Update logs.phtml

* fixed log table text alignment
2024-03-17 22:49:12 +01:00
maTh
6a43d06566 fix:remove duplicated lines that are given in frss.css (#5999) 2023-12-29 22:58:28 +01:00
Kasimir Cash
ea6b8b7c6f Fix font priority for languages using Han characters (#5930)
* Remove chinese fonts from themes (#5670)

* Adds name to credits
2023-12-10 12:42:08 +01:00
maTh
360400b723 CSS: refactor of a.btn (#5401) 2023-05-15 00:06:34 +02:00
maTh
789c44b502 Improved: global view: mobile view (#5297)
* improved overlay + visible close button

* duplicate of line 2109

* delete #panel .close from frss.css

* set background colors in each theme

* fix Ansum and Mapco theme

* fix Nord theme

* frss.css

* only 1 scroll bar

* fix the closer background in some themes

* fix scrolling

* fix fix
2023-04-15 21:13:56 +02:00
maTh
e679d3df0e Improved: show Terms of Service in config menu (#5215)
* Use constants for path to TOS

* improve comments

* TOS title moved to template

* TOS available via config menu

* CSS: improve handling of content of TOS/about

* give info about set/unset TOS in system config

* fix target

* i18n FR

* i18n DE
2023-03-21 18:47:07 +01:00
maTh
1c4b328ae1 Improved: expanding inputs (#5040)
* fix

* wider input element
2023-01-25 22:23:51 +01:00
maTh
7d12ecff01 fix: CSS "content:" (#4985)
* fix

* frss.css

* improve bubble for unread articles in global  view
2023-01-09 10:08:49 +01:00
maTh
6131aa4479 fix: Misalignment of "There are no articles to show" box (#4959) 2022-12-28 23:06:03 +01:00
maTh
e072411baf Improved: Header (#4927)
* all themes

* fix
2022-12-12 20:50:32 +01:00
maTh
b71806268c delete .nav-list .empty/.error (#4899) 2022-11-27 11:25:38 +01:00
maTh
4869ae0fec fix: line-height of label list (#4890) 2022-11-23 22:29:27 +01:00
maTh
278e07f7bd fix: over flowing table that destroy the layout (#4872) 2022-11-20 14:46:39 +01:00
maTh
07c94061a9 Improved: Centralized CSS for notifications (#4800)
* wip. all themes

* fixes
2022-11-14 20:22:01 +01:00
maTh
400da71eeb fix: base theme: line-height (#4798) 2022-10-31 23:51:24 +01:00
maTh
f47e13ac41 fixed: box layout for global view (#4791) 2022-10-30 11:06:17 +01:00
maTh
267b55154b All (S)CSS files (#4690) 2022-10-04 23:07:02 +02:00
maTh
645224a303 Improved: Remove <li> as separator (#4597)
* templates

* themes

* fix

* fix

* fixes

* fix
2022-10-03 21:50:40 +02:00
maTh
79e3b99ae3 Improved: CSS .toggle_aside (#4664)
* all themes

* fixed order

* fix end of file

* fixed swage
2022-10-01 18:52:26 +02:00
maTh
fc6203a904 all themes (#4663) 2022-09-29 21:48:17 +02:00
maTh
dec399f510 Improved: template.css (colors) (#4641)
* font colors

* html, body color: moved to the themes

* finished font-color

* background-colors

* fix scrollbar-colors

* background colors modal/darken-hover

* background-color

* loading image

* template-background-color-transparent

* background-colors (inkl. modal background)

* box-shadow

* fix:: toggle_aside:hover

* background-color

* border-color

* rgba -> #

* improvements

* RTL.css
2022-09-27 18:55:23 +02:00
maTh
9505eb8445 fixed: Safari issue with .stick dropdowns (#4643)
* fix

* fixed
2022-09-26 23:25:56 +02:00
maTh
67ea2d16b7 Improved: Cleanup CSS of ".log" (#4594)
* themes css

* Log Level CSS class improved

* SCSS

* RTL CSS
2022-09-18 18:29:33 +02:00
maTh
3d5b9ac902 clean .horizontal-list (#4596) 2022-09-18 13:02:07 +02:00
maTh
2734907000 (S)CSS .disable removed (#4619) 2022-09-18 12:10:00 +02:00
maTh
dfee46792f Improved: "Pagination" + load more button (#4125)
* Frontend changes done

* Load more should work now also without JS

* Update template.rtl.css

* improved the themes' CSS

* Update template.rtl.css

* fix CI

* CSS prop. order fixed

* Rename pagination.phtml to stream-footer.phtml

* use the new template name

* rename key of i18n

* fixed CI, that does not like the white space

* rename pagination variable

* Update indexController.php
2022-02-06 17:29:56 +01:00
maTh
4d5f3a20c0 Improve: new article banner (#4037)
* fix Origine theme padding

* Fix all themes

* Update swage.scss
2022-02-05 10:58:57 +01:00
maTh
c263956397 Remove: Show cog wheel icon on hover in the settings (#3831)
* Theme: Alternative-Dark

* Theme: Ansum

* Theme: base

* Theme: BlueLagoon

* Theme: Dark

* Theme: Flat

* Theme: Mapco

* Theme: Origine-compact

* Theme: Origine

* Theme: Pafat

* Theme: Scewdriver

* Theme: Swage

* Minor whitespace

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-09-08 08:48:10 +02:00
maTh
235f16647a Settings: Display - icons table in mobile view fixed (#3792)
* fixed all themes

* fixed swage.scss
2021-08-22 23:01:37 +02:00
Alexandre Alapetite
b7fd6d2d94 Show feed name inside the article (#3081)
* Show feed name inside the article

#fix https://github.com/FreshRSS/FreshRSS/issues/3079

* Normal view add date in subtitle

#fix
https://github.com/FreshRSS/FreshRSS/issues/3079#issuecomment-650109551
2020-07-13 15:46:50 +02:00
Frans de Jonge
20c38d7083 [CI] Run stylelint (#2477)
* [CI] Run stylelint

Perform some basic CSS sanity checking and style enforcement.

I removed vendor prefixed linear-gradient and transform because those are from the IE9 era. With IE11 as a minimum and soon obsolete requirement it doesn't make much sense anymore.

* Remove as-link override

* Don't require newline after comment

* Also apply those newline rules to SCSS

* refine opening/closing braces, allow for single-line
2019-08-14 22:29:28 +02:00
Pavel Pletenev
ac73ba3acc Add more glyphs for opensans font (#1032)
* Add more glyphs for opensans font

* Update .htaccess to support woff2 file format

* Fixed browser support for new font face

* Fixed Origine theme css and .htaccess

* Deleted unneeded fonts

* Added stylefiles for OpenSans font

* Fixed all themes with new font css

* Avoid additional CSS file

* htaccess cache control public

* Font casing bug

* Remove TTF font

Too big, low need https://caniuse.com/#search=woff

* Changelog 1032

https://github.com/FreshRSS/FreshRSS/pull/1032
https://github.com/FreshRSS/FreshRSS/pull/1028
2017-12-02 19:01:29 +01:00
Alexandre Alapetite
eeb5d6dd5e More uniform styling of A and BUTTON in drop-downs
https://github.com/FreshRSS/FreshRSS/issues/1556
2017-05-27 23:05:44 +02:00