diff --git a/NativeAppTemplate.xcodeproj/project.pbxproj b/NativeAppTemplate.xcodeproj/project.pbxproj index 78c849f..71c5331 100644 --- a/NativeAppTemplate.xcodeproj/project.pbxproj +++ b/NativeAppTemplate.xcodeproj/project.pbxproj @@ -67,7 +67,6 @@ 0172046925AA82BF008FD63B /* PermissionsLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172045D25AA82B4008FD63B /* PermissionsLoadingView.swift */; }; 0172047925AA8335008FD63B /* UIFont+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172046E25AA8325008FD63B /* UIFont+Extensions.swift */; }; 0172047E25AA8343008FD63B /* Font+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172047525AA8325008FD63B /* Font+Extensions.swift */; }; - 0172048025AA8343008FD63B /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172047425AA8325008FD63B /* UIColor+Extensions.swift */; }; 0172048125AA8343008FD63B /* Color+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172047625AA8325008FD63B /* Color+Extensions.swift */; }; 017204B625AA8467008FD63B /* DataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172049225AA8449008FD63B /* DataManager.swift */; }; 017204C025AA846D008FD63B /* TabViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0172049925AA8449008FD63B /* TabViewModel.swift */; }; @@ -160,6 +159,8 @@ 01E0A5B725BD0FCD00298D35 /* OfflineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E0A5B225BD0FC700298D35 /* OfflineView.swift */; }; 01E0A5B825BD0FCD00298D35 /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E0A5B325BD0FC700298D35 /* ErrorView.swift */; }; 01E0A60125BD149200298D35 /* MainButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E0A5F925BD148800298D35 /* MainButtonView.swift */; }; + A1B2C3D401000001 /* GlassButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1B2C3D401000002 /* GlassButtonStyle.swift */; }; + A1B2C3D401000003 /* GlassCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1B2C3D401000004 /* GlassCard.swift */; }; 01E0A60C25BD440300298D35 /* SignInEmailAndPasswordView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E0A60B25BD440300298D35 /* SignInEmailAndPasswordView.swift */; }; 01E0A63025BD53FD00298D35 /* Shop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E0A62F25BD53FD00298D35 /* Shop.swift */; }; 01E1CECC287787A700E724FC /* SignUpView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E1CECB287787A700E724FC /* SignUpView.swift */; }; @@ -242,7 +243,6 @@ 0172045C25AA82B4008FD63B /* SnackbarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SnackbarView.swift; sourceTree = ""; }; 0172045D25AA82B4008FD63B /* PermissionsLoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionsLoadingView.swift; sourceTree = ""; }; 0172046E25AA8325008FD63B /* UIFont+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Extensions.swift"; sourceTree = ""; }; - 0172047425AA8325008FD63B /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; 0172047525AA8325008FD63B /* Font+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Font+Extensions.swift"; sourceTree = ""; }; 0172047625AA8325008FD63B /* Color+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Extensions.swift"; sourceTree = ""; }; 0172049225AA8449008FD63B /* DataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataManager.swift; sourceTree = ""; }; @@ -337,6 +337,8 @@ 01E0A5B325BD0FC700298D35 /* ErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorView.swift; sourceTree = ""; }; 01E0A5B525BD0FC700298D35 /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; 01E0A5F925BD148800298D35 /* MainButtonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainButtonView.swift; sourceTree = ""; }; + A1B2C3D401000002 /* GlassButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassButtonStyle.swift; sourceTree = ""; }; + A1B2C3D401000004 /* GlassCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassCard.swift; sourceTree = ""; }; 01E0A60B25BD440300298D35 /* SignInEmailAndPasswordView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInEmailAndPasswordView.swift; sourceTree = ""; }; 01E0A62F25BD53FD00298D35 /* Shop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shop.swift; sourceTree = ""; }; 01E1CECB287787A700E724FC /* SignUpView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpView.swift; sourceTree = ""; }; @@ -717,7 +719,6 @@ 018D4EFB2B6350CB00CBA736 /* Inter */, 0172047625AA8325008FD63B /* Color+Extensions.swift */, 0172047525AA8325008FD63B /* Font+Extensions.swift */, - 0172047425AA8325008FD63B /* UIColor+Extensions.swift */, 0172046E25AA8325008FD63B /* UIFont+Extensions.swift */, ); path = Styleguide; @@ -847,6 +848,8 @@ isa = PBXGroup; children = ( 0172788A2D7D936E00CE424F /* Tags */, + A1B2C3D401000002 /* GlassButtonStyle.swift */, + A1B2C3D401000004 /* GlassCard.swift */, 01E0A5F925BD148800298D35 /* MainButtonView.swift */, ); path = Shared; @@ -1034,6 +1037,8 @@ 017278832D7D935700CE424F /* ImageSaver.swift in Sources */, 01D8AE8B2AB453C1009AFFBA /* ShopBasicSettingsView.swift in Sources */, 01E0A60125BD149200298D35 /* MainButtonView.swift in Sources */, + A1B2C3D401000001 /* GlassButtonStyle.swift in Sources */, + A1B2C3D401000003 /* GlassCard.swift in Sources */, 0182D39A25B4424B001E881D /* LoggedInShopkeeperKeychainStore.swift in Sources */, 01ED197B2A037B9E00CD4735 /* AppTabView.swift in Sources */, 0110A1612AC81978003EDCBA /* ResendConfirmationInstructionsView.swift in Sources */, @@ -1111,7 +1116,6 @@ 01D85AF32E07D37E00A95798 /* ItemTagListViewModel.swift in Sources */, 0172047E25AA8343008FD63B /* Font+Extensions.swift in Sources */, 0172034825A9642E008FD63B /* Request.swift in Sources */, - 0172048025AA8343008FD63B /* UIColor+Extensions.swift in Sources */, 01DCE23F298FA3B300BA311D /* ShopListCardView.swift in Sources */, 011DDC2328766C5E00C6C21F /* SignUpService.swift in Sources */, 01E2477229A5E30400D4B00D /* Utility.swift in Sources */, diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/backgroundColor.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/backgroundColor.colorset/Contents.json deleted file mode 100644 index 1378feb..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/backgroundColor.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x1E", - "green" : "0x16", - "red" : "0x14" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/cardBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/cardBackground.colorset/Contents.json deleted file mode 100644 index 1378feb..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/cardBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x1E", - "green" : "0x16", - "red" : "0x14" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredPrimaryBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredPrimaryBackground.colorset/Contents.json deleted file mode 100644 index dea20a0..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredPrimaryBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFF", - "green" : "0xF8", - "red" : "0xE3" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredPrimaryForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredPrimaryForeground.colorset/Contents.json deleted file mode 100644 index 15e2907..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredPrimaryForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x88", - "green" : "0x53", - "red" : "0x03" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredSecondaryBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredSecondaryBackground.colorset/Contents.json deleted file mode 100644 index 9cdca7e..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredSecondaryBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFA", - "green" : "0xF7", - "red" : "0xF5" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredSecondaryForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredSecondaryForeground.colorset/Contents.json deleted file mode 100644 index 6204bd1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/coloredSecondaryForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x33", - "green" : "0x29", - "red" : "0x1F" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/failureBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/failureBackground.colorset/Contents.json deleted file mode 100644 index 17bc8b7..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/failureBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x42", - "green" : "0x00", - "red" : "0x62" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/successBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/successBackground.colorset/Contents.json deleted file mode 100644 index 47b7a58..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/successBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x40", - "green" : "0x4D", - "red" : "0x01" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/successSecondaryForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/successSecondaryForeground.colorset/Contents.json deleted file mode 100644 index 4b343d1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Backgrounds/successSecondaryForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xE2", - "green" : "0xF7", - "red" : "0xC6" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/coloredPrimaryButtonForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/coloredPrimaryButtonForeground.colorset/Contents.json deleted file mode 100644 index 15e2907..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/coloredPrimaryButtonForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x88", - "green" : "0x53", - "red" : "0x03" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/coloredSecondaryButtonForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/coloredSecondaryButtonForeground.colorset/Contents.json deleted file mode 100644 index 6204bd1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/coloredSecondaryButtonForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x33", - "green" : "0x29", - "red" : "0x1F" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/destructiveButtonForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/destructiveButtonForeground.colorset/Contents.json deleted file mode 100644 index 9cdca7e..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/destructiveButtonForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFA", - "green" : "0xF7", - "red" : "0xF5" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/failureSecondaryForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/failureSecondaryForeground.colorset/Contents.json deleted file mode 100644 index 1c6de4c..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/failureSecondaryForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xD2", - "green" : "0xB8", - "red" : "0xFF" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/primaryButtonForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/primaryButtonForeground.colorset/Contents.json deleted file mode 100644 index 9cdca7e..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/primaryButtonForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFA", - "green" : "0xF7", - "red" : "0xF5" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Button/secondaryButtonForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Button/secondaryButtonForeground.colorset/Contents.json deleted file mode 100644 index 9cdca7e..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Button/secondaryButtonForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFA", - "green" : "0xF7", - "red" : "0xF5" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/error.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/error.colorset/Contents.json deleted file mode 100644 index 1378feb..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/error.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x1E", - "green" : "0x16", - "red" : "0x14" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/snackText.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/snackText.colorset/Contents.json deleted file mode 100644 index c6e5d3d..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/snackText.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "colors" : [ - { - "idiom" : "universal", - "color" : { - "color-space" : "srgb", - "components" : { - "red" : "1.000", - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000" - } - } - } - ] -} \ No newline at end of file diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/success.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/success.colorset/Contents.json deleted file mode 100644 index 1378feb..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/success.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x1E", - "green" : "0x16", - "red" : "0x14" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/warning.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/warning.colorset/Contents.json deleted file mode 100644 index 7e8f38f..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Snackbar/warning.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x00", - "green" : "0x00", - "red" : "0x00" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagBackground.colorset/Contents.json deleted file mode 100644 index 4b343d1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xE2", - "green" : "0xF7", - "red" : "0xC6" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagBorder.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagBorder.colorset/Contents.json deleted file mode 100644 index 97650a1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagBorder.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000", - "red" : "1.000" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagForeground.colorset/Contents.json deleted file mode 100644 index 47b7a58..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/completedTagForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x40", - "green" : "0x4D", - "red" : "0x01" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagBackground.colorset/Contents.json deleted file mode 100644 index 1c6de4c..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xD2", - "green" : "0xB8", - "red" : "0xFF" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagBorder.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagBorder.colorset/Contents.json deleted file mode 100644 index 97650a1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagBorder.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000", - "red" : "1.000" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagForeground.colorset/Contents.json deleted file mode 100644 index 17bc8b7..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/customerScannedTagForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x42", - "green" : "0x00", - "red" : "0x62" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagBackground.colorset/Contents.json deleted file mode 100644 index c6fec15..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xEB", - "green" : "0xE7", - "red" : "0xE4" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagBorder.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagBorder.colorset/Contents.json deleted file mode 100644 index 97650a1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagBorder.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000", - "red" : "1.000" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagForeground.colorset/Contents.json deleted file mode 100644 index 6204bd1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Tags/idlingTagForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x33", - "green" : "0x29", - "red" : "0x1F" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Text/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Text/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Text/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Text/coloredPrimaryFootnoteText.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Text/coloredPrimaryFootnoteText.colorset/Contents.json deleted file mode 100644 index 0ce6eec..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Text/coloredPrimaryFootnoteText.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xA3", - "green" : "0x69", - "red" : "0x0B" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Text/coloredSecondaryFootnoteText.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Text/coloredSecondaryFootnoteText.colorset/Contents.json deleted file mode 100644 index ef05487..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Text/coloredSecondaryFootnoteText.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x4B", - "green" : "0x3F", - "red" : "0x32" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Text/contentText.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Text/contentText.colorset/Contents.json deleted file mode 100644 index ee43475..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Text/contentText.colorset/Contents.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0.529", - "green" : "0.463", - "red" : "0.431" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "light" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0.525", - "green" : "0.463", - "red" : "0.427" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xB1", - "green" : "0xA5", - "red" : "0x9A" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Text/secondaryText.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Text/secondaryText.colorset/Contents.json deleted file mode 100644 index a0f9bb9..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Text/secondaryText.colorset/Contents.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x7C", - "green" : "0x6E", - "red" : "0x61" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "light" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x7C", - "green" : "0x6E", - "red" : "0x61" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x7C", - "green" : "0x6E", - "red" : "0x61" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Text/titleText.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Text/titleText.colorset/Contents.json deleted file mode 100644 index fafa476..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Text/titleText.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFF", - "green" : "0xFF", - "red" : "0xFF" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/customerBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/customerBackground.colorset/Contents.json deleted file mode 100644 index dea20a0..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/customerBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFF", - "green" : "0xF8", - "red" : "0xE3" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/customerForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/customerForeground.colorset/Contents.json deleted file mode 100644 index 15e2907..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/customerForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x88", - "green" : "0x53", - "red" : "0x03" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/lockBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/lockBackground.colorset/Contents.json deleted file mode 100644 index 1e684e1..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/lockBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xEA", - "green" : "0xFB", - "red" : "0xFF" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/lockForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/lockForeground.colorset/Contents.json deleted file mode 100644 index 2311ae5..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/lockForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x0B", - "green" : "0x2B", - "red" : "0x8D" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/serverBackground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/serverBackground.colorset/Contents.json deleted file mode 100644 index 937e5f4..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/serverBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xEC", - "green" : "0xE3", - "red" : "0xFF" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/serverForeground.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/serverForeground.colorset/Contents.json deleted file mode 100644 index 17bc8b7..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/Write to Tag/serverForeground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x42", - "green" : "0x00", - "red" : "0x62" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/accent.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/accent.colorset/Contents.json deleted file mode 100644 index 95c66bb..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/accent.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFA", - "green" : "0xD0", - "red" : "0x5E" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/alarm.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/alarm.colorset/Contents.json deleted file mode 100644 index da33105..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/alarm.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x4E", - "green" : "0x4E", - "red" : "0xEF" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Assets.xcassets/Colours/lightestAccent.colorset/Contents.json b/NativeAppTemplate/Assets.xcassets/Colours/lightestAccent.colorset/Contents.json deleted file mode 100644 index dea20a0..0000000 --- a/NativeAppTemplate/Assets.xcassets/Colours/lightestAccent.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0xFF", - "green" : "0xF8", - "red" : "0xE3" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/NativeAppTemplate/Styleguide/Color+Extensions.swift b/NativeAppTemplate/Styleguide/Color+Extensions.swift index 6f259f1..4a7a2b9 100644 --- a/NativeAppTemplate/Styleguide/Color+Extensions.swift +++ b/NativeAppTemplate/Styleguide/Color+Extensions.swift @@ -5,20 +5,496 @@ import SwiftUI +// MARK: - Palette 9: Friendly + +extension Color { + // MARK: - Primary Colors (Light Blue Vivid) + + static let lightBlue1 = Color(hex: "#035388") // Darkest + static let lightBlue2 = Color(hex: "#0B69A3") + static let lightBlue3 = Color(hex: "#127FBF") + static let lightBlue4 = Color(hex: "#1992D4") + static let lightBlue5 = Color(hex: "#2BB0ED") + static let lightBlue6 = Color(hex: "#40C3F7") + static let lightBlue7 = Color(hex: "#5ED0FA") + static let lightBlue8 = Color(hex: "#81DEFD") + static let lightBlue9 = Color(hex: "#B3ECFF") + static let lightBlue10 = Color(hex: "#E3F8FF") // Lightest + + // MARK: - Primary Colors (Pink Vivid) + + static let pink1 = Color(hex: "#620042") // Darkest + static let pink2 = Color(hex: "#870557") + static let pink3 = Color(hex: "#A30664") + static let pink4 = Color(hex: "#BC0A6F") + static let pink5 = Color(hex: "#DA127D") + static let pink6 = Color(hex: "#E8368F") + static let pink7 = Color(hex: "#F364A2") + static let pink8 = Color(hex: "#F899BD") + static let pink9 = Color(hex: "#FFB8D2") + static let pink10 = Color(hex: "#FFE3EC") // Lightest + + // MARK: - Neutrals (Cool Grey) + + static let coolGrey1 = Color(hex: "#1F2933") // Darkest + static let coolGrey2 = Color(hex: "#323F4B") + static let coolGrey3 = Color(hex: "#3E4C59") + static let coolGrey4 = Color(hex: "#52606D") + static let coolGrey5 = Color(hex: "#616E7C") + static let coolGrey6 = Color(hex: "#7B8794") + static let coolGrey7 = Color(hex: "#9AA5B1") + static let coolGrey8 = Color(hex: "#CBD2D9") + static let coolGrey9 = Color(hex: "#E4E7EB") + static let coolGrey10 = Color(hex: "#F5F7FA") // Lightest + + // MARK: - Supporting: Red (Vivid) + + static let red1 = Color(hex: "#610316") + static let red2 = Color(hex: "#8A041A") + static let red3 = Color(hex: "#AB091E") + static let red4 = Color(hex: "#CF1124") + static let red5 = Color(hex: "#E12D39") + static let red6 = Color(hex: "#EF4E4E") + static let red7 = Color(hex: "#F86A6A") + static let red8 = Color(hex: "#FF9B9B") + static let red9 = Color(hex: "#FFBDBD") + static let red10 = Color(hex: "#FFE3E3") + + // MARK: - Supporting: Yellow (Vivid) + + static let yellow1 = Color(hex: "#8D2B0B") + static let yellow2 = Color(hex: "#B44D12") + static let yellow3 = Color(hex: "#CB6E17") + static let yellow4 = Color(hex: "#DE911D") + static let yellow5 = Color(hex: "#F0B429") + static let yellow6 = Color(hex: "#F7C948") + static let yellow7 = Color(hex: "#FADB5F") + static let yellow8 = Color(hex: "#FCE588") + static let yellow9 = Color(hex: "#FFF3C4") + static let yellow10 = Color(hex: "#FFFBEA") + + // MARK: - Supporting: Green (Vivid) + + static let green1 = Color(hex: "#014807") + static let green2 = Color(hex: "#07600E") + static let green3 = Color(hex: "#0E7817") + static let green4 = Color(hex: "#0F8613") + static let green5 = Color(hex: "#18981D") + static let green6 = Color(hex: "#31B237") + static let green7 = Color(hex: "#51CA58") + static let green8 = Color(hex: "#91E697") + static let green9 = Color(hex: "#C1F2C7") + static let green10 = Color(hex: "#E3F9E5") +} + +// MARK: - Semantic Colors (Dark Mode) + extension Color { + // MARK: Backgrounds + + static let backgroundColor = coolGrey1 // #1F2933 - Page background + static let cardBackground = coolGrey2 // #323F4B - Card background + static let coloredPrimaryBackground = lightBlue10 // #E3F8FF + static let coloredSecondaryBackground = coolGrey10 // #F5F7FA + static let failureBackground = pink1 // #620042 + static let successBackground = green1 // #014807 + static let weekEndBackground = coolGrey2 // #323F4B + + // MARK: Foregrounds (on colored backgrounds) + + static let coloredPrimaryForeground = lightBlue1 // #035388 + static let coloredSecondaryForeground = coolGrey1 // #1F2933 + static let successSecondaryForeground = green9 // #C1F2C7 + + // MARK: Text + + static let titleText = coolGrey10 // #F5F7FA + static let contentText = coolGrey7 // #9AA5B1 + static let secondaryText = coolGrey6 // #7B8794 + static let snackText = coolGrey10 // #F5F7FA + static let coloredPrimaryFootnoteText = lightBlue1 // #035388 + static let coloredSecondaryFootnoteText = coolGrey1 // #1F2933 + static let textButtonText = coolGrey10 // #F5F7FA + + // MARK: Buttons + + static let primaryButtonForeground = coolGrey10 // #F5F7FA + static let secondaryButtonForeground = coolGrey10 // #F5F7FA + static let coloredPrimaryButtonForeground = lightBlue9 // #B3ECFF + static let coloredSecondaryButtonForeground = coolGrey9 // #E4E7EB + static let destructiveButtonForeground = coolGrey10 // #F5F7FA + static let failureSecondaryForeground = pink9 // #FFB8D2 + + // MARK: Borders + + static let secondaryBorderColor = coolGrey3 // #3E4C59 + + // MARK: Snackbar + + static let snackError = coolGrey1 // #1F2933 + static let snackWarning = coolGrey1 // #1F2933 + static let snackSuccess = coolGrey1 // #1F2933 + + // MARK: Tags - Idling + + static let idlingTagBackground = coolGrey8 // #CBD2D9 + static let idlingTagBorder = coolGrey10 // #F5F7FA + static let idlingTagForeground = coolGrey2 // #323F4B + + // MARK: Tags - Preparing + + static let preparingTagBackground = yellow9 // #FFF3C4 + static let preparingTagBorder = yellow1 // #8D2B0B + static let preparingTagForeground = yellow1 // #8D2B0B + + // MARK: Tags - Customer Scanned + + static let customerScannedTagBackground = red9 // #FFBDBD + static let customerScannedTagBorder = coolGrey10 // #F5F7FA + static let customerScannedTagForeground = red1 // #610316 + + // MARK: Tags - Completed + + static let completedTagBackground = green9 // #C1F2C7 + static let completedTagBorder = coolGrey10 // #F5F7FA + static let completedTagForeground = green1 // #014807 + + // MARK: Tags - Personal + + static let personalTagBackground = lightBlue9 // #B3ECFF + static let personalTagBorder = coolGrey10 // #F5F7FA + static let personalTagForeground = lightBlue1 // #035388 + + // MARK: Tags - Current Account + + static let currentAccountTagBackground = pink9 // #FFB8D2 + static let currentAccountTagBorder = coolGrey10 // #F5F7FA + static let currentAccountTagForeground = pink1 // #620042 + + // MARK: Write to Tag + + static let customerBackground = lightBlue10 // #E3F8FF + static let customerForeground = lightBlue6 // #40C3F7 + static let lockBackground = yellow10 // #FFFBEA + static let lockForeground = yellow6 // #F7C948 + static let serverBackground = lightBlue7 // #5ED0FA + static let serverForeground = red6 // #EF4E4E + + // MARK: Validation + + static let validationError = red5 // #E12D39 + + // MARK: Calendar + + static let todayIndicator = red5 // #E12D39 + + // MARK: Glass + + static let glassBorder = coolGrey10 // #F5F7FA + static let glassShadow = coolGrey1 // #1F2933 + static let glassForeground = coolGrey10 // #F5F7FA + + // MARK: Button Arrow + + static let arrowBackground = coolGrey10 // #F5F7FA + + // MARK: Tag Webpage Preview + + static let tagWebpagePreviewBackground = coolGrey1 // #1F2933 + + // MARK: Accent + + static let accent = lightBlue7 // #5ED0FA + static let lightestAccent = lightBlue10 // #E3F8FF + static let alarm = red7 // #F86A6A +} + +// MARK: - ShapeStyle Conformance + +extension ShapeStyle where Self == Color { + /// Backgrounds static var backgroundColor: Color { - Color("backgroundColor") + Color.backgroundColor + } + + static var cardBackground: Color { + Color.cardBackground + } + + static var coloredPrimaryBackground: Color { + Color.coloredPrimaryBackground + } + + static var coloredSecondaryBackground: Color { + Color.coloredSecondaryBackground + } + + static var failureBackground: Color { + Color.failureBackground + } + + static var successBackground: Color { + Color.successBackground + } + + static var weekEndBackground: Color { + Color.weekEndBackground + } + + /// Foregrounds + static var coloredPrimaryForeground: Color { + Color.coloredPrimaryForeground + } + + static var coloredSecondaryForeground: Color { + Color.coloredSecondaryForeground + } + + static var successSecondaryForeground: Color { + Color.successSecondaryForeground + } + + /// Text + static var titleText: Color { + Color.titleText + } + + static var contentText: Color { + Color.contentText + } + + static var secondaryText: Color { + Color.secondaryText + } + + static var snackText: Color { + Color.snackText + } + + static var coloredPrimaryFootnoteText: Color { + Color.coloredPrimaryFootnoteText + } + + static var coloredSecondaryFootnoteText: Color { + Color.coloredSecondaryFootnoteText + } + + static var textButtonText: Color { + Color.textButtonText } + /// Buttons + static var primaryButtonForeground: Color { + Color.primaryButtonForeground + } + + static var secondaryButtonForeground: Color { + Color.secondaryButtonForeground + } + + static var coloredPrimaryButtonForeground: Color { + Color.coloredPrimaryButtonForeground + } + + static var coloredSecondaryButtonForeground: Color { + Color.coloredSecondaryButtonForeground + } + + static var destructiveButtonForeground: Color { + Color.destructiveButtonForeground + } + + static var failureSecondaryForeground: Color { + Color.failureSecondaryForeground + } + + /// Borders + static var secondaryBorderColor: Color { + Color.secondaryBorderColor + } + + /// Snackbar static var snackError: Color { - Color("error") + Color.snackError } static var snackWarning: Color { - Color("warning") + Color.snackWarning } static var snackSuccess: Color { - Color("success") + Color.snackSuccess + } + + /// Tags + static var idlingTagBackground: Color { + Color.idlingTagBackground + } + + static var idlingTagBorder: Color { + Color.idlingTagBorder + } + + static var idlingTagForeground: Color { + Color.idlingTagForeground + } + + static var preparingTagBackground: Color { + Color.preparingTagBackground + } + + static var preparingTagBorder: Color { + Color.preparingTagBorder + } + + static var preparingTagForeground: Color { + Color.preparingTagForeground + } + + static var customerScannedTagBackground: Color { + Color.customerScannedTagBackground + } + + static var customerScannedTagBorder: Color { + Color.customerScannedTagBorder + } + + static var customerScannedTagForeground: Color { + Color.customerScannedTagForeground + } + + static var completedTagBackground: Color { + Color.completedTagBackground + } + + static var completedTagBorder: Color { + Color.completedTagBorder + } + + static var completedTagForeground: Color { + Color.completedTagForeground + } + + static var personalTagBackground: Color { + Color.personalTagBackground + } + + static var personalTagBorder: Color { + Color.personalTagBorder + } + + static var personalTagForeground: Color { + Color.personalTagForeground + } + + static var currentAccountTagBackground: Color { + Color.currentAccountTagBackground + } + + static var currentAccountTagBorder: Color { + Color.currentAccountTagBorder + } + + static var currentAccountTagForeground: Color { + Color.currentAccountTagForeground + } + + /// Write to Tag + static var customerBackground: Color { + Color.customerBackground + } + + static var customerForeground: Color { + Color.customerForeground + } + + static var lockBackground: Color { + Color.lockBackground + } + + static var lockForeground: Color { + Color.lockForeground + } + + static var serverBackground: Color { + Color.serverBackground + } + + static var serverForeground: Color { + Color.serverForeground + } + + /// Validation + static var validationError: Color { + Color.validationError + } + + /// Calendar + static var todayIndicator: Color { + Color.todayIndicator + } + + /// Glass + static var glassBorder: Color { + Color.glassBorder + } + + static var glassShadow: Color { + Color.glassShadow + } + + static var glassForeground: Color { + Color.glassForeground + } + + /// Button Arrow + static var arrowBackground: Color { + Color.arrowBackground + } + + /// Tag Webpage Preview + static var tagWebpagePreviewBackground: Color { + Color.tagWebpagePreviewBackground + } + + /// Accent + static var accent: Color { + Color.accent + } + + static var lightestAccent: Color { + Color.lightestAccent + } + + static var alarm: Color { + Color.alarm + } +} + +// MARK: - Hex Color Initializer + +extension Color { + init(hex: String) { + let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) + var int: UInt64 = 0 + Scanner(string: hex).scanHexInt64(&int) + let alpha, red, green, blue: UInt64 + switch hex.count { + case 3: // RGB (12-bit) + (alpha, red, green, blue) = (255, (int >> 8) * 17, (int >> 4 & 0xf) * 17, (int & 0xf) * 17) + case 6: // RGB (24-bit) + (alpha, red, green, blue) = (255, int >> 16, int >> 8 & 0xff, int & 0xff) + case 8: // ARGB (32-bit) + (alpha, red, green, blue) = (int >> 24, int >> 16 & 0xff, int >> 8 & 0xff, int & 0xff) + default: + (alpha, red, green, blue) = (255, 0, 0, 0) + } + self.init( + .sRGB, + red: Double(red) / 255, + green: Double(green) / 255, + blue: Double(blue) / 255, + opacity: Double(alpha) / 255 + ) } } diff --git a/NativeAppTemplate/Styleguide/UIColor+Extensions.swift b/NativeAppTemplate/Styleguide/UIColor+Extensions.swift deleted file mode 100644 index f0d74c8..0000000 --- a/NativeAppTemplate/Styleguide/UIColor+Extensions.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// UIColor+Extensions.swift -// NativeAppTemplate -// - -import UIKit - -extension UIColor { - static var backgroundUiColor: UIColor { - UIColor(named: "backgroundColor")! - } -} diff --git a/NativeAppTemplate/UI/App Root/ForgotPasswordView.swift b/NativeAppTemplate/UI/App Root/ForgotPasswordView.swift index 474a993..5baca37 100644 --- a/NativeAppTemplate/UI/App Root/ForgotPasswordView.swift +++ b/NativeAppTemplate/UI/App Root/ForgotPasswordView.swift @@ -53,10 +53,10 @@ private extension ForgotPasswordView { } footer: { if viewModel.isEmailBlank { Text(String.emailIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.isEmailInvalid { Text(String.emailIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } diff --git a/NativeAppTemplate/UI/App Root/ResendConfirmationInstructionsView.swift b/NativeAppTemplate/UI/App Root/ResendConfirmationInstructionsView.swift index b5a14ce..aff34fb 100644 --- a/NativeAppTemplate/UI/App Root/ResendConfirmationInstructionsView.swift +++ b/NativeAppTemplate/UI/App Root/ResendConfirmationInstructionsView.swift @@ -53,10 +53,10 @@ private extension ResendConfirmationInstructionsView { } footer: { if viewModel.isEmailBlank { Text(String.emailIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.isEmailInvalid { Text(String.emailIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } diff --git a/NativeAppTemplate/UI/App Root/SignInEmailAndPasswordView.swift b/NativeAppTemplate/UI/App Root/SignInEmailAndPasswordView.swift index 58292a3..572b093 100644 --- a/NativeAppTemplate/UI/App Root/SignInEmailAndPasswordView.swift +++ b/NativeAppTemplate/UI/App Root/SignInEmailAndPasswordView.swift @@ -49,10 +49,10 @@ private extension SignInEmailAndPasswordView { } footer: { if viewModel.isEmailBlank { Text(String.emailIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.isEmailInvalid { Text(String.emailIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } Section { @@ -66,10 +66,10 @@ private extension SignInEmailAndPasswordView { } footer: { if viewModel.isPasswordBlank { Text(String.passwordIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.hasInvalidDataPassword { Text(String.passwordIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } diff --git a/NativeAppTemplate/UI/App Root/SignUpView.swift b/NativeAppTemplate/UI/App Root/SignUpView.swift index c6df4fe..97c667a 100644 --- a/NativeAppTemplate/UI/App Root/SignUpView.swift +++ b/NativeAppTemplate/UI/App Root/SignUpView.swift @@ -50,7 +50,7 @@ private extension SignUpView { } footer: { Text(String.fullNameIsRequired) .font(.caption) - .foregroundStyle(viewModel.isNameBlank ? .red : .clear) + .foregroundStyle(viewModel.isNameBlank ? .validationError : .clear) } Section { @@ -62,10 +62,10 @@ private extension SignUpView { } footer: { if viewModel.isEmailBlank { Text(String.emailIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.hasInvalidDataEmail { Text(String.emailIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } @@ -88,10 +88,10 @@ private extension SignUpView { if viewModel.isPasswordBlank { Text(String.passwordIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.hasInvalidDataPassword { Text(String.passwordIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } } diff --git a/NativeAppTemplate/UI/App Root/SnackbarView.swift b/NativeAppTemplate/UI/App Root/SnackbarView.swift index c3c780c..ff04a7c 100644 --- a/NativeAppTemplate/UI/App Root/SnackbarView.swift +++ b/NativeAppTemplate/UI/App Root/SnackbarView.swift @@ -55,15 +55,20 @@ struct SnackbarView: View { } .padding(.vertical, NativeAppTemplateConstants.Spacing.sm) .padding(.horizontal, NativeAppTemplateConstants.Spacing.md) - .background(state.status.color) + .background(.ultraThinMaterial) + .clipShape(RoundedRectangle(cornerRadius: NativeAppTemplateConstants.CornerRadius.md)) .overlay( - Rectangle().frame(width: nil, height: 1, alignment: .top).foregroundColor(.lightestAccent), - alignment: .top + RoundedRectangle(cornerRadius: NativeAppTemplateConstants.CornerRadius.md) + .stroke( + Color.glassBorder.opacity(NativeAppTemplateConstants.Glass.borderOpacity), + lineWidth: NativeAppTemplateConstants.Layout.borderWidth + ) ) - .overlay( - Rectangle().frame(width: nil, height: 1, alignment: .bottom).foregroundColor(.lightestAccent), - alignment: .bottom + .shadow( + color: .glassShadow.opacity(NativeAppTemplateConstants.Glass.shadowOpacity), + radius: NativeAppTemplateConstants.Layout.shadowRadius ) + .padding(.horizontal, NativeAppTemplateConstants.Spacing.xxs) } } diff --git a/NativeAppTemplate/UI/Empty States/ErrorView.swift b/NativeAppTemplate/UI/Empty States/ErrorView.swift index 131b9af..57363a3 100644 --- a/NativeAppTemplate/UI/Empty States/ErrorView.swift +++ b/NativeAppTemplate/UI/Empty States/ErrorView.swift @@ -28,38 +28,40 @@ struct ErrorView { extension ErrorView: View { var body: some View { - ZStack { - VStack { - Spacer() + VStack { + Spacer() - Image(systemName: "exclamationmark.triangle") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: NativeAppTemplateConstants.Spacing.xxxl) - .padding() - .foregroundStyle(.titleText) + GlassCard { + VStack { + Image(systemName: "exclamationmark.triangle") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: NativeAppTemplateConstants.Spacing.xxxl) + .padding() + .foregroundStyle(.titleText) - Text(titleText) - .font(.uiTitle1) - .foregroundStyle(.titleText) - .padding(.top) + Text(titleText) + .font(.uiTitle1) + .foregroundStyle(.titleText) + .padding(.top) - Text(bodyText) - .font(.uiLabel) - .foregroundStyle(.contentText) - .multilineTextAlignment(.center) - .padding(.top, NativeAppTemplateConstants.Spacing.xxxs) + Text(bodyText) + .font(.uiLabel) + .foregroundStyle(.contentText) + .multilineTextAlignment(.center) + .padding(.top, NativeAppTemplateConstants.Spacing.xxxs) - MainButtonView( - title: buttonTitle, - type: .primary(withArrow: false), - callback: buttonAction - ) - .padding(NativeAppTemplateConstants.Spacing.lg) - - Spacer() + MainButtonView( + title: buttonTitle, + type: .primary(withArrow: false), + callback: buttonAction + ) + .padding(.top, NativeAppTemplateConstants.Spacing.lg) + } } - .background(Color.backgroundColor) + .padding(.horizontal, NativeAppTemplateConstants.Spacing.lg) + + Spacer() } } } diff --git a/NativeAppTemplate/UI/Empty States/LoadingView.swift b/NativeAppTemplate/UI/Empty States/LoadingView.swift index 324eff9..1714bb4 100644 --- a/NativeAppTemplate/UI/Empty States/LoadingView.swift +++ b/NativeAppTemplate/UI/Empty States/LoadingView.swift @@ -7,11 +7,13 @@ import SwiftUI struct LoadingView: View { var body: some View { - VStack { - ProgressView().scaleEffect(1.0, anchor: .center) - .padding([.bottom], NativeAppTemplateConstants.Spacing.xs) - Text(String.loading) - .font(.uiHeadline) + GlassCard(padding: NativeAppTemplateConstants.Spacing.lg) { + VStack { + ProgressView().scaleEffect(1.0, anchor: .center) + .padding([.bottom], NativeAppTemplateConstants.Spacing.xs) + Text(String.loading) + .font(.uiHeadline) + } } } } diff --git a/NativeAppTemplate/UI/Empty States/NeedAppUpdatesView.swift b/NativeAppTemplate/UI/Empty States/NeedAppUpdatesView.swift index fff7670..33ebfd1 100644 --- a/NativeAppTemplate/UI/Empty States/NeedAppUpdatesView.swift +++ b/NativeAppTemplate/UI/Empty States/NeedAppUpdatesView.swift @@ -10,29 +10,36 @@ struct NeedAppUpdatesView: View { var body: some View { VStack { - Image(systemName: "exclamationmark.arrow.circlepath") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: NativeAppTemplateConstants.Spacing.xxxl) - .foregroundStyle(.titleText) - .padding() - Text(String.updateApp) - .font(.uiTitle1) - .foregroundStyle(.titleText) - .padding(.top) - Text(String.installNewVersionApp) - .foregroundStyle(.contentText) - .padding(.top, NativeAppTemplateConstants.Spacing.xxxs) - Button { - openURL(URL(string: String.appStoreUrl)!) - } label: { - Text(String.updateApp) + Spacer() + + GlassCard { + VStack { + Image(systemName: "exclamationmark.arrow.circlepath") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: NativeAppTemplateConstants.Spacing.xxxl) + .foregroundStyle(.titleText) + .padding() + Text(String.updateApp) + .font(.uiTitle1) + .foregroundStyle(.titleText) + .padding(.top) + Text(String.installNewVersionApp) + .foregroundStyle(.contentText) + .padding(.top, NativeAppTemplateConstants.Spacing.xxxs) + Button { + openURL(URL(string: String.appStoreUrl)!) + } label: { + Text(String.updateApp) + } + .padding(.top) + } } - .padding(.top) + .padding(.horizontal, NativeAppTemplateConstants.Spacing.lg) + + Spacer() } .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(Color.backgroundColor) - .edgesIgnoringSafeArea(.all) } } diff --git a/NativeAppTemplate/UI/Empty States/OfflineView.swift b/NativeAppTemplate/UI/Empty States/OfflineView.swift index 9afb6d1..203c955 100644 --- a/NativeAppTemplate/UI/Empty States/OfflineView.swift +++ b/NativeAppTemplate/UI/Empty States/OfflineView.swift @@ -8,30 +8,36 @@ import SwiftUI struct OfflineView: View { var body: some View { VStack { - Image(systemName: "wifi.slash") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: NativeAppTemplateConstants.Spacing.xxxl) - .padding() - .foregroundStyle(.titleText) + Spacer() - Text(String.noConnection) - .font(.uiTitle1) - .foregroundStyle(.titleText) - .multilineTextAlignment(.center) - .padding(.top) + GlassCard { + VStack { + Image(systemName: "wifi.slash") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: NativeAppTemplateConstants.Spacing.xxxl) + .padding() + .foregroundStyle(.titleText) - Text(String.checkInternetConnection) - .font(.uiLabel) - .lineSpacing(NativeAppTemplateConstants.Spacing.xxs) - .foregroundStyle(.contentText) - .multilineTextAlignment(.center) - .padding(.top, NativeAppTemplateConstants.Spacing.xxxs) - .padding(.horizontal, NativeAppTemplateConstants.Spacing.lg) + Text(String.noConnection) + .font(.uiTitle1) + .foregroundStyle(.titleText) + .multilineTextAlignment(.center) + .padding(.top) + + Text(String.checkInternetConnection) + .font(.uiLabel) + .lineSpacing(NativeAppTemplateConstants.Spacing.xxs) + .foregroundStyle(.contentText) + .multilineTextAlignment(.center) + .padding(.top, NativeAppTemplateConstants.Spacing.xxxs) + } + } + .padding(.horizontal, NativeAppTemplateConstants.Spacing.lg) + + Spacer() } .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(Color.backgroundColor) - .edgesIgnoringSafeArea(.all) } } diff --git a/NativeAppTemplate/UI/Scan/CompleteScanResultView.swift b/NativeAppTemplate/UI/Scan/CompleteScanResultView.swift index 70aacac..e8e5986 100644 --- a/NativeAppTemplate/UI/Scan/CompleteScanResultView.swift +++ b/NativeAppTemplate/UI/Scan/CompleteScanResultView.swift @@ -59,19 +59,21 @@ private extension CompleteScanResultView { } .padding(.top, NativeAppTemplateConstants.Spacing.xxs) } - .backgroundStyle(.successBackground) + .backgroundStyle(.ultraThinMaterial) } } var failedView: some View { GroupBox(label: Label(String("Error"), systemImage: "exclamationmark.triangle")) { Text(completeScanResult.message) + .padding(.top, NativeAppTemplateConstants.Spacing.xxs) } - .backgroundStyle(.failureBackground) + .foregroundStyle(.validationError) + .backgroundStyle(.ultraThinMaterial) } var idledView: some View { GroupBox(label: Label(String("Result"), systemImage: "checkmark.circle")) {} - .backgroundStyle(.successBackground) + .backgroundStyle(.ultraThinMaterial) } } diff --git a/NativeAppTemplate/UI/Scan/ScanView.swift b/NativeAppTemplate/UI/Scan/ScanView.swift index 5f0cd0d..9b7b2cf 100644 --- a/NativeAppTemplate/UI/Scan/ScanView.swift +++ b/NativeAppTemplate/UI/Scan/ScanView.swift @@ -97,10 +97,10 @@ private extension ScanView { Text(String.completeScanHelp) .font(.uiFootnote) - .foregroundStyle(.coloredPrimaryFootnoteText) + .foregroundStyle(.contentText) } - .foregroundStyle(.coloredPrimaryForeground) - .backgroundStyle(.coloredPrimaryBackground) + .foregroundStyle(.accent) + .backgroundStyle(.ultraThinMaterial) } CompleteScanResultView( @@ -115,10 +115,10 @@ private extension ScanView { Text(String.showTagInfoScanHelp) .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.contentText) } - .foregroundStyle(.coloredSecondaryForeground) - .backgroundStyle(.coloredSecondaryBackground) + .foregroundStyle(.contentText) + .backgroundStyle(.ultraThinMaterial) ShowTagInfoScanResultView( showTagInfoScanResult: sessionController.showTagInfoScanResult @@ -137,8 +137,6 @@ private extension ScanView { .pickerStyle(SegmentedPickerStyle()) } } - .toolbarBackground(.black, for: .navigationBar) - .toolbarBackground(.visible, for: .navigationBar) .padding() .confirmationDialog( String.itemTagAlreadyCompleted, diff --git a/NativeAppTemplate/UI/Scan/ShowTagInfoScanResultView.swift b/NativeAppTemplate/UI/Scan/ShowTagInfoScanResultView.swift index e917fc1..6d0ce64 100644 --- a/NativeAppTemplate/UI/Scan/ShowTagInfoScanResultView.swift +++ b/NativeAppTemplate/UI/Scan/ShowTagInfoScanResultView.swift @@ -46,14 +46,14 @@ private extension ShowTagInfoScanResultView { Text(String(itemTag.queueNumber)) .font(.uiTitle1) - .foregroundStyle(itemTagType == .server ? .red : .blue) + .foregroundStyle(itemTagType == .server ? .serverForeground : .accent) HStack(alignment: .firstTextBaseline) { Text(String(scannedAt.cardTimeAgoInWordsDateString)) .font(.uiBodyCustom) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(verbatim: "show tag info scanned") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } Grid( @@ -64,28 +64,28 @@ private extension ShowTagInfoScanResultView { GridRow { Image(systemName: "storefront") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(itemTag.shopName) .font(.uiLabelBold) Text(" ") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } GridRow { Image(systemName: "info.circle") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(itemTagType.displayString) .font(.uiLabelBold) - .foregroundStyle(itemTagType == .server ? .red : .blue) + .foregroundStyle(itemTagType == .server ? .serverForeground : .accent) Text(verbatim: "tag type") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } GridRow { Image(systemName: "flag.checkered") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) if itemTag.state == .completed { CompletedTag() } else { @@ -93,19 +93,19 @@ private extension ShowTagInfoScanResultView { } Text(verbatim: "tag status") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } if itemTag.scanState == ScanState.scanned, itemTag.customerReadAt != nil { GridRow { Image(systemName: "person.2") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(itemTag.customerReadAt!.cardTimeString) .font(.uiLabelBold) Text(verbatim: "scanned by a customer") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } } @@ -113,55 +113,56 @@ private extension ShowTagInfoScanResultView { GridRow { Image(systemName: "flag.checkered.circle") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(itemTag.completedAt!.cardTimeString) .font(.uiLabelBold) Text(verbatim: "completed") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } } GridRow { Image(systemName: "rectangle") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(displayReadOnly) .font(.uiLabelBold) Text(verbatim: "NFC tag") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } GridRow { Image(systemName: "clock") .frame(width: imageSize, height: imageSize) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) Text(itemTag.createdAt.cardDateString) .font(.uiLabelBold) Text(verbatim: "created") .font(.uiFootnote) - .foregroundStyle(.coloredSecondaryFootnoteText) + .foregroundStyle(.secondaryText) } } } } } - .foregroundStyle(.coloredSecondaryForeground) - .backgroundStyle(.coloredSecondaryBackground) + .foregroundStyle(.contentText) + .backgroundStyle(.ultraThinMaterial) .dynamicTypeSize(...DynamicTypeSize.accessibility1) } var failedView: some View { GroupBox(label: Label(String("Error"), systemImage: "exclamationmark.triangle")) { Text(showTagInfoScanResult.message) - .padding(.top) + .padding(.top, NativeAppTemplateConstants.Spacing.xxs) } - .backgroundStyle(.failureBackground) + .foregroundStyle(.validationError) + .backgroundStyle(.ultraThinMaterial) } var idledView: some View { GroupBox(label: Label(String.tagInfo, systemImage: "rectangle")) {} - .foregroundStyle(.coloredSecondaryForeground) - .backgroundStyle(.coloredSecondaryBackground) + .foregroundStyle(.contentText) + .backgroundStyle(.ultraThinMaterial) } } diff --git a/NativeAppTemplate/UI/Settings/PasswordEditView.swift b/NativeAppTemplate/UI/Settings/PasswordEditView.swift index 172080c..c912673 100644 --- a/NativeAppTemplate/UI/Settings/PasswordEditView.swift +++ b/NativeAppTemplate/UI/Settings/PasswordEditView.swift @@ -52,7 +52,7 @@ private extension PasswordEditView { Text(String.weNeedYourCurrentPassword) .font(.uiFootnote) Text(String.currentPasswordIsRequired) - .foregroundStyle(Utility.isBlank(viewModel.currentPassword) ? .red : .clear) + .foregroundStyle(Utility.isBlank(viewModel.currentPassword) ? .validationError : .clear) .font(.uiFootnote) } } @@ -70,11 +70,11 @@ private extension PasswordEditView { if Utility.isBlank(viewModel.password) { Text(String.newPasswordIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) .font(.uiFootnote) } else if viewModel.hasInvalidDataPassword { Text(String.passwordIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) .font(.uiFootnote) } } @@ -89,7 +89,7 @@ private extension PasswordEditView { } footer: { Text(String.confirmNewPasswordIsRequired) .font(.uiFootnote) - .foregroundStyle(Utility.isBlank(viewModel.passwordConfirmation) ? .red : .clear) + .foregroundStyle(Utility.isBlank(viewModel.passwordConfirmation) ? .validationError : .clear) } } .navigationTitle(String.updatePassword) diff --git a/NativeAppTemplate/UI/Settings/SettingsView.swift b/NativeAppTemplate/UI/Settings/SettingsView.swift index 68e40d8..361bf80 100644 --- a/NativeAppTemplate/UI/Settings/SettingsView.swift +++ b/NativeAppTemplate/UI/Settings/SettingsView.swift @@ -49,7 +49,7 @@ struct SettingsView: View { Label(String.password, systemImage: "key") } } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) Section(header: Text(String.information)) { Link(destination: URL(string: String.supportWebsiteUrl)!) { @@ -86,7 +86,7 @@ struct SettingsView: View { Text(String.termsOfUse) } } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) Section { VStack { diff --git a/NativeAppTemplate/UI/Settings/ShopkeeperEditView.swift b/NativeAppTemplate/UI/Settings/ShopkeeperEditView.swift index f522fb1..de96b77 100644 --- a/NativeAppTemplate/UI/Settings/ShopkeeperEditView.swift +++ b/NativeAppTemplate/UI/Settings/ShopkeeperEditView.swift @@ -47,7 +47,7 @@ private extension ShopkeeperEditView { Text(String.fullName) } footer: { Text(String.fullNameIsRequired) - .foregroundStyle(Utility.isBlank(viewModel.name) ? .red : .clear) + .foregroundStyle(Utility.isBlank(viewModel.name) ? .validationError : .clear) } Section { @@ -59,10 +59,10 @@ private extension ShopkeeperEditView { } footer: { if Utility.isBlank(viewModel.email) { Text(String.emailIsRequired) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } else if viewModel.hasInvalidDataEmail { Text(String.emailIsInvalid) - .foregroundStyle(.red) + .foregroundStyle(.validationError) } } diff --git a/NativeAppTemplate/UI/Shared/GlassButtonStyle.swift b/NativeAppTemplate/UI/Shared/GlassButtonStyle.swift new file mode 100644 index 0000000..2cae40b --- /dev/null +++ b/NativeAppTemplate/UI/Shared/GlassButtonStyle.swift @@ -0,0 +1,52 @@ +// +// GlassButtonStyle.swift +// NativeAppTemplate +// +// Created by Daisuke Adachi. +// + +import SwiftUI + +struct PrimaryGlassButtonStyle: ButtonStyle { + func makeBody(configuration: Configuration) -> some View { + configuration.label + .font(.uiButtonLabelLarge) + .foregroundStyle(.glassForeground) + .padding(.vertical, NativeAppTemplateConstants.Spacing.sm) + .padding(.horizontal, NativeAppTemplateConstants.Spacing.md) + .frame(maxWidth: .infinity) + .background( + LinearGradient( + colors: [Color.accent, Color.accent.opacity(0.8)], + startPoint: .topLeading, + endPoint: .bottomTrailing + ) + ) + .clipShape(RoundedRectangle(cornerRadius: NativeAppTemplateConstants.CornerRadius.sm)) + .shadow( + color: Color.accent.opacity(NativeAppTemplateConstants.Glass.shadowOpacity), + radius: NativeAppTemplateConstants.Layout.shadowRadius + ) + .scaleEffect(configuration.isPressed ? 0.97 : 1.0) + .animation(.easeInOut(duration: NativeAppTemplateConstants.Animation.fast), value: configuration.isPressed) + } +} + +struct SecondaryGlassButtonStyle: ButtonStyle { + func makeBody(configuration: Configuration) -> some View { + configuration.label + .font(.uiButtonLabelLarge) + .foregroundStyle(.accent) + .padding(.vertical, NativeAppTemplateConstants.Spacing.sm) + .padding(.horizontal, NativeAppTemplateConstants.Spacing.md) + .frame(maxWidth: .infinity) + .background(.ultraThinMaterial) + .clipShape(RoundedRectangle(cornerRadius: NativeAppTemplateConstants.CornerRadius.sm)) + .overlay( + RoundedRectangle(cornerRadius: NativeAppTemplateConstants.CornerRadius.sm) + .stroke(Color.accent, lineWidth: NativeAppTemplateConstants.Layout.borderWidth) + ) + .scaleEffect(configuration.isPressed ? 0.97 : 1.0) + .animation(.easeInOut(duration: NativeAppTemplateConstants.Animation.fast), value: configuration.isPressed) + } +} diff --git a/NativeAppTemplate/UI/Shared/GlassCard.swift b/NativeAppTemplate/UI/Shared/GlassCard.swift new file mode 100644 index 0000000..e41d44e --- /dev/null +++ b/NativeAppTemplate/UI/Shared/GlassCard.swift @@ -0,0 +1,42 @@ +// +// GlassCard.swift +// NativeAppTemplate +// +// Created by Daisuke Adachi. +// + +import SwiftUI + +struct GlassCard: View { + var cornerRadius: CGFloat + var padding: CGFloat + @ViewBuilder var content: Content + + init( + cornerRadius: CGFloat = NativeAppTemplateConstants.CornerRadius.lg, + padding: CGFloat = NativeAppTemplateConstants.Spacing.md, + @ViewBuilder content: () -> Content + ) { + self.cornerRadius = cornerRadius + self.padding = padding + self.content = content() + } + + var body: some View { + content + .padding(padding) + .background(.ultraThinMaterial) + .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) + .overlay( + RoundedRectangle(cornerRadius: cornerRadius) + .stroke( + Color.glassBorder.opacity(NativeAppTemplateConstants.Glass.borderOpacity), + lineWidth: NativeAppTemplateConstants.Layout.borderWidth + ) + ) + .shadow( + color: .glassShadow.opacity(NativeAppTemplateConstants.Glass.shadowOpacity), + radius: NativeAppTemplateConstants.Layout.shadowRadius + ) + } +} diff --git a/NativeAppTemplate/UI/Shared/MainButtonView.swift b/NativeAppTemplate/UI/Shared/MainButtonView.swift index 8a633fe..3e986ac 100644 --- a/NativeAppTemplate/UI/Shared/MainButtonView.swift +++ b/NativeAppTemplate/UI/Shared/MainButtonView.swift @@ -91,7 +91,7 @@ struct MainButtonView: View { .frame(width: height, height: height) .foregroundStyle(type.color) .background( - Color.white + Color.arrowBackground .cornerRadius(NativeAppTemplateConstants.CornerRadius.sm) .padding(NativeAppTemplateConstants.Spacing.xs) ) @@ -150,7 +150,7 @@ struct MainButtonImageView: View { .frame(width: height, height: height) .foregroundStyle(type.color) .background( - Color.white + Color.arrowBackground .cornerRadius(NativeAppTemplateConstants.CornerRadius.sm) .padding(NativeAppTemplateConstants.Spacing.xs) ) diff --git a/NativeAppTemplate/UI/Shared/Tags/TagView.swift b/NativeAppTemplate/UI/Shared/Tags/TagView.swift index b5a2128..1164580 100644 --- a/NativeAppTemplate/UI/Shared/Tags/TagView.swift +++ b/NativeAppTemplate/UI/Shared/Tags/TagView.swift @@ -57,16 +57,16 @@ struct TagView_Previews: PreviewProvider { VStack(spacing: 18) { TagView( text: "this is a tag", - textColor: .white, - backgroundColor: .red, - borderColor: .yellow + textColor: .coolGrey10, + backgroundColor: .red5, + borderColor: .yellow5 ) TagView( text: "with an image", - textColor: .white, - backgroundColor: .red, - borderColor: .yellow, + textColor: .coolGrey10, + backgroundColor: .red5, + borderColor: .yellow5, image: Image(systemName: "checkmark") ) } diff --git a/NativeAppTemplate/UI/Shop Detail/ShopDetailView.swift b/NativeAppTemplate/UI/Shop Detail/ShopDetailView.swift index 5cd132d..7bbd3d0 100644 --- a/NativeAppTemplate/UI/Shop Detail/ShopDetailView.swift +++ b/NativeAppTemplate/UI/Shop Detail/ShopDetailView.swift @@ -122,10 +122,10 @@ private extension ShopDetailView { Label(String.reset, systemImage: "trash") .labelStyle(.titleOnly) } - .tint(.red) + .tint(.validationError) } } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) } } diff --git a/NativeAppTemplate/UI/Shop List/ShopCreateView.swift b/NativeAppTemplate/UI/Shop List/ShopCreateView.swift index 90f25a2..970a6a1 100644 --- a/NativeAppTemplate/UI/Shop List/ShopCreateView.swift +++ b/NativeAppTemplate/UI/Shop List/ShopCreateView.swift @@ -38,7 +38,7 @@ struct ShopCreateView: View { TextField(String.name, text: $viewModel.name) } footer: { Text(String.shopNameIsRequired) - .foregroundStyle(viewModel.hasInvalidData ? .red : .clear) + .foregroundStyle(viewModel.hasInvalidData ? .validationError : .clear) } Section { diff --git a/NativeAppTemplate/UI/Shop List/ShopListView.swift b/NativeAppTemplate/UI/Shop List/ShopListView.swift index 5f48c13..57f6979 100644 --- a/NativeAppTemplate/UI/Shop List/ShopListView.swift +++ b/NativeAppTemplate/UI/Shop List/ShopListView.swift @@ -80,7 +80,7 @@ private extension ShopListView { NavigationLink(value: shop) { ShopListCardView(shop: shop) } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) } } diff --git a/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagDetailView.swift b/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagDetailView.swift index 6d22444..32b8e4b 100644 --- a/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagDetailView.swift +++ b/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagDetailView.swift @@ -67,9 +67,10 @@ private extension ItemTagDetailView { GroupBox(label: Label(String("Lock"), systemImage: "lock")) { Toggle(isOn: $viewModel.isLocked) { Text(verbatim: "Lock") + .lineLimit(1) } + .toggleStyle(.button) .dynamicTypeSize(...DynamicTypeSize.large) - .frame(width: NativeAppTemplateConstants.Spacing.xxxl) .tint(.lockForeground) if viewModel.isLocked { @@ -79,7 +80,7 @@ private extension ItemTagDetailView { } } .foregroundStyle(.lockForeground) - .backgroundStyle(.lockBackground) + .backgroundStyle(.ultraThinMaterial) GroupBox(label: Label(String("Server"), systemImage: "storefront")) { MainButtonView(title: String.writeServerTag, type: .server(withArrow: false)) { @@ -88,7 +89,7 @@ private extension ItemTagDetailView { .padding() } .foregroundStyle(.serverForeground) - .backgroundStyle(.serverBackground) + .backgroundStyle(.ultraThinMaterial) GroupBox(label: Label(String("Customer"), systemImage: "person.2")) { MainButtonView(title: String.writeCustomerTag, type: .customer(withArrow: false)) { @@ -115,7 +116,7 @@ private extension ItemTagDetailView { } .padding(.top, NativeAppTemplateConstants.Spacing.md) .foregroundStyle(.customerForeground) - .backgroundStyle(.customerBackground) + .backgroundStyle(.ultraThinMaterial) } } .sheet( diff --git a/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagEditView.swift b/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagEditView.swift index 2b597dc..165a7b9 100644 --- a/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagEditView.swift +++ b/NativeAppTemplate/UI/Shop Settings/ItemTag Detail/ItemTagEditView.swift @@ -60,7 +60,7 @@ private extension ItemTagEditView { .font(.uiFootnote) Text(String.tagNumberIsInvalid) .font(.uiFootnote) - .foregroundStyle(viewModel.hasInvalidDataQueueNumber ? .red : .clear) + .foregroundStyle(viewModel.hasInvalidDataQueueNumber ? .validationError : .clear) } } } diff --git a/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagCreateView.swift b/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagCreateView.swift index cba604f..8f45a18 100644 --- a/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagCreateView.swift +++ b/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagCreateView.swift @@ -57,7 +57,7 @@ private extension ItemTagCreateView { .font(.uiFootnote) Text(String.tagNumberIsInvalid) .font(.uiFootnote) - .foregroundStyle(viewModel.hasInvalidDataQueueNumber ? .red : .clear) + .foregroundStyle(viewModel.hasInvalidDataQueueNumber ? .validationError : .clear) } } } diff --git a/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagListView.swift b/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagListView.swift index efe5e78..c601938 100644 --- a/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagListView.swift +++ b/NativeAppTemplate/UI/Shop Settings/ItemTag List/ItemTagListView.swift @@ -69,10 +69,10 @@ private extension ItemTagListView { Label(String.delete, systemImage: "trash") .labelStyle(.titleOnly) } - .tint(.red) + .tint(.validationError) } } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) } .refreshable { viewModel.reload() diff --git a/NativeAppTemplate/UI/Shop Settings/NumberTagsWebpageListView.swift b/NativeAppTemplate/UI/Shop Settings/NumberTagsWebpageListView.swift index 69905e5..6dc2a54 100644 --- a/NativeAppTemplate/UI/Shop Settings/NumberTagsWebpageListView.swift +++ b/NativeAppTemplate/UI/Shop Settings/NumberTagsWebpageListView.swift @@ -66,7 +66,7 @@ private extension NumberTagsWebpageListView { viewModel.copyWebpageUrl(viewModel.shop.displayShopServerUrl.absoluteString) } } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) } } } diff --git a/NativeAppTemplate/UI/Shop Settings/ShopBasicSettingsView.swift b/NativeAppTemplate/UI/Shop Settings/ShopBasicSettingsView.swift index 6467d2c..5551d09 100644 --- a/NativeAppTemplate/UI/Shop Settings/ShopBasicSettingsView.swift +++ b/NativeAppTemplate/UI/Shop Settings/ShopBasicSettingsView.swift @@ -50,7 +50,7 @@ private extension ShopBasicSettingsView { } footer: { Text(String.shopNameIsRequired) .font(.uiFootnote) - .foregroundStyle(Utility.isBlank(viewModel.name) ? .red : .clear) + .foregroundStyle(Utility.isBlank(viewModel.name) ? .validationError : .clear) } Section { diff --git a/NativeAppTemplate/UI/Shop Settings/ShopSettingsView.swift b/NativeAppTemplate/UI/Shop Settings/ShopSettingsView.swift index e77bb03..215b874 100644 --- a/NativeAppTemplate/UI/Shop Settings/ShopSettingsView.swift +++ b/NativeAppTemplate/UI/Shop Settings/ShopSettingsView.swift @@ -68,7 +68,7 @@ private extension ShopSettingsView { } label: { Label(String.shopSettingsBasicSettingsLabel, systemImage: "storefront") } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) } Section { @@ -84,7 +84,7 @@ private extension ShopSettingsView { } label: { Label(String.shopSettingsManageNumberTagsLabel, systemImage: "rectangle.stack") } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) } Section { @@ -99,7 +99,7 @@ private extension ShopSettingsView { Label(String.shopSettingsNumberTagsWebpageLabel, systemImage: "globe") } } - .listRowBackground(Color.cardBackground) + .listRowBackground(Color.cardBackground.opacity(0.7)) Section { VStack(spacing: NativeAppTemplateConstants.Spacing.xxs) { diff --git a/NativeAppTemplate/Utilities/QRCodeGenerator.swift b/NativeAppTemplate/Utilities/QRCodeGenerator.swift index 1f1db5e..fc852de 100644 --- a/NativeAppTemplate/Utilities/QRCodeGenerator.swift +++ b/NativeAppTemplate/Utilities/QRCodeGenerator.swift @@ -35,7 +35,7 @@ struct QRCodeGenerator { if let centerImage = centerText.image( withAttributes: [ .font: UIFont.systemFont(ofSize: 40.0), - .backgroundColor: UIColor.white + .backgroundColor: UIColor(Color.arrowBackground) ] ) { generate(inputText: inputText, scale: scale, centerImage: centerImage)