Comments (12)
I'm willing to try this out, if you haven't started it yet
yes, you can try. Thank You! 😃
from slimekt.
No issues. Don't hesitate to connect with me if you need any help with the implementation. Good Luck!
from slimekt.
Sounds like it's a good plan. You can proceed with it as this project is open to new ideas.
from slimekt.
I'm willing to try this out, if you haven't started it yet
from slimekt.
I did a little bit workaround on it. But the library requires compose version of 1.1 or 1.2
from slimekt.
I see. If the library provides significant benefits over the official compose navigation library, I think we should downgrade the compose version.
from slimekt.
I agree, let me know if I can help you in downgrading the compose version.
from slimekt.
Please create a fork and downgrade the compose version in order to try the Compose Destination library. Looking forward for your code contribution to this repo.
from slimekt.
Okay, I'm very excited for my first contribution. It'll take time because of my tight schedule. But I'll try to do it every day. Thank you.
from slimekt.
Hello @kasem-sm. You have passed functions for the navigation among the screens. It'll be easier if we declare those functions in the specific screen bypassing the nav controller. Is there any strong reason to not doing like that? Now I'm willing to do that. Are ok with that?
from slimekt.
Hi. I wanted to have the project scalable. I guess the compose destination library has its own wrapper around nav controller. Imagine replacing the parameters at 10 or more different screen just because you swapped out a library. In future if you shifted to KMM and want to use Decompose library for navigation or any other, it would be just easy to change things at one file or one module rather than 10 different modules.
This is my personal opinion and I may not be right. If you think there is some other way, please let me know :)
from slimekt.
Yeah, you are right. I can achieve your requirement by providing dependencies through the NavHost to each module. But still using the route(string) for navigation is not sense. So instead of using the route as a param for those lambda functions, we can pass an object of the destination sealed class you have created. Instead of having the route in the sealed class we can use the auto generated Direction object. Now we can define our navigation functions in the app module. If we are going to change to any navigation library we will just change the sealed class(Destination) and the navigation functions in NavHost.
from slimekt.
Related Issues (20)
- App crashes on Android 13 DP2 & Beta 1 HOT 1
- App crashes sometimes after successful log-in HOT 1
- Create a gradle task to generate modularization graph diagram using graphviz HOT 1
- App crashes when google-servies.json is missing
- Migrate to Ktor 2.0 (Android app) HOT 1
- Migrate to Ktor 2.0 (API client)
- Project structure Improvements. HOT 1
- Support different screen sizes
- Navigate to Article List screen from Detail screen
- Migrate to version catalogs (gradle) HOT 6
- Fix white screen blink on dark mode
- Migrate room to use KSP instead of kapt
- Getting "Special characters are not allowed" while entering username with space at end in Register Screen HOT 5
- Slime API throws 503. [Investigating the issue]
- Migrate SlimeKT's backend to any other platform as Heroku is closing it free dynos HOT 3
- Implement Settings screen using EasyStore library HOT 4
- Migrate to KMP
- Setup Firebase 🔥
- Share articles on social media feature
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slimekt.