diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index e5429eea..e611a693 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -158,6 +158,7 @@ DB9D6C2425E502C60051B173 /* MosaicImageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D6C2225E502C60051B173 /* MosaicImageViewModel.swift */; }; DB9D6C2E25E504AC0051B173 /* Attachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D6C2D25E504AC0051B173 /* Attachment.swift */; }; DB9D6C3825E508BE0051B173 /* Attachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9D6C3725E508BE0051B173 /* Attachment.swift */; }; + DBABE3EC25ECAC4B00879EE5 /* WelcomeIllustrationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBABE3EB25ECAC4B00879EE5 /* WelcomeIllustrationView.swift */; }; DBD9149025DF6D8D00903DFD /* APIService+Onboarding.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBD9148F25DF6D8D00903DFD /* APIService+Onboarding.swift */; }; DBE0821525CD382600FD6BBD /* MastodonRegisterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE0821425CD382600FD6BBD /* MastodonRegisterViewController.swift */; }; DBE0822425CD3F1E00FD6BBD /* MastodonRegisterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE0822325CD3F1E00FD6BBD /* MastodonRegisterViewModel.swift */; }; @@ -375,6 +376,7 @@ DB9D6C2225E502C60051B173 /* MosaicImageViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MosaicImageViewModel.swift; sourceTree = ""; }; DB9D6C2D25E504AC0051B173 /* Attachment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Attachment.swift; sourceTree = ""; }; DB9D6C3725E508BE0051B173 /* Attachment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Attachment.swift; sourceTree = ""; }; + DBABE3EB25ECAC4B00879EE5 /* WelcomeIllustrationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeIllustrationView.swift; sourceTree = ""; }; DBD9148F25DF6D8D00903DFD /* APIService+Onboarding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "APIService+Onboarding.swift"; sourceTree = ""; }; DBE0821425CD382600FD6BBD /* MastodonRegisterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonRegisterViewController.swift; sourceTree = ""; }; DBE0822325CD3F1E00FD6BBD /* MastodonRegisterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonRegisterViewModel.swift; sourceTree = ""; }; @@ -438,6 +440,7 @@ 0FAA0FDD25E0B5700017CCDE /* Welcome */ = { isa = PBXGroup; children = ( + DBABE3F125ECAC4E00879EE5 /* View */, 0FAA0FDE25E0B57E0017CCDE /* WelcomeViewController.swift */, ); path = Welcome; @@ -1069,6 +1072,14 @@ path = ViewModel; sourceTree = ""; }; + DBABE3F125ECAC4E00879EE5 /* View */ = { + isa = PBXGroup; + children = ( + DBABE3EB25ECAC4B00879EE5 /* WelcomeIllustrationView.swift */, + ); + path = View; + sourceTree = ""; + }; DBE0821A25CD382900FD6BBD /* Register */ = { isa = PBXGroup; children = ( @@ -1447,6 +1458,7 @@ 2D38F1F125CD477D00561493 /* HomeTimelineViewModel+LoadMiddleState.swift in Sources */, DB68A06325E905E000CFDF14 /* UIApplication.swift in Sources */, DB45FAD725CA6C76005A8AC7 /* UIBarButtonItem.swift in Sources */, + DBABE3EC25ECAC4B00879EE5 /* WelcomeIllustrationView.swift in Sources */, 2D152A8C25C295CC009AA50C /* StatusView.swift in Sources */, 2D42FF8525C8224F004A627A /* HitTestExpandedButton.swift in Sources */, DB72601C25E36A2100235243 /* MastodonServerRulesViewController.swift in Sources */, diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/Contents.json new file mode 100644 index 00000000..6e965652 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/Contents.json @@ -0,0 +1,9 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "provides-namespace" : true + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/background.cyan.colorset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/background.cyan.colorset/Contents.json new file mode 100644 index 00000000..cd6391d8 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/background.cyan.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "232", + "green" : "207", + "red" : "60" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.base.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.base.imageset/Contents.json new file mode 100644 index 00000000..25e92a0d --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.base.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0007_Group-6.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.base.imageset/Untitled-1_0007_Group-6.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.base.imageset/Untitled-1_0007_Group-6.png new file mode 100644 index 00000000..c78dbd4b Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.base.imageset/Untitled-1_0007_Group-6.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.first.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.first.imageset/Contents.json new file mode 100644 index 00000000..b84ec128 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.first.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0008_Group-3.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.first.imageset/Untitled-1_0008_Group-3.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.first.imageset/Untitled-1_0008_Group-3.png new file mode 100644 index 00000000..1a982e42 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.first.imageset/Untitled-1_0008_Group-3.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.second.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.second.imageset/Contents.json new file mode 100644 index 00000000..f8243850 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.second.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0010_Group-5.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.second.imageset/Untitled-1_0010_Group-5.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.second.imageset/Untitled-1_0010_Group-5.png new file mode 100644 index 00000000..6729b733 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.second.imageset/Untitled-1_0010_Group-5.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.third.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.third.imageset/Contents.json new file mode 100644 index 00000000..b84ec128 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.third.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0008_Group-3.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.third.imageset/Untitled-1_0008_Group-3.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.third.imageset/Untitled-1_0008_Group-3.png new file mode 100644 index 00000000..1a982e42 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/cloud.third.imageset/Untitled-1_0008_Group-3.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.four.on.grass.with.tree.two.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.four.on.grass.with.tree.two.imageset/Contents.json new file mode 100644 index 00000000..ec7b694d --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.four.on.grass.with.tree.two.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0004_Group-11.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.four.on.grass.with.tree.two.imageset/Untitled-1_0004_Group-11.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.four.on.grass.with.tree.two.imageset/Untitled-1_0004_Group-11.png new file mode 100644 index 00000000..cbc5ee9c Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.four.on.grass.with.tree.two.imageset/Untitled-1_0004_Group-11.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.on.airplane.with.contrail.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.on.airplane.with.contrail.imageset/Contents.json new file mode 100644 index 00000000..be7560fb --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.on.airplane.with.contrail.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0006_Group-2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.on.airplane.with.contrail.imageset/Untitled-1_0006_Group-2.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.on.airplane.with.contrail.imageset/Untitled-1_0006_Group-2.png new file mode 100644 index 00000000..465c4107 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.on.airplane.with.contrail.imageset/Untitled-1_0006_Group-2.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.imageset/Contents.json new file mode 100644 index 00000000..5b5d3022 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0003_Group-1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.imageset/Untitled-1_0003_Group-1.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.imageset/Untitled-1_0003_Group-1.png new file mode 100644 index 00000000..6a58f6f4 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.imageset/Untitled-1_0003_Group-1.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.with.tree.four.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.with.tree.four.imageset/Contents.json new file mode 100644 index 00000000..292e4ae6 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.with.tree.four.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0005_Group-10.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.with.tree.four.imageset/Untitled-1_0005_Group-10.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.with.tree.four.imageset/Untitled-1_0005_Group-10.png new file mode 100644 index 00000000..90f369b4 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.three.on.grass.with.tree.four.imageset/Untitled-1_0005_Group-10.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.two.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.two.imageset/Contents.json new file mode 100644 index 00000000..443025d3 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.two.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0001_Group-9.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.two.imageset/Untitled-1_0001_Group-9.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.two.imageset/Untitled-1_0001_Group-9.png new file mode 100644 index 00000000..f03d53bd Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/elephant.two.imageset/Untitled-1_0001_Group-9.png differ diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/line.dash.two.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/line.dash.two.imageset/Contents.json new file mode 100644 index 00000000..b52da407 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/line.dash.two.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Untitled-1_0002_Layer-25.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Welcome/illustration/line.dash.two.imageset/Untitled-1_0002_Layer-25.png b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/line.dash.two.imageset/Untitled-1_0002_Layer-25.png new file mode 100644 index 00000000..f1137e83 Binary files /dev/null and b/Mastodon/Resources/Assets.xcassets/Welcome/illustration/line.dash.two.imageset/Untitled-1_0002_Layer-25.png differ diff --git a/Mastodon/Scene/Onboarding/Welcome/View/WelcomeIllustrationView.swift b/Mastodon/Scene/Onboarding/Welcome/View/WelcomeIllustrationView.swift new file mode 100644 index 00000000..5a7e375e --- /dev/null +++ b/Mastodon/Scene/Onboarding/Welcome/View/WelcomeIllustrationView.swift @@ -0,0 +1,45 @@ +// +// WelcomeIllustrationView.swift +// Mastodon +// +// Created by MainasuK Cirno on 2021-3-1. +// + +import UIKit + +final class WelcomeIllustrationView: UIView { + + override init(frame: CGRect) { + super.init(frame: frame) + _init() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + _init() + } + +} + +extension WelcomeIllustrationView { + private func _init() { + + } +} + +#if canImport(SwiftUI) && DEBUG +import SwiftUI + +struct WelcomeIllustrationView_Previews: PreviewProvider { + + static var previews: some View { + UIViewPreview(width: 375) { + WelcomeIllustrationView() + } + .previewLayout(.fixed(width: 375, height: 812)) + } + +} + +#endif +