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

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"> <component name="deploymentTargetDropDown">
<value> <value>
<entry key="app"> <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> </entry>
</value> </value>
</component> </component>

2
.idea/gradle.xml generated
View File

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

View File

@@ -7,7 +7,10 @@ import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import com.novayaplaneta.ui.components.BottomNavigationBar import com.novayaplaneta.ui.components.BottomNavigationBar
import com.novayaplaneta.ui.navigation.NewPlanetNavigation import com.novayaplaneta.ui.navigation.NewPlanetNavigation
@@ -22,12 +25,19 @@ class MainActivity : ComponentActivity() {
setContent { setContent {
NewPlanetTheme { NewPlanetTheme {
val navController = rememberNavController() 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( Scaffold(
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
bottomBar = { bottomBar = {
if (currentRoute != "login") { if (showBottomBar) {
BottomNavigationBar( BottomNavigationBar(
currentRoute = currentRoute, currentRoute = currentRoute,
onNavigate = { route -> onNavigate = { route ->
@@ -47,7 +57,10 @@ class MainActivity : ComponentActivity() {
navController = navController, navController = navController,
modifier = Modifier modifier = Modifier
.fillMaxSize() .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.NavHost
import androidx.navigation.compose.composable import androidx.navigation.compose.composable
import com.novayaplaneta.ui.screens.ai.AIScreen 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.LoginScreen
import com.novayaplaneta.ui.screens.auth.RegistrationScreen
import com.novayaplaneta.ui.screens.rewards.RewardsScreen import com.novayaplaneta.ui.screens.rewards.RewardsScreen
import com.novayaplaneta.ui.screens.schedule.ScheduleScreen import com.novayaplaneta.ui.screens.schedule.ScheduleScreen
import com.novayaplaneta.ui.screens.settings.SettingsScreen import com.novayaplaneta.ui.screens.settings.SettingsScreen
@@ -27,6 +29,12 @@ fun NewPlanetNavigation(
composable("login") { composable("login") {
LoginScreen(navController = navController) LoginScreen(navController = navController)
} }
composable("registration") {
RegistrationScreen(navController = navController)
}
composable("forgot_password") {
ForgotPasswordScreen(navController = navController)
}
composable("schedule") { composable("schedule") {
ScheduleScreen() ScheduleScreen()
} }

View File

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