Checkout live web version based on WASM here shreyashkore.github.io/wonderous-compose-wasm/
For the version based on JS see shreyashkore.github.io/wonderous-compose-js/
Note: Some gestures do not work on the web/desktop platforms. For scrolling horizontally use
Shift + Scroll
.🚧 WORK IN PROGRESS 🚧
Contributions are welcome!
Wonderous Compose is a port of Wonderous in Compose Multiplatform. Wonderous Compose is a visual showcase of eight wonders of the world. The original project was built by team gskinner using Flutter. This project is a tribute to their original work, with an aim to explore the design possibilities with Compose.
Artworks and logos are taken from the original project's GitHub repo. Public-domain artwork from The Metropolitan Museum of Art, New Your. Photography from Unsplash.
ArtifactListViewModel
view model for business logic.TimelineState
which
is kind of a view controller for managing state of timeline. It manages conversion
of year to scroll position and vice versa.This project uses experimental DSL to configure custom hierarchy.
applyDefaultHierarchyTemplate {
common {
group("nonWeb") {
withAndroidTarget()
withNative()
withJvm()
}
group("web") {
withJs()
withWasm()
}
}
}
Here 2 additional intermediate source sets are created to share code among web platforms.
nonWeb
contains all the targets except JS and WASM.web
contains only the JS and WASM targets[x] WASM support
[ ] Collectibles and My Collection Screen
[ ] Localization
[ ] Gesture support on Web and Desktop platforms
[X] Shared Element Transition on the home screen
[x] Haptics
For compose multiplatform setup information checkout the documentation.
local.properties
at the project root.MAPS_API_KEY=YOUR_KEY
key.properties
at the project root (For the lazy ones like me; Just remove signingConfigs
and keyProp
block from composeApp/build.gradle.kts
).storePassword=storePassword
keyPassword=keyPassword
alias=myKey
path=path/To/key.jks