Compare commits

...

158 commits

Author SHA1 Message Date
azea
a78b67cb77 Editing Pass Part... 9?
Some checks failed
ci/woodpecker/push/android-build/1 Pipeline is pending
ci/woodpecker/push/android-build/2 Pipeline is pending
ci/woodpecker/push/deb-build/1 Pipeline is pending
ci/woodpecker/push/deb-build/2 Pipeline is pending
ci/woodpecker/push/web-build/1 Pipeline is pending
ci/woodpecker/push/web-build/2 Pipeline failed
2025-04-18 15:32:36 -04:00
azea
349e54d799 test commit comment message
Some checks failed
ci/woodpecker/push/android-build/1 Pipeline failed
ci/woodpecker/push/android-build/2 Pipeline failed
ci/woodpecker/push/web-build/1 Pipeline failed
ci/woodpecker/push/web-build/2 Pipeline failed
ci/woodpecker/push/deb-build/1 unknown status
ci/woodpecker/push/deb-build/2 unknown status
2025-04-08 11:03:35 -04:00
460753cc38 Merge pull request 'Editing Pass into Main' (#10) from EditingPass into master
Some checks failed
ci/woodpecker/push/android-build/1 Pipeline is pending
ci/woodpecker/push/android-build/2 Pipeline is pending
ci/woodpecker/push/web-build/1 Pipeline is pending
ci/woodpecker/push/web-build/2 Pipeline is pending
ci/woodpecker/push/deb-build/1 unknown status
ci/woodpecker/push/deb-build/2 unknown status
Reviewed-on: #10
2025-03-31 12:29:01 -04:00
0f9e681895 Editing Pass Part ... 6? 2025-03-31 09:16:00 -04:00
5d51d1e370 Editing pass part 5 2025-03-27 16:52:45 -04:00
ddb3c30642 Editing pass part 4, Bold Amounts 2025-03-27 11:10:49 -04:00
c798339dcd Editing pass part 3 2025-03-27 10:56:56 -04:00
085794c835 editing pass part 2 2025-03-25 10:56:43 -04:00
908dadacf8 editing pass part 1 2025-03-25 10:35:23 -04:00
b98b79b4ca editing pass part 1 2025-03-24 09:33:14 -04:00
36692f264f added secret clipboard button 2025-03-23 21:00:18 -04:00
e2230c563d Fixed bugs with history 2025-03-22 17:31:02 -04:00
f018dc1ffb Added History Page 2025-03-22 09:32:07 -04:00
044fd2175d settings menus 2025-03-21 21:17:22 -04:00
0b7bc9ce05 Added setting that toggles off animations 2025-03-20 22:03:25 -04:00
7bdeaf4ffd settings keys 2025-03-20 21:36:25 -04:00
14f008808f More Settings 2025-03-20 16:16:55 -04:00
bcc740cddd More Settings 2025-03-20 13:18:51 -04:00
d255611d89 More Settings 2025-03-20 12:52:41 -04:00
d4239fa422 More Settings 2025-03-19 21:31:50 -04:00
7fe3d594e1 Settings and TTT 2025-03-19 20:28:12 -04:00
33e35ef9bf Merge remote-tracking branch 'origin/Refactor' into Refactor
Some checks failed
ci/woodpecker/push/android-build/1 Pipeline failed
ci/woodpecker/push/android-build/2 Pipeline failed
ci/woodpecker/push/web-build/1 Pipeline failed
ci/woodpecker/push/web-build/2 Pipeline failed
ci/woodpecker/push/deb-build/1 unknown status
ci/woodpecker/push/deb-build/2 unknown status
2025-03-19 15:18:37 -04:00
e3068772ac more warning and error corrections 2025-03-19 15:16:18 -04:00
6f527738ea correct package layout, 2025-03-19 15:16:18 -04:00
f882a804cb correct package layout, 2025-03-19 15:16:18 -04:00
005d3bb4c5 correct package layout, 2025-03-19 15:16:18 -04:00
4d39d98b28 correct package layout,
better filtering for SEARCH
2025-03-19 15:16:18 -04:00
cf24060135 correct package layout 2025-03-19 15:16:18 -04:00
29ce148f6e Update automated build configs 2025-03-19 15:16:18 -04:00
b9e5387355 code clean 2025-03-19 15:16:18 -04:00
0ef080534a cleanup 2025-03-19 15:16:18 -04:00
f1dc308544 cleanup 2025-03-19 15:16:18 -04:00
c7407631a7 Major Refactor 2025-03-19 15:16:17 -04:00
a1b2748c74 Android Fixes 2025-03-19 15:16:17 -04:00
596e865f1f New search bar layout and icons 2025-03-19 15:16:16 -04:00
406b4de18f Fixes, clean ups, merges with main, and FORWARD 2025-03-19 15:16:14 -04:00
d6735615dc merge and update 2025-03-19 15:16:14 -04:00
cbeecda940 Filter updates part 3 2025-03-19 15:16:14 -04:00
0365b716f9 Filter updates part 2 2025-03-19 15:16:14 -04:00
d6ce958995 Filter updates part 1 2025-03-19 15:16:12 -04:00
azea
b176f0bde1 More sizing updates 2025-03-19 15:16:04 -04:00
azea
732c86f355 More sizing updates 2025-03-19 15:16:04 -04:00
255830d04c back button padding 2025-03-19 15:16:04 -04:00
58bd2582ae Adaptive steps and ingredients 2025-03-19 15:16:04 -04:00
68c0ff673f Adaptive steps and ingredients 2025-03-19 15:16:04 -04:00
0888d517ea some tweaks to the bookshelf page 2025-03-19 15:16:04 -04:00
40b922ae30 some tweaks to the bookshelf page 2025-03-19 15:16:04 -04:00
0beb55e820 Added a Display manager to keep track of different display states 2025-03-19 15:15:59 -04:00
f09302ad77 Display based on portrait/landscape
scaling based on large/small screen

adaptive elements as needed for back button and web specific issues
2025-03-19 15:15:51 -04:00
7a86ecba08 more warning and error corrections 2025-03-19 15:13:55 -04:00
d5daffeefb correct package layout, 2025-03-19 14:54:43 -04:00
01bdbdc6dc correct package layout, 2025-03-19 14:53:21 -04:00
8a4a4ed890 correct package layout, 2025-03-19 14:49:10 -04:00
fa36fbea6b correct package layout,
better filtering for SEARCH
2025-03-19 14:23:35 -04:00
778182d1f4 correct package layout 2025-03-19 13:41:17 -04:00
668a0b8a7e
Update automated build configs 2025-03-17 14:14:41 -04:00
79b9cf9a5d code clean 2025-03-16 17:58:33 -04:00
0bab3cdf36 cleanup 2025-03-16 17:41:16 -04:00
54304ae93c cleanup 2025-03-16 17:38:48 -04:00
e6756934cc Major Refactor 2025-03-16 13:35:01 -04:00
1058aba100 Android Fixes 2025-03-12 21:43:12 -04:00
f45d6a7494 New search bar layout and icons 2025-03-12 21:39:05 -04:00
67c99151f9 Fixes, clean ups, merges with main, and FORWARD 2025-03-12 20:24:07 -04:00
2093883f78 merge and update 2025-03-12 18:26:55 -04:00
ef2920a24b Merge branch 'filterUpdates' into alternateSizing
# Conflicts:
#	shared/src/commonMain/kotlin/App.kt
2025-03-12 18:23:55 -04:00
5a7e7debd4 Filter updates part 3 2025-03-12 18:20:22 -04:00
7cfc95479f Filter updates part 2 2025-03-12 18:06:12 -04:00
b9a90b30cb Filter updates part 1 2025-03-12 17:21:25 -04:00
azea
7fda332bd5 Merge branch 'master' into alternateSizing
# Conflicts:
#	shared/src/commonMain/kotlin/App.kt
2025-03-12 12:05:36 -04:00
azea
a766b8657a Homepage fix
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-12 12:01:51 -04:00
azea
1209380f47 More sizing updates 2025-03-11 13:35:00 -04:00
azea
d478aba978 updates for cacio e pepe (not ready yet)
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-11 13:09:34 -04:00
azea
071461a7c0 More sizing updates 2025-03-11 11:00:08 -04:00
5bc4363436 back button padding 2025-03-10 22:33:00 -04:00
1f7c4d5f42 Adaptive steps and ingredients 2025-03-10 22:27:25 -04:00
0a4f105ab7 Adaptive steps and ingredients 2025-03-10 22:22:50 -04:00
0364e62523 recipe updates
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 22:05:22 -04:00
da450df578 recipe updates
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 21:06:01 -04:00
2275cb8cdc recipe updates
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 20:56:30 -04:00
565c3886a4 Recipe Updates
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 20:49:35 -04:00
eab72a85e0 Recipe Updates
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 20:46:37 -04:00
d1493524e3 Recipe Updates
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 20:42:52 -04:00
f34e7aaa79 Assassin Pasta
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 20:16:02 -04:00
fc3bc7e398 Added some missing info/pictures
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
added fuzzy find
added Filter to hide recipes with missing info, or go into Help Us mode and only show recipes that need info/photos filled in
2025-03-10 20:10:34 -04:00
0669c8a746 Oi Muchim photo
Some checks are pending
ci/woodpecker/push/android-build Pipeline is pending
ci/woodpecker/push/deb-build Pipeline is pending
ci/woodpecker/push/web-build Pipeline is pending
2025-03-10 09:52:24 -04:00
35ffbc5a34 some tweaks to the bookshelf page 2025-03-09 21:26:27 -04:00
e27ff55d87 some tweaks to the bookshelf page 2025-03-09 17:39:44 -04:00
64773b35a4 Added a Display manager to keep track of different display states 2025-03-09 17:01:33 -04:00
718f09f5df Display based on portrait/landscape
scaling based on large/small screen

adaptive elements as needed for back button and web specific issues
2025-03-09 13:10:28 -04:00
6f2c453351 More recipes
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 18:44:13 -05:00
233173c6ad Display Cleanup and missing photos where possible
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 10:56:45 -05:00
2712b15ad6 Display tweaks
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 04:30:10 -05:00
451be7be25 Added 11 New recipes
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
added a new TagType for Vegan/Veg/Carv/Adaptable
added a ton more tags to existing recipes
2025-03-08 04:15:58 -05:00
ca98cb5d7d playing around with build versions for the release, looking at app icon for desktop without too much luck..
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 01:56:43 -05:00
d4cf50d6d8 Fix for apk naming
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 01:30:37 -05:00
a836eee728 Centred App Icon
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 01:15:07 -05:00
24c00df21f Aji De Gallina
Some checks failed
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline failed
2025-03-08 01:04:19 -05:00
b7c31e4b01 More Recipes
Some checks failed
ci/woodpecker/push/android-build Pipeline failed
ci/woodpecker/push/deb-build unknown status
ci/woodpecker/push/web-build Pipeline was successful
2025-03-08 00:43:39 -05:00
a21cb5ad56 Minor padding tweaks
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
added San Bei Ji (34 Recipes)
Scaled all images to 500x500
2025-03-07 23:16:07 -05:00
5067406524 Added tags to details page
Some checks failed
ci/woodpecker/push/android-build Pipeline failed
ci/woodpecker/push/deb-build unknown status
ci/woodpecker/push/web-build Pipeline was successful
2025-03-07 22:14:44 -05:00
b568d764e5 Added tags to details page
Some checks failed
ci/woodpecker/push/deb-build unknown status
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/android-build Pipeline failed
2025-03-07 22:13:48 -05:00
50891d3f62 removing trailing zeros from steps and ingredients
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-07 21:23:53 -05:00
2a1dc80a77 Added horizontal divider to sticky header
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
changed header divider to before header
street food is a cuisine now
2025-03-07 21:14:36 -05:00
22a1bd16a7 Better Padding on Filter buttons
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
better alignment of filter button on searchbar
smaller back button on mobile web
added background to header for back button
2025-03-07 20:57:24 -05:00
315f4c4192 Revert to index (I know this isn't right either but its better. Will work on a more concrete solution...
Some checks failed
ci/woodpecker/push/android-build Pipeline failed
ci/woodpecker/push/deb-build unknown status
ci/woodpecker/push/web-build Pipeline was successful
2025-03-07 20:17:48 -05:00
bb7901f1c5 Filter Fixes
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-07 18:50:29 -05:00
6a9011b210 Orange Chicken
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-07 17:36:59 -05:00
1356ccfe90 Orange Chicken
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-06 21:04:23 -05:00
84c74cc19d Fix for Crash when using "Random Filtered Recipe" button
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-06 19:18:18 -05:00
8b766dd9b2 Merge pull request 'CI checks for builds; Deb and Web build Docker container' (#6) from dockerBuild into master
Some checks failed
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
Reviewed-on: #6
2025-03-06 19:07:39 -05:00
73a6c33967 Merge branch 'master' into dockerBuild
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/deb-build Pipeline failed
2025-03-06 19:07:29 -05:00
5a6c677c62 Spicy Chicken Pretzel Bacon Pub 2025-03-06 18:58:15 -05:00
86754e4ae7 Spicy Chicken Pretzel Bacon Pub 2025-03-06 18:51:54 -05:00
9cd2e6657e Chicken Parm and Linked Recipes 2025-03-06 16:44:12 -05:00
f22cf73708
Tweak CI to only use Tags for release
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-06 14:02:51 -05:00
69320517b6
Package gradle fails in docker container?
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/release-packaging Pipeline failed
2025-03-06 13:33:55 -05:00
81306b4140
Clean before build for consistency
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/release-packaging Pipeline failed
2025-03-06 13:13:16 -05:00
38afc6f5c9
Add quotes
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/release-packaging Pipeline failed
Tinkering with CI behaviour
2025-03-06 12:56:15 -05:00
7eaa2de71e
Experiment with secret values
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/release-packaging Pipeline failed
2025-03-06 12:34:38 -05:00
261509417d Menu Dividers 2025-03-05 23:41:41 -05:00
866111e4ba Ascending and Descending Sort Order 2025-03-05 23:40:04 -05:00
4471a95ab1 Clarifying language about what the Filter Style and Sort By options do 2025-03-05 23:32:40 -05:00
19c2cc56ed Added Sort By Types 2025-03-05 23:29:19 -05:00
3ae7688aeb Added France 2025-03-05 23:16:28 -05:00
fbc690cb56 Chicken Cordon Bleu 2025-03-05 23:15:22 -05:00
2e1c8b2b93 moved to bigger .dp size due to longer tags 2025-03-05 23:00:03 -05:00
17d9f6d0f7 Added more steps for the Recipe Slider 2025-03-05 22:52:15 -05:00
27611b180a
Move depends block to end
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/release-packaging Pipeline failed
2025-03-05 21:06:53 -05:00
f6834e5e4f
Test release build compatibility 2025-03-05 21:04:50 -05:00
652fcfe9a8
Merge remote-tracking branch 'origin/master' into dockerBuild
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-05 18:30:00 -05:00
b29bb87190
Tweak release build
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
`./gradlew packageReleaseDeb` currently fails on Debian 12, due to
"proguard" issues... It's not totally clear what the failure is...
Possible place to start: https://www.guardsquare.com/manual/setup/gradleplugin
2025-03-04 21:07:11 -05:00
6a9329cdcf
Condense release packaging
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-04 20:12:30 -05:00
04c02e3dae
Fix syntax
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
2025-03-04 17:10:07 -05:00
334d4e15e8
Add master to build files 2025-03-04 17:08:08 -05:00
2f2ba59ca3
add accept licenses again
All checks were successful
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline was successful
why was this not working before?
2025-03-04 15:33:29 -05:00
49628a73f4
minimal re-add
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline failed
2025-03-04 15:22:12 -05:00
9d10a82966
fix dependency issue
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline failed
also framework for android deploy/build for release
2025-03-04 15:09:31 -05:00
0207185ce3
Add comment for further research later
Some checks failed
ci/woodpecker/push/android-build Pipeline is running
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline failed
2025-03-04 12:32:36 -05:00
7ddb939c2f
Add Android build to CI
Some checks failed
ci/woodpecker/push/android-build Pipeline was successful
ci/woodpecker/push/deb-build Pipeline failed
ci/woodpecker/push/web-build Pipeline was successful
2025-03-04 12:27:15 -05:00
60deff6c2a
Add jdk11 and jdk17 to deb build container
All checks were successful
ci/woodpecker/push/deb-build Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-04 12:13:25 -05:00
5758466477
Build deb with correct jdk
Some checks failed
ci/woodpecker/push/deb-build Pipeline failed
ci/woodpecker/push/web-build Pipeline failed
2025-03-04 12:08:06 -05:00
74fbe13c8e
Fix invalid env setup
Some checks failed
ci/woodpecker/push/deb-build Pipeline failed
ci/woodpecker/push/web-build Pipeline failed
2025-03-04 12:05:04 -05:00
0fac8f4611
Add androidhome environment variable 2025-03-04 12:03:16 -05:00
9d6ba8ed10
Actually install sdkmanager
Some checks failed
ci/woodpecker/push/deb-build Pipeline failed
ci/woodpecker/push/web-build Pipeline failed
2025-03-04 11:56:16 -05:00
080d85c266
Include Android SDK
Some checks failed
ci/woodpecker/push/deb-build Pipeline failed
ci/woodpecker/push/web-build Pipeline failed
2025-03-04 11:54:39 -05:00
418968c428
Fix spelling error
Some checks failed
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/deb-build Pipeline failed
2025-03-04 11:50:03 -05:00
2a9f385a82
Remove excess workflow
Some checks failed
ci/woodpecker/push/web-build Pipeline failed
2025-03-04 11:48:54 -05:00
5bb06e8d49
Test deb build
All checks were successful
ci/woodpecker/push/simple-workflow Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-04 11:41:13 -05:00
0d8b2518f1
Merge remote-tracking branch 'origin/master' into dockerBuild 2025-03-04 11:37:33 -05:00
a3a01b5581
Test web build
All checks were successful
ci/woodpecker/push/simple-workflow Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2025-03-02 20:11:39 -05:00
fb2756b668
Start building CI workflow
All checks were successful
ci/woodpecker/push/simple-workflow Pipeline was successful
2025-03-02 19:41:39 -05:00
817472400b
Merge remote-tracking branch 'origin/master' into dockerBuild 2025-03-02 19:03:06 -05:00
cf73f9a833
Simplify build, resolve file access issue 2025-02-28 11:38:38 -05:00
1d674be4f4
Merge remote-tracking branch 'origin/master' into dockerBuild 2025-02-28 10:18:05 -05:00
ba6d0d956b
Remove Windows dockerfile
No windows docker container on linux
2025-02-23 20:46:41 -05:00
f2d72d9aa9
Continue building dockerfiles 2025-02-23 20:41:45 -05:00
0a72b9fc82
Create dedicated web build Dockerfile
Deb container is next, followed by Windows container and Android
2025-02-23 20:23:59 -05:00
5874e90288
Initial dockerfile build
Very inefficient; cache container to be built soon
2025-02-23 18:55:41 -05:00
315 changed files with 6855 additions and 8441 deletions

29
.fleet/receipt.json Normal file
View file

@ -0,0 +1,29 @@
// Project generated by Kotlin Multiplatform Wizard
{
"spec": {
"template_id": "kmt",
"targets": {
"android": {
"ui": [
"compose"
]
},
"ios": {
"ui": [
"compose"
]
},
"desktop": {
"ui": [
"compose"
]
},
"web": {
"ui": [
"compose"
]
}
}
},
"timestamp": "2025-03-16T01:49:22.397134638Z"
}

View file

@ -1,23 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="desktopApp" type="GradleRunConfiguration" factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$/desktopApp" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="run" />
</list>
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>

View file

@ -0,0 +1,22 @@
when:
event: push
branch: [ dockerBuild, master ]
matrix:
GRADLE_VERSION:
- 8.11.1
JDK_VERSION:
- jdk17
- jdk21
steps:
- name: build
image: gradle:${GRADLE_VERSION}-${JDK_VERSION}
environment:
ANDROID_HOME: /sdk
commands:
- apt update && apt install -y sdkmanager openjdk-11-jdk
- sdkmanager "tools" && yes | sdkmanager --licenses
#More info
# https://developer.android.com/build/building-cmdline
- gradle assembleDebug

23
.woodpecker/deb-build.yml Normal file
View file

@ -0,0 +1,23 @@
when:
event: push
branch: [ dockerBuild, master ]
matrix:
GRADLE_VERSION:
- 8.11.1
JDK_VERSION:
- 17
- 21
steps:
- name: build
image: gradle:${GRADLE_VERSION}-${JDK_VERSION}
environment:
ANDROID_HOME: /sdk
commands:
- apt update && apt install -y sdkmanager openjdk-11-jdk
- sdkmanager "tools" && yes | sdkmanager --licenses
- gradle buildDeb
depends_on:
- android-build

View file

@ -0,0 +1,61 @@
#file: noinspection YAMLSchemaValidation
when:
- event: tag
ref: ref/tags/0.0.*
steps:
- name: build-releases
image: gradle:8.10.2-jdk17
environment:
ANDROID_HOME: /sdk
KEYSTORE_FILE:
from_secret: keystore_file
TEST_ENV:
from_secret: test_secret
KEYSTORE_PASSWORD:
from_secret: keystore_password
KEY_ALIAS:
from_secret: key_alias
KEY_PASSWORD:
from_secret: key_password
commands:
- apt update && apt install -y sdkmanager openjdk-11-jdk
- sdkmanager "tools" && yes | sdkmanager --licenses
- gradle clean
- echo "$TEST_ENV"
- echo "$KEYSTORE_FILE" | base64 -d > keystore.jks
# Package Release Deb currently fails on local
- gradle buildDeb
- gradle assembleRelease -Pandroid.injected.signing.store.file=$(pwd)/keystore.jks -Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
- name: publish-packages
image: woodpeckerci/plugin-release
settings:
files:
- androidApp/build/outputs/apk/release/androidApp-release.apk
- desktopApp/build/compose/binaries/main/deb/bakers-menagerie_*.deb
checksum:
- androidApp/build/outputs/apk/release/androidApp-release.apk
- desktopApp/build/compose/binaries/main/deb/bakers-menagerie_*.deb
target: master
draft: true
overwrite: true
generate-release-notes: true
api_key:
from_secret: ci_access_token
- name: publish-container
image: woodpeckerci/plugin-kaniko
repo: git.blizzard.systems/Menagerie/Menagerie_Cookbook
username:
from_secret: ci_username
password:
from_secret: ci_access_token
registry: git.blizzard.systems
dockerfile: Dockerfile.web-serve
auto-tag: true
cache: true
depends_on:
- android-build
- deb-build
- web-build

16
.woodpecker/web-build.yml Normal file
View file

@ -0,0 +1,16 @@
when:
event: push
branch: [ dockerBuild, master ]
matrix:
GRADLE_VERSION:
- 8.11.1
JDK_VERSION:
- 17
- 21
steps:
- name: build
image: gradle:${GRADLE_VERSION}-${JDK_VERSION}
commands:
- gradle wasmJsBrowserDistribution

24
Dockerfile.dpkg-build Normal file
View file

@ -0,0 +1,24 @@
# Original build used JVM 21.0.3
# Gradle version 8.10.2
ARG GRADLE_VERSION="8.11.1"
ARG JDK_VERSION="jdk21"
### For RPM Builds, need to implement Nebula RPM plugin; see https://plugins.gradle.org/plugin/com.netflix.nebula.rpm
FROM gradle:${GRADLE_VERSION}-${JDK_VERSION} AS menagerie_buildcache
RUN apt update && apt install -y sdkmanager openjdk-11-jdk
RUN sdkmanager "tools"
RUN yes | sdkmanager --licenses
RUN mkdir -p /src
ENV GRADLE_USER_HOME=/home/gradle/cache_home
COPY gradle /src/gradle
COPY build.gradle.kts gradle.properties settings.gradle.kts /src/.
COPY composeApp/build.gradle.kts /src/webApp/.
WORKDIR /src
RUN gradle buildEnvironment --refresh-dependencies
FROM cache AS build
WORKDIR /src
COPY --from=cache /home/gradle/cache_home /home/gradle/.
COPY --chown=gradle:gradle . /src/.
RUN gradle clean && gradle packageReleaseDeb

26
Dockerfile.web-serve Normal file
View file

@ -0,0 +1,26 @@
# Original build used JVM 21.0.3
# Gradle version 8.10.2
ARG GRADLE_VERSION="8.11.1"
ARG JDK_VERSION="jdk21"
FROM gradle:${GRADLE_VERSION}-${JDK_VERSION} AS cache
RUN apt update && apt install -y sdkmanager openjdk-11-jdk
RUN sdkmanager "tools"
RUN yes | sdkmanager --licenses
RUN mkdir -p /src
ENV GRADLE_USER_HOME=/home/gradle/cache_home
COPY gradle /src/gradle
COPY build.gradle.kts gradle.properties settings.gradle.kts /src/.
COPY composeApp/build.gradle.kts /src/webApp/.
WORKDIR /src
RUN gradle buildEnvironment --refresh-dependencies
FROM cache AS build
WORKDIR /src
COPY --from=cache /home/gradle/cache_home /home/gradle/.
COPY --chown=gradle:gradle . /src/.
RUN gradle clean && gradle wasmJsBrowserDistribution
FROM nginx:latest
COPY --from=build /src/composeApp/build/dist/wasmJs/productionExecutable /usr/share/nginx/html

View file

@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2020-2021 JetBrains s.r.o. and and respective authors and developers.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1,21 @@
This is a Kotlin Multiplatform project targeting Android, iOS, Web, Desktop.
* `/composeApp` is for code that will be shared across your Compose Multiplatform applications.
It contains several subfolders:
- `commonMain` is for code thats common for all targets.
- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apples CoreCrypto for the iOS part of your Kotlin app,
`iosMain` would be the right folder for such calls.
* `/iosApp` contains iOS applications. Even if youre sharing your UI with Compose Multiplatform,
you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.
Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html),
[Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform/#compose-multiplatform),
[Kotlin/Wasm](https://kotl.in/wasm/)…
We would appreciate your feedback on Compose/Web and Kotlin/Wasm in the public Slack channel [#compose-web](https://slack-chats.kotlinlang.org/c/compose-web).
If you face any issues, please report them on [GitHub](https://github.com/JetBrains/compose-multiplatform/issues).
You can open the web application by running the `:composeApp:wasmJsBrowserDevelopmentRun` Gradle task.

View file

@ -1,46 +0,0 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
}
kotlin {
androidTarget()
sourceSets {
val androidMain by getting {
dependencies {
implementation(project(":shared"))
}
}
}
}
android {
compileSdk = (findProperty("android.compileSdk") as String).toInt()
namespace = "com.menagerie.cookbook"
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdk = (findProperty("android.minSdk") as String).toInt()
targetSdk = (findProperty("android.targetSdk") as String).toInt()
versionCode = 1
versionName = "1.0"
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("debug")
}
}
kotlin {
jvmToolchain(11)
}
}
dependencies {
implementation(libs.androidx.window)
}

View file

@ -1,19 +0,0 @@
package com.cookbook
import MainView
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.WindowCompat
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, true)
setContent {
MainView()
}
}
}

View file

@ -1,30 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

View file

@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View file

@ -1,39 +0,0 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
}
kotlin {
androidTarget()
sourceSets {
val androidMain by getting {
dependencies {
implementation(project(":shared"))
}
}
}
}
android {
compileSdk = (findProperty("android.compileSdk") as String).toInt()
namespace = "com.menagerie.cookbook"
sourceSets["main"].manifest.srcFile("src/main/AndroidManifest.xml")
defaultConfig {
minSdk = (findProperty("android.minSdk") as String).toInt()
targetSdk = (findProperty("android.targetSdk") as String).toInt()
versionCode = 1
versionName = "1.0"
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlin {
jvmToolchain(11)
}
}

View file

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature
android:name="android.hardware.type.automotive"
android:required="true" />
<uses-feature
android:name="android.software.leanback"
android:required="false" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<application
android:allowBackup="true"
android:appCategory="audio"
android:banner="@drawable/ic_launcher_foreground"
android:icon="@drawable/ic_launcher_foreground"
android:label="@string/app_name"
android:roundIcon="@drawable/ic_launcher_foreground"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<activity
android:name="com.recipe.automotiveapp.MainActivityAutomotive"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View file

@ -1,15 +0,0 @@
package com.recipe.automotiveapp
import MainView
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
class MainActivityAutomotive : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MainView(isLargeScreen = true)
}
}
}

View file

@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View file

@ -1,30 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 982 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

View file

@ -1,3 +0,0 @@
<resources>
<string name="app_name">Baker\'s Menagerie</string>
</resources>

View file

@ -1,19 +1,9 @@
plugins {
// this is necessary to avoid the plugins to be loaded multiple times
// in each subproject's classloader
alias(libs.plugins.kotlin.multiplatform).apply(false)
alias(libs.plugins.android.application).apply(false)
alias(libs.plugins.android.library).apply(false)
alias(libs.plugins.compose).apply(false)
}
allprojects {
repositories {
google()
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
mavenLocal()
maven("https://maven.pkg.jetbrains.space/kotlin/p/wasm/experimental")
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev/")
}
}
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.androidLibrary) apply false
alias(libs.plugins.composeMultiplatform) apply false
alias(libs.plugins.composeCompiler) apply false
alias(libs.plugins.kotlinMultiplatform) apply false
}

View file

@ -1,10 +0,0 @@
#!/bin/sh
rm -rf .idea
./gradlew clean
rm -rf .gradle
rm -rf build
rm -rf */build
rm -rf iosApp/iosApp.xcworkspace
rm -rf iosApp/Pods
rm -rf iosApp/iosApp.xcodeproj/project.xcworkspace
rm -rf iosApp/iosApp.xcodeproj/xcuserdata

122
composeApp/build.gradle.kts Normal file
View file

@ -0,0 +1,122 @@
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.androidApplication)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
}
kotlin {
androidTarget {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_11)
}
}
jvm("desktop")
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
moduleName = "composeApp"
browser {
val rootDirPath = project.rootDir.path
val projectDirPath = project.projectDir.path
commonWebpackConfig {
outputFileName = "composeApp.js"
devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply {
static = (static ?: mutableListOf()).apply {
// Serve sources to debug inside browser
add(rootDirPath)
add(projectDirPath)
}
}
}
}
binaries.executable()
}
sourceSets {
val desktopMain by getting
androidMain.dependencies {
implementation(compose.preview)
implementation(libs.androidx.activity.compose)
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.ui)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.material3)
implementation(libs.androidx.navigation.compose)
implementation(libs.multiplatform.settings)
implementation(libs.multiplatform.settings.no.arg)
}
desktopMain.dependencies {
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
}
}
}
android {
namespace = "com.menagerie.bakers"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
applicationId = "com.menagerie.bakers"
minSdk = libs.versions.android.minSdk.get().toInt()
targetSdk = libs.versions.android.targetSdk.get().toInt()
versionCode = 1
versionName = "1.0.0"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("debug")
applicationVariants.all {
val variant = this
variant.outputs
.map { it as com.android.build.gradle.internal.api.BaseVariantOutputImpl }
.forEach { output ->
val outputFileName = "bakers-menagerie${variant.flavorName}_${variant.buildType.name}_${variant.versionName}.apk"
output.outputFileName = outputFileName
}
}
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
dependencies {
debugImplementation(compose.uiTooling)
}
compose.desktop {
application {
mainClass = "com.menagerie.bakers.MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "com.menagerie.bakers"
packageVersion = "1.0.0"
}
}
}

View file

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
android:theme="@android:style/Theme.Material.Light.NoActionBar">
<activity
android:name="com.cookbook.MainActivity"
android:exported="true">
android:exported="true"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden|mnc|colorMode|density|fontScale|fontWeightAdjustment|keyboard|layoutDirection|locale|mcc|navigation|smallestScreenSize|touchscreen|uiMode"
android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View file

@ -0,0 +1,31 @@
package com.menagerie.bakers
import android.content.res.Configuration
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.ui.platform.LocalConfiguration
import androidx.core.view.WindowCompat
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, true)
DisplayManager.device = Device.Android
setContent {
DisplayManager.size = Size.Small
DisplayManager.orientation = when(LocalConfiguration.current.orientation) {
Configuration.ORIENTATION_PORTRAIT -> Orientation.Portrait
Configuration.ORIENTATION_LANDSCAPE -> Orientation.Landscape
else -> Orientation.Landscape
}
App()
}
}
}

View file

@ -0,0 +1,6 @@
package com.menagerie.bakers
import com.russhwolf.settings.BuildConfig
actual val isDebug: Boolean
get() = BuildConfig.DEBUG

View file

@ -0,0 +1,22 @@
package com.menagerie.bakers.util
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
class AndroidClipboardController(private val context: Context) : ClipboardController {
override fun copyToClipboard(text: String) {
val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("Copied Text", text)
clipboardManager.setPrimaryClip(clip)
}
}
@Composable
actual fun rememberClipboardController(): ClipboardController {
val context = LocalContext.current
return remember(context) { AndroidClipboardController(context) }
}

View file

@ -0,0 +1,53 @@
package com.menagerie.bakers.view
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import com.menagerie.bakers.SortBy
import com.menagerie.bakers.Theme
import com.menagerie.bakers.model.TTT
import com.menagerie.bakers.view.util.MainDropDown
@Composable
actual fun SettingsMenu(
theme: Theme,
onTheme: () -> Unit,
animate: Boolean,
onAnim: () -> Unit,
helpUs: Boolean,
onHelpToggle: (Boolean) -> Unit,
ttt: TTT,
onTTTToggle: () -> Unit,
andOr: Boolean,
onAndOr: () -> Unit,
sortBy: SortBy,
onSortToggle: () -> Unit,
descending: Boolean,
onDesc: () -> Unit,
onRandom: () -> Unit,
onBack: () -> Unit,
onClear: () -> Unit,
discreet: Boolean,
onDiscreet: () -> Unit,
) {
MainDropDown(
modifier = Modifier,
andOr = andOr,
descending = descending,
theme = theme,
sortBy = sortBy,
helpUs = helpUs,
animate = animate,
ttt = ttt,
onHelp = onHelpToggle,
onTTTToggle = onTTTToggle,
onTag = onAndOr,
onSortBy = onSortToggle,
onDesc = onDesc,
onTheme = onTheme,
onAnim = onAnim,
onRandom = onRandom,
onBack = {},
onDiscreet = onDiscreet,
discreet = discreet,
) { }
}

View file

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ophelia_background" />
<foreground android:drawable="@drawable/ophelia" />
<monochrome android:drawable="@drawable/ophelia"/>
</adaptive-icon>

View file

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ophelia_background" />
<foreground android:drawable="@drawable/ophelia" />
<monochrome android:drawable="@drawable/ophelia"/>
</adaptive-icon>

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 592 KiB

After

Width:  |  Height:  |  Size: 592 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M396-396q-32-32-58.5-67T289-537q-5 14-6.5 28.5T281-480q0 83 58 141t141 58q14 0 28.5-2t28.5-6q-39-22-74-48.5T396-396Zm57-56q51 51 114 87.5T702-308q-40 51-98 79.5T481-200q-117 0-198.5-81.5T201-480q0-65 28.5-123t79.5-98q20 72 56.5 135T453-452Zm290 72q-20-5-39.5-11T665-405q8-18 11.5-36.5T680-480q0-83-58.5-141.5T480-680q-20 0-38.5 3.5T405-665q-8-19-13.5-38T381-742q24-9 49-13.5t51-4.5q117 0 198.5 81.5T761-480q0 26-4.5 51T743-380ZM440-840v-120h80v120h-80Zm0 840v-120h80V0h-80Zm323-706-57-57 85-84 57 56-85 85ZM169-113l-57-56 85-85 57 57-85 84Zm671-327v-80h120v80H840ZM0-440v-80h120v80H0Zm791 328-85-85 57-57 84 85-56 57ZM197-706l-84-85 56-57 85 85-57 57Zm199 310Z"/></svg>

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

View file

@ -33,4 +33,4 @@
android:fillColor="#00000000"
android:strokeColor="#083042"
android:fillType="nonZero"/>
</vector>
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120q-150 0-255-105T120-480q0-150 105-255t255-105q14 0 27.5 1t26.5 3q-41 29-65.5 75.5T444-660q0 90 63 153t153 63q55 0 101-24.5t75-65.5q2 13 3 26.5t1 27.5q0 150-105 255T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z"/></svg>

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120q-138 0-240.5-91.5T122-440h82q14 104 92.5 172T480-200q117 0 198.5-81.5T760-480q0-117-81.5-198.5T480-760q-69 0-129 32t-101 88h110v80H120v-240h80v94q51-64 124.5-99T480-840q75 0 140.5 28.5t114 77q48.5 48.5 77 114T840-480q0 75-28.5 140.5t-77 114q-48.5 48.5-114 77T480-120Zm112-192L440-464v-216h80v184l128 128-56 56Z"/></svg>

After

Width:  |  Height:  |  Size: 444 B

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:pathData="M480,840Q342,840 239.5,748.5Q137,657 122,520L204,520Q218,624 296.5,692Q375,760 480,760Q597,760 678.5,678.5Q760,597 760,480Q760,363 678.5,281.5Q597,200 480,200Q411,200 351,232Q291,264 250,320L360,320L360,400L120,400L120,160L200,160L200,254Q251,190 324.5,155Q398,120 480,120Q555,120 620.5,148.5Q686,177 734.5,225.5Q783,274 811.5,339.5Q840,405 840,480Q840,555 811.5,620.5Q783,686 734.5,734.5Q686,783 620.5,811.5Q555,840 480,840ZM592,648L440,496L440,280L520,280L520,464L648,592L592,648Z"
android:fillColor="#e3e3e3"/>
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM200-440H40v-80h160v80Zm720 0H760v-80h160v80ZM440-760v-160h80v160h-80Zm0 720v-160h80v160h-80ZM256-650l-101-97 57-59 96 100-52 56Zm492 496-97-101 53-55 101 97-57 59Zm-98-550 97-101 59 57-100 96-56-52ZM154-212l101-97 55 53-97 101-59-57Zm326-268Z"/></svg>

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

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