Skip to content

Commit 6a29812

Browse files
authored
Feature/sort previews (#473)
* chore: Move previews from Android packages to common packages * feat: Add more previews
1 parent 533ea6c commit 6a29812

File tree

26 files changed

+464
-360
lines changed

26 files changed

+464
-360
lines changed

mockzilla-management-ui/mockzilla-desktop/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ kotlin {
3636
implementation(compose.runtime)
3737
implementation(compose.material3)
3838
implementation(compose.components.resources)
39+
implementation(compose.components.uiToolingPreview)
3940
implementation(compose.materialIconsExtended)
4041
implementation(libs.navigation.compose)
4142

mockzilla-management-ui/mockzilla-desktop/src/androidMain/kotlin/previews/DeviceConnectionWidgetPreviews.kt

Lines changed: 0 additions & 38 deletions
This file was deleted.

mockzilla-management-ui/mockzilla-desktop/src/commonMain/kotlin/com/apadmi/mockzilla/desktop/ui/deviceconnection/DeviceConnectionWidget.kt

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ import com.apadmi.mockzilla.ui.di.utils.getViewModel
2727
import com.apadmi.mockzilla.ui.engine.connection.DetectedDevice
2828
import com.apadmi.mockzilla.ui.i18n.LocalStrings
2929
import com.apadmi.mockzilla.ui.i18n.Strings
30+
import com.apadmi.mockzilla.ui.ui.common.components.PreviewSurface
3031
import com.apadmi.mockzilla.ui.ui.common.components.StandardTextTooltip
3132
import com.apadmi.mockzilla.ui.ui.common.theme.alternatingBackground
3233
import com.apadmi.mockzilla.ui.ui.common.utils.mockzillaLogoResource
3334
import com.apadmi.mockzilla.ui.utils.Platform
35+
import org.jetbrains.compose.ui.tooling.preview.Preview
3436

3537
private fun DetectedDevice.State.toolTipText(strings: Strings) = when (this) {
3638
DetectedDevice.State.NotYourSimulator -> strings.widgets.deviceConnection.tooltips.notYourSimulator
@@ -52,7 +54,11 @@ fun DeviceConnectionWidget() {
5254
val viewModel = getViewModel<DeviceConnectionViewModel>()
5355
val state by viewModel.state.collectAsState()
5456

55-
DeviceConnectionContent(state, viewModel::onIpAndPortChanged, viewModel::connectToDevice)
57+
DeviceConnectionContent(
58+
state,
59+
viewModel::onIpAndPortChanged,
60+
viewModel::connectToDevice
61+
)
5662
}
5763

5864
@Composable
@@ -111,6 +117,32 @@ fun DeviceConnectionContent(
111117
}
112118
}
113119

120+
@Preview
121+
@Composable
122+
private fun DeviceConnectionWidgetPreview() = PreviewSurface {
123+
Box(modifier = Modifier.padding(horizontal = 16.dp)) {
124+
DeviceConnectionContent(
125+
state = State(
126+
ipAndPort = "127.0.0.1:60000",
127+
connectionState = State.ConnectionState.Connecting,
128+
devices = listOf(
129+
DetectedDevice(
130+
connectionName = "iPhone",
131+
metaData = null,
132+
hostAddress = "127.0.0.1",
133+
hostAddresses = listOf(),
134+
port = 60000,
135+
adbConnection = null,
136+
state = DetectedDevice.State.ReadyToConnect
137+
)
138+
),
139+
),
140+
onIpAndPortChanged = {},
141+
onTapDevice = {}
142+
)
143+
}
144+
}
145+
114146
@OptIn(ExperimentalFoundationApi::class)
115147
@Composable
116148
private fun DevicesList(

mockzilla-management-ui/mockzilla-desktop/src/commonMain/kotlin/com/apadmi/mockzilla/desktop/ui/devicetabs/DeviceTabsWidget.kt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@ import com.apadmi.mockzilla.desktop.ui.devicetabs.DeviceTabsViewModel.*
1919

2020
import com.apadmi.mockzilla.desktop.ui.utils.desktopTertiaryPointerClick
2121
import com.apadmi.mockzilla.ui.di.utils.getViewModel
22+
import com.apadmi.mockzilla.ui.engine.device.Device
2223
import com.apadmi.mockzilla.ui.i18n.LocalStrings
2324
import com.apadmi.mockzilla.ui.i18n.Strings
25+
import com.apadmi.mockzilla.ui.ui.common.components.PreviewSurface
2426
import com.apadmi.mockzilla.ui.ui.common.scaffold.HorizontalTab
2527
import com.apadmi.mockzilla.ui.ui.common.scaffold.HorizontalTabList
28+
import org.jetbrains.compose.ui.tooling.preview.Preview
2629

2730
import kotlin.collections.plus
2831

@@ -109,3 +112,29 @@ fun DeviceTabsWidgetContent(
109112
)
110113
}
111114
}
115+
116+
@Preview
117+
@Composable
118+
private fun DeviceTabsWidgetPreview() = PreviewSurface {
119+
DeviceTabsWidgetContent(
120+
state = State(
121+
devices = listOf(
122+
State.DeviceTabEntry(
123+
name = "Device 1",
124+
isActive = true,
125+
isConnected = true,
126+
underlyingDevice = Device(ip = "", port = "")
127+
),
128+
State.DeviceTabEntry(
129+
name = "Device 2",
130+
isActive = false,
131+
isConnected = false,
132+
underlyingDevice = Device(ip = "", port = "")
133+
)
134+
)
135+
),
136+
onSelect = {},
137+
onAddNewDevice = {},
138+
onCloseTab = {}
139+
)
140+
}

mockzilla-management-ui/mockzilla-desktop/src/commonMain/kotlin/com/apadmi/mockzilla/desktop/ui/scaffold/Dividers.kt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import androidx.compose.ui.graphics.Color
1111
import androidx.compose.ui.unit.dp
1212
import com.apadmi.mockzilla.desktop.ui.utils.horizontalResizeCursor
1313
import com.apadmi.mockzilla.desktop.ui.utils.verticalResizeCursor
14+
import com.apadmi.mockzilla.ui.ui.common.components.PreviewSurface
15+
import org.jetbrains.compose.ui.tooling.preview.Preview
1416

1517
@Composable
1618
internal fun HorizontalDraggableDivider(
@@ -53,3 +55,33 @@ internal fun VerticalDraggableDivider(
5355
)
5456
)
5557
}
58+
59+
@Preview
60+
@Composable
61+
private fun HorizontalDraggableDividerPreview() = PreviewSurface {
62+
Box(
63+
modifier = Modifier
64+
.size(100.dp)
65+
.padding(20.dp)
66+
) {
67+
HorizontalDraggableDivider(
68+
onDrag = {},
69+
onDragStopped = {}
70+
)
71+
}
72+
}
73+
74+
@Preview
75+
@Composable
76+
private fun VerticalDraggableDividerPreview() = PreviewSurface {
77+
Box(
78+
modifier = Modifier
79+
.size(100.dp)
80+
.padding(20.dp)
81+
) {
82+
VerticalDraggableDivider(
83+
onDrag = {},
84+
onDragStopped = {}
85+
)
86+
}
87+
}

mockzilla-management-ui/mockzilla-management-ui-common/build.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ kotlin {
4949
implementation(compose.runtime)
5050
implementation(compose.material3)
5151
implementation(compose.components.resources)
52+
implementation(compose.components.uiToolingPreview)
5253
implementation(compose.materialIconsExtended)
5354
implementation(libs.navigation.compose)
5455

@@ -127,6 +128,11 @@ kotlin {
127128
}
128129
}
129130

131+
dependencies {
132+
/* Compose Previews */
133+
debugImplementation(compose.uiTooling)
134+
}
135+
130136
android {
131137
namespace = "$group.mockzilla.mobile.ui"
132138
compileSdk = AndroidConfig.targetSdk

mockzilla-management-ui/mockzilla-management-ui-common/src/androidMain/kotlin/previews/EmptyStatePreview.kt

Lines changed: 0 additions & 21 deletions
This file was deleted.

mockzilla-management-ui/mockzilla-management-ui-common/src/androidMain/kotlin/previews/EndpointDetailsWidget.kt

Lines changed: 0 additions & 52 deletions
This file was deleted.

mockzilla-management-ui/mockzilla-management-ui-common/src/androidMain/kotlin/previews/EndpointsWidgetPreview.kt

Lines changed: 0 additions & 58 deletions
This file was deleted.

mockzilla-management-ui/mockzilla-management-ui-common/src/androidMain/kotlin/previews/ErrorBannerPreviews.kt

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)