Skip to content

Commit 081e04b

Browse files
authored
Merge pull request #34 from azrael8576/feat/home
Add home screen
2 parents 1d8a137 + f4a54ab commit 081e04b

File tree

21 files changed

+885
-8
lines changed

21 files changed

+885
-8
lines changed

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ android {
6868
dependencies {
6969
implementation(project(":feature:login"))
7070
implementation(project(":feature:teacherschedule"))
71+
implementation(project(":feature:home"))
7172
implementation(project(":feature:contactme"))
7273

7374
implementation(project(":core:designsystem"))

app/src/main/java/com/wei/amazingtalker/navigation/AtNavHost.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import androidx.navigation.compose.NavHost
66
import androidx.window.layout.DisplayFeature
77
import com.wei.amazingtalker.core.designsystem.ui.DeviceOrientation
88
import com.wei.amazingtalker.feature.contactme.contactme.navigation.contactMeScreen
9+
import com.wei.amazingtalker.feature.home.home.navigation.homeGraph
910
import com.wei.amazingtalker.feature.login.login.navigation.loginScreen
1011
import com.wei.amazingtalker.feature.login.welcome.navigation.welcomeGraph
1112
import com.wei.amazingtalker.feature.login.welcome.navigation.welcomeRoute
@@ -39,13 +40,6 @@ fun AtNavHost(
3940
startDestination = startDestination,
4041
modifier = modifier,
4142
) {
42-
scheduleGraph(
43-
navController = navController,
44-
tokenInvalidNavigate = { appState.tokenInvalidNavigate() },
45-
nestedGraphs = {
46-
scheduleDetailScreen(navController = navController)
47-
},
48-
)
4943
welcomeGraph(
5044
isPortrait = isPortrait,
5145
navController = navController,
@@ -55,6 +49,14 @@ fun AtNavHost(
5549
)
5650
},
5751
)
52+
scheduleGraph(
53+
navController = navController,
54+
tokenInvalidNavigate = { appState.tokenInvalidNavigate() },
55+
nestedGraphs = {
56+
scheduleDetailScreen(navController = navController)
57+
},
58+
)
59+
homeGraph()
5860
contactMeScreen(
5961
navController = navController,
6062
contentType = contentType,

app/src/main/java/com/wei/amazingtalker/ui/AtAppState.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ import com.wei.amazingtalker.core.designsystem.ui.isBookPosture
2828
import com.wei.amazingtalker.core.designsystem.ui.isSeparating
2929
import com.wei.amazingtalker.feature.contactme.contactme.navigation.contactMeRoute
3030
import com.wei.amazingtalker.feature.contactme.contactme.navigation.navigateToContactMe
31+
import com.wei.amazingtalker.feature.home.home.navigation.homeRoute
32+
import com.wei.amazingtalker.feature.home.home.navigation.navigateToHome
3133
import com.wei.amazingtalker.feature.login.login.navigation.loginRoute
3234
import com.wei.amazingtalker.feature.login.welcome.navigation.navigateToWelcome
3335
import com.wei.amazingtalker.feature.login.welcome.navigation.welcomeRoute
@@ -159,6 +161,7 @@ class AtAppState(
159161
@Composable get() = when (currentDestination?.route) {
160162
scheduleRoute -> TopLevelDestination.SCHEDULE
161163
contactMeRoute -> TopLevelDestination.CONTACT_ME
164+
homeRoute -> TopLevelDestination.HOME
162165
else -> null
163166
}
164167

@@ -206,6 +209,10 @@ class AtAppState(
206209
topLevelNavOptions,
207210
)
208211

212+
TopLevelDestination.HOME -> navController.navigateToHome(
213+
topLevelNavOptions,
214+
)
215+
209216
TopLevelDestination.CONTACT_ME -> navController.navigateToContactMe(
210217
topLevelNavOptions,
211218
)

core/designsystem/src/main/java/com/wei/amazingtalker/core/designsystem/icon/AtIcons.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import androidx.compose.material.icons.outlined.Home
66
import androidx.compose.material.icons.outlined.Info
77
import androidx.compose.material.icons.outlined.SupportAgent
88
import androidx.compose.material.icons.outlined.Upcoming
9+
import androidx.compose.material.icons.rounded.Add
910
import androidx.compose.material.icons.rounded.ArrowBack
1011
import androidx.compose.material.icons.rounded.ArrowBackIosNew
1112
import androidx.compose.material.icons.rounded.ArrowForward
@@ -14,9 +15,12 @@ import androidx.compose.material.icons.rounded.CalendarMonth
1415
import androidx.compose.material.icons.rounded.Close
1516
import androidx.compose.material.icons.rounded.Home
1617
import androidx.compose.material.icons.rounded.Info
18+
import androidx.compose.material.icons.rounded.Menu
19+
import androidx.compose.material.icons.rounded.Person
1720
import androidx.compose.material.icons.rounded.Phone
1821
import androidx.compose.material.icons.rounded.Search
1922
import androidx.compose.material.icons.rounded.Settings
23+
import androidx.compose.material.icons.rounded.Star
2024
import androidx.compose.material.icons.rounded.SupportAgent
2125
import androidx.compose.material.icons.rounded.Upcoming
2226
import androidx.compose.ui.graphics.vector.ImageVector
@@ -43,4 +47,8 @@ object AtIcons {
4347
val Phone = Icons.Rounded.Phone
4448
val Upcoming = Icons.Rounded.Upcoming
4549
val UpcomingBorder = Icons.Outlined.Upcoming
50+
val Star = Icons.Rounded.Star
51+
val Person = Icons.Rounded.Person
52+
val Menu = Icons.Rounded.Menu
53+
val Add = Icons.Rounded.Add
4654
}

feature/contactme/src/main/java/com/wei/amazingtalker/feature/contactme/contactme/ui/ProfileProperty.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import com.wei.amazingtalker.core.designsystem.component.baselineHeight
1515
@Composable
1616
fun ProfileProperty(label: String, value: String, isLink: Boolean = false) {
1717
Column(modifier = Modifier.padding(vertical = 8.dp)) {
18-
Divider()
18+
Divider(color = MaterialTheme.colorScheme.outline)
1919
Text(
2020
text = label,
2121
modifier = Modifier

feature/home/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

feature/home/build.gradle.kts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
plugins {
2+
alias(libs.plugins.at.android.feature)
3+
alias(libs.plugins.at.android.library.compose)
4+
alias(libs.plugins.at.android.hilt)
5+
}
6+
7+
android {
8+
namespace = "com.wei.amazingtalker.feature.home"
9+
}
10+
11+
dependencies {
12+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
</manifest>

0 commit comments

Comments
 (0)