CSCfi / CSCfi/rems

Styles/themes refactoring

Open
#2,588 3 comments 0 reactions 0 assignees View on GitHub
Epic Technical Debt
Dominant language
Clojure
Stars
66
Forks
28
Avg merge
7d 4h
Merged PRs (30d)
2

Description

A complex approach to styles refactoring includes:

- [x] Separating styles and style util functions to decrease the file size and improve readability #2585
- [ ] Refactor font definitions: add missing formats of currently available font files and add fallback to available system fonts (see #2592)
- [ ] Refactor media queries to match with Bootstrap media query logic, have progressive override based on "from mobile to all unless specified otherwise" approach as demonstrated in a call (min-width: 1px ) and up
- [ ] Refactor style to not contain any "magic numbers"
- [x] Move all the theme attribute defaults from styles.clj to config-defaults.edn (#2655)
- That is, instead of `(get-theme-attribute :link-color "#025b96")` in styles.clj, add `:link-color "#025b96` to `:theme` in config-defaults.edn
- Could also document some of the theme attributes a bit at the same time
- [ ] Remove unused styles & theme variables (see TODOs in #2655)
- [ ] Refactor default theme to make sure we do not duplicate style definitions in both stylesheet and theme
```get-theme-attribute``` - remove literals and put to config defaults

Contributor guide

Open the contributing guide

Research direction

Start by reading styles.clj and config-defaults.edn, then review the unchecked checklist items and the TODOs referenced from #2655, along with related issues #2592 and #2655. Done means completing and verifying the remaining font, media-query, magic-number, unused-style, and default-theme refactoring items without leaving the listed duplication or missing fallbacks.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
design, frontend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.