Compare commits

..

101 Commits

Author SHA1 Message Date
f5799f2993 readme 2026-01-29 10:58:07 +01:00
7ecf0f10e8 UI overhaul rebase 2026-01-28 23:07:07 +01:00
af095684a1 temp 2026-01-28 23:07:07 +01:00
b5e7ab5c48 feat: UI overhaul
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 12s
GitLeaks check / GitLeaks check (pull_request) Successful in 11s
hadolint check / hadolint check (pull_request) Successful in 28s
markdownlint check / markdownlint check (pull_request) Successful in 52s
Prettier check / Prettier check (pull_request) Successful in 36s
htmlhint check / htmlhint check (pull_request) Successful in 55s
checkov check / checkov check (pull_request) Successful in 1m15s
Stylelint check / Stylelint check (pull_request) Successful in 31s
yamllint check / yamllint check (pull_request) Successful in 29s
ShellCheck check / ShellCheck check (pull_request) Successful in 1m9s
Rust check / Rust check (pull_request) Successful in 22m2s
2026-01-28 23:04:29 +01:00
be1a21b746 fix: text wrapping (#128) 2026-01-25 10:21:12 +00:00
fa749b652f fix: text wrapping
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 9s
conventional commit messages check / conventional commit messages check (pull_request) Failing after 5s
hadolint check / hadolint check (pull_request) Successful in 19s
markdownlint check / markdownlint check (pull_request) Successful in 37s
htmlhint check / htmlhint check (pull_request) Successful in 43s
Prettier check / Prettier check (pull_request) Successful in 40s
ShellCheck check / ShellCheck check (pull_request) Successful in 48s
Stylelint check / Stylelint check (pull_request) Successful in 37s
checkov check / checkov check (pull_request) Successful in 1m46s
yamllint check / yamllint check (pull_request) Successful in 31s
Rust check / Rust check (pull_request) Successful in 16m41s
2026-01-25 10:35:54 +01:00
d9efaaae6e fix: ability to access the someday maybe category list (#127) 2026-01-25 09:27:23 +00:00
428e52ba3d fix: ability to access the someday maybe category list
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
conventional commit messages check / conventional commit messages check (pull_request) Failing after 6s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 15s
hadolint check / hadolint check (pull_request) Successful in 15s
htmlhint check / htmlhint check (pull_request) Successful in 36s
Prettier check / Prettier check (pull_request) Successful in 54s
checkov check / checkov check (pull_request) Successful in 1m20s
markdownlint check / markdownlint check (pull_request) Successful in 57s
ShellCheck check / ShellCheck check (pull_request) Successful in 28s
Stylelint check / Stylelint check (pull_request) Successful in 27s
yamllint check / yamllint check (pull_request) Successful in 30s
Rust check / Rust check (pull_request) Successful in 23m59s
2026-01-25 09:41:46 +01:00
8dbb1dc48e feat: make the cursor of subtask buttons pointer (#124) 2026-01-24 20:53:48 +00:00
ee950aa4a9 feat: make the cursor of subtask buttons pointer
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 7s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 12s
hadolint check / hadolint check (pull_request) Successful in 41s
htmlhint check / htmlhint check (pull_request) Successful in 1m1s
checkov check / checkov check (pull_request) Successful in 1m18s
markdownlint check / markdownlint check (pull_request) Successful in 59s
Prettier check / Prettier check (pull_request) Successful in 27s
ShellCheck check / ShellCheck check (pull_request) Successful in 34s
Stylelint check / Stylelint check (pull_request) Successful in 32s
yamllint check / yamllint check (pull_request) Successful in 34s
Rust check / Rust check (pull_request) Successful in 16m14s
2026-01-24 21:34:30 +01:00
439cc012f0 chore: make the Rust builds locked (#123) 2026-01-24 20:08:34 +00:00
803fe36ed1 feat: update Font Awesome to 7.1.0 (#122) 2026-01-24 20:08:26 +00:00
80918b98d9 chore: make the Rust builds locked
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 13s
hadolint check / hadolint check (pull_request) Successful in 39s
checkov check / checkov check (pull_request) Successful in 1m36s
htmlhint check / htmlhint check (pull_request) Successful in 1m19s
markdownlint check / markdownlint check (pull_request) Successful in 1m14s
Prettier check / Prettier check (pull_request) Successful in 50s
ShellCheck check / ShellCheck check (pull_request) Successful in 2m1s
Stylelint check / Stylelint check (pull_request) Successful in 2m4s
yamllint check / yamllint check (pull_request) Successful in 2m20s
Rust check / Rust check (pull_request) Successful in 21m31s
2026-01-24 20:00:16 +01:00
d4235ef2ab feat: update Font Awesome to 7.1.0
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 39s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 8s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 46s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 48s
hadolint check / hadolint check (pull_request) Successful in 51s
checkov check / checkov check (pull_request) Successful in 2m37s
htmlhint check / htmlhint check (pull_request) Successful in 1m9s
markdownlint check / markdownlint check (pull_request) Successful in 50s
Prettier check / Prettier check (pull_request) Successful in 30s
ShellCheck check / ShellCheck check (pull_request) Successful in 55s
Stylelint check / Stylelint check (pull_request) Successful in 54s
yamllint check / yamllint check (pull_request) Successful in 1m6s
Rust check / Rust check (pull_request) Successful in 24m52s
2026-01-24 17:52:43 +01:00
d0a124ee75 fix: font displaying (#120) 2026-01-24 11:30:45 +00:00
67a8a3fae6 fix: font displaying
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 13s
hadolint check / hadolint check (pull_request) Successful in 33s
htmlhint check / htmlhint check (pull_request) Successful in 40s
checkov check / checkov check (pull_request) Successful in 1m18s
markdownlint check / markdownlint check (pull_request) Successful in 57s
Prettier check / Prettier check (pull_request) Successful in 34s
ShellCheck check / ShellCheck check (pull_request) Successful in 32s
Stylelint check / Stylelint check (pull_request) Successful in 30s
yamllint check / yamllint check (pull_request) Successful in 34s
Rust check / Rust check (pull_request) Successful in 11m1s
2026-01-24 12:16:16 +01:00
baef08475f chore: bump the Dioxus and Diesel CLI (#117) 2026-01-24 09:44:33 +00:00
265516c1a6 chore: bump the Dioxus and Diesel CLI
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 10s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 26s
GitLeaks check / GitLeaks check (pull_request) Successful in 23s
hadolint check / hadolint check (pull_request) Successful in 52s
htmlhint check / htmlhint check (pull_request) Successful in 1m3s
markdownlint check / markdownlint check (pull_request) Successful in 1m1s
Prettier check / Prettier check (pull_request) Successful in 52s
yamllint check / yamllint check (pull_request) Successful in 27s
Stylelint check / Stylelint check (pull_request) Successful in 33s
ShellCheck check / ShellCheck check (pull_request) Successful in 9m9s
Rust check / Rust check (pull_request) Successful in 29m35s
actionlint check / actionlint check (pull_request) Successful in 18s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 13s
checkov check / checkov check (pull_request) Successful in 1m37s
2026-01-24 00:44:51 +01:00
01c9b2d0fb fix: automatically reconnect after losing a WebSocket connection (#112) 2026-01-23 19:32:12 +00:00
4ad96fe92f fix: Android bundle Docker compose build (#114) 2026-01-23 19:32:05 +00:00
df1d23c0e3 chore: bump dependencies (#116) 2026-01-23 19:31:59 +00:00
ce73256133 fix: automatically reconnect after losing a WebSocket connection
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 12s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 22s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
checkov check / checkov check (pull_request) Successful in 1m19s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 13s
hadolint check / hadolint check (pull_request) Successful in 11s
htmlhint check / htmlhint check (pull_request) Successful in 41s
markdownlint check / markdownlint check (pull_request) Successful in 34s
Prettier check / Prettier check (pull_request) Successful in 37s
ShellCheck check / ShellCheck check (pull_request) Successful in 25s
Stylelint check / Stylelint check (pull_request) Successful in 40s
yamllint check / yamllint check (pull_request) Successful in 29s
Rust check / Rust check (pull_request) Successful in 1h1m8s
2026-01-23 18:01:39 +01:00
fd661ba7e4 fix: Android bundle Docker compose build
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 12s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 6s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 12s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 14s
GitLeaks check / GitLeaks check (pull_request) Successful in 20s
hadolint check / hadolint check (pull_request) Successful in 17s
markdownlint check / markdownlint check (pull_request) Successful in 39s
checkov check / checkov check (pull_request) Successful in 1m23s
htmlhint check / htmlhint check (pull_request) Successful in 49s
ShellCheck check / ShellCheck check (pull_request) Successful in 28s
Prettier check / Prettier check (pull_request) Successful in 33s
Stylelint check / Stylelint check (pull_request) Successful in 30s
yamllint check / yamllint check (pull_request) Successful in 36s
Rust check / Rust check (pull_request) Successful in 1h58m0s
2026-01-23 18:01:23 +01:00
316d45fe0c chore: bump dependencies
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 8s
actionlint check / actionlint check (pull_request) Successful in 15s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 16s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 23s
GitLeaks check / GitLeaks check (pull_request) Successful in 23s
hadolint check / hadolint check (pull_request) Successful in 24s
Prettier check / Prettier check (pull_request) Successful in 53s
markdownlint check / markdownlint check (pull_request) Successful in 56s
htmlhint check / htmlhint check (pull_request) Successful in 1m0s
checkov check / checkov check (pull_request) Successful in 1m47s
ShellCheck check / ShellCheck check (pull_request) Successful in 35s
yamllint check / yamllint check (pull_request) Successful in 37s
Stylelint check / Stylelint check (pull_request) Successful in 43s
Rust check / Rust check (pull_request) Successful in 1h12m38s
2026-01-23 18:00:32 +01:00
00bb8d7951 ci: update the Rust check dependencies (#115) 2026-01-23 16:59:59 +00:00
393173f218 ci: update the Rust check dependencies
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 6s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 30s
htmlhint check / htmlhint check (pull_request) Successful in 44s
checkov check / checkov check (pull_request) Successful in 1m6s
markdownlint check / markdownlint check (pull_request) Successful in 48s
Prettier check / Prettier check (pull_request) Successful in 27s
ShellCheck check / ShellCheck check (pull_request) Successful in 25s
yamllint check / yamllint check (pull_request) Successful in 25s
Stylelint check / Stylelint check (pull_request) Successful in 27s
Rust check / Rust check (pull_request) Successful in 14m21s
2026-01-23 17:28:58 +01:00
8fd5fe2d4e chore: remove unused CSS configuration (#110) 2026-01-11 08:53:33 +00:00
d165e58443 chore: remove unused CSS configuration
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
GitLeaks check / GitLeaks check (pull_request) Successful in 11s
hadolint check / hadolint check (pull_request) Successful in 18s
htmlhint check / htmlhint check (pull_request) Successful in 46s
markdownlint check / markdownlint check (pull_request) Successful in 42s
Prettier check / Prettier check (pull_request) Successful in 33s
checkov check / checkov check (pull_request) Successful in 1m30s
ShellCheck check / ShellCheck check (pull_request) Successful in 32s
Stylelint check / Stylelint check (pull_request) Successful in 34s
yamllint check / yamllint check (pull_request) Successful in 32s
Rust check / Rust check (pull_request) Successful in 23m25s
2026-01-10 13:00:51 +01:00
c23397a941 ci: update the Rust and chechkov Rust toolchain (#111) 2026-01-10 11:50:40 +00:00
4f8abe60da ci: update the Rust and chechkov checks
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 8s
actionlint check / actionlint check (pull_request) Successful in 15s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 17s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 13s
GitLeaks check / GitLeaks check (pull_request) Successful in 15s
hadolint check / hadolint check (pull_request) Successful in 27s
htmlhint check / htmlhint check (pull_request) Successful in 50s
markdownlint check / markdownlint check (pull_request) Successful in 47s
checkov check / checkov check (pull_request) Successful in 1m49s
Prettier check / Prettier check (pull_request) Successful in 1m3s
ShellCheck check / ShellCheck check (pull_request) Successful in 39s
yamllint check / yamllint check (pull_request) Successful in 39s
Stylelint check / Stylelint check (pull_request) Successful in 51s
Rust check / Rust check (pull_request) Successful in 17m17s
2026-01-10 12:09:26 +01:00
5085791f45 fix: task completion and sorting (#106) 2025-12-19 19:16:19 +00:00
dc3effe640 fix: task sorting
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 11s
htmlhint check / htmlhint check (pull_request) Successful in 44s
markdownlint check / markdownlint check (pull_request) Successful in 40s
Prettier check / Prettier check (pull_request) Successful in 36s
checkov check / checkov check (pull_request) Successful in 1m22s
ShellCheck check / ShellCheck check (pull_request) Successful in 29s
Stylelint check / Stylelint check (pull_request) Successful in 31s
yamllint check / yamllint check (pull_request) Successful in 29s
Rust check / Rust check (pull_request) Successful in 11m42s
2025-12-19 20:01:22 +01:00
999057314a fix: task completion 2025-12-19 19:44:17 +01:00
41d0d83478 fix: Android bundling (#105) 2025-12-19 17:45:20 +00:00
0bca3ff872 fix: Android bundling
All checks were successful
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 11s
Rust check / Rust check (pull_request) Successful in 12m57s
hadolint check / hadolint check (pull_request) Successful in 19s
htmlhint check / htmlhint check (pull_request) Successful in 33s
markdownlint check / markdownlint check (pull_request) Successful in 28s
Prettier check / Prettier check (pull_request) Successful in 28s
ShellCheck check / ShellCheck check (pull_request) Successful in 34s
Stylelint check / Stylelint check (pull_request) Successful in 30s
checkov check / checkov check (pull_request) Successful in 1m27s
yamllint check / yamllint check (pull_request) Successful in 25s
actionlint check / actionlint check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
2025-12-19 15:26:53 +01:00
32c12186c1 chore: upgrade to Dioxus 0.7 (#104) 2025-12-18 19:20:26 +00:00
2f933d5302 chore: upgrade to Dioxus 0.7
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 5s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 16s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
htmlhint check / htmlhint check (pull_request) Successful in 35s
Prettier check / Prettier check (pull_request) Successful in 26s
markdownlint check / markdownlint check (pull_request) Successful in 31s
checkov check / checkov check (pull_request) Successful in 1m15s
ShellCheck check / ShellCheck check (pull_request) Successful in 30s
Stylelint check / Stylelint check (pull_request) Successful in 29s
yamllint check / yamllint check (pull_request) Successful in 27s
Rust check / Rust check (pull_request) Successful in 11m44s
2025-12-18 20:07:21 +01:00
16db7ac2b9 chore: force Cargo.lock preservation with Cargo dependencies (#103) 2025-12-13 23:11:19 +00:00
ae4c842180 chore: force Cargo.lock preservation with Cargo dependencies
All checks were successful
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
actionlint check / actionlint check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
hadolint check / hadolint check (pull_request) Successful in 15s
GitLeaks check / GitLeaks check (pull_request) Successful in 12s
htmlhint check / htmlhint check (pull_request) Successful in 27s
markdownlint check / markdownlint check (pull_request) Successful in 27s
Prettier check / Prettier check (pull_request) Successful in 26s
checkov check / checkov check (pull_request) Successful in 1m7s
ShellCheck check / ShellCheck check (pull_request) Successful in 27s
Stylelint check / Stylelint check (pull_request) Successful in 23s
yamllint check / yamllint check (pull_request) Successful in 28s
Rust check / Rust check (pull_request) Successful in 11m2s
2025-12-13 23:59:15 +01:00
2ff947e6d6 fix: the webmanifest options (#102) 2025-12-13 22:52:10 +00:00
302d7caa8d ci: update the Rust and checkov checks
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 6s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 26s
htmlhint check / htmlhint check (pull_request) Successful in 24s
markdownlint check / markdownlint check (pull_request) Successful in 31s
Prettier check / Prettier check (pull_request) Successful in 20s
checkov check / checkov check (pull_request) Successful in 1m8s
ShellCheck check / ShellCheck check (pull_request) Successful in 24s
Stylelint check / Stylelint check (pull_request) Successful in 25s
yamllint check / yamllint check (pull_request) Successful in 20s
Rust check / Rust check (pull_request) Successful in 10m19s
2025-12-13 23:15:26 +01:00
2fdf09d041 fix: the webmanifest options
Some checks failed
checkov check / checkov check (pull_request) Failing after 13s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 6s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 10s
htmlhint check / htmlhint check (pull_request) Successful in 12s
markdownlint check / markdownlint check (pull_request) Successful in 18s
Prettier check / Prettier check (pull_request) Successful in 15s
Rust check / Rust check (pull_request) Failing after 16s
ShellCheck check / ShellCheck check (pull_request) Successful in 24s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 15s
GitLeaks check / GitLeaks check (pull_request) Successful in 1m34s
hadolint check / hadolint check (pull_request) Successful in 1m46s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 17s
actionlint check / actionlint check (pull_request) Successful in 4s
2025-12-13 22:46:56 +01:00
9cae1f2a3b fix: add the webmanifest (#95) 2025-08-07 21:20:02 +00:00
9302a69553 fix: add the webmanifest
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 13s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 6s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 15s
markdownlint check / markdownlint check (pull_request) Successful in 26s
htmlhint check / htmlhint check (pull_request) Successful in 34s
hadolint check / hadolint check (pull_request) Successful in 43s
checkov check / checkov check (pull_request) Successful in 1m17s
Prettier check / Prettier check (pull_request) Successful in 32s
Stylelint check / Stylelint check (pull_request) Successful in 35s
yamllint check / yamllint check (pull_request) Successful in 31s
ShellCheck check / ShellCheck check (pull_request) Successful in 29s
Rust check / Rust check (pull_request) Successful in 22m49s
2025-08-07 22:34:41 +02:00
94059f14bb chore: bump dependencies (#97) 2025-08-07 15:13:45 +00:00
744e23aa66 chore: bump dependencies
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
GitLeaks check / GitLeaks check (pull_request) Successful in 14s
hadolint check / hadolint check (pull_request) Successful in 15s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
htmlhint check / htmlhint check (pull_request) Successful in 20s
markdownlint check / markdownlint check (pull_request) Successful in 32s
Prettier check / Prettier check (pull_request) Successful in 33s
checkov check / checkov check (pull_request) Successful in 1m20s
ShellCheck check / ShellCheck check (pull_request) Successful in 30s
Stylelint check / Stylelint check (pull_request) Successful in 27s
yamllint check / yamllint check (pull_request) Successful in 26s
Rust check / Rust check (pull_request) Successful in 12m52s
2025-08-07 16:33:20 +02:00
e9a208a9d1 ci: update the checks dependencies (#96) 2025-08-07 13:10:09 +00:00
0f1dfbadf8 style: satisfy Clippy warnings
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 8s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 8s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 14s
hadolint check / hadolint check (pull_request) Successful in 15s
htmlhint check / htmlhint check (pull_request) Successful in 33s
Prettier check / Prettier check (pull_request) Successful in 27s
markdownlint check / markdownlint check (pull_request) Successful in 27s
ShellCheck check / ShellCheck check (pull_request) Successful in 30s
checkov check / checkov check (pull_request) Successful in 1m21s
Stylelint check / Stylelint check (pull_request) Successful in 27s
yamllint check / yamllint check (pull_request) Successful in 26s
Rust check / Rust check (pull_request) Successful in 13m31s
2025-08-07 14:46:53 +02:00
907ddaacbe ci: update the checks dependencies
Some checks failed
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 16s
actionlint check / actionlint check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 16s
htmlhint check / htmlhint check (pull_request) Successful in 27s
markdownlint check / markdownlint check (pull_request) Successful in 26s
Prettier check / Prettier check (pull_request) Successful in 35s
ShellCheck check / ShellCheck check (pull_request) Successful in 28s
checkov check / checkov check (pull_request) Successful in 1m21s
Stylelint check / Stylelint check (pull_request) Successful in 28s
yamllint check / yamllint check (pull_request) Successful in 25s
Rust check / Rust check (pull_request) Failing after 6m30s
2025-08-07 12:45:45 +02:00
defddfadae fix: the app title (#94) 2025-02-15 11:28:20 +00:00
8a0fae3b32 build: bump dependencies (#93) 2025-02-14 18:43:50 +00:00
f66b8301f0 build: bump the Dockerfile dependencies
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 5s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 8s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 8s
hadolint check / hadolint check (pull_request) Successful in 20s
htmlhint check / htmlhint check (pull_request) Successful in 21s
markdownlint check / markdownlint check (pull_request) Successful in 20s
Prettier check / Prettier check (pull_request) Successful in 28s
ShellCheck check / ShellCheck check (pull_request) Successful in 20s
checkov check / checkov check (pull_request) Successful in 1m19s
Stylelint check / Stylelint check (pull_request) Successful in 21s
yamllint check / yamllint check (pull_request) Successful in 46s
Rust check / Rust check (pull_request) Successful in 15m22s
2025-02-10 16:49:25 +01:00
7112946e5b build: bump the crate dependencies 2025-02-10 16:48:06 +01:00
ac8a533079 fix: the app title
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
actionlint check / actionlint check (pull_request) Successful in 11s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 9s
hadolint check / hadolint check (pull_request) Successful in 11s
htmlhint check / htmlhint check (pull_request) Successful in 18s
markdownlint check / markdownlint check (pull_request) Successful in 17s
Prettier check / Prettier check (pull_request) Successful in 17s
Stylelint check / Stylelint check (pull_request) Successful in 23s
ShellCheck check / ShellCheck check (pull_request) Successful in 33s
yamllint check / yamllint check (pull_request) Successful in 24s
checkov check / checkov check (pull_request) Successful in 1m31s
Rust check / Rust check (pull_request) Successful in 15m23s
2025-02-10 16:38:58 +01:00
31e50e486b chore: update the JetBrains IDE configuration (#92) 2025-02-04 21:42:28 +00:00
69e43805b9 chore: update the JetBrains IDE configuration
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 8s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 6s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 11s
hadolint check / hadolint check (pull_request) Successful in 15s
htmlhint check / htmlhint check (pull_request) Successful in 32s
markdownlint check / markdownlint check (pull_request) Successful in 28s
Prettier check / Prettier check (pull_request) Successful in 23s
ShellCheck check / ShellCheck check (pull_request) Successful in 26s
checkov check / checkov check (pull_request) Successful in 1m17s
Stylelint check / Stylelint check (pull_request) Successful in 25s
yamllint check / yamllint check (pull_request) Successful in 18s
Rust check / Rust check (pull_request) Successful in 15m45s
2025-01-29 22:44:22 +01:00
ab7fbdd569 build: bump the Dockerfile dependencies (#91) 2025-01-29 21:43:34 +00:00
a0b7a23b7c ci: bump the Rust check dependencies
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 11s
htmlhint check / htmlhint check (pull_request) Successful in 21s
markdownlint check / markdownlint check (pull_request) Successful in 27s
Prettier check / Prettier check (pull_request) Successful in 23s
Stylelint check / Stylelint check (pull_request) Successful in 24s
checkov check / checkov check (pull_request) Successful in 1m11s
ShellCheck check / ShellCheck check (pull_request) Successful in 28s
yamllint check / yamllint check (pull_request) Successful in 15s
Rust check / Rust check (pull_request) Successful in 15m47s
2025-01-29 22:22:31 +01:00
8f3d144329 build: bump the Dockerfile dependencies
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 7s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 6s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 9s
htmlhint check / htmlhint check (pull_request) Successful in 13s
markdownlint check / markdownlint check (pull_request) Successful in 13s
hadolint check / hadolint check (pull_request) Successful in 31s
Prettier check / Prettier check (pull_request) Successful in 14s
Rust check / Rust check (pull_request) Failing after 15s
Stylelint check / Stylelint check (pull_request) Successful in 24s
ShellCheck check / ShellCheck check (pull_request) Successful in 27s
yamllint check / yamllint check (pull_request) Successful in 27s
checkov check / checkov check (pull_request) Successful in 1m26s
2025-01-29 22:14:10 +01:00
3f9efeee3e chore: cleanup gitignore and dockerignore (#89) 2025-01-04 19:22:35 +00:00
d592a81b7c chore: clean up the dockerignore
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
htmlhint check / htmlhint check (pull_request) Successful in 17s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 14s
markdownlint check / markdownlint check (pull_request) Successful in 18s
Prettier check / Prettier check (pull_request) Successful in 16s
Stylelint check / Stylelint check (pull_request) Successful in 19s
ShellCheck check / ShellCheck check (pull_request) Successful in 47s
yamllint check / yamllint check (pull_request) Successful in 28s
checkov check / checkov check (pull_request) Successful in 1m38s
Rust check / Rust check (pull_request) Successful in 16m59s
2025-01-04 19:58:34 +01:00
145214e6cc chore: clean up the gitignore 2025-01-04 19:58:26 +01:00
4271ec7c21 refactor: use the dedicated stylesheet component instead of a link (#88) 2025-01-04 10:16:58 +00:00
1deffe8ee4 refactor: use the dedicated stylesheet component instead of a link
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 51s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 7s
htmlhint check / htmlhint check (pull_request) Successful in 10s
markdownlint check / markdownlint check (pull_request) Successful in 10s
Prettier check / Prettier check (pull_request) Successful in 10s
Rust check / Rust check (pull_request) Successful in 14m47s
ShellCheck check / ShellCheck check (pull_request) Successful in 14s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 13s
2025-01-04 10:44:05 +01:00
bcac82b860 build: use dx bundle in the production Dockerfile (#86) 2025-01-03 21:21:46 +00:00
9da7515042 build: use dx bundle in the production Dockerfile
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
checkov check / checkov check (pull_request) Successful in 3m44s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 8s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 12s
hadolint check / hadolint check (pull_request) Successful in 19s
htmlhint check / htmlhint check (pull_request) Successful in 22s
markdownlint check / markdownlint check (pull_request) Successful in 22s
Prettier check / Prettier check (pull_request) Successful in 24s
Rust check / Rust check (pull_request) Successful in 29m8s
ShellCheck check / ShellCheck check (pull_request) Successful in 21s
Stylelint check / Stylelint check (pull_request) Successful in 16s
yamllint check / yamllint check (pull_request) Successful in 19s
2025-01-03 21:34:48 +01:00
a088d90c6a hotfix: task list item text position (#85) 2025-01-03 18:07:14 +00:00
9481498725 refactor: build development Tailwind CSS in a separate Docker service (#83) 2025-01-03 17:04:55 +00:00
3d28254ae1 style: skip the checkov healthcheck policy
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 56s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 8s
hadolint check / hadolint check (pull_request) Successful in 8s
htmlhint check / htmlhint check (pull_request) Successful in 11s
markdownlint check / markdownlint check (pull_request) Successful in 11s
Prettier check / Prettier check (pull_request) Successful in 12s
Rust check / Rust check (pull_request) Successful in 15m29s
ShellCheck check / ShellCheck check (pull_request) Successful in 14s
Stylelint check / Stylelint check (pull_request) Successful in 13s
yamllint check / yamllint check (pull_request) Successful in 13s
2025-01-03 17:18:18 +01:00
1666c25d13 refactor: build development Tailwind CSS in a separate Docker service 2025-01-03 17:18:18 +01:00
a3ebf712f9 ci: handle no shell files in the Shellcheck check (#84) 2025-01-03 13:29:20 +00:00
0ea3f3a118 ci: handle no shell files in the Shellcheck check
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
checkov check / checkov check (pull_request) Successful in 1m1s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 8s
hadolint check / hadolint check (pull_request) Successful in 8s
htmlhint check / htmlhint check (pull_request) Successful in 11s
markdownlint check / markdownlint check (pull_request) Successful in 12s
Prettier check / Prettier check (pull_request) Successful in 13s
Rust check / Rust check (pull_request) Successful in 15m35s
ShellCheck check / ShellCheck check (pull_request) Successful in 15s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 14s
2025-01-03 13:49:09 +01:00
9d80e68a4e hotfix: task list item text position
All checks were successful
Rust check / Rust check (pull_request) Successful in 14m42s
ShellCheck check / ShellCheck check (pull_request) Successful in 16s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 13s
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 54s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 7s
htmlhint check / htmlhint check (pull_request) Successful in 8s
markdownlint check / markdownlint check (pull_request) Successful in 10s
Prettier check / Prettier check (pull_request) Successful in 10s
2025-01-03 10:54:58 +01:00
9ce77897d8 build: bump the crate dependencies (#82) 2025-01-03 08:49:46 +00:00
bf4afb03e6 refactor: replace a deprecated function
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 53s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 8s
hadolint check / hadolint check (pull_request) Successful in 8s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 10s
Prettier check / Prettier check (pull_request) Successful in 11s
Rust check / Rust check (pull_request) Successful in 14m55s
ShellCheck check / ShellCheck check (pull_request) Successful in 16s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 14s
2025-01-02 17:27:10 +01:00
f134e6d4c3 build: bump the crate dependencies
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 6s
checkov check / checkov check (pull_request) Successful in 1m3s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 8s
htmlhint check / htmlhint check (pull_request) Successful in 11s
markdownlint check / markdownlint check (pull_request) Successful in 12s
Prettier check / Prettier check (pull_request) Successful in 11s
Rust check / Rust check (pull_request) Failing after 7m8s
ShellCheck check / ShellCheck check (pull_request) Successful in 14s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 14s
2025-01-02 16:37:47 +01:00
97a3a24378 refactor: remove the deprecated web resource configuration and use the script component (#81) 2025-01-02 09:20:02 +00:00
7f5a524d4b refactor: remove the deprecated web resource configuration and use the script component
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 48s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 11s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 9s
Prettier check / Prettier check (pull_request) Successful in 11s
Rust check / Rust check (pull_request) Successful in 14m42s
ShellCheck check / ShellCheck check (pull_request) Successful in 15s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 13s
2025-01-02 09:43:01 +01:00
dbd3a5841b chore: update the crate author's email address (#80) 2025-01-02 08:36:29 +00:00
60cf0b641d chore: set the project icon for JetBrains IDEs (#79) 2025-01-02 08:36:13 +00:00
bfadb1c2b2 chore: add the Docker compose symlink to .gitignore (#78) 2025-01-01 21:47:07 +00:00
da2291b6e7 build: remove needless packages from the production Docker image (#77) 2025-01-01 21:14:34 +00:00
5b1df9577b build: add Docker files to the .dockerignore (#76) 2025-01-01 20:19:45 +00:00
0548c6cbea chore: update the crate author's email address
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
checkov check / checkov check (pull_request) Successful in 1m5s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 8s
hadolint check / hadolint check (pull_request) Successful in 10s
htmlhint check / htmlhint check (pull_request) Successful in 10s
markdownlint check / markdownlint check (pull_request) Successful in 10s
Prettier check / Prettier check (pull_request) Successful in 12s
Rust check / Rust check (pull_request) Successful in 15m24s
ShellCheck check / ShellCheck check (pull_request) Successful in 13s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 15s
2025-01-01 21:00:27 +01:00
8dda8ec0dd chore: set the project icon for JetBrains IDEs
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 9s
checkov check / checkov check (pull_request) Successful in 1m27s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
GitLeaks check / GitLeaks check (pull_request) Successful in 14s
hadolint check / hadolint check (pull_request) Successful in 11s
htmlhint check / htmlhint check (pull_request) Successful in 21s
markdownlint check / markdownlint check (pull_request) Successful in 21s
Prettier check / Prettier check (pull_request) Successful in 25s
Rust check / Rust check (pull_request) Successful in 19m50s
ShellCheck check / ShellCheck check (pull_request) Successful in 18s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 14s
2025-01-01 20:57:40 +01:00
5725c3e7da chore: add the Docker compose symlink to .gitignore
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 13s
checkov check / checkov check (pull_request) Successful in 1m57s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 9s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 8s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
GitLeaks check / GitLeaks check (pull_request) Successful in 13s
hadolint check / hadolint check (pull_request) Successful in 16s
htmlhint check / htmlhint check (pull_request) Successful in 23s
markdownlint check / markdownlint check (pull_request) Successful in 22s
Prettier check / Prettier check (pull_request) Successful in 23s
Rust check / Rust check (pull_request) Successful in 30m17s
ShellCheck check / ShellCheck check (pull_request) Successful in 21s
Stylelint check / Stylelint check (pull_request) Successful in 26s
yamllint check / yamllint check (pull_request) Successful in 22s
2025-01-01 20:52:21 +01:00
f688c7c2fa build: remove needless packages from the production Docker image
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 9s
GitLeaks check / GitLeaks check (pull_request) Successful in 14s
hadolint check / hadolint check (pull_request) Successful in 14s
htmlhint check / htmlhint check (pull_request) Successful in 22s
checkov check / checkov check (pull_request) Successful in 1m58s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 8s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 22s
Prettier check / Prettier check (pull_request) Successful in 24s
Rust check / Rust check (pull_request) Successful in 31m50s
ShellCheck check / ShellCheck check (pull_request) Successful in 24s
Stylelint check / Stylelint check (pull_request) Successful in 25s
yamllint check / yamllint check (pull_request) Successful in 32s
2025-01-01 20:50:16 +01:00
3677cc343c build: add Docker files to the .dockerignore
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 2m42s
checkov check / checkov check (pull_request) Successful in 1m59s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 31s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 11s
Prettier check / Prettier check (pull_request) Successful in 10s
ShellCheck check / ShellCheck check (pull_request) Successful in 22s
Stylelint check / Stylelint check (pull_request) Successful in 24s
yamllint check / yamllint check (pull_request) Successful in 22s
Rust check / Rust check (pull_request) Successful in 27m21s
2025-01-01 20:40:19 +01:00
d7c4b0788d build: update the npm package lock (#75) 2024-12-30 19:01:11 +00:00
37ab61743f build: update the npm package lock
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 55s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 7s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 10s
Prettier check / Prettier check (pull_request) Successful in 11s
Rust check / Rust check (pull_request) Successful in 14m39s
ShellCheck check / ShellCheck check (pull_request) Successful in 15s
Stylelint check / Stylelint check (pull_request) Successful in 12s
yamllint check / yamllint check (pull_request) Successful in 13s
2024-12-30 19:42:55 +01:00
5a4716146e chore: add a default merge message template (#74) 2024-12-30 18:38:41 +00:00
2b719e0c0f chore: add a default merge message template
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
checkov check / checkov check (pull_request) Successful in 48s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 9s
htmlhint check / htmlhint check (pull_request) Successful in 10s
markdownlint check / markdownlint check (pull_request) Successful in 10s
Prettier check / Prettier check (pull_request) Successful in 11s
Rust check / Rust check (pull_request) Successful in 15m10s
ShellCheck check / ShellCheck check (pull_request) Successful in 14s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 15s
2024-12-30 13:52:32 +01:00
45a20cdaef ci: add pull request check Gitea actions (#73) 2024-12-30 11:39:57 +00:00
da87cd95da build: pin the Docker image versions with their index digests
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 1m39s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 4s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 7s
GitLeaks check / GitLeaks check (pull_request) Successful in 18s
hadolint check / hadolint check (pull_request) Successful in 9s
htmlhint check / htmlhint check (pull_request) Successful in 15s
markdownlint check / markdownlint check (pull_request) Successful in 20s
Prettier check / Prettier check (pull_request) Successful in 23s
Rust check / Rust check (pull_request) Successful in 31m7s
ShellCheck check / ShellCheck check (pull_request) Successful in 21s
yamllint check / yamllint check (pull_request) Successful in 21s
Stylelint check / Stylelint check (pull_request) Successful in 24s
2024-12-29 21:35:11 +01:00
6b2bfb5ebe style: remove needless lifetimes
All checks were successful
actionlint check / actionlint check (pull_request) Successful in 6s
checkov check / checkov check (pull_request) Successful in 2m35s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 19s
htmlhint check / htmlhint check (pull_request) Successful in 10s
markdownlint check / markdownlint check (pull_request) Successful in 9s
Prettier check / Prettier check (pull_request) Successful in 9s
Rust check / Rust check (pull_request) Successful in 15m57s
ShellCheck check / ShellCheck check (pull_request) Successful in 13s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 13s
2024-12-29 21:07:07 +01:00
a83b376f7b refactor: import different dependencies only in the correct target binary
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 7s
checkov check / checkov check (pull_request) Successful in 53s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 6s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 9s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 9s
Prettier check / Prettier check (pull_request) Successful in 10s
Rust check / Rust check (pull_request) Failing after 7m40s
ShellCheck check / ShellCheck check (pull_request) Successful in 12s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 14s
2024-12-29 20:50:06 +01:00
3646aa91c4 style: fix the rustfmt linted files
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 52s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 6s
hadolint check / hadolint check (pull_request) Successful in 7s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 9s
Prettier check / Prettier check (pull_request) Successful in 10s
Rust check / Rust check (pull_request) Failing after 6m20s
ShellCheck check / ShellCheck check (pull_request) Successful in 12s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 13s
2024-12-29 19:30:35 +01:00
149451cc77 style: fix the Prettier linted files 2024-12-29 19:21:50 +01:00
3ab06794e3 ci: install the npm lint dependencies 2024-12-29 19:21:22 +01:00
c095a98c5b build: fix the Dockerfiles 2024-12-29 19:11:21 +01:00
028f833cae ci: add pull request check Gitea actions
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 43s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Failing after 7s
htmlhint check / htmlhint check (pull_request) Successful in 10s
markdownlint check / markdownlint check (pull_request) Failing after 8s
Prettier check / Prettier check (pull_request) Failing after 9s
Rust check / Rust check (pull_request) Failing after 1m20s
ShellCheck check / ShellCheck check (pull_request) Successful in 11s
Stylelint check / Stylelint check (pull_request) Failing after 14s
yamllint check / yamllint check (pull_request) Successful in 12s
2024-12-29 17:33:57 +01:00
242 changed files with 332897 additions and 11056 deletions

View File

@@ -1,9 +1,14 @@
/.dioxus/
/.git/
/.github/
/debug/
/node_modules/
/static/
/target/
/docker-compose-dev.yml
/docker-compose-prod.yml
/.git
/.gitea
/.github
/bundle
/node_modules
/scripts
/target
/.dockerignore
/docker-compose-dev.yaml
/docker-compose-prod.yaml
/docker-compose.yaml
/docker/dev/*/Dockerfile
/docker/prod/*/Dockerfile

View File

@@ -1,2 +1,2 @@
DATABASE_URL=postgres://app:app@db/todo_baggins
LANGUAGE_CODE=en-US
MOBILE_SERVER_URL=

View File

@@ -0,0 +1 @@
${PullRequestTitle} (${PullRequestReference})

4
.github/config/markdownlint.yaml vendored Normal file
View File

@@ -0,0 +1,4 @@
---
# no-duplicate-heading
MD024:
siblings_only: true

4
.github/config/yamllint.yaml vendored Normal file
View File

@@ -0,0 +1,4 @@
rules:
comments:
# https://github.com/redhat-developer/vscode-yaml/issues/433
min-spaces-from-content: 1

File diff suppressed because it is too large Load Diff

41
.github/workflows/actionlint-check.yaml vendored Normal file
View File

@@ -0,0 +1,41 @@
---
name: actionlint check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: actionlint check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: actionlint installation
working-directory: /bin
run: |
set -e
INSTALL_SCRIPT_URL="https://raw.githubusercontent.com/rhysd/actionlint/e11169d0656294827d65370a3c76a2325406da85/scripts/download-actionlint.bash"
ACTIONLINT_VERSION="1.7.5"
INSTALL_SCRIPT_CHECKSUM="99ab9f1d97c31c9a051e6902305f7ea9f48e7e7e1b0ee41f64aa831c86655168 download-actionlint.bash"
ACTIONLINT_CHECKSUM="3d74253aa0cf645e6224fd53f2d56776998c7c05a0d3c12307463285515898f8 actionlint"
wget -O download-actionlint.bash "$INSTALL_SCRIPT_URL"
echo "$INSTALL_SCRIPT_CHECKSUM" | sha256sum --check
bash download-actionlint.bash "$ACTIONLINT_VERSION"
echo "$ACTIONLINT_CHECKSUM" | sha256sum --check
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: actionlint check
run: actionlint

33
.github/workflows/checkov-check.yaml vendored Normal file
View File

@@ -0,0 +1,33 @@
---
name: checkov check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: checkov check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: Python installation
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b
with:
python-version: "3.13.1"
- name: Rust toolchain installation
uses: dtolnay/rust-toolchain@9bc92bc5598b4f3bec5d910d352094982cb0c3b9 # 1.92.0
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: checkov installation
run: pip install --no-cache-dir --require-hashes -r .github/dependencies/checkov-check/requirements.txt
- name: checkov check
run: checkov --directory .

View File

@@ -0,0 +1,29 @@
---
name: conventional commit messages check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: conventional commit messages check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: conventional commit messages check
uses: davidglezz/action-conventional-commits-check@ea8ae44ab9c7b79c1da0bd811a6ee6c5768ce476
with:
target-branch: ${{ github.event.pull_request.base.ref }}
current-branch: ${{ github.event.pull_request.head.ref }}
pattern: "^(build|chore|ci|docs|feat|fix|hotfix|perf|refactor|revert|style|test){1}(\\([[:alnum:]._-]+\\))?(!)?: ([[:alnum:]])+([[:space:][:print:]]*)$"

View File

@@ -1,24 +0,0 @@
name: conventional commits
on:
pull_request:
types: [ opened, synchronize, reopened, edited ]
permissions: { }
jobs:
build:
name: conventional commits
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: checkout code
uses: actions/checkout@v3
- name: conventional commits check
uses: webiny/action-conventional-commits@v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,24 @@
---
name: conventional pull request title check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: conventional pull request title check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: conventional pull request title check
uses: ytanikin/PRConventionalCommits@b628c5a234cc32513014b7bfdd1e47b532124d98
with:
task_types: '["build","chore","ci","docs","feat","fix","hotfix","perf","refactor","revert","style","test"]'
add_label: "false"

View File

@@ -1,23 +0,0 @@
name: conventional pull requests
on:
pull_request:
types: [ opened, synchronize, reopened, edited ]
permissions: { }
jobs:
build:
name: conventional pull requests
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: conventional pull requests check
uses: ytanikin/PRConventionalCommits@1.1.0
with:
task_types: '["build","chore","ci","docs","feat","fix","perf","refactor","revert","style","test"]'
add_label: 'false'

View File

@@ -0,0 +1,41 @@
---
name: dotenv-linter check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: dotenv-linter check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: dotenv-linter installation
working-directory: /bin
run: |
set -e
INSTALL_SCRIPT_URL="https://raw.githubusercontent.com/dotenv-linter/dotenv-linter/ced5b9b28d9a1a309fe900cb992d69dba91205dc/install.sh"
DOTENV_LINTER_VERSION="v3.3.0"
INSTALL_SCRIPT_CHECKSUM="3b883cbc2bc3b48b6acd794802326a50fcbfeff7d5cd61e457c54fd6072bd809 dotenv-linter-install.sh"
DOTENV_LINTER_CHECKSUM="4bf3efb743a1e3383ab3407ff48c6147dd527dac35b736e224a26425df00a2ee dotenv-linter"
wget -O dotenv-linter-install.sh "$INSTALL_SCRIPT_URL"
echo "$INSTALL_SCRIPT_CHECKSUM" | sha256sum --check
sh dotenv-linter-install.sh -- -b . "$DOTENV_LINTER_VERSION"
echo "$DOTENV_LINTER_CHECKSUM" | sha256sum --check
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: dotenv-linter check
run: dotenv-linter

38
.github/workflows/gitleaks-check.yaml vendored Normal file
View File

@@ -0,0 +1,38 @@
---
name: GitLeaks check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: GitLeaks check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: GitLeaks installation
working-directory: /bin
run: |
set -e
VERSION="v8.22.0"
CHECKSUM="3f95fef7e361adafed2b1bb9c591ba3bc6b595b4f296b346257301b7bf04be15 gitleaks.tar.gz"
wget -O "gitleaks.tar.gz" "https://github.com/gitleaks/gitleaks/releases/download/$VERSION/gitleaks_8.22.0_linux_arm64.tar.gz"
echo "$CHECKSUM" | sha256sum --check
tar xzf gitleaks.tar.gz
chmod +x gitleaks
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: GitLeaks check
run: gitleaks git && gitleaks dir

43
.github/workflows/hadolint-check.yaml vendored Normal file
View File

@@ -0,0 +1,43 @@
---
name: hadolint check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: hadolint check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: hadolint installation
working-directory: /bin
run: |
set -e
VERSION="v2.12.0"
CHECKSUM="5798551bf19f33951881f15eb238f90aef023f11e7ec7e9f4c37961cb87c5df6 hadolint"
wget -O hadolint "https://github.com/hadolint/hadolint/releases/download/$VERSION/hadolint-Linux-arm64"
echo "$CHECKSUM" | sha256sum --check
chmod +x hadolint
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: hadolint check
run: |
STATUS=0
while read -r file; do
echo "Linting $file..."
hadolint "$file" || STATUS=1
done < <(find . -name "Dockerfile")
exit $STATUS

27
.github/workflows/htmlhint-check.yaml vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: htmlhint check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: htmlhint check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: dependencies installation
run: npm install
- name: htmlhint check
run: npx htmlhint "**/*.html"

View File

@@ -1,43 +0,0 @@
name: lint
on:
pull_request:
types: [ opened, synchronize, reopened, edited ]
permissions: { }
jobs:
build:
name: lint
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: checkout code
uses: actions/checkout@v4
with:
# Super-linter needs the full git history to get the list of files that changed across commits
fetch-depth: 0
- name: Super-linter check
uses: super-linter/super-linter@v7.0.0 # x-release-please-version
env:
# to report GitHub Actions status checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_ALL_CODEBASE: false
VALIDATE_JAVASCRIPT_PRETTIER: false
VALIDATE_JAVASCRIPT_STANDARD: false
VALIDATE_JSCPD: false
VALIDATE_RUST_2015: false
VALIDATE_RUST_2018: false
VALIDATE_SQLFLUFF: false
FIX_CSS_PRETTIER: true
FIX_HTML_PRETTIER: true
FIX_JAVASCRIPT_ES: true
FIX_JSON_PRETTIER: true
FIX_RUST_2021: true
FIX_RUST_CLIPPY: true
FIX_TYPESCRIPT_ES: true
FIX_YAML_PRETTIER: true

View File

@@ -0,0 +1,27 @@
---
name: markdownlint check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: markdownlint check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: dependencies installation
run: npm install
- name: markdownlint check
run: npx markdownlint --config .github/config/markdownlint.yaml "**/*.md" --ignore node_modules

27
.github/workflows/prettier-check.yaml vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: Prettier check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: Prettier check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: dependencies installation
run: npm install
- name: Prettier check
run: npx prettier . --check

45
.github/workflows/rust-check.yaml vendored Normal file
View File

@@ -0,0 +1,45 @@
---
name: Rust check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: Rust check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: dependencies installation
run: >
apt-get update && apt-get install -y
libgtk-3-dev=3.24.33-1ubuntu2.2
libjavascriptcoregtk-4.1-dev=2.50.4-0ubuntu0.22.04.1
libsoup-3.0-dev=3.0.7-0ubuntu1
libwebkit2gtk-4.1-dev=2.50.4-0ubuntu0.22.04.1
libxdo-dev=1:3.20160805.1-4
- name: Rust toolchain installation
uses: dtolnay/rust-toolchain@9bc92bc5598b4f3bec5d910d352094982cb0c3b9 # 1.92.0
with:
components: clippy, rustfmt
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: .env symlink creation
run: ln -s .env.dev .env
- name: Tailwind CSS output creation
run: touch assets/tailwind.css
- name: rustfmt check
run: cargo fmt --all --check
- name: Clippy check
run: cargo clippy --locked --all-targets --all-features -- --deny warnings
- name: test check
run: cargo --locked test --all --all-targets --all-features

34
.github/workflows/shellcheck-check.yaml vendored Normal file
View File

@@ -0,0 +1,34 @@
---
name: ShellCheck check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: ShellCheck check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: ShellCheck installation
run: apt-get update && apt-get install -y shellcheck=0.8.0-2
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: ShellCheck check
# https://www.shellcheck.net/wiki/Recursiveness
run: |
if find . -type f -name "*.sh" -print0 | grep -qz .; then
find . -type f -name "*.sh" -print0 | xargs -0 shellcheck
exit 0
else
echo "No shell scripts found. Skipping ShellCheck."
fi

27
.github/workflows/stylelint-check.yaml vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: Stylelint check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: Stylelint check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: dependencies installation
run: npm install
- name: Stylelint check
run: npx stylelint "**/*.css"

27
.github/workflows/yamllint-check.yaml vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: yamllint check
on: # yamllint disable-line rule:truthy
pull_request:
types: [opened, edited, reopened, synchronize]
permissions: {}
jobs:
build:
name: yamllint check
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
packages: read
statuses: write
steps:
- name: yamllint installation
run: apt-get update && apt-get install -y yamllint=1.26.3-1
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: yamllint check
run: yamllint -c .github/config/yamllint.yaml .

16
.gitignore vendored
View File

@@ -1,10 +1,10 @@
/target/
/dist/
/static/
/.dioxus/
/node_modules/
/.env
**/*.rs.bk
/docker-compose.yaml
.env
.env.prod
/node_modules
/target
/bundle
/**/*.rs.bk
/.DS_Store

5
.idea/.gitignore generated vendored
View File

@@ -1,5 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="dataSourceStorageLocal" created-in="RR-243.21565.245">
<data-source name="todo_baggins@localhost" uuid="1658668c-c2b8-426d-a22f-16fbad9eff0b">
<database-info product="PostgreSQL" version="16.4 (Debian 16.4-1.pgdg120+1)" jdbc-version="4.2" driver-name="PostgreSQL JDBC Driver" driver-version="42.6.0" dbms="POSTGRES" exact-version="16.4" exact-driver-version="42.6">
<identifier-quote-string>&quot;</identifier-quote-string>
</database-info>
<case-sensitivity plain-identifiers="lower" quoted-identifiers="exact" />
<secret-storage>master_key</secret-storage>
<user-name>app</user-name>
<schema-mapping>
<introspection-scope>
<node kind="database" qname="@">
<node kind="schema" qname="@" />
</node>
</introspection-scope>
</schema-mapping>
</data-source>
</component>
</project>

12
.idea/dataSources.xml generated
View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="todo_baggins@localhost" uuid="1658668c-c2b8-426d-a22f-16fbad9eff0b">
<driver-ref>postgresql</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
<jdbc-url>jdbc:postgresql://localhost:5432/todo_baggins</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +0,0 @@
#n:information_schema
!<md> [null, 0, null, null, -2147483648, -2147483648]

View File

@@ -1,2 +0,0 @@
#n:pg_catalog
!<md> [null, 0, null, null, -2147483648, -2147483648]

View File

@@ -1,2 +0,0 @@
#n:public
!<md> [785, 0, null, null, -2147483648, -2147483648]

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<includedPredefinedLibrary name="Node.js Core" />
</component>
</project>

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/todo-baggins.iml" filepath="$PROJECT_DIR$/.idea/todo-baggins.iml" />
</modules>
</component>
</project>

View File

@@ -1,11 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="dev" type="docker-deploy" factoryName="docker-compose.yml" server-name="Docker">
<deployment type="docker-compose.yml">
<settings>
<option name="envFilePath" value="" />
<option name="sourceFilePath" value="docker-compose-dev.yml" />
</settings>
</deployment>
<method v="2" />
</configuration>
</component>

8
.idea/sqldialects.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/migrations/00000000000000_diesel_initial_setup/down.sql" dialect="GenericSQL" />
<file url="file://$PROJECT_DIR$/migrations/00000000000000_diesel_initial_setup/up.sql" dialect="PostgreSQL" />
<file url="PROJECT" dialect="PostgreSQL" />
</component>
</project>

11
.idea/todo-baggins.iml generated
View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="EMPTY_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

12
.idea/vcs.xml generated
View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CommitMessageInspectionProfile">
<profile version="1.0">
<inspection_tool class="CommitFormat" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CommitNamingConvention" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

14
.idea/webResources.xml generated
View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WebResourcesPaths">
<contentEntries>
<entry url="file://$PROJECT_DIR$">
<entryData>
<resourceRoots>
<path value="file://$PROJECT_DIR$/assets" />
</resourceRoots>
</entryData>
</entry>
</contentEntries>
</component>
</project>

1
.prettierrc Normal file
View File

@@ -0,0 +1 @@
{}

3
.stylelintrc.json Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": ["stylelint-config-standard"]
}

11
.zed/settings.json Normal file
View File

@@ -0,0 +1,11 @@
{
"lsp": {
"rust-analyzer": {
"initialization_options": {
"cargo": {
"features": ["server", "web"]
}
}
}
}
}

4463
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,36 +1,62 @@
[package]
name = "todo-baggins"
name = "todo_baggins"
version = "0.1.0"
authors = ["Matouš Volf <66163112+matous-volf@users.noreply.github.com>"]
edition = "2021"
authors = ["Matouš Volf <git@matousvolf.cz>"]
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
dioxus = { version = "0.6.0", features = ["fullstack", "router"] }
dioxus-query = "0.6.0"
dioxus-i18n = "0.3.0"
chrono = { version = "0.4.43", features = ["serde", "unstable-locales"] }
# Remember to update the CLI as well.
dioxus = { git = "https://github.com/matous-volf/dioxus", rev = "627d5ca5b80aeed57c23e253024665f103117f5e", features = ["fullstack", "router"] }
# TODO: Remove this once https://github.com/DioxusLabs/dioxus/issues/4765 is resolved.
dioxus-html = { git = "https://github.com/matous-volf/dioxus", rev = "627d5ca5b80aeed57c23e253024665f103117f5e", features = ["serialize"] }
feruca = { version = "0.11.5" }
serde = { version = "1.0.228" }
serde_json = { version = "1.0.149" }
serde_with = { version = "3.16.1", features = ["chrono_0_4"] }
tracing = "0.1.44"
unic-langid-impl = { version = "0.9.6", features = ["serde"] }
validator = { version = "0.20.0", features = ["derive"] }
async-std = "1.12.0"
chrono = { version = "0.4.38", features = ["serde", "unstable-locales"] }
diesel = { version = "2.2.2", features = ["chrono", "postgres", "postgres_backend", "serde_json"] }
diesel_migrations = { version = "2.2.0", features = ["postgres"] }
dotenvy = "0.15.7"
feruca = "0.10.0"
serde = "1.0.208"
serde_json = "1.0.125"
serde_with = { version = "3.9.0", features = ["chrono_0_4"] }
time = "0.3.36"
tracing = "0.1.40"
unic-langid-impl = { version = "0.9.5", features = ["serde"] }
validator = { version = "0.19.0", features = ["derive"] }
# Remember to update the CLI as well.
diesel = { version = "2.3.6", features = [
"chrono",
"postgres",
"postgres_backend",
"serde_json",
], optional = true }
diesel_migrations = { version = "2.3.1", features = [
"postgres",
], optional = true }
rand = { version = "0.9.2", optional = true }
time = { version = "0.3.45", optional = true }
tokio = { version = "1.49.0", optional = true }
async-std = { version = "1.13.2", optional = true }
dioxus-i18n = { path = "dioxus-i18n" }
voca_rs = "1.15.2"
load-dotenv = "0.1.2"
# TODO: Switch to upstream once it merges the changes.
dioxus-free-icons = { path = "dioxus-free-icons/packages/lib", features = [
"font-awesome-regular",
"font-awesome-solid",
] }
[features]
default = ["web"]
web = ["dioxus/web", "dep:async-std"]
mobile = ["dioxus/mobile", "dep:async-std"]
desktop = ["dioxus/desktop"]
mobile = ["dioxus/mobile"]
web = ["dioxus/web"]
server = [
"dioxus/server",
"dep:diesel",
"dep:diesel_migrations",
"dep:rand",
"dep:time",
"dep:tokio",
]
[profile]

View File

@@ -1,42 +1,6 @@
[application]
# App (Project) Name
name = "todo-baggins"
# Dioxus App Default Platform
# web, desktop, fullstack
default_platform = "fullstack"
# `build` & `serve` dist path
out_dir = "dist"
# resource (assets) file folder
asset_dir = "assets"
[web.app]
# HTML title tag content
# HTML title tag content.
title = "Todo Baggins"
[web.watcher]
# when watcher trigger, regenerate the `index.html`
reload_html = true
# which files or dirs will be watcher monitoring
watch_path = ["src", "assets"]
# include `assets` in web platform
[web.resource]
# CSS style file
style = []
# Javascript code file
script = ["https://kit.fontawesome.com/3c1b409f8f.js"]
[web.resource.dev]
# Javascript code file
# serve: [dev-server] only
script = []

1
assets/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/tailwind.css

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,203 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 512 512"
version="1.1"
id="svg1"
sodipodi:docname="icon.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="px"
inkscape:zoom="1.1020922"
inkscape:cx="188.27826"
inkscape:cy="204.15715"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect2"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect1"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="display:inline;fill:#27272a;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="rect1"
width="512"
height="512"
x="0"
y="0"
sodipodi:insensitive="true"
inkscape:label="background"
ry="128.00018"
sodipodi:type="rect"
rx="129.98714" />
<g
id="g17"
inkscape:label="logo"
transform="translate(8)">
<g
id="g8"
inkscape:label="ring">
<g
id="g7"
inkscape:label="back">
<circle
style="fill:#d97706;fill-opacity:1;stroke:#d97706;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="path1"
cx="224"
cy="256"
r="128"
inkscape:label="ring back" />
<rect
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:21.8936;stroke-dasharray:none;stroke-opacity:1"
id="rect2"
width="48"
height="288"
x="224"
y="112"
inkscape:label="rect2" />
</g>
<g
id="g1"
transform="translate(-4.163147,-0.69235229)"
inkscape:label="front">
<circle
style="fill:#27272a;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="path1-5-2"
cx="276.16315"
cy="256.69235"
r="128" />
<circle
style="fill:none;fill-opacity:1;stroke:#fbbf24;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="path1-5"
cx="276.16315"
cy="256.69235"
r="128" />
</g>
</g>
<g
id="g16"
inkscape:label="tick"
transform="translate(16.000231,-8.3918418e-5)">
<g
id="g6"
transform="rotate(45,-57.96574,415.4208)"
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-opacity:1"
inkscape:label="back">
<rect
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="rect9"
width="32.000458"
height="32"
x="273.94067"
y="210.74516"
transform="rotate(-45,-57.96574,415.4208)" />
<rect
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="rect8"
width="32.000458"
height="32"
x="206.05841"
y="233.37257"
transform="rotate(-45,-57.96574,415.4208)" />
<rect
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="rect7"
height="16"
x="228.686"
y="285.255"
width="32"
transform="rotate(-45,-57.96574,415.4208)" />
<rect
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="rect5"
width="64"
height="32"
x="0"
y="100" />
<rect
style="fill:#d97706;fill-opacity:1;stroke:none;stroke-width:39.1918;stroke-dasharray:none;stroke-opacity:1"
id="rect6"
width="32"
height="96"
x="32"
y="36" />
</g>
<g
id="g4"
transform="rotate(45,-41.965512,454.04877)"
style="fill:#fbbf24;fill-opacity:1;stroke:none;stroke-opacity:1"
inkscape:label="front">
<rect
style="fill:#fbbf24;fill-opacity:1;stroke:none;stroke-width:32;stroke-dasharray:none;stroke-opacity:1"
id="rect3"
width="64"
height="32"
x="0"
y="100" />
<rect
style="fill:#fbbf24;fill-opacity:1;stroke:none;stroke-width:39.1918;stroke-dasharray:none;stroke-opacity:1"
id="rect4"
width="32"
height="96"
x="32"
y="36" />
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -3,12 +3,13 @@
"short_name": "Todo Baggins",
"start_url": "/",
"display": "standalone",
"background_color": "#27272a",
"theme_color": "#27272a",
"background_color": "#101828",
"theme_color": "#b89a2e",
"icons": [
{
"src": "/images/icon.png",
"src": "/assets/images/icon.png",
"sizes": "any",
"purpose": "maskable",
"type": "image/png"
}
]

View File

@@ -1 +0,0 @@
/tailwind_output.css

View File

@@ -1,17 +0,0 @@
@layer base {
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url("/assets/fonts/inter_variable.woff2") format("woff2");
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 100 900;
font-display: swap;
src: url("/assets/fonts/inter_variable_italic.woff2") format("woff2");
}
}

View File

@@ -8,56 +8,37 @@ input[type="range"] {
background: transparent;
}
input[type="range"]::-moz-range-thumb {
input[type="range"]::-moz-range-thumb,
input[type="range"]::-webkit-slider-thumb {
width: 1.25rem;
height: 1.25rem;
background: rgba(228 228 231);
background: var(--color-gray-400);
filter: drop-shadow(0 var(--spacing) 0 var(--color-gray-500));
border: 0;
border-radius: 0.5rem;
cursor: pointer;
}
input[type="range"]::-moz-range-progress {
background: #525259;
input[type="range"]::-webkit-slider-thumb {
position: relative;
top: -9px;
}
input[type="range"]::-moz-range-track,
input[type="range"]::-webkit-slider-runnable-track {
background: var(--color-gray-800-muted);
height: 0.5rem;
filter: drop-shadow(
0 calc(0px - var(--spacing)) 0 var(--color-gray-900-muted)
);
border-radius: 0.25rem;
}
input[type="range"]::-moz-range-track {
background: rgba(39 39 42 / 50%);
height: 0.5rem;
border-radius: 0.25rem;
}
input[type="range"].input-range-reverse::-moz-range-progress {
background: #2d2d31;
height: 0.5rem;
border-radius: 0.25rem;
}
input[type="range"].input-range-reverse::-moz-range-track {
background: rgba(113 113 122 / 50%);
height: 0.5rem;
border-radius: 0.25rem;
}
input[type="range"]::-webkit-slider-thumb {
width: 1.25rem;
height: 1.25rem;
background: rgba(228 228 231);
border: 0;
border-radius: 0.5rem;
position: relative;
top: -0.4rem;
transform: translateY(3px);
}
input[type="range"]::-webkit-slider-runnable-track {
background: rgba(39 39 42 / 50%);
height: 0.5rem;
border-radius: 0.25rem;
}
input[type="range"].input-range-reverse::-webkit-slider-runnable-track {
background: rgba(39 39 42 / 50%);
height: 0.5rem;
border-radius: 0.25rem;
position: relative;
top: 3px;
}

View File

@@ -0,0 +1,7 @@
select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%239ca3af' d='M300.3 440.8C312.9 451 331.4 450.3 343.1 438.6L471.1 310.6C480.3 301.4 483 287.7 478 275.7C473 263.7 461.4 256 448.5 256L192.5 256C179.6 256 167.9 263.8 162.9 275.8C157.9 287.8 160.7 301.5 169.9 310.6L297.9 438.6L300.3 440.8z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: 2rem;
background-position: right 0.5rem center;
}

View File

@@ -0,0 +1,48 @@
name-template: "Release v$RESOLVED_VERSION 🦀"
tag-template: "v$RESOLVED_VERSION"
categories:
- title: "🚀 Features"
label: "feature"
- title: "🐛 Bug Fixes"
label: "bug"
- title: "♻️ Refactor"
label: "refactor"
- title: "📝 Documentation"
label: "documentation"
- title: "🧰 Maintenance"
labels:
- "chore"
- "dependencies"
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- "major"
minor:
labels:
- "minor"
patch:
labels:
- "patch"
default: patch
template: |
## Changes
$CHANGES
autolabeler:
- label: feature
branch:
- "/^feat(ure)?[/-].+/"
- label: bug
branch:
- "/^fix[/-].+/"
- label: refactor
branch:
- "/(refactor|refactoring)[/-].+/"
- label: documentation
branch:
- "/doc(s|umentation)[/-].+/"
- label: chore
branch:
- "/^chore[/-].+/"

View File

@@ -0,0 +1,25 @@
name: Cargo Build & Test
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
build_and_test:
name: Rust project - latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install the nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Install linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt update && sudo apt install build-essential libssl-dev pkg-config libglib2.0-dev libgtk-3-dev
- run: cargo build --verbose
- run: cargo test --verbose

View File

@@ -0,0 +1,19 @@
name: Cargo Publish
on:
release:
types: [published]
env:
CARGO_TERM_COLOR: always
jobs:
publish:
name: Publish to crate.io
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cargo publish
working-directory: ./packages/lib
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

View File

@@ -0,0 +1,23 @@
name: Release Drafter
on:
push:
branches:
- main
# pull_request event is required only for autolabeler
pull_request:
# Only following types are handled by the action, but one can default to all as well
types: [opened, reopened, synchronize]
# pull_request_target event is required for autolabeler to support PRs from forks
# pull_request_target:
# types: [opened, reopened, synchronize]
jobs:
update_release_draft:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

16
dioxus-free-icons/.gitignore vendored Normal file
View File

@@ -0,0 +1,16 @@
# Generated by Cargo
# will have compiled files and executables
/target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# Added by cargo
/target
/Cargo.lock

27
dioxus-free-icons/.gitmodules vendored Normal file
View File

@@ -0,0 +1,27 @@
[submodule "icon_resources/font-awesome"]
path = icon_resources/font-awesome
url = https://github.com/FortAwesome/Font-Awesome
[submodule "icon_resources/heroicons"]
path = icon_resources/heroicons
url = https://github.com/tailwindlabs/heroicons
[submodule "icon_resources/ionicons"]
path = icon_resources/ionicons
url = https://github.com/ionic-team/ionicons
[submodule "icon_resources/octicons"]
path = icon_resources/octicons
url = https://github.com/primer/octicons
[submodule "icon_resources/bootstrap"]
path = icon_resources/bootstrap
url = https://github.com/twbs/icons
[submodule "icon_resources/feather"]
path = icon_resources/feather
url = https://github.com/feathericons/feather
[submodule "icon_resources/lucide"]
path = icon_resources/lucide
url = https://github.com/lucide-icons/lucide
[submodule "icon_resources/material-design-icons"]
path = icon_resources/material-design-icons
url = https://github.com/google/material-design-icons
[submodule "icon_resources/vscode-codicons"]
path = icon_resources/vscode-codicons
url = https://github.com/microsoft/vscode-codicons.git

View File

@@ -0,0 +1,24 @@
# monorepo only work when using virtual manifest
# see: https://github.com/rust-lang/cargo/issues/7467#issuecomment-867632379
[workspace]
resolver = "2"
members = ["packages/codegen", "packages/example", "packages/lib"]
[workspace.dependencies]
dioxus = { git = "https://github.com/matous-volf/dioxus", rev = "627d5ca5b80aeed57c23e253024665f103117f5e", default-features = false, features = [
"html",
"macro",
"signals",
] }
[profile]
[profile.wasm-dev]
inherits = "dev"
opt-level = 1
[profile.server-dev]
inherits = "dev"
[profile.android-dev]
inherits = "dev"

25
dioxus-free-icons/LICENSE Normal file
View File

@@ -0,0 +1,25 @@
MIT License
Copyright (c) 2022-Present Daiki Nishikawa
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
Icons are taken from the other projects
so please check each project licences accordingly.

117
dioxus-free-icons/README.md Normal file
View File

@@ -0,0 +1,117 @@
[![Discord Server](https://img.shields.io/discord/899851952891002890.svg?logo=discord&style=flat-square)](https://discord.gg/sKJSVNSCDJ)
[![Crates.io](https://img.shields.io/crates/v/dioxus-free-icons)](https://crates.io/crates/dioxus-free-icons)
# dioxus-free-icons 🙂
Use free svg icons in your [Dioxus](https://dioxuslabs.com/) projects easily with dioxus-free-icons.
More information about this crate can be found in the [crate documentation](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/).
## Install
To use `dioxus-free-icons`, add this to your Cargo.toml:
```toml
[dependencies]
dioxus-free-icons = { version = "0.9", features = ["font-awesome-brands"] }
```
### Support features
The following features are available. Please see [react-icons site](https://react-icons.github.io/react-icons) to check the icon name and icon design.
- [bootstrap](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/bs_icons/index.html)
- [codicons](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/vs_icons/index.html)
- [font-awesome-brands](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/fa_brands_icons/index.html)
- [font-awesome-regular](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/fa_regular_icons/index.html)
- [font-awesome-solid](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/fa_solid_icons/index.html)
- [feather](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/fi_icons/index.html)
- [octicons](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/go_icons/index.html)
- [hero-icons-outline](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/hi_outline_icons/index.html)
- [hero-icons-solid](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/hi_solid_icons/index.html)
- [ionicons](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/io_icons/index.html)
- [lucide](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/ld_icons/index.html)
- [material-design-icons-action](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_action_icons/index.html)
- [material-design-icons-alert](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_alert_icons/index.html)
- [material-design-icons-av](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_av_icons/index.html)
- [material-design-icons-communication](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_communication_icons/index.html)
- [material-design-icons-content](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_content_icons/index.html)
- [material-design-icons-device](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/io_icons/index.html)
- [material-design-icons-editor](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_editor_icons/index.html)
- [material-design-icons-file](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_file_icons/index.html)
- [material-design-icons-hardware](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_hardware_icons/index.html)
- [material-design-icons-home](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_home_icons/index.html)
- [material-design-icons-image](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_image_icons/index.html)
- [material-design-icons-maps](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_maps_icons/index.html)
- [material-design-icons-navigation](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_navigation_icons/index.html)
- [material-design-icons-notification](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_notification_icons/index.html)
- [material-design-icons-places](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_places_icons/index.html)
- [material-design-icons-social](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_social_icons/index.html)
- [material-design-icons-toggle](https://docs.rs/dioxus-free-icons/latest/dioxus_free_icons/icons/md_toggle_icons/index.html)
## Example
This library provides Icon component, which will generate SVG for a Font Awesome icon.
```rust
use dioxus::prelude::*;
use dioxus_free_icons::icons::fa_brands_icons::FaRust;
use dioxus_free_icons::Icon;
fn RustIcon() -> Element {
rsx!(
Icon {
width: 30,
height: 30,
fill: "black",
icon: FaRust,
}
)
}
```
## License
This project is licensed under the MIT license.
### Icon
Icon Library|License|Version
---|---|---
[Bootstrap Icons](https://icons.getbootstrap.com/)|[MIT License](https://github.com/twbs/icons/blob/main/LICENSE.md)| [1.8.3](https://github.com/twbs/icons/tree/v1.8.3)
[Codicons](https://microsoft.github.io/vscode-codicons/dist/codicon.html)|[MIT License](https://github.com/microsoft/vscode-codicons/blob/main/LICENSE-CODE) & [CC BY 4.0 License](https://github.com/microsoft/vscode-codicons/blob/main/LICENSE) | [0.0.36](https://github.com/microsoft/vscode-codicons/tree/0.0.36)
[Feather](https://feathericons.com/)|[MIT License](https://github.com/feathericons/feather/blob/master/LICENSE)| [4.29.0](https://github.com/feathericons/feather/tree/v4.29.0)
[Font Awesome](https://fontawesome.com/)|[CC BY 4.0 License](https://creativecommons.org/licenses/by/4.0/)| [7.1.0](https://github.com/FortAwesome/Font-Awesome/tree/7.1.0)
[Heroicons](https://heroicons.com/)|[MIT License](https://github.com/tailwindlabs/heroicons/blob/master/LICENSE)| [1.0.6](https://github.com/tailwindlabs/heroicons/tree/v1.0.6)
[Ionicons](https://ionic.io/ionicons)|[MIT License](https://github.com/ionic-team/ionicons/blob/main/LICENSE)| [6.0.2](https://github.com/ionic-team/ionicons/tree/v6.0.2)
[Lucide](https://lucide.dev)|[ISC License](https://github.com/lucide-icons/lucide/blob/main/LICENSE)| [0.555.0](https://github.com/lucide-icons/lucide/tree/v0.555.0)
[Material Design icons](https://developers.google.com/fonts/docs/material_icons)|[Apache License 2.0](https://github.com/google/material-design-icons/blob/master/LICENSE)| [4.0.0](https://github.com/google/material-design-icons/tree/4.0.0)
[Octicons](https://primer.style/octicons/)|[MIT License](https://github.com/primer/octicons/blob/main/LICENSE)| [17.3.0](https://github.com/primer/octicons/tree/v17.3.0)
## Contribution
The project welcomes all contributions from anyone willing to work in good faith with other contributors and the community.
In particular, contributions regarding support for other free icons such as Material Design icons or Ionicons are welcome.
This library aims to be a react-icons-like library for dioxus projects.
### Development
```sh
// generate icon files
cd packages/codegen
cargo run
```
### Preview
```sh
cd packages/exmaple
cargo install dioxus-cli
dx serve
```
### Update icons
1. checkout a new tag in the icon resource submodule
2. create new icon files
3. Update README.md and check the LICENSE

View File

@@ -0,0 +1,13 @@
[package]
name = "dioxus-fontawesome-examples"
version = "0.2.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
codegen = "0.1.3"
heck = "0.4.0"
regex = "1.6.0"
scraper = "0.13.0"
walkdir = "2.3.2"

View File

@@ -0,0 +1,215 @@
use std::fs;
use std::fs::File;
use std::io::Write;
use std::path::PathBuf;
use std::{ffi::OsStr, path::Path};
use heck::ToSnakeCase;
use heck::ToUpperCamelCase;
use regex::Regex;
use scraper::node::Element;
use scraper::ElementRef;
use scraper::Html;
use walkdir::WalkDir;
const ICON_TEMPLATE: &str = r#"#[derive(Copy, Clone, Debug, PartialEq)]
pub struct {ICON_NAME};
impl IconShape for {ICON_NAME} {
fn view_box(&self) -> &str {
"{VIEW_BOX}"
}
fn xmlns(&self) -> &str {
"{XMLNS}"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
({FILL_COLOR}, {STROKE_COLOR}, {STROKE_WIDTH})
}
fn stroke_linecap(&self) -> &str {
"{STROKE_LINECAP}"
}
fn stroke_linejoin(&self) -> &str {
"{STROKE_LINEJOIN}"
}
fn child_elements(&self) -> Element {
rsx! {
{CHILD_ELEMENTS}
}
}
}
"#;
pub fn create_icon_file(svg_path: &str, output_path: &str, icon_prefix: &str) {
let files = collect_svg_files(svg_path, icon_prefix);
let icon_file = files
.into_iter()
.map(|file| {
let svg_str = fs::read_to_string(&file).unwrap();
let fragment = Html::parse_fragment(&svg_str);
let elements = fragment
.tree
.nodes()
.filter_map(|node| {
if node.value().is_element() {
let element = ElementRef::wrap(node).unwrap().value();
if !element.attrs.is_empty() {
return Some(element);
}
}
None
})
.collect::<Vec<_>>();
let svg_element = &elements[0];
let svg_child_elements = &elements[1..];
let icon_name = icon_name(&file, icon_prefix);
let (view_box, xmlns) = extract_svg_attrs(svg_element);
let child_elements = extract_svg_child_elements(svg_child_elements, icon_prefix);
let (fill_color, stroke_color, stroke_width) = extract_svg_colors(icon_prefix);
let stroke_linecap = extract_stroke_linecap(icon_prefix);
let stroke_linejoin = extract_stroke_linejoin(icon_prefix);
ICON_TEMPLATE
.replace("{ICON_NAME}", &format!("{}{}", icon_prefix, &icon_name))
.replace("{VIEW_BOX}", &view_box)
.replace("{XMLNS}", &xmlns)
.replace("{CHILD_ELEMENTS}", &child_elements)
.replace("{FILL_COLOR}", &fill_color)
.replace("{STROKE_COLOR}", &stroke_color)
.replace("{STROKE_WIDTH}", &stroke_width)
.replace("{STROKE_LINECAP}", &stroke_linecap)
.replace("{STROKE_LINEJOIN}", &stroke_linejoin)
})
.collect::<Vec<_>>()
.join("\n");
// write to file
let mut file = File::create(output_path).unwrap();
file.write_all(
format!(
"{}\n\n{}",
"use super::super::IconShape;\nuse dioxus::prelude::*;", icon_file
)
.as_bytes(),
)
.unwrap();
file.flush().unwrap();
}
fn collect_svg_files(svg_path: &str, icon_prefix: &str) -> Vec<PathBuf> {
let dir_entries = WalkDir::new(svg_path)
.sort_by_file_name()
.into_iter()
.filter_map(|e| e.ok())
.collect::<Vec<_>>();
dir_entries
.into_iter()
.filter(|e| match icon_prefix {
"Go" => {
let re = Regex::new(r".*-16.svg$").unwrap();
return re.is_match(e.path().to_str().unwrap());
}
"Md" => {
let split_vec = e.path().components().collect::<Vec<_>>();
return split_vec.iter().any(|c| c.as_os_str() == "materialicons")
&& e.file_name().to_str().unwrap() == "24px.svg";
}
_ => return e.path().extension() == Some(OsStr::new("svg")),
})
.map(|dir| PathBuf::from(dir.path()))
.collect::<Vec<_>>()
}
fn icon_name(path: &Path, icon_prefix: &str) -> String {
match icon_prefix {
"Go" => {
let filename = path.file_name().unwrap().to_str().unwrap();
let name = filename.split('.').next().unwrap();
name.replace("-16", "").to_upper_camel_case()
}
"Md" => {
let split_vec = path.components().collect::<Vec<_>>();
let name = split_vec[split_vec.len() - 3];
name.as_os_str().to_str().unwrap().to_upper_camel_case()
}
_ => {
let filename = path.file_name().unwrap().to_str().unwrap();
let name = filename.split('.').next().unwrap();
name.to_upper_camel_case()
}
}
}
fn extract_svg_attrs(element: &Element) -> (String, String) {
let view_box = element.attr("viewBox").unwrap_or("0 0 16 16");
let xmlns = element
.attr("xmlns")
.unwrap_or("http://www.w3.org/2000/svg");
(String::from(view_box), String::from(xmlns))
}
fn extract_svg_colors(icon_prefix: &str) -> (&str, &str, &str) {
match icon_prefix {
"Fi" => ("\"none\"", "user_color", "\"2\""),
"Ld" => ("\"none\"", "user_color", "\"2\""),
"Io" => ("user_color", "user_color", "\"0\""),
_ => ("user_color", "\"none\"", "\"0\""),
}
}
fn extract_stroke_linecap(icon_prefix: &str) -> &str {
match icon_prefix {
"Ld" => "round",
"Fi" => "round",
_ => "butt",
}
}
fn extract_stroke_linejoin(icon_prefix: &str) -> &str {
match icon_prefix {
"Ld" => "round",
"Fi" => "round",
_ => "miter",
}
}
fn extract_svg_child_elements(elements: &[&Element], icon_prefix: &str) -> String {
let elements = match icon_prefix {
"Md" => &elements[1..],
_ => elements,
};
elements
.iter()
.map(|element| {
let tag_name = element.name();
let mut element_attrs = element
.attrs()
.filter_map(|(name, value)| {
let value = if icon_prefix == "Io" {
value.replace("fill:none;stroke:#000;", "")
} else {
value.to_string()
};
let re = Regex::new(r"^data-.*$").unwrap();
if !re.is_match(name) && name != "fill" {
Some(format!(
" {}: \"{}\",",
name.to_snake_case(),
value
))
} else {
None
}
})
.collect::<Vec<_>>();
element_attrs.sort();
let attrs_str = element_attrs.join("\n");
" {TAG_NAME} {\n{ATTRS}\n }"
.replace("{TAG_NAME}", tag_name)
.replace("{ATTRS}", &attrs_str)
})
.collect::<Vec<_>>()
.join("\n")
}

View File

@@ -0,0 +1,79 @@
mod create_icon_file;
fn main() {
const OUTPUT_BASE_PATH: &str = "../lib/src/icons";
// create font awesome icons
const FA_SVG_BASE_PATH: &str = "../../icon_resources/font-awesome/svgs";
for icon_type in vec!["brands", "regular", "solid"].into_iter() {
let svg_path = format!("{}/{}", FA_SVG_BASE_PATH, icon_type);
let output_path = format!("{}/fa_{}_icons.rs", OUTPUT_BASE_PATH, icon_type);
create_icon_file::create_icon_file(&svg_path, &output_path, "Fa");
}
// create hero icons
const HI_SVG_BASE_PATH: &str = "../../icon_resources/heroicons/src";
for icon_type in vec!["outline", "solid"].into_iter() {
let svg_path = format!("{}/{}", HI_SVG_BASE_PATH, icon_type);
let output_path = format!("{}/hi_{}_icons.rs", OUTPUT_BASE_PATH, icon_type);
create_icon_file::create_icon_file(&svg_path, &output_path, "Hi");
}
// create ionicons
const IO_SVG_BASE_PATH: &str = "../../icon_resources/ionicons/src/svg";
let output_path = format!("{}/io_icons.rs", OUTPUT_BASE_PATH);
create_icon_file::create_icon_file(IO_SVG_BASE_PATH, &output_path, "Io");
// create octicons
const GO_SVG_BASE_PATH: &str = "../../icon_resources/octicons/icons";
let go_output_path = format!("{}/go_icons.rs", OUTPUT_BASE_PATH);
create_icon_file::create_icon_file(GO_SVG_BASE_PATH, &go_output_path, "Go");
// create bootstrap icons
const BS_SVG_BASE_PATH: &str = "../../icon_resources/bootstrap/icons";
let bs_output_path = format!("{}/bs_icons.rs", OUTPUT_BASE_PATH);
create_icon_file::create_icon_file(BS_SVG_BASE_PATH, &bs_output_path, "Bs");
// create feather icons
const FI_SVG_BASE_PATH: &str = "../../icon_resources/feather/icons";
let fi_output_path = format!("{}/fi_icons.rs", OUTPUT_BASE_PATH);
create_icon_file::create_icon_file(FI_SVG_BASE_PATH, &fi_output_path, "Fi");
// create feather icons
const LD_SVG_BASE_PATH: &str = "../../icon_resources/lucide/icons";
let ld_output_path = format!("{}/ld_icons.rs", OUTPUT_BASE_PATH);
create_icon_file::create_icon_file(LD_SVG_BASE_PATH, &ld_output_path, "Ld");
// create material design icons
const MI_SVG_BASE_PATH: &str = "../../icon_resources/material-design-icons/src";
for icon_type in vec![
"action",
"alert",
"av",
"communication",
"content",
"device",
"editor",
"file",
"hardware",
"home",
"image",
"maps",
"navigation",
"notification",
"places",
"social",
"toggle",
]
.into_iter()
{
let svg_path = format!("{}/{}", MI_SVG_BASE_PATH, icon_type);
let output_path = format!("{}/md_{}_icons.rs", OUTPUT_BASE_PATH, icon_type);
create_icon_file::create_icon_file(&svg_path, &output_path, "Md");
}
// create vscode-codicons
const VS_SVG_BASE_PATH: &str = "../../icon_resources/vscode-codicons/src/icons";
let vs_output_path = format!("{}/vsc_icons.rs", OUTPUT_BASE_PATH);
create_icon_file::create_icon_file(VS_SVG_BASE_PATH, &vs_output_path, "Vsc");
}

View File

@@ -0,0 +1,17 @@
# Generated by Cargo
# will have compiled files and executables
/target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# Added by cargo
/target
/dist

View File

@@ -0,0 +1,19 @@
[package]
name = "hello-dioxus"
version = "0.1.0"
authors = ["nissy-dev <nd.12021218@gmail.com>"]
edition = "2021"
[dependencies]
dioxus = { workspace = true, features = ["launch", "web"] }
dioxus-free-icons = { path = "../lib", features = ["font-awesome-brands"] }
log = "0.4.6"
# WebAssembly Debug
wasm-logger = "0.2.0"
console_error_panic_hook = "0.1.7"
[profile.release]
lto = true
opt-level = 's'

View File

@@ -0,0 +1,42 @@
[application]
# App (Project) Name
name = "hello-dioxus"
# Dioxus App Default Platform
# desktop, web, mobile, ssr
default_platform = "web"
# `build` & `serve` dist path
out_dir = "dist"
# resource (public) file folder
asset_dir = "public"
[web.app]
# HTML title tag content
title = "dioxus | ⛺"
[web.watcher]
# when watcher trigger, regenerate the `index.html`
reload_html = true
# which files or dirs will be watcher monitoring
watch_path = ["src", "public"]
# include `assets` in web platform
[web.resource]
# CSS style file
style = []
# Javascript code file
script = []
[web.resource.dev]
# Javascript code file
# serve: [dev-server] only
script = []

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2022-Present Daiki Nishikawa
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,11 @@
# Example
> a template for starting a dioxus project to be used with [dioxus-cli](https://github.com/DioxusLabs/cli)
## Usage
#### Start a `dev-server` for the project:
```
dioxus serve
```

View File

@@ -0,0 +1,28 @@
use dioxus::prelude::*;
use dioxus_free_icons::icons::fa_brands_icons::FaRust;
use dioxus_free_icons::Icon;
fn main() {
// init debug tool for WebAssembly
wasm_logger::init(wasm_logger::Config::default());
console_error_panic_hook::set_once();
launch(app);
}
fn app() -> Element {
rsx! (
div {
style: "text-align: center;",
h1 { "🌗 Dioxus 🚀" }
h3 { "Frontend that scales." }
p { "Dioxus is a portable, performant, and ergonomic framework for building cross-platform user interfaces in Rust." },
Icon {
width: 60,
height: 60,
icon: FaRust,
}
}
)
}

View File

@@ -0,0 +1,45 @@
[package]
name = "dioxus-free-icons"
version = "0.10.0"
edition = "2021"
authors = ["Daiki Nishikawa <nd.12021218@gmail.com>", "Marc Espín <mespinsanz@gmail.com>"]
description = "Use free svg icons in your Dioxus projects easily with dioxus-free-icons."
license = "MIT"
repository = "https://github.com/dioxus-community/dioxus-free-icons"
readme = "../../README.md"
[dependencies]
dioxus = { workspace = true }
[features]
font-awesome-brands = []
font-awesome-regular = []
font-awesome-solid = []
bootstrap = []
feather = []
octicons = []
hero-icons-outline = []
hero-icons-solid = []
ionicons = []
lucide = []
material-design-icons-action = []
material-design-icons-alert = []
material-design-icons-av = []
material-design-icons-communication = []
material-design-icons-content = []
material-design-icons-device = []
material-design-icons-editor = []
material-design-icons-file = []
material-design-icons-hardware = []
material-design-icons-home = []
material-design-icons-image = []
material-design-icons-maps = []
material-design-icons-navigation = []
material-design-icons-notification = []
material-design-icons-places = []
material-design-icons-social = []
material-design-icons-toggle = []
codicons = []
[package.metadata.docs.rs]
all-features = true

View File

@@ -0,0 +1,46 @@
MIT License
Copyright (c) 2022-Present Daiki Nishikawa
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
Icons are taken from the Font Awesome projects,
so please check the project license accordingly.
Bootstrap Icons - https://github.com/twbs/icons
License: MIT License https://github.com/twbs/icons/blob/main/LICENSE.md
Feather - https://feathericons.com/
License: MIT https://github.com/feathericons/feather/blob/master/LICENSE
Font Awesome - https://fontawesome.com/
License: CC BY 4.0 License https://fontawesome.com/license/free
Heroicons - https://heroicons.com/
License: MIT License https://github.com/tailwindlabs/heroicons/blob/master/LICENSE
Ionicons - https://ionic.io/ionicons/
License: MIT License https://github.com/ionic-team/ionicons/blob/main/LICENSE
Material Design icons - https://developers.google.com/fonts/docs/material_icons
License: Apache License 2.0 https://github.com/google/material-design-icons/blob/master/LICENSE
Octicons - https://primer.style/octicons/
License: MIT https://github.com/primer/octicons/blob/master/LICENSE

View File

@@ -0,0 +1,65 @@
use dioxus::prelude::*;
/// Icon shape trait
pub trait IconShape {
fn view_box(&self) -> &str;
fn xmlns(&self) -> &str;
fn child_elements(&self) -> Element;
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
("none", user_color, "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
}
/// Icon component Props
#[derive(PartialEq, Props, Clone)]
pub struct IconProps<T: IconShape + Clone + PartialEq + 'static> {
/// The icon shape to use.
pub icon: T,
/// The height of the `<svg>` element. Defaults to 20. Pass None to omit.
#[props(default = Some(20))]
pub height: Option<u32>,
/// The width of the `<svg>` element. Defaults to 20. Pass None to omit.
#[props(default = Some(20))]
pub width: Option<u32>,
/// The color to use for filling the icon. Defaults to "currentColor".
#[props(default = "currentColor".to_string())]
pub fill: String,
/// An class for the `<svg>` element.
#[props(default = "".to_string())]
pub class: String,
/// An accessible, short-text description for the icon.
pub title: Option<String>,
/// The style of the `<svg>` element.
pub style: Option<String>,
}
/// Icon component which generates SVG elements
#[allow(non_snake_case)]
pub fn Icon<T: IconShape + Clone + PartialEq + 'static>(props: IconProps<T>) -> Element {
let (fill, stroke, stroke_width) = props.icon.fill_and_stroke(&props.fill);
rsx!(
svg {
class: "{props.class}",
style: props.style,
height: props.height.map(|height| height.to_string()),
width: props.width.map(|width| width.to_string()),
view_box: "{props.icon.view_box()}",
xmlns: "{props.icon.xmlns()}",
fill,
stroke,
stroke_width,
stroke_linecap: "{props.icon.stroke_linecap()}",
stroke_linejoin: "{props.icon.stroke_linejoin()}",
if let Some(title_text) = props.title {
title { "{title_text}" }
}
{props.icon.child_elements()}
}
)
}

View File

@@ -0,0 +1,56 @@
#[cfg(feature = "bootstrap")]
pub mod bs_icons;
#[cfg(feature = "font-awesome-brands")]
pub mod fa_brands_icons;
#[cfg(feature = "font-awesome-regular")]
pub mod fa_regular_icons;
#[cfg(feature = "font-awesome-solid")]
pub mod fa_solid_icons;
#[cfg(feature = "feather")]
pub mod fi_icons;
#[cfg(feature = "octicons")]
pub mod go_icons;
#[cfg(feature = "hero-icons-outline")]
pub mod hi_outline_icons;
#[cfg(feature = "hero-icons-solid")]
pub mod hi_solid_icons;
#[cfg(feature = "ionicons")]
pub mod io_icons;
#[cfg(feature = "lucide")]
pub mod ld_icons;
#[cfg(feature = "material-design-icons-action")]
pub mod md_action_icons;
#[cfg(feature = "material-design-icons-alert")]
pub mod md_alert_icons;
#[cfg(feature = "material-design-icons-av")]
pub mod md_av_icons;
#[cfg(feature = "material-design-icons-communication")]
pub mod md_communication_icons;
#[cfg(feature = "material-design-icons-content")]
pub mod md_content_icons;
#[cfg(feature = "material-design-icons-device")]
pub mod md_device_icons;
#[cfg(feature = "material-design-icons-editor")]
pub mod md_editor_icons;
#[cfg(feature = "material-design-icons-file")]
pub mod md_file_icons;
#[cfg(feature = "material-design-icons-hardware")]
pub mod md_hardware_icons;
#[cfg(feature = "material-design-icons-home")]
pub mod md_home_icons;
#[cfg(feature = "material-design-icons-image")]
pub mod md_image_icons;
#[cfg(feature = "material-design-icons-maps")]
pub mod md_maps_icons;
#[cfg(feature = "material-design-icons-navigation")]
pub mod md_navigation_icons;
#[cfg(feature = "material-design-icons-notification")]
pub mod md_notification_icons;
#[cfg(feature = "material-design-icons-places")]
pub mod md_places_icons;
#[cfg(feature = "material-design-icons-social")]
pub mod md_social_icons;
#[cfg(feature = "material-design-icons-toggle")]
pub mod md_toggle_icons;
#[cfg(feature = "codicons")]
pub mod vsc_icons;

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,170 @@
use super::super::IconShape;
use dioxus::prelude::*;
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdAddAlert;
impl IconShape for MdAddAlert {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M10.01 21.01c0 1.1.89 1.99 1.99 1.99s1.99-.89 1.99-1.99h-3.98zm8.87-4.19V11c0-3.25-2.25-5.97-5.29-6.69v-.72C13.59 2.71 12.88 2 12 2s-1.59.71-1.59 1.59v.72C7.37 5.03 5.12 7.75 5.12 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdAutoDelete;
impl IconShape for MdAutoDelete {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
polygon {
points: "15,2 11.5,2 10.5,1 5.5,1 4.5,2 1,2 1,4 15,4",
}
path {
d: "M16,9c-0.7,0-1.37,0.1-2,0.29V5H2v12c0,1.1,0.9,2,2,2h5.68c1.12,2.36,3.53,4,6.32,4c3.87,0,7-3.13,7-7 C23,12.13,19.87,9,16,9z M16,21c-2.76,0-5-2.24-5-5s2.24-5,5-5s5,2.24,5,5S18.76,21,16,21z",
}
polygon {
points: "16.5,12 15,12 15,17 18.6,19.1 19.4,17.9 16.5,16.2",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdError;
impl IconShape for MdError {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdErrorOutline;
impl IconShape for MdErrorOutline {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdNotificationImportant;
impl IconShape for MdNotificationImportant {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M18 16v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-5 0h-2v-2h2v2zm0-4h-2V8h2v4zm-1 10c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdWarning;
impl IconShape for MdWarning {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z",
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,818 @@
use super::super::IconShape;
use dioxus::prelude::*;
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdApproval;
impl IconShape for MdApproval {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M4 16v6h16v-6c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2zm14 2H6v-2h12v2zM12 2C9.24 2 7 4.24 7 7l5 7 5-7c0-2.76-2.24-5-5-5zm0 9L9 7c0-1.66 1.34-3 3-3s3 1.34 3 3l-3 4z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdAttachEmail;
impl IconShape for MdAttachEmail {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M21,10V4c0-1.1-0.9-2-2-2H3C1.9,2,1.01,2.9,1.01,4L1,16c0,1.1,0.9,2,2,2h11v-5c0-1.66,1.34-3,3-3H21z M11,11L3,6V4l8,5 l8-5v2L11,11z",
}
path {
d: "M21,14v4c0,1.1-0.9,2-2,2s-2-0.9-2-2v-4.5c0-0.28,0.22-0.5,0.5-0.5s0.5,0.22,0.5,0.5V18h2v-4.5c0-1.38-1.12-2.5-2.5-2.5 S15,12.12,15,13.5V18c0,2.21,1.79,4,4,4s4-1.79,4-4v-4H21z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdAttachment;
impl IconShape for MdAttachment {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloud;
impl IconShape for MdCloud {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloudCircle;
impl IconShape for MdCloudCircle {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.5 14H8c-1.66 0-3-1.34-3-3s1.34-3 3-3l.14.01C8.58 8.28 10.13 7 12 7c2.21 0 4 1.79 4 4h.5c1.38 0 2.5 1.12 2.5 2.5S17.88 16 16.5 16z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloudDone;
impl IconShape for MdCloudDone {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM10 17l-3.5-3.5 1.41-1.41L10 14.17 15.18 9l1.41 1.41L10 17z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloudDownload;
impl IconShape for MdCloudDownload {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloudOff;
impl IconShape for MdCloudOff {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloudQueue;
impl IconShape for MdCloudQueue {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCloudUpload;
impl IconShape for MdCloudUpload {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdCreateNewFolder;
impl IconShape for MdCreateNewFolder {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3v2z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdDriveFileMove;
impl IconShape for MdDriveFileMove {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-6 12v-3h-4v-4h4V8l5 5-5 5z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdDriveFileMoveOutline;
impl IconShape for MdDriveFileMoveOutline {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10zm-8.01-9l-1.41 1.41L12.16 12H8v2h4.16l-1.59 1.59L11.99 17 16 13.01 11.99 9z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdDriveFileRenameOutline;
impl IconShape for MdDriveFileRenameOutline {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M18.41 5.8L17.2 4.59c-.78-.78-2.05-.78-2.83 0l-2.68 2.68L3 15.96V20h4.04l8.74-8.74 2.63-2.63c.79-.78.79-2.05 0-2.83zM6.21 18H5v-1.21l8.66-8.66 1.21 1.21L6.21 18zM11 20l4-4h6v4H11z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdDriveFolderUpload;
impl IconShape for MdDriveFolderUpload {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10zM8 13.01l1.41 1.41L11 12.84V17h2v-4.16l1.59 1.59L16 13.01 12.01 9 8 13.01z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdFileDownload;
impl IconShape for MdFileDownload {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdFileDownloadDone;
impl IconShape for MdFileDownloadDone {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M5 18h14v2H5v-2zm4.6-2.7L5 10.7l2-1.9 2.6 2.6L17 4l2 2-9.4 9.3z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdFileUpload;
impl IconShape for MdFileUpload {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdFolder;
impl IconShape for MdFolder {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdFolderOpen;
impl IconShape for MdFolderOpen {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdFolderShared;
impl IconShape for MdFolderShared {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdGridView;
impl IconShape for MdGridView {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M0 0h24v24H0z",
}
path {
d: "M3 3v8h8V3H3zm6 6H5V5h4v4zm-6 4v8h8v-8H3zm6 6H5v-4h4v4zm4-16v8h8V3h-8zm6 6h-4V5h4v4zm-6 4v8h8v-8h-8zm6 6h-4v-4h4v4z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdRequestQuote;
impl IconShape for MdRequestQuote {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M14,2H6C4.9,2,4.01,2.9,4.01,4L4,20c0,1.1,0.89,2,1.99,2H18c1.1,0,2-0.9,2-2V8L14,2z M15,12h-4v1h3c0.55,0,1,0.45,1,1v3 c0,0.55-0.45,1-1,1h-1v1h-2v-1H9v-2h4v-1h-3c-0.55,0-1-0.45-1-1v-3c0-0.55,0.45-1,1-1h1V9h2v1h2V12z M13,8V3.5L17.5,8H13z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdRuleFolder;
impl IconShape for MdRuleFolder {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M7.83,16L5,13.17 l1.41-1.41l1.41,1.41l3.54-3.54l1.41,1.41L7.83,16z M17.41,13L19,14.59L17.59,16L16,14.41L14.41,16L13,14.59L14.59,13L13,11.41 L14.41,10L16,11.59L17.59,10L19,11.41L17.41,13z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdSnippetFolder;
impl IconShape for MdSnippetFolder {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M15.88,10.5l1.62,1.62v3.38l-3,0v-5H15.88z M22,8v10c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2L2.01,6C2.01,4.9,2.9,4,4,4h6l2,2 h8C21.1,6,22,6.9,22,8z M19,11.5L16.5,9H13v8l6,0V11.5z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdTextSnippet;
impl IconShape for MdTextSnippet {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20.41,8.41l-4.83-4.83C15.21,3.21,14.7,3,14.17,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V9.83 C21,9.3,20.79,8.79,20.41,8.41z M7,7h7v2H7V7z M17,17H7v-2h10V17z M17,13H7v-2h10V13z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdTopic;
impl IconShape for MdTopic {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M14,16H6v-2h8V16z M18,12H6v-2h12V12z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdUploadFile;
impl IconShape for MdUploadFile {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdWorkspacesFilled;
impl IconShape for MdWorkspacesFilled {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M6 13c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6-10C9.8 3 8 4.8 8 7s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6 10c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdWorkspacesOutline;
impl IconShape for MdWorkspacesOutline {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M6 15c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6-8c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2C9.8 3 8 4.8 8 7s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6 12c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z",
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
use super::super::IconShape;
use dioxus::prelude::*;
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdSensorDoor;
impl IconShape for MdSensorDoor {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M18,2H6C4.9,2,4,2.9,4,4v18h16V4C20,2.9,19.1,2,18,2z M15.5,13.5c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5 S17,11.17,17,12S16.33,13.5,15.5,13.5z",
}
}
}
}
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MdSensorWindow;
impl IconShape for MdSensorWindow {
fn view_box(&self) -> &str {
"0 0 24 24"
}
fn xmlns(&self) -> &str {
"http://www.w3.org/2000/svg"
}
fn fill_and_stroke<'a>(&self, user_color: &'a str) -> (&'a str, &'a str, &'a str) {
(user_color, "none", "0")
}
fn stroke_linecap(&self) -> &str {
"butt"
}
fn stroke_linejoin(&self) -> &str {
"miter"
}
fn child_elements(&self) -> Element {
rsx! {
path {
d: "M18,4v16H6V4H18 M18,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2L18,2z M7,19h10v-6H7 V19z M10,10h4v1h3V5H7v6h3V10z",
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More