fix: remove legacy text icons and placeholders
This commit is contained in:
@@ -747,7 +747,7 @@ private fun ActionItemRow(
|
||||
|
||||
@Composable
|
||||
private fun SceneTrigger.describe(): String = when (this) {
|
||||
is SceneTrigger.Time -> "⏰ $timeOfDay"
|
||||
is SceneTrigger.Time -> "定时 $timeOfDay"
|
||||
is SceneTrigger.Temperature -> stringResource(R.string.scene_trigger_desc_temp, operator.symbol, thresholdCelsius.toInt().toString())
|
||||
is SceneTrigger.Humidity -> stringResource(R.string.scene_trigger_desc_humidity, operator.symbol, thresholdPercent.toInt().toString())
|
||||
is SceneTrigger.DeviceState -> stringResource(R.string.scene_trigger_desc_device, deviceName.value, expectedState)
|
||||
|
||||
@@ -68,6 +68,8 @@ import com.flagship.abox.manager.domain.Scene
|
||||
import com.flagship.abox.manager.domain.SceneColor
|
||||
import com.flagship.abox.manager.domain.SceneIcon
|
||||
import com.flagship.abox.manager.domain.SceneId
|
||||
import com.flagship.abox.manager.designsystem.icon.ABoxIcon
|
||||
import com.flagship.abox.manager.designsystem.icon.ABoxIconKey
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@@ -250,9 +252,10 @@ private fun SceneCard(
|
||||
),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Text(
|
||||
text = scene.icon.displayEmoji(),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
ABoxIcon(
|
||||
key = scene.icon.toABoxIconKey(),
|
||||
contentDescription = scene.name,
|
||||
modifier = Modifier.size(28.dp),
|
||||
)
|
||||
}
|
||||
Spacer(Modifier.width(12.dp))
|
||||
@@ -375,10 +378,7 @@ private fun EmptySceneList(modifier: Modifier = Modifier) {
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.Center,
|
||||
) {
|
||||
Text(
|
||||
text = "⚡",
|
||||
style = MaterialTheme.typography.displayMedium,
|
||||
)
|
||||
ABoxIcon(ABoxIconKey.SCENES, contentDescription = "暂无情景", modifier = Modifier.size(48.dp))
|
||||
Spacer(Modifier.size(8.dp))
|
||||
Text(
|
||||
text = stringResource(R.string.scene_empty_title),
|
||||
@@ -396,19 +396,19 @@ private fun EmptySceneList(modifier: Modifier = Modifier) {
|
||||
}
|
||||
}
|
||||
|
||||
fun SceneIcon.displayEmoji(): String = when (this) {
|
||||
SceneIcon.HOME -> "🏠"
|
||||
SceneIcon.OFFICE -> "💼"
|
||||
SceneIcon.NIGHT -> "🌙"
|
||||
SceneIcon.MOVIE -> "🎬"
|
||||
SceneIcon.AWAY -> "🚶"
|
||||
SceneIcon.READING -> "📖"
|
||||
SceneIcon.DINING -> "🍽️"
|
||||
SceneIcon.GAMING -> "🎮"
|
||||
SceneIcon.THERMOSTAT -> "🌡️"
|
||||
SceneIcon.LIGHT -> "💡"
|
||||
SceneIcon.CLEAN -> "🧹"
|
||||
SceneIcon.CUSTOM -> "✨"
|
||||
fun SceneIcon.toABoxIconKey(): ABoxIconKey = when (this) {
|
||||
SceneIcon.HOME -> ABoxIconKey.DEVICES
|
||||
SceneIcon.OFFICE -> ABoxIconKey.ACTIVITY
|
||||
SceneIcon.NIGHT -> ABoxIconKey.PENDING
|
||||
SceneIcon.MOVIE -> ABoxIconKey.SCENES
|
||||
SceneIcon.AWAY -> ABoxIconKey.OFFLINE
|
||||
SceneIcon.READING -> ABoxIconKey.DEVICES
|
||||
SceneIcon.DINING -> ABoxIconKey.DEVICES
|
||||
SceneIcon.GAMING -> ABoxIconKey.SCENES
|
||||
SceneIcon.THERMOSTAT -> ABoxIconKey.TEMPERATURE
|
||||
SceneIcon.LIGHT -> ABoxIconKey.POWER
|
||||
SceneIcon.CLEAN -> ABoxIconKey.REFRESH
|
||||
SceneIcon.CUSTOM -> ABoxIconKey.UNKNOWN_DEVICE
|
||||
}
|
||||
|
||||
internal fun SceneColor.toColorOrNull(): Color? {
|
||||
|
||||
@@ -82,9 +82,9 @@
|
||||
<string name="scene_section_other">其他选项与外观</string>
|
||||
|
||||
<!-- Add Buttons -->
|
||||
<string name="scene_add_trigger">+ 新增触发器</string>
|
||||
<string name="scene_add_condition">+ 新增条件</string>
|
||||
<string name="scene_add_action_btn">+ 新增动作</string>
|
||||
<string name="scene_add_trigger">新增触发器</string>
|
||||
<string name="scene_add_condition">新增条件</string>
|
||||
<string name="scene_add_action_btn">新增动作</string>
|
||||
<string name="scene_add_action">添加</string>
|
||||
<string name="scene_save_action">保存指令</string>
|
||||
|
||||
@@ -104,10 +104,10 @@
|
||||
|
||||
<!-- Trigger Types & Dialog -->
|
||||
<string name="scene_dialog_add_trigger_title">选择触发器类型</string>
|
||||
<string name="scene_trigger_type_time">⏰ 定时时间触发</string>
|
||||
<string name="scene_trigger_type_temp">🌡️ 环境温度触发</string>
|
||||
<string name="scene_trigger_type_humidity">💧 环境湿度触发</string>
|
||||
<string name="scene_trigger_type_device">🔌 插座状态变更触发</string>
|
||||
<string name="scene_trigger_type_time">定时时间触发</string>
|
||||
<string name="scene_trigger_type_temp">环境温度触发</string>
|
||||
<string name="scene_trigger_type_humidity">环境湿度触发</string>
|
||||
<string name="scene_trigger_type_device">插座状态变更触发</string>
|
||||
<string name="scene_trigger_time_label">触发时间点(如:07:30)</string>
|
||||
<string name="scene_trigger_temp_threshold">温度阈值 (°C)</string>
|
||||
<string name="scene_trigger_humidity_threshold">湿度阈值 (%)</string>
|
||||
@@ -118,19 +118,19 @@
|
||||
|
||||
<!-- Condition Types & Dialog -->
|
||||
<string name="scene_dialog_add_condition_title">选择限制条件</string>
|
||||
<string name="scene_condition_type_temp">🌡️ 环境温度范围</string>
|
||||
<string name="scene_condition_type_humidity">💧 环境湿度范围</string>
|
||||
<string name="scene_condition_type_socket">🔌 插座当前电源状态</string>
|
||||
<string name="scene_condition_type_time_range">🕒 生效时间区间</string>
|
||||
<string name="scene_condition_type_temp">环境温度范围</string>
|
||||
<string name="scene_condition_type_humidity">环境湿度范围</string>
|
||||
<string name="scene_condition_type_socket">插座当前电源状态</string>
|
||||
<string name="scene_condition_type_time_range">生效时间区间</string>
|
||||
<string name="scene_condition_start_time">起始时间(如:22:00)</string>
|
||||
<string name="scene_condition_end_time">结束时间(如:07:00)</string>
|
||||
|
||||
<!-- Action Types & Dialog -->
|
||||
<string name="scene_dialog_add_action_title">选择执行动作</string>
|
||||
<string name="scene_action_type_socket">🔌 智能插座控制</string>
|
||||
<string name="scene_action_type_virtual_remote">📺 红外遥控按键</string>
|
||||
<string name="scene_action_type_delay">⏱️ 延时等待 (缓冲)</string>
|
||||
<string name="scene_action_type_notification">🔔 发送系统提示</string>
|
||||
<string name="scene_action_type_socket">智能插座控制</string>
|
||||
<string name="scene_action_type_virtual_remote">红外遥控按键</string>
|
||||
<string name="scene_action_type_delay">延时等待(缓冲)</string>
|
||||
<string name="scene_action_type_notification">发送系统提示</string>
|
||||
<string name="scene_select_socket">选择目标插座</string>
|
||||
<string name="scene_socket_power_state">设定电源状态</string>
|
||||
<string name="scene_select_virtual_remote">选择虚拟遥控器</string>
|
||||
@@ -144,8 +144,8 @@
|
||||
<string name="scene_action_socket">插座【%1$s】: 设为 %2$s</string>
|
||||
<string name="scene_action_remote">遥控【%1$s】: 发送 %2$s</string>
|
||||
<string name="scene_action_infrared">红外【%1$s】: 槽位 %2$s</string>
|
||||
<string name="scene_action_delay">⏱️ 等待 %1$d 秒</string>
|
||||
<string name="scene_action_notification">🔔 提示: %1$s</string>
|
||||
<string name="scene_action_delay">等待 %1$d 秒</string>
|
||||
<string name="scene_action_notification">提示:%1$s</string>
|
||||
|
||||
<!-- Scene: execution -->
|
||||
<string name="scene_execution_title">执行指令</string>
|
||||
@@ -164,13 +164,13 @@
|
||||
<!-- 校验与弹窗选项/占位文案 -->
|
||||
<string name="scene_trigger_time_error">时间格式无效(请按 HH:mm 格式输入,如 07:30)</string>
|
||||
<string name="scene_condition_time_error">时间格式无效(请按 HH:mm 格式输入,如 22:00)</string>
|
||||
<string name="scene_chip_time">⏰ 定时</string>
|
||||
<string name="scene_chip_temp">🌡️ 温度</string>
|
||||
<string name="scene_chip_humidity">💧 湿度</string>
|
||||
<string name="scene_chip_socket">🔌 插座</string>
|
||||
<string name="scene_chip_remote">📺 遥控</string>
|
||||
<string name="scene_chip_delay">⏱️ 延时</string>
|
||||
<string name="scene_chip_notify">🔔 提示</string>
|
||||
<string name="scene_chip_time">定时</string>
|
||||
<string name="scene_chip_temp">温度</string>
|
||||
<string name="scene_chip_humidity">湿度</string>
|
||||
<string name="scene_chip_socket">插座</string>
|
||||
<string name="scene_chip_remote">遥控</string>
|
||||
<string name="scene_chip_delay">延时</string>
|
||||
<string name="scene_chip_notify">提示</string>
|
||||
<string name="scene_chip_above">> 高于</string>
|
||||
<string name="scene_chip_below">< 低于</string>
|
||||
<string name="scene_chip_power_on">开启</string>
|
||||
@@ -184,7 +184,7 @@
|
||||
<string name="scene_empty_triggers_hint">尚未添加触发器,请点击下方按钮添加</string>
|
||||
<string name="scene_empty_conditions_hint">尚未添加限制条件,请点击下方按钮添加</string>
|
||||
<string name="scene_empty_actions_hint">尚未添加执行动作,请点击下方按钮添加</string>
|
||||
<string name="scene_summary_triggers_and_actions">⚡ %1$d 个触发器 • %2$d 个动作</string>
|
||||
<string name="scene_summary_triggers_and_actions">%1$d 个触发器 · %2$d 个动作</string>
|
||||
<string name="scene_summary_actions_only">%1$d 个执行动作</string>
|
||||
<string name="scene_exec_ready_hint">点击下方按钮立即开始执行</string>
|
||||
<string name="scene_exec_rerun">重新执行</string>
|
||||
|
||||
@@ -82,9 +82,9 @@
|
||||
<string name="scene_section_other">Other Options & Appearance</string>
|
||||
|
||||
<!-- Add Buttons -->
|
||||
<string name="scene_add_trigger">+ Add Trigger</string>
|
||||
<string name="scene_add_condition">+ Add Condition</string>
|
||||
<string name="scene_add_action_btn">+ Add Action</string>
|
||||
<string name="scene_add_trigger">Add Trigger</string>
|
||||
<string name="scene_add_condition">Add Condition</string>
|
||||
<string name="scene_add_action_btn">Add Action</string>
|
||||
<string name="scene_add_action">Add</string>
|
||||
<string name="scene_save_action">Save Command</string>
|
||||
|
||||
@@ -104,10 +104,10 @@
|
||||
|
||||
<!-- Trigger Types & Dialog -->
|
||||
<string name="scene_dialog_add_trigger_title">Select Trigger Type</string>
|
||||
<string name="scene_trigger_type_time">⏰ Time / Schedule Trigger</string>
|
||||
<string name="scene_trigger_type_temp">🌡️ Temperature Threshold</string>
|
||||
<string name="scene_trigger_type_humidity">💧 Humidity Threshold</string>
|
||||
<string name="scene_trigger_type_device">🔌 Socket State Changed</string>
|
||||
<string name="scene_trigger_type_time">Time / Schedule Trigger</string>
|
||||
<string name="scene_trigger_type_temp">Temperature Threshold</string>
|
||||
<string name="scene_trigger_type_humidity">Humidity Threshold</string>
|
||||
<string name="scene_trigger_type_device">Socket State Changed</string>
|
||||
<string name="scene_trigger_time_label">Trigger Time (e.g. 07:30)</string>
|
||||
<string name="scene_trigger_temp_threshold">Temperature Threshold (°C)</string>
|
||||
<string name="scene_trigger_humidity_threshold">Humidity Threshold (%)</string>
|
||||
@@ -118,19 +118,19 @@
|
||||
|
||||
<!-- Condition Types & Dialog -->
|
||||
<string name="scene_dialog_add_condition_title">Select Condition</string>
|
||||
<string name="scene_condition_type_temp">🌡️ Temperature Range</string>
|
||||
<string name="scene_condition_type_humidity">💧 Humidity Range</string>
|
||||
<string name="scene_condition_type_socket">🔌 Current Socket Power</string>
|
||||
<string name="scene_condition_type_time_range">🕒 Active Time Range</string>
|
||||
<string name="scene_condition_type_temp">Temperature Range</string>
|
||||
<string name="scene_condition_type_humidity">Humidity Range</string>
|
||||
<string name="scene_condition_type_socket">Current Socket Power</string>
|
||||
<string name="scene_condition_type_time_range">Active Time Range</string>
|
||||
<string name="scene_condition_start_time">Start Time (e.g. 22:00)</string>
|
||||
<string name="scene_condition_end_time">End Time (e.g. 07:00)</string>
|
||||
|
||||
<!-- Action Types & Dialog -->
|
||||
<string name="scene_dialog_add_action_title">Select Action</string>
|
||||
<string name="scene_action_type_socket">🔌 Smart Socket Control</string>
|
||||
<string name="scene_action_type_virtual_remote">📺 Infrared Remote Button</string>
|
||||
<string name="scene_action_type_delay">⏱️ Delay / Buffer Timer</string>
|
||||
<string name="scene_action_type_notification">🔔 System Notification</string>
|
||||
<string name="scene_action_type_socket">Smart Socket Control</string>
|
||||
<string name="scene_action_type_virtual_remote">Infrared Remote Button</string>
|
||||
<string name="scene_action_type_delay">Delay / Buffer Timer</string>
|
||||
<string name="scene_action_type_notification">System Notification</string>
|
||||
<string name="scene_select_socket">Select Target Socket</string>
|
||||
<string name="scene_socket_power_state">Target Power State</string>
|
||||
<string name="scene_select_virtual_remote">Select Virtual Remote</string>
|
||||
@@ -144,8 +144,8 @@
|
||||
<string name="scene_action_socket">Socket [%1$s]: Set %2$s</string>
|
||||
<string name="scene_action_remote">Remote [%1$s]: Send %2$s</string>
|
||||
<string name="scene_action_infrared">Infrared [%1$s]: Slot %2$s</string>
|
||||
<string name="scene_action_delay">⏱️ Delay %1$d seconds</string>
|
||||
<string name="scene_action_notification">🔔 Notify: %1$s</string>
|
||||
<string name="scene_action_delay">Delay %1$d seconds</string>
|
||||
<string name="scene_action_notification">Notify: %1$s</string>
|
||||
|
||||
<!-- Scene: execution -->
|
||||
<string name="scene_execution_title">Execute Command</string>
|
||||
@@ -164,13 +164,13 @@
|
||||
<!-- Validation & dialog chips / placeholders -->
|
||||
<string name="scene_trigger_time_error">Invalid time format (use HH:mm, e.g. 07:30)</string>
|
||||
<string name="scene_condition_time_error">Invalid time format (use HH:mm, e.g. 22:00)</string>
|
||||
<string name="scene_chip_time">⏰ Schedule</string>
|
||||
<string name="scene_chip_temp">🌡️ Temperature</string>
|
||||
<string name="scene_chip_humidity">💧 Humidity</string>
|
||||
<string name="scene_chip_socket">🔌 Socket</string>
|
||||
<string name="scene_chip_remote">📺 Remote</string>
|
||||
<string name="scene_chip_delay">⏱️ Delay</string>
|
||||
<string name="scene_chip_notify">🔔 Notify</string>
|
||||
<string name="scene_chip_time">Schedule</string>
|
||||
<string name="scene_chip_temp">Temperature</string>
|
||||
<string name="scene_chip_humidity">Humidity</string>
|
||||
<string name="scene_chip_socket">Socket</string>
|
||||
<string name="scene_chip_remote">Remote</string>
|
||||
<string name="scene_chip_delay">Delay</string>
|
||||
<string name="scene_chip_notify">Notify</string>
|
||||
<string name="scene_chip_above">> Above</string>
|
||||
<string name="scene_chip_below">< Below</string>
|
||||
<string name="scene_chip_power_on">Turn ON</string>
|
||||
@@ -184,7 +184,7 @@
|
||||
<string name="scene_empty_triggers_hint">No triggers configured. Tap + below to add.</string>
|
||||
<string name="scene_empty_conditions_hint">No conditions configured. Tap + below to add.</string>
|
||||
<string name="scene_empty_actions_hint">No actions configured. Tap + below to add.</string>
|
||||
<string name="scene_summary_triggers_and_actions">⚡ %1$d triggers • %2$d actions</string>
|
||||
<string name="scene_summary_triggers_and_actions">%1$d triggers · %2$d actions</string>
|
||||
<string name="scene_summary_actions_only">%1$d actions</string>
|
||||
<string name="scene_exec_ready_hint">Tap the button below to run immediately</string>
|
||||
<string name="scene_exec_rerun">Re-run</string>
|
||||
|
||||
Reference in New Issue
Block a user