diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8013164..55dd281 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -93,6 +93,7 @@ dependencies { implementation(libs.commons.compress) implementation(libs.lottie.compose) implementation(libs.zoomable) + implementation(libs.androidx.material.icons.extended) implementation(libs.ktor.client.core) implementation(libs.ktor.client.android) diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/component/HIcon.kt b/app/src/main/java/com/paulcoding/hviewer/ui/component/HIcon.kt index 5255e0f..6180928 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/component/HIcon.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/component/HIcon.kt @@ -1,9 +1,11 @@ package com.paulcoding.hviewer.ui.component +import androidx.compose.foundation.layout.size import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material.icons.filled.Favorite import androidx.compose.material.icons.filled.FavoriteBorder +import androidx.compose.material.icons.outlined.Settings import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.LocalContentColor @@ -11,7 +13,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector -import com.paulcoding.hviewer.ui.icon.SettingsIcon +import androidx.compose.ui.unit.dp @Composable fun HBackIcon(onClick: () -> Unit) { @@ -29,13 +31,14 @@ fun HFavoriteIcon(modifier: Modifier = Modifier, isFavorite: Boolean, onClick: ( @Composable fun HIcon( - imageVector: ImageVector = SettingsIcon, - modifier: Modifier = Modifier, + imageVector: ImageVector = Icons.Outlined.Settings, description: String = "", + size: Int = 24, + modifier: Modifier = Modifier, tint: Color = LocalContentColor.current, onClick: () -> Unit ) { IconButton(onClick = { onClick() }, modifier = modifier) { - Icon(imageVector, description, tint = tint) + Icon(imageVector, description, tint = tint, modifier = Modifier.size(size.dp)) } } \ No newline at end of file diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/icon/BugReport.kt b/app/src/main/java/com/paulcoding/hviewer/ui/icon/BugReport.kt deleted file mode 100644 index d04a86d..0000000 --- a/app/src/main/java/com/paulcoding/hviewer/ui/icon/BugReport.kt +++ /dev/null @@ -1,104 +0,0 @@ -package com.paulcoding.hviewer.ui.icon - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.StrokeJoin -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -public val BugReport: ImageVector - get() { - if (_Bug_report != null) { - return _Bug_report!! - } - _Bug_report = ImageVector.Builder( - name = "Bug_report", - defaultWidth = 24.dp, - defaultHeight = 24.dp, - viewportWidth = 960f, - viewportHeight = 960f - ).apply { - path( - fill = SolidColor(Color.Black), - fillAlpha = 1.0f, - stroke = null, - strokeAlpha = 1.0f, - strokeLineWidth = 1.0f, - strokeLineCap = StrokeCap.Butt, - strokeLineJoin = StrokeJoin.Miter, - strokeLineMiter = 1.0f, - pathFillType = PathFillType.NonZero - ) { - moveTo(480f, 760f) - quadToRelative(66f, 0f, 113f, -47f) - reflectiveQuadToRelative(47f, -113f) - verticalLineToRelative(-160f) - quadToRelative(0f, -66f, -47f, -113f) - reflectiveQuadToRelative(-113f, -47f) - reflectiveQuadToRelative(-113f, 47f) - reflectiveQuadToRelative(-47f, 113f) - verticalLineToRelative(160f) - quadToRelative(0f, 66f, 47f, 113f) - reflectiveQuadToRelative(113f, 47f) - moveToRelative(-80f, -120f) - horizontalLineToRelative(160f) - verticalLineToRelative(-80f) - horizontalLineTo(400f) - close() - moveToRelative(0f, -160f) - horizontalLineToRelative(160f) - verticalLineToRelative(-80f) - horizontalLineTo(400f) - close() - moveToRelative(80f, 360f) - quadToRelative(-65f, 0f, -120.5f, -32f) - reflectiveQuadTo(272f, 720f) - horizontalLineTo(160f) - verticalLineToRelative(-80f) - horizontalLineToRelative(84f) - quadToRelative(-3f, -20f, -3.5f, -40f) - reflectiveQuadToRelative(-0.5f, -40f) - horizontalLineToRelative(-80f) - verticalLineToRelative(-80f) - horizontalLineToRelative(80f) - quadToRelative(0f, -20f, 0.5f, -40f) - reflectiveQuadToRelative(3.5f, -40f) - horizontalLineToRelative(-84f) - verticalLineToRelative(-80f) - horizontalLineToRelative(112f) - quadToRelative(14f, -23f, 31.5f, -43f) - reflectiveQuadToRelative(40.5f, -35f) - lineToRelative(-64f, -66f) - lineToRelative(56f, -56f) - lineToRelative(86f, 86f) - quadToRelative(28f, -9f, 57f, -9f) - reflectiveQuadToRelative(57f, 9f) - lineToRelative(88f, -86f) - lineToRelative(56f, 56f) - lineToRelative(-66f, 66f) - quadToRelative(23f, 15f, 41.5f, 34.5f) - reflectiveQuadTo(688f, 320f) - horizontalLineToRelative(112f) - verticalLineToRelative(80f) - horizontalLineToRelative(-84f) - quadToRelative(3f, 20f, 3.5f, 40f) - reflectiveQuadToRelative(0.5f, 40f) - horizontalLineToRelative(80f) - verticalLineToRelative(80f) - horizontalLineToRelative(-80f) - quadToRelative(0f, 20f, -0.5f, 40f) - reflectiveQuadToRelative(-3.5f, 40f) - horizontalLineToRelative(84f) - verticalLineToRelative(80f) - horizontalLineTo(688f) - quadToRelative(-32f, 56f, -87.5f, 88f) - reflectiveQuadTo(480f, 840f) - } - }.build() - return _Bug_report!! - } - -private var _Bug_report: ImageVector? = null diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Edit.kt b/app/src/main/java/com/paulcoding/hviewer/ui/icon/Edit.kt deleted file mode 100644 index f28fa55..0000000 --- a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Edit.kt +++ /dev/null @@ -1,67 +0,0 @@ -package com.paulcoding.hviewer.ui.icon - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.StrokeJoin -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -val EditIcon: ImageVector - get() { - if (_Edit != null) { - return _Edit!! - } - _Edit = ImageVector.Builder( - name = "Edit", - defaultWidth = 24.dp, - defaultHeight = 24.dp, - viewportWidth = 960f, - viewportHeight = 960f - ).apply { - path( - fill = SolidColor(Color.Black), - fillAlpha = 1.0f, - stroke = null, - strokeAlpha = 1.0f, - strokeLineWidth = 1.0f, - strokeLineCap = StrokeCap.Butt, - strokeLineJoin = StrokeJoin.Miter, - strokeLineMiter = 1.0f, - pathFillType = PathFillType.NonZero - ) { - moveTo(200f, 760f) - horizontalLineToRelative(57f) - lineToRelative(391f, -391f) - lineToRelative(-57f, -57f) - lineToRelative(-391f, 391f) - close() - moveToRelative(-80f, 80f) - verticalLineToRelative(-170f) - lineToRelative(528f, -527f) - quadToRelative(12f, -11f, 26.5f, -17f) - reflectiveQuadToRelative(30.5f, -6f) - reflectiveQuadToRelative(31f, 6f) - reflectiveQuadToRelative(26f, 18f) - lineToRelative(55f, 56f) - quadToRelative(12f, 11f, 17.5f, 26f) - reflectiveQuadToRelative(5.5f, 30f) - quadToRelative(0f, 16f, -5.5f, 30.5f) - reflectiveQuadTo(817f, 313f) - lineTo(290f, 840f) - close() - moveToRelative(640f, -584f) - lineToRelative(-56f, -56f) - close() - moveToRelative(-141f, 85f) - lineToRelative(-28f, -29f) - lineToRelative(57f, 57f) - close() - } - }.build() - return _Edit!! - } - -private var _Edit: ImageVector? = null \ No newline at end of file diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/icon/JS.kt b/app/src/main/java/com/paulcoding/hviewer/ui/icon/JS.kt deleted file mode 100644 index 536a308..0000000 --- a/app/src/main/java/com/paulcoding/hviewer/ui/icon/JS.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.paulcoding.hviewer.ui.icon - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.StrokeJoin -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -public val Javascript: ImageVector - get() { - if (_Javascript != null) { - return _Javascript!! - } - _Javascript = ImageVector.Builder( - name = "Javascript", - defaultWidth = 24.dp, - defaultHeight = 24.dp, - viewportWidth = 960f, - viewportHeight = 960f - ).apply { - path( - fill = SolidColor(Color.Black), - fillAlpha = 1.0f, - stroke = null, - strokeAlpha = 1.0f, - strokeLineWidth = 1.0f, - strokeLineCap = StrokeCap.Butt, - strokeLineJoin = StrokeJoin.Miter, - strokeLineMiter = 1.0f, - pathFillType = PathFillType.NonZero - ) { - moveTo(300f, 600f) - quadToRelative(-25f, 0f, -42.5f, -17.5f) - reflectiveQuadTo(240f, 540f) - verticalLineToRelative(-40f) - horizontalLineToRelative(60f) - verticalLineToRelative(40f) - horizontalLineToRelative(60f) - verticalLineToRelative(-180f) - horizontalLineToRelative(60f) - verticalLineToRelative(180f) - quadToRelative(0f, 25f, -17.5f, 42.5f) - reflectiveQuadTo(360f, 600f) - close() - moveToRelative(220f, 0f) - quadToRelative(-17f, 0f, -28.5f, -11.5f) - reflectiveQuadTo(480f, 560f) - verticalLineToRelative(-40f) - horizontalLineToRelative(60f) - verticalLineToRelative(20f) - horizontalLineToRelative(80f) - verticalLineToRelative(-40f) - horizontalLineTo(520f) - quadToRelative(-17f, 0f, -28.5f, -11.5f) - reflectiveQuadTo(480f, 460f) - verticalLineToRelative(-60f) - quadToRelative(0f, -17f, 11.5f, -28.5f) - reflectiveQuadTo(520f, 360f) - horizontalLineToRelative(120f) - quadToRelative(17f, 0f, 28.5f, 11.5f) - reflectiveQuadTo(680f, 400f) - verticalLineToRelative(40f) - horizontalLineToRelative(-60f) - verticalLineToRelative(-20f) - horizontalLineToRelative(-80f) - verticalLineToRelative(40f) - horizontalLineToRelative(100f) - quadToRelative(17f, 0f, 28.5f, 11.5f) - reflectiveQuadTo(680f, 500f) - verticalLineToRelative(60f) - quadToRelative(0f, 17f, -11.5f, 28.5f) - reflectiveQuadTo(640f, 600f) - close() - } - }.build() - return _Javascript!! - } - -private var _Javascript: ImageVector? = null diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Save.kt b/app/src/main/java/com/paulcoding/hviewer/ui/icon/Save.kt deleted file mode 100644 index 06d132a..0000000 --- a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Save.kt +++ /dev/null @@ -1,76 +0,0 @@ -package com.paulcoding.hviewer.ui.icon - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.StrokeJoin -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -public val Save: ImageVector - get() { - if (_Save != null) { - return _Save!! - } - _Save = ImageVector.Builder( - name = "Save", - defaultWidth = 24.dp, - defaultHeight = 24.dp, - viewportWidth = 960f, - viewportHeight = 960f - ).apply { - path( - fill = SolidColor(Color.Black), - fillAlpha = 1.0f, - stroke = null, - strokeAlpha = 1.0f, - strokeLineWidth = 1.0f, - strokeLineCap = StrokeCap.Butt, - strokeLineJoin = StrokeJoin.Miter, - strokeLineMiter = 1.0f, - pathFillType = PathFillType.NonZero - ) { - moveTo(840f, 280f) - verticalLineToRelative(480f) - quadToRelative(0f, 33f, -23.5f, 56.5f) - reflectiveQuadTo(760f, 840f) - horizontalLineTo(200f) - quadToRelative(-33f, 0f, -56.5f, -23.5f) - reflectiveQuadTo(120f, 760f) - verticalLineToRelative(-560f) - quadToRelative(0f, -33f, 23.5f, -56.5f) - reflectiveQuadTo(200f, 120f) - horizontalLineToRelative(480f) - close() - moveToRelative(-80f, 34f) - lineTo(646f, 200f) - horizontalLineTo(200f) - verticalLineToRelative(560f) - horizontalLineToRelative(560f) - close() - moveTo(480f, 720f) - quadToRelative(50f, 0f, 85f, -35f) - reflectiveQuadToRelative(35f, -85f) - reflectiveQuadToRelative(-35f, -85f) - reflectiveQuadToRelative(-85f, -35f) - reflectiveQuadToRelative(-85f, 35f) - reflectiveQuadToRelative(-35f, 85f) - reflectiveQuadToRelative(35f, 85f) - reflectiveQuadToRelative(85f, 35f) - moveTo(240f, 400f) - horizontalLineToRelative(360f) - verticalLineToRelative(-160f) - horizontalLineTo(240f) - close() - moveToRelative(-40f, -86f) - verticalLineToRelative(446f) - verticalLineToRelative(-560f) - close() - } - }.build() - return _Save!! - } - -private var _Save: ImageVector? = null diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Search.kt b/app/src/main/java/com/paulcoding/hviewer/ui/icon/Search.kt deleted file mode 100644 index 9ecfdda..0000000 --- a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Search.kt +++ /dev/null @@ -1,63 +0,0 @@ -package com.paulcoding.hviewer.ui.icon - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.StrokeJoin -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -public val Search: ImageVector - get() { - if (_Search != null) { - return _Search!! - } - _Search = ImageVector.Builder( - name = "Search", - defaultWidth = 24.dp, - defaultHeight = 24.dp, - viewportWidth = 960f, - viewportHeight = 960f - ).apply { - path( - fill = SolidColor(Color.Black), - fillAlpha = 1.0f, - stroke = null, - strokeAlpha = 1.0f, - strokeLineWidth = 1.0f, - strokeLineCap = StrokeCap.Butt, - strokeLineJoin = StrokeJoin.Miter, - strokeLineMiter = 1.0f, - pathFillType = PathFillType.NonZero - ) { - moveTo(784f, 840f) - lineTo(532f, 588f) - quadToRelative(-30f, 24f, -69f, 38f) - reflectiveQuadToRelative(-83f, 14f) - quadToRelative(-109f, 0f, -184.5f, -75.5f) - reflectiveQuadTo(120f, 380f) - reflectiveQuadToRelative(75.5f, -184.5f) - reflectiveQuadTo(380f, 120f) - reflectiveQuadToRelative(184.5f, 75.5f) - reflectiveQuadTo(640f, 380f) - quadToRelative(0f, 44f, -14f, 83f) - reflectiveQuadToRelative(-38f, 69f) - lineToRelative(252f, 252f) - close() - moveTo(380f, 560f) - quadToRelative(75f, 0f, 127.5f, -52.5f) - reflectiveQuadTo(560f, 380f) - reflectiveQuadToRelative(-52.5f, -127.5f) - reflectiveQuadTo(380f, 200f) - reflectiveQuadToRelative(-127.5f, 52.5f) - reflectiveQuadTo(200f, 380f) - reflectiveQuadToRelative(52.5f, 127.5f) - reflectiveQuadTo(380f, 560f) - } - }.build() - return _Search!! - } - -private var _Search: ImageVector? = null diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Settings.kt b/app/src/main/java/com/paulcoding/hviewer/ui/icon/Settings.kt deleted file mode 100644 index a8ac707..0000000 --- a/app/src/main/java/com/paulcoding/hviewer/ui/icon/Settings.kt +++ /dev/null @@ -1,118 +0,0 @@ -package com.paulcoding.hviewer.ui.icon - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.StrokeJoin -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -val SettingsIcon: ImageVector - get() { - if (_Settings != null) { - return _Settings!! - } - _Settings = ImageVector.Builder( - name = "Settings", - defaultWidth = 24.dp, - defaultHeight = 24.dp, - viewportWidth = 960f, - viewportHeight = 960f - ).apply { - path( - fill = SolidColor(Color.Black), - fillAlpha = 1.0f, - stroke = null, - strokeAlpha = 1.0f, - strokeLineWidth = 1.0f, - strokeLineCap = StrokeCap.Butt, - strokeLineJoin = StrokeJoin.Miter, - strokeLineMiter = 1.0f, - pathFillType = PathFillType.NonZero - ) { - moveTo(370f, 880f) - lineToRelative(-16f, -128f) - quadToRelative(-13f, -5f, -24.5f, -12f) - reflectiveQuadTo(307f, 725f) - lineToRelative(-119f, 50f) - lineTo(78f, 585f) - lineToRelative(103f, -78f) - quadToRelative(-1f, -7f, -1f, -13.5f) - verticalLineToRelative(-27f) - quadToRelative(0f, -6.5f, 1f, -13.5f) - lineTo(78f, 375f) - lineToRelative(110f, -190f) - lineToRelative(119f, 50f) - quadToRelative(11f, -8f, 23f, -15f) - reflectiveQuadToRelative(24f, -12f) - lineToRelative(16f, -128f) - horizontalLineToRelative(220f) - lineToRelative(16f, 128f) - quadToRelative(13f, 5f, 24.5f, 12f) - reflectiveQuadToRelative(22.5f, 15f) - lineToRelative(119f, -50f) - lineToRelative(110f, 190f) - lineToRelative(-103f, 78f) - quadToRelative(1f, 7f, 1f, 13.5f) - verticalLineToRelative(27f) - quadToRelative(0f, 6.5f, -2f, 13.5f) - lineToRelative(103f, 78f) - lineToRelative(-110f, 190f) - lineToRelative(-118f, -50f) - quadToRelative(-11f, 8f, -23f, 15f) - reflectiveQuadToRelative(-24f, 12f) - lineTo(590f, 880f) - close() - moveToRelative(70f, -80f) - horizontalLineToRelative(79f) - lineToRelative(14f, -106f) - quadToRelative(31f, -8f, 57.5f, -23.5f) - reflectiveQuadTo(639f, 633f) - lineToRelative(99f, 41f) - lineToRelative(39f, -68f) - lineToRelative(-86f, -65f) - quadToRelative(5f, -14f, 7f, -29.5f) - reflectiveQuadToRelative(2f, -31.5f) - reflectiveQuadToRelative(-2f, -31.5f) - reflectiveQuadToRelative(-7f, -29.5f) - lineToRelative(86f, -65f) - lineToRelative(-39f, -68f) - lineToRelative(-99f, 42f) - quadToRelative(-22f, -23f, -48.5f, -38.5f) - reflectiveQuadTo(533f, 266f) - lineToRelative(-13f, -106f) - horizontalLineToRelative(-79f) - lineToRelative(-14f, 106f) - quadToRelative(-31f, 8f, -57.5f, 23.5f) - reflectiveQuadTo(321f, 327f) - lineToRelative(-99f, -41f) - lineToRelative(-39f, 68f) - lineToRelative(86f, 64f) - quadToRelative(-5f, 15f, -7f, 30f) - reflectiveQuadToRelative(-2f, 32f) - quadToRelative(0f, 16f, 2f, 31f) - reflectiveQuadToRelative(7f, 30f) - lineToRelative(-86f, 65f) - lineToRelative(39f, 68f) - lineToRelative(99f, -42f) - quadToRelative(22f, 23f, 48.5f, 38.5f) - reflectiveQuadTo(427f, 694f) - close() - moveToRelative(42f, -180f) - quadToRelative(58f, 0f, 99f, -41f) - reflectiveQuadToRelative(41f, -99f) - reflectiveQuadToRelative(-41f, -99f) - reflectiveQuadToRelative(-99f, -41f) - quadToRelative(-59f, 0f, -99.5f, 41f) - reflectiveQuadTo(342f, 480f) - reflectiveQuadToRelative(40.5f, 99f) - reflectiveQuadToRelative(99.5f, 41f) - moveToRelative(-2f, -140f) - } - }.build() - return _Settings!! - } - -private var _Settings: ImageVector? = null diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt index 66066a4..6485299 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt @@ -2,6 +2,8 @@ package com.paulcoding.hviewer.ui.page.editor import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Save import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -18,7 +20,6 @@ import com.paulcoding.hviewer.helper.writeFile import com.paulcoding.hviewer.network.Github import com.paulcoding.hviewer.ui.component.HBackIcon import com.paulcoding.hviewer.ui.component.HIcon -import com.paulcoding.hviewer.ui.icon.Save import com.paulcoding.hviewer.ui.page.AppViewModel import io.github.rosemoe.sora.text.Content @@ -49,7 +50,7 @@ fun EditorPage( goBack() } }, actions = { - HIcon(imageVector = Save) { + HIcon(imageVector = Icons.Outlined.Save) { context.writeFile(state.content.toString(), scriptFile) Github.refreshLocalConfigs() localSoftwareKeyboardController?.hide() diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/ListScriptPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/ListScriptPage.kt index c86f89d..f51cd10 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/ListScriptPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/ListScriptPage.kt @@ -8,6 +8,9 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.BugReport +import androidx.compose.material.icons.outlined.Javascript import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.Scaffold @@ -19,8 +22,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.paulcoding.hviewer.helper.makeToast import com.paulcoding.hviewer.ui.component.HBackIcon -import com.paulcoding.hviewer.ui.icon.BugReport -import com.paulcoding.hviewer.ui.icon.Javascript import com.paulcoding.hviewer.ui.page.AppViewModel @OptIn(ExperimentalMaterial3Api::class) @@ -45,8 +46,8 @@ fun ListScriptPage( } val fileIcon = when (type) { - "script" -> Javascript - "crash_log" -> BugReport + "script" -> Icons.Outlined.Javascript + "crash_log" -> Icons.Outlined.BugReport else -> return makeToast("Unknown type $type") } diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostsPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostsPage.kt index 8114c23..53f265c 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostsPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostsPage.kt @@ -13,6 +13,8 @@ import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Search import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.material3.ExperimentalMaterial3Api @@ -48,7 +50,6 @@ import com.paulcoding.hviewer.ui.component.HIcon import com.paulcoding.hviewer.ui.component.HImage import com.paulcoding.hviewer.ui.component.HLoading import com.paulcoding.hviewer.ui.component.HPageProgress -import com.paulcoding.hviewer.ui.icon.Search import com.paulcoding.hviewer.ui.page.AppViewModel import kotlinx.coroutines.launch @@ -76,7 +77,7 @@ fun PostsPage( HBackIcon { goBack() } }, actions = { HPageProgress(pageProgress.first, pageProgress.second) - HIcon(imageVector = Search) { navToSearch() } + HIcon(imageVector = Icons.Outlined.Search) { navToSearch() } }) }) { paddings -> Column(modifier = Modifier.padding(paddings)) { diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt index 6837d6a..0f5a13e 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt @@ -12,9 +12,9 @@ import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Edit import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -40,9 +40,9 @@ import com.paulcoding.hviewer.model.PostItem import com.paulcoding.hviewer.ui.component.HBackIcon import com.paulcoding.hviewer.ui.component.HEmpty import com.paulcoding.hviewer.ui.component.HGoTop +import com.paulcoding.hviewer.ui.component.HIcon import com.paulcoding.hviewer.ui.component.HLoading import com.paulcoding.hviewer.ui.component.HPageProgress -import com.paulcoding.hviewer.ui.icon.EditIcon import com.paulcoding.hviewer.ui.page.AppViewModel import com.paulcoding.hviewer.ui.page.posts.PostCard @@ -101,11 +101,7 @@ fun SearchPage( keyboardActions = KeyboardActions(onGo = { submit() }), modifier = Modifier.focusRequester(focusRequester) ) - IconButton(onClick = { - submit() - }) { - Icon(EditIcon, contentDescription = "Search") - } + HIcon(Icons.Outlined.Edit) { submit() } } PageContent(appViewModel = appViewModel, viewModel = viewModel) { post -> navToImages(post) diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt index f5999d4..6d2c52b 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt @@ -8,9 +8,9 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Edit import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.Switch import androidx.compose.material3.Text @@ -33,7 +33,7 @@ import com.paulcoding.hviewer.network.Github import com.paulcoding.hviewer.preference.Preferences import com.paulcoding.hviewer.ui.component.H7Tap import com.paulcoding.hviewer.ui.component.HBackIcon -import com.paulcoding.hviewer.ui.icon.EditIcon +import com.paulcoding.hviewer.ui.component.HIcon import com.paulcoding.hviewer.ui.page.AppViewModel @OptIn(ExperimentalMaterial3Api::class) @@ -84,8 +84,8 @@ fun SettingsPage(appViewModel: AppViewModel, goBack: () -> Boolean, onLockEnable horizontalArrangement = Arrangement.spacedBy(8.dp) ) { Text("Remote Url", modifier = Modifier.weight(1f)) - IconButton(onClick = { modalVisible = true }) { - Icon(EditIcon, "Edit") + HIcon(Icons.Outlined.Edit) { + modalVisible = true } } Text( diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt index 80621ff..12632a7 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt @@ -10,9 +10,11 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.BugReport +import androidx.compose.material.icons.outlined.Edit +import androidx.compose.material.icons.outlined.Settings import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar @@ -32,9 +34,6 @@ import com.paulcoding.hviewer.model.SiteConfigs import com.paulcoding.hviewer.ui.component.HEmpty import com.paulcoding.hviewer.ui.component.HFavoriteIcon import com.paulcoding.hviewer.ui.component.HIcon -import com.paulcoding.hviewer.ui.icon.BugReport -import com.paulcoding.hviewer.ui.icon.EditIcon -import com.paulcoding.hviewer.ui.icon.SettingsIcon import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -62,18 +61,18 @@ fun SitesPage( Scaffold(topBar = { TopAppBar(title = { Text("Sites") }, actions = { if (isDevMode) { - HIcon(BugReport) { + HIcon(Icons.Outlined.BugReport) { navToListCrashLog() } - HIcon(EditIcon) { + HIcon(Icons.Outlined.Edit) { navToListScript() } } HFavoriteIcon(isFavorite = false) { navToFavorite() } - IconButton(onClick = navToSettings) { - Icon(SettingsIcon, "Settings") + HIcon(Icons.Outlined.Settings, "Settings") { + navToSettings() } }) }) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f56fb78..3ed9593 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,6 +24,7 @@ lifecycleRuntimeKtx = "2.8.7" activityCompose = "1.9.3" composeBom = "2024.04.01" lottieCompose = "6.6.0" +materialIconsExtended = "1.7.5" mmkv = "2.0.0" navigationCompose = "2.8.4" rhino = "1.7.15" @@ -36,6 +37,7 @@ accompanist-permissions = { module = "com.google.accompanist:accompanist-permiss androidx-concurrent-futures-ktx = { module = "androidx.concurrent:concurrent-futures-ktx", version.ref = "concurrentFuturesKtx" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-javascriptengine = { module = "androidx.javascriptengine:javascriptengine", version.ref = "javascriptengine" } +androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "materialIconsExtended" } androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" } androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomRuntime" } androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" }