Add colors utilities (#121)

* Add colors utilities

Local function get_base_color(), conversions hex <=> rgb, rgb color mixer, and global function get_color()

* Round numbers to avoid eventual float in string.format

* Simplify inbox/outbox mixing of color

Use a single if statement for each property and concatenate to displayed_color then execute mail.get_color(displayed_color) instead of making many combined if statements

* Convert 3-chars hex colors to 6-chars hex colors

Could break the code, the hex convert to rgb always run on 6-chars

* Rework color utility using tables

Instead of one-letter symbols, it now supports tables of identifiers or single strings
This commit is contained in:
Athozus 2023-12-06 10:11:12 +01:00 committed by GitHub
parent 802f9f727b
commit 3bad371353
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 86 additions and 61 deletions

View file

@ -21,8 +21,8 @@ function mail.show_about(name)
tablecolumns[color;text;text]
table[5,0.75;4.9,5.5;contributors;]] ..
mail.colors.header .. [[,]] .. S("Contributors") .. [[,,]] ..
mail.colors.important .. [[,Cheapie,Initial idea/project,]] ..
mail.get_color("header") .. [[,]] .. S("Contributors") .. [[,,]] ..
mail.get_color("important") .. [[,Cheapie,Initial idea/project,]] ..
[[,Rubenwardy,Lua/UI improvements,]] ..
[[,BuckarooBanzay,Clean-ups\, Refactoring,]] ..
[[,Athozus,Boxes\, Maillists\, UI\, Settings,]] ..