Сделал экран регистрации и забыли пароль (проверка почты)

This commit is contained in:
2025-12-19 11:39:53 +03:00
parent 6ddd6f082b
commit 4cb7b2d6d1
5 changed files with 41 additions and 7 deletions

View File

@@ -3,7 +3,20 @@
<component name="deploymentTargetDropDown">
<value>
<entry key="app">
<State />
<State>
<targetSelectedWithDropDown>
<Target>
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="C:\Users\kiril\.android\avd\Pixel_Tablet_API_36_2.avd" />
</Key>
</deviceKey>
</Target>
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2025-12-19T08:16:18.827384500Z" />
</State>
</entry>
</value>
</component>

2
.idea/gradle.xml generated
View File

@@ -4,7 +4,6 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
<option name="modules">
@@ -13,6 +12,7 @@
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveExternalAnnotations" value="false" />
</GradleProjectSettings>
</option>
</component>

View File

@@ -7,7 +7,10 @@ import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.novayaplaneta.ui.components.BottomNavigationBar
import com.novayaplaneta.ui.navigation.NewPlanetNavigation
@@ -22,12 +25,19 @@ class MainActivity : ComponentActivity() {
setContent {
NewPlanetTheme {
val navController = rememberNavController()
val currentRoute = navController.currentDestination?.route
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentRoute = navBackStackEntry?.destination?.route
// Нижняя панель не показывается на экранах входа, регистрации и восстановления пароля
val showBottomBar = currentRoute != null &&
currentRoute != "login" &&
currentRoute != "registration" &&
currentRoute != "forgot_password"
Scaffold(
modifier = Modifier.fillMaxSize(),
bottomBar = {
if (currentRoute != "login") {
if (showBottomBar) {
BottomNavigationBar(
currentRoute = currentRoute,
onNavigate = { route ->
@@ -47,7 +57,10 @@ class MainActivity : ComponentActivity() {
navController = navController,
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
.padding(
// Убираем нижний отступ на экране входа
bottom = if (showBottomBar) innerPadding.calculateBottomPadding() else 0.dp
)
)
}
}

View File

@@ -6,7 +6,9 @@ import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import com.novayaplaneta.ui.screens.ai.AIScreen
import com.novayaplaneta.ui.screens.auth.ForgotPasswordScreen
import com.novayaplaneta.ui.screens.auth.LoginScreen
import com.novayaplaneta.ui.screens.auth.RegistrationScreen
import com.novayaplaneta.ui.screens.rewards.RewardsScreen
import com.novayaplaneta.ui.screens.schedule.ScheduleScreen
import com.novayaplaneta.ui.screens.settings.SettingsScreen
@@ -27,6 +29,12 @@ fun NewPlanetNavigation(
composable("login") {
LoginScreen(navController = navController)
}
composable("registration") {
RegistrationScreen(navController = navController)
}
composable("forgot_password") {
ForgotPasswordScreen(navController = navController)
}
composable("schedule") {
ScheduleScreen()
}

View File

@@ -265,7 +265,7 @@ fun LoginScreen(
color = LoginGreenAccent,
fontWeight = FontWeight.Medium,
modifier = Modifier.clickable {
// TODO: Переход на регистрацию
navController.navigate("registration")
}
)
@@ -275,7 +275,7 @@ fun LoginScreen(
color = LoginGreenAccent,
fontWeight = FontWeight.Medium,
modifier = Modifier.clickable {
// TODO: Переход на восстановление пароля
navController.navigate("forgot_password")
}
)
}