From 9c386f981a3a512fbefe430036de757f69b0f1fd Mon Sep 17 00:00:00 2001 From: dadachi Date: Tue, 28 Apr 2026 18:59:17 +0900 Subject: [PATCH] Drop unused tags-scanned count and howToUse; tighten ItemTag labels Port iOS NativeAppTemplate-iOS#61 to Android: - Drop `scannedItemTagsCount` from Attributes/Data and remove the "tags scanned by customers" stat from ShopListCardView. - Add a left-aligned shop_detail_instruction header to ShopDetailView ("Swipe an item tag to change its status."). - Swap OnboardingView's How-To-Use link for the Support Website link and trim onboarding from 13 to 8 descriptions; update placeholder strings to match the iOS copy. - Normalize ItemTag labels: label_add_tag/add_tag_description/ label_edit_item_tag/title_delete_item_tag and message_item_tag_* values now read "Item Tag" / "Item tag" consistently. - Drop unused HOW_TO_USE_URL, R.string.how_to_use, R.string.learn_more. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../nativeapptemplatefree/NatConstants.kt | 1 - .../ui/app_root/OnboardingView.kt | 6 +-- .../ui/app_root/OnboardingViewModel.kt | 10 ----- .../ui/shop_detail/ShopDetailView.kt | 11 ++++++ .../item_tag_list/ItemTagCreateView.kt | 4 +- .../item_tag_list/ItemTagListView.kt | 4 +- .../ui/shops/ShopListCardView.kt | 2 - app/src/main/res/values/strings.xml | 38 ++++++++----------- .../nativeapptemplatefree/model/Attributes.kt | 3 -- .../nativeapptemplatefree/model/Data.kt | 2 - 10 files changed, 34 insertions(+), 47 deletions(-) diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/NatConstants.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/NatConstants.kt index 4ee6899..faa4cf3 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/NatConstants.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/NatConstants.kt @@ -2,7 +2,6 @@ package com.nativeapptemplate.nativeapptemplatefree object NatConstants { const val SUPPORT_MAIL: String = "support@nativeapptemplate.com" - const val HOW_TO_USE_URL: String = "https://myturntag.com/how" const val SUPPORT_WEBSITE_URL: String = "https://nativeapptemplate.com" const val FAQS_URL: String = "https://nativeapptemplate.com/faqs" const val PRIVACY_POLICY_URL: String = "https://nativeapptemplate.com/privacy" diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingView.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingView.kt index a3bd452..0f60a77 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingView.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingView.kt @@ -47,7 +47,7 @@ internal fun OnboardingView( val fontSizeLarge = 24 val lineHeightLarge = 26 val pagerState = rememberPagerState(pageCount = { - 13 + 8 }) Scaffold( @@ -144,10 +144,10 @@ private fun TopAppBar( }, navigationIcon = { TextButton( - onClick = { context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(NatConstants.HOW_TO_USE_URL))) }, + onClick = { context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(NatConstants.SUPPORT_WEBSITE_URL))) }, ) { Text( - stringResource(R.string.how_to_use), + stringResource(R.string.support_website), ) } }, diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingViewModel.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingViewModel.kt index 51c46ee..f2c3666 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingViewModel.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/OnboardingViewModel.kt @@ -18,11 +18,6 @@ class OnboardingViewModel @Inject constructor() : ViewModel() { 5 -> R.string.onboarding_description6 6 -> R.string.onboarding_description7 7 -> R.string.onboarding_description8 - 8 -> R.string.onboarding_description9 - 9 -> R.string.onboarding_description10 - 10 -> R.string.onboarding_description11 - 11 -> R.string.onboarding_description12 - 12 -> R.string.onboarding_description13 else -> R.string.onboarding_description1 } @@ -39,11 +34,6 @@ class OnboardingViewModel @Inject constructor() : ViewModel() { 5 -> R.drawable.ic_overview6 6 -> R.drawable.ic_overview7 7 -> R.drawable.ic_overview8 - 8 -> R.drawable.ic_overview9 - 9 -> R.drawable.ic_overview10 - 10 -> R.drawable.ic_overview11 - 11 -> R.drawable.ic_overview12 - 12 -> R.drawable.ic_overview13 else -> R.drawable.ic_overview1 } diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_detail/ShopDetailView.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_detail/ShopDetailView.kt index 45c4a6e..d95aab2 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_detail/ShopDetailView.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_detail/ShopDetailView.kt @@ -29,11 +29,13 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.LifecycleEventEffect import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.nativeapptemplate.nativeapptemplatefree.R import com.nativeapptemplate.nativeapptemplatefree.model.ItemTagState.* import com.nativeapptemplate.nativeapptemplatefree.ui.common.ActionText import com.nativeapptemplate.nativeapptemplatefree.ui.common.ErrorView @@ -140,6 +142,15 @@ private fun ShopDetailContentView( LazyColumn( Modifier.padding(24.dp), ) { + item { + Text( + text = stringResource(R.string.shop_detail_instruction), + color = MaterialTheme.colorScheme.onSurface, + modifier = Modifier + .fillMaxWidth() + .padding(start = 16.dp, bottom = 8.dp), + ) + } itemsIndexed( items = itemTags, ) { index, itemTag -> diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagCreateView.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagCreateView.kt index 921cf7e..5de4e1e 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagCreateView.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagCreateView.kt @@ -119,7 +119,7 @@ fun ItemTagCreateContentView( shape = CircleShape, ) { - Icon(Icons.Filled.Done, contentDescription = stringResource(R.string.label_add_tag)) + Icon(Icons.Filled.Done, contentDescription = stringResource(R.string.label_add_item_tag)) } }, modifier = Modifier.fillMaxSize(), @@ -198,7 +198,7 @@ private fun TopAppBar( containerColor = MaterialTheme.colorScheme.primaryContainer, titleContentColor = MaterialTheme.colorScheme.primary, ), - title = { Text(text = stringResource(id = R.string.label_add_tag)) }, + title = { Text(text = stringResource(id = R.string.label_add_item_tag)) }, navigationIcon = { IconButton(onClick = { onBackClick() diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagListView.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagListView.kt index 032592f..21552d7 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagListView.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagListView.kt @@ -300,13 +300,13 @@ private fun NoResultsView( ) Text( - stringResource(R.string.add_tag_description), + stringResource(R.string.add_item_tag_description), modifier = Modifier .padding(horizontal = 16.dp), ) MainButtonView( - title = stringResource(R.string.label_add_tag), + title = stringResource(R.string.label_add_item_tag), onClick = { onAddItemTagClick(viewModel.shopId) }, modifier = Modifier .padding(horizontal = 12.dp, vertical = 24.dp), diff --git a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shops/ShopListCardView.kt b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shops/ShopListCardView.kt index 90a1158..a330088 100644 --- a/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shops/ShopListCardView.kt +++ b/app/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shops/ShopListCardView.kt @@ -9,7 +9,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Flag -import androidx.compose.material.icons.outlined.People import androidx.compose.material.icons.outlined.Rectangle import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -48,7 +47,6 @@ fun ShopListCardView( modifier = Modifier .padding(top = 16.dp), ) { - CountRow(icon = Icons.Outlined.People, count = data.getScannedItemTagsCount(), countLabel = "tags scanned by customers") CountRow(icon = Icons.Outlined.Flag, count = data.getCompletedItemTagsCount(), countLabel = "completed tags") CountRow(icon = Icons.Outlined.Rectangle, count = data.getItemTagsCount(), countLabel = "all tags") } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e956061..90f93e5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -24,7 +24,6 @@ ⚠️ You aren’t connected to the internet Instructions Open - Learn More Are you sure? Full Name Full name is required. @@ -67,19 +66,14 @@ Terms of Use Updated - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. - Welcome to the app. + Welcome to NativeAppTemplate. + Sign in to manage your shops and item tags. + Organize your work across multiple organizations. + Invite teammates to collaborate. + Track item tags with a simple idle/completed state. + Create, edit, and delete item tags from your shop. + Switch between personal and shared organizations. + Have fun! Add Shop @@ -97,6 +91,7 @@ Shop added. Shop removed. Shop updated. + Swipe an item tag to change its status. Complete Idle @@ -112,8 +107,8 @@ Description Completed at Buy milk - Add Tag - Add a new item tag and start changing the tag status. + Add Item Tag + Add a new item tag and start changing the item tag status. Tag name is invalid. Tag description is invalid. Name must be 1-%1$d characters. @@ -121,13 +116,13 @@ Mark as completed Mark as idled - Tag created successfully. - Tag updated successfully. - Tag deleted successfully. + Item tag created successfully. + Item tag updated successfully. + Item tag deleted successfully. - Edit Tag - Delete Tag + Edit Item Tag + Delete Item Tag Mode @@ -143,7 +138,6 @@ App Version Website - How To Use Support Website FAQs Rate or Review the App diff --git a/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Attributes.kt b/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Attributes.kt index e5f722f..f9d1f06 100644 --- a/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Attributes.kt +++ b/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Attributes.kt @@ -68,9 +68,6 @@ data class Attributes( @SerialName("item_tags_count") val itemTagsCount: Int? = null, - @SerialName("scanned_item_tags_count") - val scannedItemTagsCount: Int? = null, - @SerialName("completed_item_tags_count") val completedItemTagsCount: Int? = null, diff --git a/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Data.kt b/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Data.kt index d0ea3d9..95b20f1 100644 --- a/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Data.kt +++ b/model/src/main/kotlin/com/nativeapptemplate/nativeapptemplatefree/model/Data.kt @@ -67,7 +67,5 @@ data class Data( fun getItemTagsCount(): Int = attributes?.itemTagsCount ?: 0 - fun getScannedItemTagsCount(): Int = attributes?.scannedItemTagsCount ?: 0 - fun getCompletedItemTagsCount(): Int = attributes?.completedItemTagsCount ?: 0 }