From 40fba3379e65a750242acb62a0cbea3048faba0b Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Fri, 30 Apr 2021 11:26:52 +1000 Subject: [PATCH] Add Oxen logo to settings --- .../OxenDarkMode.imageset/Contents.json | 12 + .../OxenDarkMode.imageset/OxenDarkMode.pdf | 255 ++++++++++++++++++ .../OxenLightMode.imageset/Contents.json | 12 + .../Session/OxenLightMode.imageset/Oxen.pdf | 255 ++++++++++++++++++ Session/Settings/SettingsVC.swift | 24 +- 5 files changed, 557 insertions(+), 1 deletion(-) create mode 100644 Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json create mode 100644 Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/OxenDarkMode.pdf create mode 100644 Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json create mode 100644 Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf diff --git a/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json b/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json new file mode 100644 index 000000000..7aff75658 --- /dev/null +++ b/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "OxenDarkMode.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/OxenDarkMode.pdf b/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/OxenDarkMode.pdf new file mode 100644 index 000000000..8051037b7 --- /dev/null +++ b/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/OxenDarkMode.pdf @@ -0,0 +1,255 @@ +%PDF-1.7 + +1 0 obj + << /BBox [ 0.000000 0.000000 240.000000 51.360962 ] + /Resources << /ExtGState << /E5 << /ca 0.200000 >> + /E4 << /ca 0.200000 >> + /E2 << /ca 0.200000 >> + /E3 << /ca 0.200000 >> + /E1 << /ca 0.200000 >> + >> >> + /Subtype /Form + /Length 2 0 R + /Group << /Type /Group + /S /Transparency + >> + /Type /XObject + >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +/E1 gs +1.000000 0.000000 -0.000000 1.000000 108.841553 10.979065 cm +1.000000 1.000000 1.000000 scn +32.812042 28.275440 m +22.420897 19.323082 l +12.029750 28.275440 l +11.192389 28.997400 10.123534 29.394531 9.017912 29.394485 c +0.000000 29.394485 l +17.054268 14.696630 l +0.000000 0.000370 l +9.029103 0.000370 l +10.134726 0.000324 11.203571 0.397455 12.040932 1.119415 c +22.432077 10.071775 l +32.823223 1.119415 l +33.660439 0.397205 34.729389 0.000040 35.835060 0.000370 c +44.864166 0.000370 l +27.797106 14.696630 l +44.851383 29.394485 l +35.823872 29.394485 l +34.718323 29.394106 33.649624 28.997028 32.812042 28.275440 c +32.812042 28.275440 l +h +f +n +Q +q +/E2 gs +1.000000 0.000000 -0.000000 1.000000 199.942993 10.976227 cm +1.000000 1.000000 1.000000 scn +40.057026 29.397312 m +33.182892 29.397312 l +33.182892 8.867632 l +7.750183 28.439730 l +6.943708 29.060896 5.954552 29.398109 4.936588 29.398911 c +0.000000 29.398911 l +0.000000 0.003195 l +6.874134 0.003195 l +6.874134 20.531277 l +32.311626 0.959181 l +33.117435 0.337919 34.106144 0.000673 35.123638 0.000000 c +40.060226 0.000000 l +40.057026 29.397312 l +h +f +n +Q +q +/E3 gs +1.000000 0.000000 -0.000000 1.000000 155.348999 10.979431 cm +1.000000 1.000000 1.000000 scn +38.405624 23.135462 m +38.405624 29.394119 l +5.523335 29.394119 l +1.962682 25.325916 0.000000 20.103409 0.000000 14.697064 c +0.000000 9.290720 1.962682 4.068211 5.523335 0.000008 c +38.405624 0.000008 l +38.405624 6.257065 l +8.930022 6.257065 l +8.055604 7.914711 7.475747 9.711639 7.216292 11.567734 c +36.039639 11.567734 l +36.039639 18.133331 l +7.264249 18.133331 l +7.541420 19.880562 8.103621 21.570423 8.928422 23.135462 c +38.405624 23.135462 l +h +f +n +Q +q +/E4 gs +1.000000 0.000000 -0.000000 1.000000 66.081238 10.979431 cm +1.000000 1.000000 1.000000 scn +41.735550 14.696264 m +41.735550 23.546310 36.300194 29.390923 36.300194 29.394119 c +5.435357 29.394119 l +5.435357 29.394119 0.000000 23.549509 0.000000 14.696264 c +0.000000 5.843019 5.435357 0.000008 5.435357 0.000008 c +36.298592 0.000008 l +36.298592 0.000008 41.735550 5.851013 41.735550 14.696264 c +h +8.993918 6.300230 m +7.597548 8.877283 6.866234 11.762016 6.866234 14.693067 c +6.866234 17.624117 7.597548 20.508850 8.993918 23.085903 c +32.741631 23.085903 l +34.137024 20.508537 34.867783 17.623926 34.867783 14.693067 c +34.867783 11.762207 34.137024 8.877596 32.741631 6.300230 c +8.993918 6.300230 l +h +f +n +Q +q +/E5 gs +1.000000 0.000000 -0.000000 1.000000 -0.000061 -0.497452 cm +1.000000 1.000000 1.000000 scn +25.680496 51.858414 m +20.601377 51.858414 15.636316 50.352280 11.413182 47.530472 c +7.190049 44.708664 3.898517 40.697922 1.954822 36.005424 c +0.011127 31.312931 -0.497432 26.149443 0.493455 21.167917 c +1.484342 16.186394 3.930171 11.610565 7.521651 8.019085 c +11.113132 4.427605 15.688956 1.981777 20.670483 0.990891 c +25.652010 0.000004 30.815498 0.508564 35.507996 2.452259 c +40.200489 4.395954 44.211227 7.687489 47.033035 11.910622 c +49.854843 16.133755 51.360981 21.098812 51.360981 26.177931 c +51.360981 32.988819 48.655365 39.520752 43.839340 44.336777 c +39.023315 49.152798 32.491386 51.858414 25.680496 51.858414 c +25.680496 51.858414 l +h +10.813183 13.361671 m +25.680496 26.177931 l +40.547810 13.361671 l +10.813183 13.361671 l +h +25.680496 26.177931 m +10.813183 38.994194 l +40.547810 38.994194 l +25.680496 26.177931 l +h +f +n +Q + +endstream +endobj + +2 0 obj + 3339 +endobj + +3 0 obj + << /BBox [ 0.000000 0.000000 240.000000 51.360962 ] + /Resources << >> + /Subtype /Form + /Length 4 0 R + /Group << /Type /Group + /S /Transparency + >> + /Type /XObject + >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm +0.000000 0.000000 0.000000 scn +0.000000 51.360962 m +240.000000 51.360962 l +240.000000 -0.000008 l +0.000000 -0.000008 l +0.000000 51.360962 l +h +f +n +Q + +endstream +endobj + +4 0 obj + 236 +endobj + +5 0 obj + << /XObject << /X1 1 0 R >> + /ExtGState << /E1 << /SMask << /Type /Mask + /G 3 0 R + /S /Alpha + >> + /Type /ExtGState + >> >> + >> +endobj + +6 0 obj + << /Length 7 0 R >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +/E1 gs +/X1 Do +Q + +endstream +endobj + +7 0 obj + 46 +endobj + +8 0 obj + << /Annots [] + /Type /Page + /MediaBox [ 0.000000 0.000000 240.000000 51.360962 ] + /Resources 5 0 R + /Contents 6 0 R + /Parent 9 0 R + >> +endobj + +9 0 obj + << /Kids [ 8 0 R ] + /Count 1 + /Type /Pages + >> +endobj + +10 0 obj + << /Type /Catalog + /Pages 9 0 R + >> +endobj + +xref +0 11 +0000000000 65535 f +0000000010 00000 n +0000003892 00000 n +0000003915 00000 n +0000004400 00000 n +0000004422 00000 n +0000004720 00000 n +0000004822 00000 n +0000004843 00000 n +0000005017 00000 n +0000005091 00000 n +trailer +<< /ID [ (some) (id) ] + /Root 10 0 R + /Size 11 +>> +startxref +5151 +%%EOF \ No newline at end of file diff --git a/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json b/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json new file mode 100644 index 000000000..a0368fd33 --- /dev/null +++ b/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Oxen.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf b/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf new file mode 100644 index 000000000..e8d55bcab --- /dev/null +++ b/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf @@ -0,0 +1,255 @@ +%PDF-1.7 + +1 0 obj + << /BBox [ 0.000000 0.000000 240.000000 51.360962 ] + /Resources << /ExtGState << /E5 << /ca 0.200000 >> + /E4 << /ca 0.200000 >> + /E2 << /ca 0.200000 >> + /E3 << /ca 0.200000 >> + /E1 << /ca 0.200000 >> + >> >> + /Subtype /Form + /Length 2 0 R + /Group << /Type /Group + /S /Transparency + >> + /Type /XObject + >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +/E1 gs +1.000000 0.000000 -0.000000 1.000000 108.841553 10.979065 cm +0.000000 0.000000 0.000000 scn +32.812042 28.275440 m +22.420897 19.323082 l +12.029750 28.275440 l +11.192389 28.997400 10.123534 29.394531 9.017912 29.394485 c +0.000000 29.394485 l +17.054268 14.696630 l +0.000000 0.000370 l +9.029103 0.000370 l +10.134726 0.000324 11.203571 0.397455 12.040932 1.119415 c +22.432077 10.071775 l +32.823223 1.119415 l +33.660439 0.397205 34.729389 0.000040 35.835060 0.000370 c +44.864166 0.000370 l +27.797106 14.696630 l +44.851383 29.394485 l +35.823872 29.394485 l +34.718323 29.394106 33.649624 28.997028 32.812042 28.275440 c +32.812042 28.275440 l +h +f +n +Q +q +/E2 gs +1.000000 0.000000 -0.000000 1.000000 199.942993 10.976227 cm +0.000000 0.000000 0.000000 scn +40.057026 29.397312 m +33.182892 29.397312 l +33.182892 8.867632 l +7.750183 28.439730 l +6.943708 29.060896 5.954552 29.398109 4.936588 29.398911 c +0.000000 29.398911 l +0.000000 0.003195 l +6.874134 0.003195 l +6.874134 20.531277 l +32.311626 0.959181 l +33.117435 0.337919 34.106144 0.000673 35.123638 0.000000 c +40.060226 0.000000 l +40.057026 29.397312 l +h +f +n +Q +q +/E3 gs +1.000000 0.000000 -0.000000 1.000000 155.348999 10.979431 cm +0.000000 0.000000 0.000000 scn +38.405624 23.135462 m +38.405624 29.394119 l +5.523335 29.394119 l +1.962682 25.325916 0.000000 20.103409 0.000000 14.697064 c +0.000000 9.290720 1.962682 4.068211 5.523335 0.000008 c +38.405624 0.000008 l +38.405624 6.257065 l +8.930022 6.257065 l +8.055604 7.914711 7.475747 9.711639 7.216292 11.567734 c +36.039639 11.567734 l +36.039639 18.133331 l +7.264249 18.133331 l +7.541420 19.880562 8.103621 21.570423 8.928422 23.135462 c +38.405624 23.135462 l +h +f +n +Q +q +/E4 gs +1.000000 0.000000 -0.000000 1.000000 66.081238 10.979431 cm +0.000000 0.000000 0.000000 scn +41.735550 14.696264 m +41.735550 23.546310 36.300194 29.390923 36.300194 29.394119 c +5.435357 29.394119 l +5.435357 29.394119 0.000000 23.549509 0.000000 14.696264 c +0.000000 5.843019 5.435357 0.000008 5.435357 0.000008 c +36.298592 0.000008 l +36.298592 0.000008 41.735550 5.851013 41.735550 14.696264 c +h +8.993918 6.300230 m +7.597548 8.877283 6.866234 11.762016 6.866234 14.693067 c +6.866234 17.624117 7.597548 20.508850 8.993918 23.085903 c +32.741631 23.085903 l +34.137024 20.508537 34.867783 17.623926 34.867783 14.693067 c +34.867783 11.762207 34.137024 8.877596 32.741631 6.300230 c +8.993918 6.300230 l +h +f +n +Q +q +/E5 gs +1.000000 0.000000 -0.000000 1.000000 -0.000061 -0.497452 cm +0.000000 0.000000 0.000000 scn +25.680496 51.858414 m +20.601377 51.858414 15.636316 50.352280 11.413182 47.530472 c +7.190049 44.708664 3.898517 40.697922 1.954822 36.005424 c +0.011127 31.312931 -0.497432 26.149443 0.493455 21.167917 c +1.484342 16.186394 3.930171 11.610565 7.521651 8.019085 c +11.113132 4.427605 15.688956 1.981777 20.670483 0.990891 c +25.652010 0.000004 30.815498 0.508564 35.507996 2.452259 c +40.200489 4.395954 44.211227 7.687489 47.033035 11.910622 c +49.854843 16.133755 51.360981 21.098812 51.360981 26.177931 c +51.360981 32.988819 48.655365 39.520752 43.839340 44.336777 c +39.023315 49.152798 32.491386 51.858414 25.680496 51.858414 c +25.680496 51.858414 l +h +10.813183 13.361671 m +25.680496 26.177931 l +40.547810 13.361671 l +10.813183 13.361671 l +h +25.680496 26.177931 m +10.813183 38.994194 l +40.547810 38.994194 l +25.680496 26.177931 l +h +f +n +Q + +endstream +endobj + +2 0 obj + 3339 +endobj + +3 0 obj + << /BBox [ 0.000000 0.000000 240.000000 51.360962 ] + /Resources << >> + /Subtype /Form + /Length 4 0 R + /Group << /Type /Group + /S /Transparency + >> + /Type /XObject + >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm +0.000000 0.000000 0.000000 scn +0.000000 51.360962 m +240.000000 51.360962 l +240.000000 -0.000008 l +0.000000 -0.000008 l +0.000000 51.360962 l +h +f +n +Q + +endstream +endobj + +4 0 obj + 236 +endobj + +5 0 obj + << /XObject << /X1 1 0 R >> + /ExtGState << /E1 << /SMask << /Type /Mask + /G 3 0 R + /S /Alpha + >> + /Type /ExtGState + >> >> + >> +endobj + +6 0 obj + << /Length 7 0 R >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +/E1 gs +/X1 Do +Q + +endstream +endobj + +7 0 obj + 46 +endobj + +8 0 obj + << /Annots [] + /Type /Page + /MediaBox [ 0.000000 0.000000 240.000000 51.360962 ] + /Resources 5 0 R + /Contents 6 0 R + /Parent 9 0 R + >> +endobj + +9 0 obj + << /Kids [ 8 0 R ] + /Count 1 + /Type /Pages + >> +endobj + +10 0 obj + << /Type /Catalog + /Pages 9 0 R + >> +endobj + +xref +0 11 +0000000000 65535 f +0000000010 00000 n +0000003892 00000 n +0000003915 00000 n +0000004400 00000 n +0000004422 00000 n +0000004720 00000 n +0000004822 00000 n +0000004843 00000 n +0000005017 00000 n +0000005091 00000 n +trailer +<< /ID [ (some) (id) ] + /Root 10 0 R + /Size 11 +>> +startxref +5151 +%%EOF \ No newline at end of file diff --git a/Session/Settings/SettingsVC.swift b/Session/Settings/SettingsVC.swift index 19aa623b1..2bcfcb9c5 100644 --- a/Session/Settings/SettingsVC.swift +++ b/Session/Settings/SettingsVC.swift @@ -52,6 +52,13 @@ final class SettingsVC : BaseVC, AvatarViewHelperDelegate { return result }() + private lazy var logoImageView: UIImageView = { + let result = UIImageView() + result.set(.height, to: 24) + result.contentMode = .scaleAspectFit + return result + }() + // MARK: Settings private static let buttonHeight = isIPhone5OrSmaller ? CGFloat(52) : CGFloat(75) @@ -130,18 +137,27 @@ final class SettingsVC : BaseVC, AvatarViewHelperDelegate { let version = Bundle.main.infoDictionary!["CFBundleShortVersionString"]! let buildNumber = Bundle.main.infoDictionary!["CFBundleVersion"]! versionLabel.text = "Version \(version) (\(buildNumber))" + // Invite button let inviteButton = UIButton() inviteButton.setTitle("Invite a Friend", for: UIControl.State.normal) inviteButton.setTitleColor(Colors.text, for: UIControl.State.normal) inviteButton.titleLabel!.font = .boldSystemFont(ofSize: Values.smallFontSize) inviteButton.addTarget(self, action: #selector(sendInvitation), for: UIControl.Event.touchUpInside) + // Help translate button let helpTranslateButton = UIButton() helpTranslateButton.setTitle("Help us Translate Session", for: UIControl.State.normal) helpTranslateButton.setTitleColor(Colors.text, for: UIControl.State.normal) helpTranslateButton.titleLabel!.font = .boldSystemFont(ofSize: Values.smallFontSize) helpTranslateButton.addTarget(self, action: #selector(helpTranslate), for: UIControl.Event.touchUpInside) + // Oxen logo + updateLogo() + let logoContainer = UIView() + logoContainer.addSubview(logoImageView) + logoImageView.pin(.top, to: .top, of: logoContainer) + logoContainer.pin(.bottom, to: .bottom, of: logoImageView) + logoImageView.center(in: logoContainer) // Main stack view - let stackView = UIStackView(arrangedSubviews: [ topStackView, settingButtonsStackView, inviteButton, helpTranslateButton, versionLabel ]) + let stackView = UIStackView(arrangedSubviews: [ topStackView, settingButtonsStackView, inviteButton, helpTranslateButton, logoContainer, versionLabel ]) stackView.axis = .vertical stackView.spacing = Values.largeSpacing stackView.alignment = .fill @@ -354,6 +370,12 @@ final class SettingsVC : BaseVC, AvatarViewHelperDelegate { getSettingButtons().forEach { settingButtonOrSeparator in settingButtonsStackView.addArrangedSubview(settingButtonOrSeparator) // Re-do the setting buttons } + updateLogo() + } + + private func updateLogo() { + let logoName = isLightMode ? "OxenLightMode" : "OxenDarkMode" + logoImageView.image = UIImage(named: logoName)! } // MARK: Interaction