This commit introduces a comprehensive set of features, establishing the core functionality of the application using an MVVM architecture with Hilt for dependency injection.
**Key Changes:**
* **UI & Navigation:**
* Implemented navigation between the main feed, post details, and login screens using Jetpack Navigation Compose.
* Added `TalkScreen` for displaying a feed of posts and `PostDetailScreen` for viewing individual posts and their comments.
* Created a `LoginScreen` with input fields and authentication logic.
* Introduced `PostCardItem` and `CommentItem` Composables for a consistent and reusable UI.
* Added shared element transitions for a smoother user experience when navigating to post details.
* **Architecture & State Management:**
* Integrated Hilt for dependency injection across ViewModels and Repositories.
* Created ViewModels (`TalkViewModel`, `PostDetailViewModel`, `UserViewModel`, `CommentViewModel`, etc.) to manage UI state and business logic.
* Implemented Repository pattern for abstracting data sources from the backend API.
* Defined UI state data classes to ensure a predictable and observable state flow.
* **Data & Models:**
* Introduced data models for `PostCard` and `CommentCard` to aggregate and display complex data structures.
* Added `PostDetailRepository` to orchestrate fetching of post and comment data concurrently.
* Refined DTOs, such as `CreateCommentDto`, for API interactions.
* **Dependencies & Tooling:**
* Added Hilt, Navigation Compose, and Lifecycle ViewModel dependencies.
* Included the `pangu-jvm` library for improved text formatting with spacing between Chinese and English characters.
37 lines
711 B
JSON
37 lines
711 B
JSON
{
|
|
"version": 3,
|
|
"artifactType": {
|
|
"type": "APK",
|
|
"kind": "Directory"
|
|
},
|
|
"applicationId": "com.qingshuige.tangyuan",
|
|
"variantName": "release",
|
|
"elements": [
|
|
{
|
|
"type": "SINGLE",
|
|
"filters": [],
|
|
"attributes": [],
|
|
"versionCode": 1,
|
|
"versionName": "1.0",
|
|
"outputFile": "app-release.apk"
|
|
}
|
|
],
|
|
"elementType": "File",
|
|
"baselineProfiles": [
|
|
{
|
|
"minApi": 28,
|
|
"maxApi": 30,
|
|
"baselineProfiles": [
|
|
"baselineProfiles/1/app-release.dm"
|
|
]
|
|
},
|
|
{
|
|
"minApi": 31,
|
|
"maxApi": 2147483647,
|
|
"baselineProfiles": [
|
|
"baselineProfiles/0/app-release.dm"
|
|
]
|
|
}
|
|
],
|
|
"minSdkVersionForDexing": 24
|
|
} |