Skip to content

Commit 06a4fc7

Browse files
authored
Merge pull request #34 from bytebeats/dev
improve projects
2 parents 6be6185 + a55f48c commit 06a4fc7

19 files changed

+91
-71
lines changed

README.md

+12-10
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ Simple Jetpack Compose Charts for multi-platform. Including Android, Web, Deskto
1212

1313
Compose Multiplatform for Desktop: [compose-charts-desktop](https://github.com/bytebeats/compose-charts-desktop).
1414

15-
**LATEST_VERSION**: 0.1.2
15+
**LATEST_VERSION**: 0.2.1
1616

17-
**COMPOSE_VERSION**: 1.1.1
17+
**COMPOSE_VERSION**: 1.6.7
1818

19-
**KOTLIN_VERSION**: 1.6.10
19+
**KOTLIN_VERSION**: 1.9.24
2020

2121
## Graph Effects
2222

@@ -26,23 +26,25 @@ Compose Multiplatform for Desktop: [compose-charts-desktop](https://github.com/b
2626

2727
1. add maven and dependency:
2828

29-
1.1. add specific maven url in your root `build.gradle`
29+
1.1. add specific maven url in your root `build.gradle.kts`
3030

3131
```
3232
repositories {
33-
maven { url('https://repo1.maven.org/maven2/') }
34-
...
33+
...
34+
maven {
35+
url = uri("https://repo1.maven.org/maven2/")
36+
}
3537
}
3638
```
3739

38-
1.2. add dependency in your module `build.gradle`
40+
1.2. add dependency in your module `build.gradle.kts`
3941

4042
```
4143
dependencies {
42-
implementation "androidx.compose.ui:ui:$compose_version"
44+
implementation("androidx.compose.ui:ui:$compose_version")
4345
44-
// implementation project(':charts')
45-
implementation('io.github.bytebeats:compose-charts:LATEST_VERSION')
46+
// implementation(project(":charts"))
47+
implementation("io.github.bytebeats:compose-charts:${LATEST_VERSION}")
4648
}
4749
```
4850

app/build.gradle.kts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
alias(libs.plugins.android.application)
33
alias(libs.plugins.jetbrains.kotlin.android)
4+
alias(libs.plugins.detekt.gradle.plugin)
45
}
56

67
android {
@@ -58,6 +59,6 @@ dependencies {
5859
implementation(libs.androidx.ui.tooling.preview)
5960
implementation(libs.androidx.material3)
6061

61-
implementation(project(":charts"))
62-
// implementation(libs.compose.charts)
62+
// implementation(project(":charts"))
63+
implementation(libs.compose.charts)
6364
}

app/src/main/java/me/bytebeats/views/charts/app/MainActivity.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ package me.bytebeats.views.charts.app
33
import android.os.Bundle
44
import androidx.activity.ComponentActivity
55
import androidx.activity.compose.setContent
6-
import androidx.compose.runtime.Composable
7-
import androidx.compose.ui.tooling.preview.Preview
86
import me.bytebeats.views.charts.app.ui.ComposeCharts
97

8+
9+
/**
10+
* Main activity
11+
*/
1012
class MainActivity : ComponentActivity() {
1113
override fun onCreate(savedInstanceState: Bundle?) {
1214
super.onCreate(savedInstanceState)
@@ -15,9 +17,3 @@ class MainActivity : ComponentActivity() {
1517
}
1618
}
1719
}
18-
19-
@Preview
20-
@Composable
21-
private fun DefaultPreview() {
22-
ComposeCharts()
23-
}

app/src/main/java/me/bytebeats/views/charts/app/ui/Screen.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ enum class Screen {
1010
Pie,
1111
Bar,
1212
Line;
13-
}
13+
}

app/src/main/java/me/bytebeats/views/charts/app/ui/ScreenRouter.kt

+9-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,19 @@ import androidx.compose.runtime.setValue
1212
object ScreenRouter {
1313
var currentScreen by mutableStateOf(Screen.Home)
1414

15+
/**
16+
* Navigate
17+
*
18+
* @param screen
19+
*/
1520
fun navigate(screen: Screen) {
1621
currentScreen = screen
1722
}
1823

24+
/**
25+
* Navigate home
26+
*/
1927
fun navigateHome() {
2028
currentScreen = Screen.Home
2129
}
22-
}
30+
}

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/HomeScreen.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import androidx.compose.ui.Modifier
1616
import androidx.compose.ui.tooling.preview.Preview
1717
import me.bytebeats.views.charts.app.ui.Screen
1818
import me.bytebeats.views.charts.app.ui.ScreenRouter
19-
import me.bytebeats.views.charts.app.ui.theme.Margins
19+
import me.bytebeats.views.charts.app.ui.theme.Margin
2020

2121
/**
2222
* Created by bytebeats on 2021/9/30 : 11:43
@@ -69,8 +69,8 @@ private fun ChartScreenSelector(
6969
) {
7070
Row(
7171
modifier = Modifier.padding(
72-
horizontal = Margins.horizontal,
73-
vertical = Margins.vertical
72+
horizontal = Margin.horizontal,
73+
vertical = Margin.vertical
7474
)
7575
) {
7676
TextButton(

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/bar/BarChartDataModel.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class BarChartDataModel {
7474
field = value
7575
}
7676

77-
fun addBar() {
77+
internal fun addBar() {
7878
barChartData = barChartData.copy(bars = bars.toMutableList().apply {
7979
add(
8080
BarChartData.Bar(
@@ -86,7 +86,7 @@ class BarChartDataModel {
8686
}.toList())
8787
}
8888

89-
fun removeBar() {
89+
internal fun removeBar() {
9090
barChartData = barChartData.copy(bars = bars.toMutableList().apply {
9191
val lastBar = bars.last()
9292
colors.add(lastBar.color)
@@ -99,4 +99,4 @@ class BarChartDataModel {
9999
val idx = Random.Default.nextInt(colors.size)
100100
return colors.removeAt(idx)
101101
}
102-
}
102+
}

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/bar/BarChartScreen.kt

+9-9
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import androidx.compose.ui.text.font.FontWeight
2929
import androidx.compose.ui.unit.dp
3030
import androidx.compose.ui.unit.sp
3131
import me.bytebeats.views.charts.app.ui.ScreenRouter
32-
import me.bytebeats.views.charts.app.ui.theme.Margins
32+
import me.bytebeats.views.charts.app.ui.theme.Margin
3333
import me.bytebeats.views.charts.bar.BarChart
3434
import me.bytebeats.views.charts.bar.render.label.SimpleLabelDrawer.DrawLocation
3535
import me.bytebeats.views.charts.bar.render.yaxis.SimpleYAxisDrawer
@@ -67,8 +67,8 @@ private fun BarChartContent(modifier: Modifier = Modifier) {
6767
val barChartDataModel = BarChartDataModel()
6868
Column(
6969
modifier = modifier.padding(
70-
horizontal = Margins.horizontal,
71-
vertical = Margins.vertical
70+
horizontal = Margin.horizontal,
71+
vertical = Margin.vertical
7272
)
7373
) {
7474
BarChartRow(barChartDataModel = barChartDataModel)
@@ -86,7 +86,7 @@ private fun BarChartRow(barChartDataModel: BarChartDataModel) {
8686
modifier = Modifier
8787
.fillMaxWidth()
8888
.height(280.dp)
89-
.padding(vertical = Margins.verticalLarge)
89+
.padding(vertical = Margin.verticalLarge)
9090
) {
9191
BarChart(
9292
barChartData = barChartDataModel.barChartData,
@@ -112,15 +112,15 @@ private fun DrawLabelLocation(
112112
Row(
113113
modifier = Modifier
114114
.fillMaxWidth()
115-
.padding(top = Margins.verticalLarge),
115+
.padding(top = Margin.verticalLarge),
116116
verticalAlignment = Alignment.CenterVertically,
117117
) {
118118
Row(
119119
modifier = Modifier
120120
.fillMaxWidth()
121121
.padding(
122-
horizontal = Margins.horizontal,
123-
vertical = Margins.vertical
122+
horizontal = Margin.horizontal,
123+
vertical = Margin.vertical
124124
)
125125
.align(Alignment.CenterVertically),
126126
horizontalArrangement = Arrangement.SpaceEvenly
@@ -142,7 +142,7 @@ private fun AddOrRemoveBar(barChartDataModel: BarChartDataModel) {
142142
Row(
143143
modifier = Modifier
144144
.fillMaxWidth()
145-
.padding(vertical = Margins.vertical),
145+
.padding(vertical = Margin.vertical),
146146
verticalAlignment = Alignment.CenterVertically,
147147
horizontalArrangement = Arrangement.Center,
148148
) {
@@ -158,7 +158,7 @@ private fun AddOrRemoveBar(barChartDataModel: BarChartDataModel) {
158158
}
159159

160160
Row(
161-
modifier = Modifier.padding(horizontal = Margins.horizontal),
161+
modifier = Modifier.padding(horizontal = Margin.horizontal),
162162
verticalAlignment = Alignment.CenterVertically
163163
) {
164164
Text(text = "Bars: ")

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/line/LineChartDataModel.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ class LineChartDataModel {
4646

4747

4848
private fun randomYValue(): Float = Random.Default.nextInt(45, 145).toFloat()
49-
}
49+
}

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/line/LineChartScreen.kt

+10-10
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import androidx.compose.ui.Alignment
2424
import androidx.compose.ui.Modifier
2525
import androidx.compose.ui.unit.dp
2626
import me.bytebeats.views.charts.app.ui.ScreenRouter
27-
import me.bytebeats.views.charts.app.ui.theme.Margins
27+
import me.bytebeats.views.charts.app.ui.theme.Margin
2828
import me.bytebeats.views.charts.line.LineChart
2929

3030
/**
@@ -65,8 +65,8 @@ private fun LineChartContent(
6565

6666
Column(
6767
modifier = modifier.padding(
68-
horizontal = Margins.horizontal,
69-
vertical = Margins.vertical
68+
horizontal = Margin.horizontal,
69+
vertical = Margin.vertical
7070
)
7171
) {
7272
LineChartRow(lineChartDataModel = lineChartData)
@@ -95,8 +95,8 @@ private fun HorizontalOffsetSelector(lineChartDataModel: LineChartDataModel) {
9595
val pointDrawType = lineChartDataModel.pointDrawerType
9696
Column(
9797
modifier = Modifier.padding(
98-
horizontal = Margins.horizontal,
99-
vertical = Margins.vertical
98+
horizontal = Margin.horizontal,
99+
vertical = Margin.vertical
100100
),
101101
horizontalAlignment = Alignment.CenterHorizontally
102102
) {
@@ -106,8 +106,8 @@ private fun HorizontalOffsetSelector(lineChartDataModel: LineChartDataModel) {
106106
.fillMaxWidth()
107107
.align(Alignment.CenterHorizontally)
108108
.padding(
109-
horizontal = Margins.horizontal,
110-
vertical = Margins.vertical
109+
horizontal = Margin.horizontal,
110+
vertical = Margin.vertical
111111
),
112112
horizontalArrangement = Arrangement.SpaceEvenly
113113
) {
@@ -126,16 +126,16 @@ private fun HorizontalOffsetSelector(lineChartDataModel: LineChartDataModel) {
126126
@Composable
127127
private fun OffsetProgress(lineChartDataModel: LineChartDataModel) {
128128
Column(
129-
modifier = Modifier.padding(horizontal = Margins.horizontal),
129+
modifier = Modifier.padding(horizontal = Margin.horizontal),
130130
horizontalAlignment = Alignment.CenterHorizontally
131131
) {
132132
Text(text = "Offset")
133133
Row(
134134
modifier = Modifier
135135
.fillMaxWidth()
136136
.padding(
137-
horizontal = Margins.horizontal,
138-
vertical = Margins.vertical
137+
horizontal = Margin.horizontal,
138+
vertical = Margin.vertical
139139
)
140140
.align(Alignment.CenterHorizontally)
141141
) {

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/pie/PieChartDataModel.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class PieChartDataModel {
5454
val slices
5555
get() = pieChartData.slices
5656

57-
fun addSlice() {
57+
internal fun addSlice() {
5858
pieChartData = pieChartData.copy(
5959
slices = slices.toMutableList().apply {
6060
add(
@@ -67,7 +67,7 @@ class PieChartDataModel {
6767
)
6868
}
6969

70-
fun removeSlice() {
70+
internal fun removeSlice() {
7171
pieChartData = pieChartData.copy(
7272
slices = slices.toMutableList().apply {
7373
val lastSlice = slices.last()

app/src/main/java/me/bytebeats/views/charts/app/ui/screen/pie/PieChartScreen.kt

+8-8
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import androidx.compose.ui.tooling.preview.Preview
2929
import androidx.compose.ui.unit.dp
3030
import androidx.compose.ui.unit.sp
3131
import me.bytebeats.views.charts.app.ui.ScreenRouter
32-
import me.bytebeats.views.charts.app.ui.theme.Margins
32+
import me.bytebeats.views.charts.app.ui.theme.Margin
3333
import me.bytebeats.views.charts.pie.PieChart
3434
import me.bytebeats.views.charts.pie.render.SimpleSliceDrawer
3535

@@ -72,8 +72,8 @@ private fun PieChartScreenContent(
7272

7373
Column(
7474
modifier = modifier.padding(
75-
horizontal = Margins.horizontal,
76-
vertical = Margins.vertical
75+
horizontal = Margin.horizontal,
76+
vertical = Margin.vertical
7777
)
7878
) {
7979
PieChartRow(pieChartDataModel = pieChartDataModel)
@@ -91,7 +91,7 @@ private fun PieChartRow(pieChartDataModel: PieChartDataModel) {
9191
modifier = Modifier
9292
.fillMaxWidth()
9393
.height(150.dp)
94-
.padding(vertical = Margins.vertical)
94+
.padding(vertical = Margin.vertical)
9595
) {
9696
PieChart(
9797
pieChartData = pieChartDataModel.pieChartData,
@@ -105,14 +105,14 @@ private fun SliceThicknessRow(sliceThickness: Float, onValueUpdated: (Float) ->
105105
Row(
106106
modifier = Modifier
107107
.fillMaxWidth()
108-
.padding(vertical = Margins.verticalLarge),
108+
.padding(vertical = Margin.verticalLarge),
109109
verticalAlignment = Alignment.CenterVertically
110110
) {
111111
Text(
112112
text = "Slice Thickness: ",
113113
modifier = Modifier
114114
.align(Alignment.CenterVertically)
115-
.padding(end = Margins.horizontal)
115+
.padding(end = Margin.horizontal)
116116
)
117117
Slider(
118118
value = sliceThickness,
@@ -127,7 +127,7 @@ private fun AddOrRemoveSliceRow(pieChartDataModel: PieChartDataModel) {
127127
Row(
128128
modifier = Modifier
129129
.fillMaxWidth()
130-
.padding(top = Margins.vertical),
130+
.padding(top = Margin.vertical),
131131
verticalAlignment = Alignment.CenterVertically,
132132
horizontalArrangement = Arrangement.Center
133133
) {
@@ -142,7 +142,7 @@ private fun AddOrRemoveSliceRow(pieChartDataModel: PieChartDataModel) {
142142
)
143143
}
144144
Row(
145-
modifier = Modifier.padding(horizontal = Margins.horizontal),
145+
modifier = Modifier.padding(horizontal = Margin.horizontal),
146146
verticalAlignment = Alignment.CenterVertically
147147
) {
148148
Text(text = "Slices: ")

app/src/main/java/me/bytebeats/views/charts/app/ui/theme/Color.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ import androidx.compose.ui.graphics.Color
55
val Purple200 = Color(0xFFBB86FC)
66
val Purple500 = Color(0xFF6200EE)
77
val Purple700 = Color(0xFF3700B3)
8-
val Teal200 = Color(0xFF03DAC5)
8+
val Teal200 = Color(0xFF03DAC5)

0 commit comments

Comments
 (0)