From 0af00feed905adf2abbc12dcfe375fff511adb2c Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Mon, 10 Oct 2022 10:17:07 +1100 Subject: [PATCH] Added the version footer back to the settings screen --- Session.xcodeproj/project.pbxproj | 4 + .../OxenDarkMode.imageset/Contents.json | 12 - .../OxenDarkMode.imageset/OxenDarkMode.pdf | 255 ------------------ .../Session/OxenLightMode.imageset/Oxen.pdf | 255 ------------------ .../Contents.json | 2 +- .../Session/oxen_logo.imageset/oxen_logo.pdf | 170 ++++++++++++ Session/Settings/SettingsViewModel.swift | 5 + .../Settings/Views/VersionFooterView.swift | 79 ++++++ .../Shared/SessionTableViewController.swift | 7 + Session/Shared/SessionTableViewModel.swift | 1 + .../Style Guide/Themes/Theme+Colors.swift | 2 +- 11 files changed, 268 insertions(+), 524 deletions(-) delete mode 100644 Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json delete mode 100644 Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/OxenDarkMode.pdf delete mode 100644 Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf rename Session/Meta/Images.xcassets/Session/{OxenLightMode.imageset => oxen_logo.imageset}/Contents.json (77%) create mode 100644 Session/Meta/Images.xcassets/Session/oxen_logo.imageset/oxen_logo.pdf create mode 100644 Session/Settings/Views/VersionFooterView.swift diff --git a/Session.xcodeproj/project.pbxproj b/Session.xcodeproj/project.pbxproj index 8494f6543..3bf93a4c1 100644 --- a/Session.xcodeproj/project.pbxproj +++ b/Session.xcodeproj/project.pbxproj @@ -637,6 +637,7 @@ FD37EA1528AB42CB003AE748 /* IdentitySpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD37EA1428AB42CB003AE748 /* IdentitySpec.swift */; }; FD37EA1728AC5605003AE748 /* NotificationContentViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD37EA1628AC5605003AE748 /* NotificationContentViewModel.swift */; }; FD37EA1928AC5CCA003AE748 /* NotificationSoundViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD37EA1828AC5CCA003AE748 /* NotificationSoundViewModel.swift */; }; + FD39352C28F382920084DADA /* VersionFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39352B28F382920084DADA /* VersionFooterView.swift */; }; FD3AABE928306BBD00E5099A /* ThreadPickerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3AABE828306BBD00E5099A /* ThreadPickerViewModel.swift */; }; FD3C905C27E3FBEF00CD579F /* BatchRequestInfoSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C905B27E3FBEF00CD579F /* BatchRequestInfoSpec.swift */; }; FD3C906027E410F700CD579F /* FileUploadResponseSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C905F27E410F700CD579F /* FileUploadResponseSpec.swift */; }; @@ -1723,6 +1724,7 @@ FD37EA1628AC5605003AE748 /* NotificationContentViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationContentViewModel.swift; sourceTree = ""; }; FD37EA1828AC5CCA003AE748 /* NotificationSoundViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSoundViewModel.swift; sourceTree = ""; }; FD37EA1A28ACB51F003AE748 /* _007_HomeQueryOptimisationIndexes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = _007_HomeQueryOptimisationIndexes.swift; sourceTree = ""; }; + FD39352B28F382920084DADA /* VersionFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionFooterView.swift; sourceTree = ""; }; FD3AABE828306BBD00E5099A /* ThreadPickerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadPickerViewModel.swift; sourceTree = ""; }; FD3C905B27E3FBEF00CD579F /* BatchRequestInfoSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchRequestInfoSpec.swift; sourceTree = ""; }; FD3C905F27E410F700CD579F /* FileUploadResponseSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileUploadResponseSpec.swift; sourceTree = ""; }; @@ -3680,6 +3682,7 @@ FD37E9DA28A244E9003AE748 /* ThemePreviewView.swift */, FD37E9DC28A384EB003AE748 /* PrimaryColorSelectionView.swift */, FD87DCFF28B820F200AF0F98 /* BlockedContactCell.swift */, + FD39352B28F382920084DADA /* VersionFooterView.swift */, ); path = Views; sourceTree = ""; @@ -5723,6 +5726,7 @@ B8BB82A5238F627000BA5194 /* HomeVC.swift in Sources */, 4521C3C01F59F3BA00B4C582 /* TextFieldHelper.swift in Sources */, FD37E9D128A1F2EB003AE748 /* ThemeSelectionView.swift in Sources */, + FD39352C28F382920084DADA /* VersionFooterView.swift in Sources */, 7B9F71D22852EEE2006DFE7B /* Emoji+SkinTones.swift in Sources */, 7B7CB18E270D066F0079FF93 /* IncomingCallBanner.swift in Sources */, B8569AE325CBB19A00DBA3DB /* DocumentView.swift in Sources */, diff --git a/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json b/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json deleted file mode 100644 index 7aff75658..000000000 --- a/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "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 deleted file mode 100644 index 8051037b7..000000000 --- a/Session/Meta/Images.xcassets/Session/OxenDarkMode.imageset/OxenDarkMode.pdf +++ /dev/null @@ -1,255 +0,0 @@ -%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/Oxen.pdf b/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf deleted file mode 100644 index e8d55bcab..000000000 --- a/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Oxen.pdf +++ /dev/null @@ -1,255 +0,0 @@ -%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/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json b/Session/Meta/Images.xcassets/Session/oxen_logo.imageset/Contents.json similarity index 77% rename from Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json rename to Session/Meta/Images.xcassets/Session/oxen_logo.imageset/Contents.json index a0368fd33..98641df2b 100644 --- a/Session/Meta/Images.xcassets/Session/OxenLightMode.imageset/Contents.json +++ b/Session/Meta/Images.xcassets/Session/oxen_logo.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "Oxen.pdf", + "filename" : "oxen_logo.pdf", "idiom" : "universal" } ], diff --git a/Session/Meta/Images.xcassets/Session/oxen_logo.imageset/oxen_logo.pdf b/Session/Meta/Images.xcassets/Session/oxen_logo.imageset/oxen_logo.pdf new file mode 100644 index 000000000..f12282719 --- /dev/null +++ b/Session/Meta/Images.xcassets/Session/oxen_logo.imageset/oxen_logo.pdf @@ -0,0 +1,170 @@ +%PDF-1.7 + +1 0 obj + << >> +endobj + +2 0 obj + << /Length 3 0 R >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +1.000000 0.000000 -0.000000 1.000000 68.757446 6.848053 cm +0.000000 0.000000 0.000000 scn +20.723152 17.666330 m +14.165192 12.071299 l +7.607230 17.666330 l +7.077546 18.116507 6.402029 18.363695 5.703564 18.362926 c +0.000000 18.362926 l +10.770042 9.181149 l +0.000000 0.006784 l +5.703564 0.006784 l +6.402029 0.006016 7.077546 0.253210 7.607230 0.703386 c +14.165192 6.291005 l +20.723152 0.703386 l +21.252836 0.253210 21.928377 0.006016 22.626841 0.006784 c +28.330383 0.006784 l +17.560341 9.181149 l +28.330383 18.362926 l +22.649324 18.362926 l +21.943132 18.369059 21.258690 18.121534 20.723152 17.666330 c +20.723152 17.666330 l +h +f +n +Q +q +1.000000 0.000000 -0.000000 1.000000 126.302612 6.851898 cm +0.000000 0.000000 0.000000 scn +25.302498 18.359089 m +20.962996 18.359089 l +20.962996 5.538692 l +4.894113 17.758829 l +4.386510 18.149582 3.761144 18.360914 3.117845 18.359089 c +0.000000 18.359089 l +0.000000 0.002945 l +4.339504 0.002945 l +4.339504 12.823348 l +20.408386 0.595798 l +20.918318 0.210209 21.542700 0.001812 22.184654 0.002945 c +25.302498 0.002945 l +25.302498 18.359089 l +h +f +n +Q +q +1.000000 0.000000 -0.000000 1.000000 98.137451 6.854858 cm +0.000000 0.000000 0.000000 scn +24.260315 14.450737 m +24.260315 18.356140 l +3.484694 18.356140 l +1.238118 15.814546 0.000000 12.553582 0.000000 9.178071 c +0.000000 5.802560 1.238118 2.541591 3.484694 -0.000004 c +24.260315 -0.000004 l +24.260315 3.905399 l +5.635702 3.905399 l +5.084146 4.941875 4.718959 6.065246 4.556447 7.225367 c +22.761353 7.225367 l +22.761353 11.323448 l +4.586432 11.323448 l +4.759253 12.415989 5.113800 13.472705 5.635702 14.450737 c +24.260315 14.450737 l +h +f +n +Q +q +1.000000 0.000000 -0.000000 1.000000 41.745117 6.854858 cm +0.000000 0.000000 0.000000 scn +26.360207 9.174362 m +26.324944 12.535480 25.111788 15.780468 22.927568 18.356140 c +3.441054 18.356140 l +1.220836 15.802144 0.000000 12.545883 0.000000 9.178071 c +-0.000000 5.810259 1.220836 2.553992 3.441054 -0.000004 c +22.927568 -0.000004 l +25.112890 2.572141 26.326317 5.815230 26.360207 9.174362 c +26.360207 9.174362 l +h +5.682019 3.935042 m +4.796456 5.543876 4.332504 7.346392 4.332504 9.178071 c +4.332504 11.009750 4.796456 12.812261 5.682019 14.421094 c +20.671646 14.421094 l +21.557209 12.812261 22.021160 11.009750 22.021160 9.178071 c +22.021160 7.346392 21.557209 5.543876 20.671646 3.935042 c +5.682019 3.935042 l +h +f +n +Q +q +1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm +0.000000 0.000000 0.000000 scn +32.437550 16.036627 m +32.437550 7.179848 25.176157 0.000008 16.218775 0.000008 c +7.261393 0.000008 0.000000 7.179848 0.000000 16.036627 c +0.000000 24.893406 7.261393 32.073242 16.218775 32.073242 c +25.176157 32.073242 32.437550 24.893406 32.437550 16.036627 c +h +16.218761 16.036613 m +6.827759 24.040100 l +25.617256 24.040100 l +16.218761 16.036613 l +h +16.218761 16.036613 m +25.617256 8.033129 l +6.827759 8.033129 l +16.218761 16.036613 l +h +f* +n +Q + +endstream +endobj + +3 0 obj + 2913 +endobj + +4 0 obj + << /Annots [] + /Type /Page + /MediaBox [ 0.000000 0.000000 151.605103 32.073242 ] + /Resources 1 0 R + /Contents 2 0 R + /Parent 5 0 R + >> +endobj + +5 0 obj + << /Kids [ 4 0 R ] + /Count 1 + /Type /Pages + >> +endobj + +6 0 obj + << /Pages 5 0 R + /Type /Catalog + >> +endobj + +xref +0 7 +0000000000 65535 f +0000000010 00000 n +0000000034 00000 n +0000003003 00000 n +0000003026 00000 n +0000003200 00000 n +0000003274 00000 n +trailer +<< /ID [ (some) (id) ] + /Root 6 0 R + /Size 7 +>> +startxref +3333 +%%EOF \ No newline at end of file diff --git a/Session/Settings/SettingsViewModel.swift b/Session/Settings/SettingsViewModel.swift index 7edec669c..f3b3d68e0 100644 --- a/Session/Settings/SettingsViewModel.swift +++ b/Session/Settings/SettingsViewModel.swift @@ -376,6 +376,11 @@ class SettingsViewModel: SessionTableViewModel { + Just(VersionFooterView()) + .eraseToAnyPublisher() + } + // MARK: - Functions public override func updateSettings(_ updatedSettings: [SectionModel]) { diff --git a/Session/Settings/Views/VersionFooterView.swift b/Session/Settings/Views/VersionFooterView.swift new file mode 100644 index 000000000..4a7a5a65f --- /dev/null +++ b/Session/Settings/Views/VersionFooterView.swift @@ -0,0 +1,79 @@ +// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved. + +import UIKit +import SessionUIKit + +class VersionFooterView: UIView { + private static let footerHeight: CGFloat = 75 + private static let logoHeight: CGFloat = 24 + + // MARK: - UI + + private lazy var logoImageView: UIImageView = { + let result: UIImageView = UIImageView( + image: UIImage(named: "oxen_logo")? + .withRenderingMode(.alwaysTemplate) + ) + result.setContentHuggingPriority(.required, for: .vertical) + result.setContentCompressionResistancePriority(.required, for: .vertical) + result.themeTintColor = .textSecondary// .value(.textPrimary, alpha: Values.mediumOpacity) + result.contentMode = .scaleAspectFit + result.set(.height, to: VersionFooterView.logoHeight) + + return result + }() + + private lazy var versionLabel: UILabel = { + let result: UILabel = UILabel() + result.setContentHuggingPriority(.required, for: .vertical) + result.setContentCompressionResistancePriority(.required, for: .vertical) + result.font = .systemFont(ofSize: Values.verySmallFontSize) + result.themeTextColor = .textSecondary//.value(.textPrimary, alpha: Values.mediumOpacity) + result.textAlignment = .center + result.lineBreakMode = .byCharWrapping + result.numberOfLines = 0 + + if + let version: String = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String, + let buildNumber: String = Bundle.main.infoDictionary?["CFBundleVersion"] as? String + { + result.text = "Version \(version) (\(buildNumber))" + } + + return result + }() + + // MARK: - Initialization + + init() { + // Note: Need to explicitly set the height for a table footer view + // or it will have no height + super.init( + frame: CGRect( + x: 0, + y: 0, + width: 0, + height: VersionFooterView.footerHeight + ) + ) + + setupViewHierarchy() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - Content + + private func setupViewHierarchy() { + addSubview(logoImageView) + addSubview(versionLabel) + + logoImageView.pin(.top, to: .top, of: self, withInset: Values.mediumSpacing) + logoImageView.center(.horizontal, in: self, withInset: -2) + versionLabel.pin(.top, to: .bottom, of: logoImageView, withInset: Values.mediumSpacing) + versionLabel.pin(.left, to: .left, of: self) + versionLabel.pin(.right, to: .right, of: self) + } +} diff --git a/Session/Shared/SessionTableViewController.swift b/Session/Shared/SessionTableViewController.swift index b1ec2be4e..80ee787f7 100644 --- a/Session/Shared/SessionTableViewController.swift +++ b/Session/Shared/SessionTableViewController.swift @@ -250,6 +250,13 @@ class SessionTableViewController { Just(nil).eraseToAnyPublisher() } func updateSettings(_ updatedSettings: [SectionModel]) { preconditionFailure("abstract class - override in subclass") diff --git a/SessionUIKit/Style Guide/Themes/Theme+Colors.swift b/SessionUIKit/Style Guide/Themes/Theme+Colors.swift index 8f724a765..5a56070a6 100644 --- a/SessionUIKit/Style Guide/Themes/Theme+Colors.swift +++ b/SessionUIKit/Style Guide/Themes/Theme+Colors.swift @@ -60,7 +60,7 @@ internal extension UIColor { static let classicDark6: UIColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1) // #FFFFFF static let classicLight0: UIColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1) // #000000 - static let classicLight1: UIColor = #colorLiteral(red: 0.1058823529, green: 0.1058823529, blue: 0.1058823529, alpha: 1) // #6D6D6D + static let classicLight1: UIColor = #colorLiteral(red: 0.4274509804, green: 0.4274509804, blue: 0.4274509804, alpha: 1) // #6D6D6D static let classicLight2: UIColor = #colorLiteral(red: 0.631372549, green: 0.6352941176, blue: 0.631372549, alpha: 1) // #A1A2A1 static let classicLight3: UIColor = #colorLiteral(red: 0.8745098039, green: 0.8745098039, blue: 0.8745098039, alpha: 1) // #DFDFDF static let classicLight4: UIColor = #colorLiteral(red: 0.9411764706, green: 0.9411764706, blue: 0.9411764706, alpha: 1) // #F0F0F0