From fd16f64e8f4492f4a371d63aa55ec172d3848058 Mon Sep 17 00:00:00 2001 From: Anton Yarmolenko Date: Wed, 17 Jan 2024 15:06:57 +0100 Subject: [PATCH] chore: added one more state and change inset what fixes dark mode --- .../Presentation/Unit/CourseUnitView.swift | 4 +- .../Subviews/LessonLineProgressView.swift | 10 ++++- .../OnProgress.colorset/Contents.json | 8 ++-- .../ProgressDone.colorset/Contents.json | 12 +++--- .../SelectedAndDone.colorset/Contents.json | 38 +++++++++++++++++++ Theme/Theme/SwiftGen/ThemeAssets.swift | 1 + Theme/Theme/Theme.swift | 1 + 7 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 Theme/Theme/Assets.xcassets/ProgressLine/SelectedAndDone.colorset/Contents.json diff --git a/Course/Course/Presentation/Unit/CourseUnitView.swift b/Course/Course/Presentation/Unit/CourseUnitView.swift index 124ae95e2..3ec30cb81 100644 --- a/Course/Course/Presentation/Unit/CourseUnitView.swift +++ b/Course/Course/Presentation/Unit/CourseUnitView.swift @@ -152,8 +152,8 @@ public struct CourseUnitView: View { .frame( width: reader.size.width, height: isHorizontal ? - (viewModel.courseUnitProgressEnabled ? 85 : 75) : - (viewModel.courseUnitProgressEnabled ? 60 : 50) + (viewModel.courseUnitProgressEnabled ? 78 : 75) : + (viewModel.courseUnitProgressEnabled ? 68 : 50) ) } diff --git a/Course/Course/Presentation/Unit/Subviews/LessonLineProgressView.swift b/Course/Course/Presentation/Unit/Subviews/LessonLineProgressView.swift index 8bac48637..17ae05de2 100644 --- a/Course/Course/Presentation/Unit/Subviews/LessonLineProgressView.swift +++ b/Course/Course/Presentation/Unit/Subviews/LessonLineProgressView.swift @@ -25,9 +25,15 @@ struct LessonLineProgressView: View { let data = Array(vertical.childs.enumerated()) ForEach(data, id: \.offset) { index, item in let selected = viewModel.verticals[viewModel.verticalIndex].childs[index] - if selected == viewModel.selectedLesson() { + let isSelected = selected == viewModel.selectedLesson() + let isDone = item.completion == 1.0 || vertical.completion == 1.0 + if isSelected && isDone { + Theme.Colors.progressSelectedAndDone + .frame(height: 7) + } else if isSelected { Theme.Colors.onProgress - } else if item.completion == 1.0 || vertical.completion == 1.0 { + .frame(height: 7) + } else if isDone { Theme.Colors.progressDone } else { Theme.Colors.progressSkip diff --git a/Theme/Theme/Assets.xcassets/ProgressLine/OnProgress.colorset/Contents.json b/Theme/Theme/Assets.xcassets/ProgressLine/OnProgress.colorset/Contents.json index 9009e08b8..3c81fe0e7 100644 --- a/Theme/Theme/Assets.xcassets/ProgressLine/OnProgress.colorset/Contents.json +++ b/Theme/Theme/Assets.xcassets/ProgressLine/OnProgress.colorset/Contents.json @@ -6,8 +6,8 @@ "components" : { "alpha" : "1.000", "blue" : "0x00", - "green" : "0xD2", - "red" : "0xF1" + "green" : "0xCC", + "red" : "0xF0" } }, "idiom" : "universal" @@ -24,8 +24,8 @@ "components" : { "alpha" : "1.000", "blue" : "0x00", - "green" : "0xD2", - "red" : "0xF1" + "green" : "0xCC", + "red" : "0xF0" } }, "idiom" : "universal" diff --git a/Theme/Theme/Assets.xcassets/ProgressLine/ProgressDone.colorset/Contents.json b/Theme/Theme/Assets.xcassets/ProgressLine/ProgressDone.colorset/Contents.json index 55c301fef..8e2a9063e 100644 --- a/Theme/Theme/Assets.xcassets/ProgressLine/ProgressDone.colorset/Contents.json +++ b/Theme/Theme/Assets.xcassets/ProgressLine/ProgressDone.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x7D", - "green" : "0xAA", - "red" : "0x34" + "blue" : "0xD7", + "green" : "0xE6", + "red" : "0xBB" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x7D", - "green" : "0xAA", - "red" : "0x34" + "blue" : "0x71", + "green" : "0xA1", + "red" : "0x30" } }, "idiom" : "universal" diff --git a/Theme/Theme/Assets.xcassets/ProgressLine/SelectedAndDone.colorset/Contents.json b/Theme/Theme/Assets.xcassets/ProgressLine/SelectedAndDone.colorset/Contents.json new file mode 100644 index 000000000..65b3786f0 --- /dev/null +++ b/Theme/Theme/Assets.xcassets/ProgressLine/SelectedAndDone.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x71", + "green" : "0xA1", + "red" : "0x30" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x4D", + "green" : "0x7D", + "red" : "0x0D" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Theme/Theme/SwiftGen/ThemeAssets.swift b/Theme/Theme/SwiftGen/ThemeAssets.swift index 95c901a19..cdd1bd32b 100644 --- a/Theme/Theme/SwiftGen/ThemeAssets.swift +++ b/Theme/Theme/SwiftGen/ThemeAssets.swift @@ -55,6 +55,7 @@ public enum ThemeAssets { public static let onProgress = ColorAsset(name: "OnProgress") public static let progressDone = ColorAsset(name: "ProgressDone") public static let progressSkip = ColorAsset(name: "ProgressSkip") + public static let selectedAndDone = ColorAsset(name: "SelectedAndDone") public static let appLogo = ImageAsset(name: "appLogo") } // swiftlint:enable identifier_name line_length nesting type_body_length type_name diff --git a/Theme/Theme/Theme.swift b/Theme/Theme/Theme.swift index 322f19c93..8316cdd40 100644 --- a/Theme/Theme/Theme.swift +++ b/Theme/Theme/Theme.swift @@ -41,6 +41,7 @@ public struct Theme { public private(set) static var onProgress = ThemeAssets.onProgress.swiftUIColor public private(set) static var progressDone = ThemeAssets.progressDone.swiftUIColor public private(set) static var progressSkip = ThemeAssets.progressSkip.swiftUIColor + public private(set) static var progressSelectedAndDone = ThemeAssets.selectedAndDone.swiftUIColor public private(set) static var loginNavigationText = ThemeAssets.loginNavigationText.swiftUIColor public static func update(