Skip to content

Feature/decompose root#63

Open
eerterr wants to merge 5 commits into
devfrom
feature/decompose-root
Open

Feature/decompose root#63
eerterr wants to merge 5 commits into
devfrom
feature/decompose-root

Conversation

@eerterr

@eerterr eerterr commented Jun 16, 2026

Copy link
Copy Markdown

Summary

Implemented root navigation for the mobile application using Decompose. Added Authentication as the initial destination and prepared the navigation structure for future screens.

Changes

  • Added RootComponent with stack-based navigation.
  • Added Authentication as the initial navigation configuration.
  • Added creation of AuthenticationComponent in RootComponent.
  • Added @Serializable annotations for navigation configurations.
  • Moved root navigation contract and implementation into a single file.
  • Fixed Gradle build instability by adjusting JVM memory settings.

Related Issues

Closes #54

@PavMash PavMash self-requested a review June 16, 2026 19:18
Comment on lines +19 to +21
class Authentication(
val component: IAuthenticationComponent
) : Child()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Пиши в одну строку, тут не так длинно получается

class Authentication(val component: IAuthenticationComponent): Child()


val stack: Value<ChildStack<*, Child>>

sealed class Child {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавь наследников Child для ai_interactions, quiz_edit, quiz_list, quiz_solve и settings. По такому же принципу как authentication

Comment on lines +30 to +34
@Serializable
sealed class Config {
@Serializable
data object Authentication : Config()
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Убери Config в самый низ. Добавь еще остальных наследников как в Child

source = navigation,
serializer = null,
initialConfiguration = Config.Authentication,
handleBackButton = true,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше сделай false. Добавим потом функцию back и будем вручную на каждый экран прокидывать. Тогда при нажатии back можно будет дополнительно какую то логику исполнять

Comment on lines +48 to +52
Config.Authentication ->
IRootComponent.Child.Authentication(
AuthenticationComponent(componentContext)
)
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавь по такому же принципу для остальных фич

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[TASK] Create navigation root in mobile app

2 participants