pushpalroy / JetLime

A Kotlin Multiplatform library to display a timeline view. 🍋
https://jetlime.pushpalroy.com
MIT License
460 stars 24 forks source link

Compose Multiplatform support #35

Closed pisoj closed 2 months ago

pisoj commented 4 months ago

Introduces support for Compose Multiplatform projects. The library and the sample app are both migrated to support Android, iOS, Desktop (Windows, macOS, Linux) and the Web via kotlin/wasm.

As a result of this migration the project is now using Kotlin 2.0.0. I manually tested every platform except linux. All instrumented tests also pass. I ran spotlessApply and fixed all the issues, but for some reason it keeps making the App function in /sample/composeApp/commonMain/kotlin/App.kt private and I have not found a way to fix that (it still does the same when I run ./gradlew spotlessApply).

I also do not know anything about publishing a library, so that part is untested, but generating documentation works.

To run on any desktop platform:

./gradlew :sample:composeApp:run

To run on web:

./gradlew :sample:composeApp:wasmJsRun

closes #30 closes #31 closes #34

Windows

2024-06-16_202404

Web

2024-06-16_203121

macOS

Screenshot 2024-06-16 at 19 13 38

iOS

Simulator Screenshot - iPhone 15 Pro - 2024-06-16 at 19 16 21

Android

Screenshot_20240616_190738

pushpalroy commented 4 months ago

This looks great! 💯 Thanks for raising this PR. Let me review this.

N7ghtm4r3 commented 3 months ago

Hi, any updates on this PR?

pushpalroy commented 3 months ago

Working on reviewing the code and getting this merged asap.

N7ghtm4r3 commented 3 months ago

Thank you!

070hm commented 2 months ago

Thank you so much for this PR! I really needed a timeline feature in my desktop app, and this is going to save me a lot of time.

abdallahmehiz commented 2 months ago

Amazing work

armond-avanes commented 2 months ago

Great job! Is there any ETA for when the PR is going to be merged?

pushpalroy commented 2 months ago

Great job! Is there any ETA for when the PR is going to be merged?

This PR should be merged by this month and a KMP library will be released.

pushpalroy commented 2 months ago

Great job! Is there any ETA for when the PR is going to be merged?

This PR should be merged by this month and a KMP library will be released.

The library has been migrated to KMP now and released with version 3.0.0 in the same artifact! 🚀 The library can now be used in Android, iOS, Desktop, and WASM projects! ⚡

A huge shoutout to @pisoj for raising this PR and doing the heavy lifting! 👏🏻 👏🏻

This PR will be merged now and the ReadMe will be updated with migration details. Thanks to everyone who is using this library, please provide your feedback and raise issues if needed.

N7ghtm4r3 commented 2 months ago

Thank you so much for the porting and this PR!