Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
1
1weather
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitriy Stepanets
1weather
Commits
68df3bed
Commit
68df3bed
authored
Aug 09, 2021
by
Dmitriy Stepanets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prepearing page controller
parent
e085a688
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
165 additions
and
2 deletions
+165
-2
1Weather-Icons.sketch
+0
-0
1Weather.xcodeproj/project.pbxproj
+28
-0
1Weather/AppDelegate.swift
+10
-2
1Weather/Coordinators/InitialOnboardingCoordinator.swift
+31
-0
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingAlertsController.swift
+17
-0
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingForecastsController.swift
+17
-0
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingPageController.swift
+45
-0
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingRadarController.swift
+17
-0
No files found.
1Weather-Icons.sketch
View file @
68df3bed
No preview for this file type
1Weather.xcodeproj/project.pbxproj
View file @
68df3bed
...
@@ -153,6 +153,11 @@
...
@@ -153,6 +153,11 @@
CDC6126225E8DAB800188DA7
/* MoonPhaseCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC6126125E8DAB800188DA7
/* MoonPhaseCell.swift */
;
};
CDC6126225E8DAB800188DA7
/* MoonPhaseCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC6126125E8DAB800188DA7
/* MoonPhaseCell.swift */
;
};
CDC6126625E9085600188DA7
/* GraphLine.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC6126525E9085600188DA7
/* GraphLine.swift */
;
};
CDC6126625E9085600188DA7
/* GraphLine.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC6126525E9085600188DA7
/* GraphLine.swift */
;
};
CDC6126A25E90C8800188DA7
/* GraphLineSettings.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC6126925E90C8800188DA7
/* GraphLineSettings.swift */
;
};
CDC6126A25E90C8800188DA7
/* GraphLineSettings.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC6126925E90C8800188DA7
/* GraphLineSettings.swift */
;
};
CDC62C4526C13B9200156643
/* OnboardingPageController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC62C4426C13B9200156643
/* OnboardingPageController.swift */
;
};
CDC62C4726C13BE300156643
/* OnboardingForecastsController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC62C4626C13BE300156643
/* OnboardingForecastsController.swift */
;
};
CDC62C4926C13BFE00156643
/* OnboardingAlertsController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC62C4826C13BFE00156643
/* OnboardingAlertsController.swift */
;
};
CDC62C4B26C13C1700156643
/* OnboardingRadarController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC62C4A26C13C1700156643
/* OnboardingRadarController.swift */
;
};
CDC62C4D26C13E6600156643
/* InitialOnboardingCoordinator.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDC62C4C26C13E6600156643
/* InitialOnboardingCoordinator.swift */
;
};
CDD0F1E52572425200CF5017
/* SF-Pro.ttf in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDD0F1E42572425200CF5017
/* SF-Pro.ttf */
;
};
CDD0F1E52572425200CF5017
/* SF-Pro.ttf in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDD0F1E42572425200CF5017
/* SF-Pro.ttf */
;
};
CDD0F1E82572429E00CF5017
/* AppFont.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDD0F1E72572429E00CF5017
/* AppFont.swift */
;
};
CDD0F1E82572429E00CF5017
/* AppFont.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDD0F1E72572429E00CF5017
/* AppFont.swift */
;
};
CDD0F1EE25725BCF00CF5017
/* ThemeManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDD0F1ED25725BCF00CF5017
/* ThemeManager.swift */
;
};
CDD0F1EE25725BCF00CF5017
/* ThemeManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CDD0F1ED25725BCF00CF5017
/* ThemeManager.swift */
;
};
...
@@ -408,6 +413,11 @@
...
@@ -408,6 +413,11 @@
CDC6126125E8DAB800188DA7
/* MoonPhaseCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
MoonPhaseCell.swift
;
sourceTree
=
"<group>"
;
};
CDC6126125E8DAB800188DA7
/* MoonPhaseCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
MoonPhaseCell.swift
;
sourceTree
=
"<group>"
;
};
CDC6126525E9085600188DA7
/* GraphLine.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
GraphLine.swift
;
sourceTree
=
"<group>"
;
};
CDC6126525E9085600188DA7
/* GraphLine.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
GraphLine.swift
;
sourceTree
=
"<group>"
;
};
CDC6126925E90C8800188DA7
/* GraphLineSettings.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
GraphLineSettings.swift
;
sourceTree
=
"<group>"
;
};
CDC6126925E90C8800188DA7
/* GraphLineSettings.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
GraphLineSettings.swift
;
sourceTree
=
"<group>"
;
};
CDC62C4426C13B9200156643
/* OnboardingPageController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
OnboardingPageController.swift
;
sourceTree
=
"<group>"
;
};
CDC62C4626C13BE300156643
/* OnboardingForecastsController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
OnboardingForecastsController.swift
;
sourceTree
=
"<group>"
;
};
CDC62C4826C13BFE00156643
/* OnboardingAlertsController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
OnboardingAlertsController.swift
;
sourceTree
=
"<group>"
;
};
CDC62C4A26C13C1700156643
/* OnboardingRadarController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
OnboardingRadarController.swift
;
sourceTree
=
"<group>"
;
};
CDC62C4C26C13E6600156643
/* InitialOnboardingCoordinator.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
InitialOnboardingCoordinator.swift
;
sourceTree
=
"<group>"
;
};
CDD0F1E42572425200CF5017
/* SF-Pro.ttf */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
file
;
path
=
"SF-Pro.ttf"
;
sourceTree
=
"<group>"
;
};
CDD0F1E42572425200CF5017
/* SF-Pro.ttf */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
file
;
path
=
"SF-Pro.ttf"
;
sourceTree
=
"<group>"
;
};
CDD0F1E72572429E00CF5017
/* AppFont.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
AppFont.swift
;
sourceTree
=
"<group>"
;
};
CDD0F1E72572429E00CF5017
/* AppFont.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
AppFont.swift
;
sourceTree
=
"<group>"
;
};
CDD0F1ED25725BCF00CF5017
/* ThemeManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
ThemeManager.swift
;
sourceTree
=
"<group>"
;
};
CDD0F1ED25725BCF00CF5017
/* ThemeManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
ThemeManager.swift
;
sourceTree
=
"<group>"
;
};
...
@@ -616,6 +626,7 @@
...
@@ -616,6 +626,7 @@
CD7BF1572620410800A30DF5
/* RadarCoordinator.swift */
,
CD7BF1572620410800A30DF5
/* RadarCoordinator.swift */
,
CEC8FBB1263976240001A6BF
/* OnboardingCoordinator.swift */
,
CEC8FBB1263976240001A6BF
/* OnboardingCoordinator.swift */
,
CD8579692671FA8100CC4CDA
/* ShortsCoordinator.swift */
,
CD8579692671FA8100CC4CDA
/* ShortsCoordinator.swift */
,
CDC62C4C26C13E6600156643
/* InitialOnboardingCoordinator.swift */
,
);
);
path
=
Coordinators
;
path
=
Coordinators
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -1022,6 +1033,17 @@
...
@@ -1022,6 +1033,17 @@
path
=
MoonPhaseCell
;
path
=
MoonPhaseCell
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
CDC62C4326C13AD100156643
/* InitialOnboarding */
=
{
isa
=
PBXGroup
;
children
=
(
CDC62C4426C13B9200156643
/* OnboardingPageController.swift */
,
CDC62C4626C13BE300156643
/* OnboardingForecastsController.swift */
,
CDC62C4826C13BFE00156643
/* OnboardingAlertsController.swift */
,
CDC62C4A26C13C1700156643
/* OnboardingRadarController.swift */
,
);
path
=
InitialOnboarding
;
sourceTree
=
"<group>"
;
};
CDD0F1DC2572400200CF5017
/* UI */
=
{
CDD0F1DC2572400200CF5017
/* UI */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -1255,6 +1277,7 @@
...
@@ -1255,6 +1277,7 @@
CEC8FBAD263975170001A6BF
/* Onboarding */
=
{
CEC8FBAD263975170001A6BF
/* Onboarding */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
CDC62C4326C13AD100156643
/* InitialOnboarding */
,
CEC8FBAE2639756A0001A6BF
/* OnboardingViewController.swift */
,
CEC8FBAE2639756A0001A6BF
/* OnboardingViewController.swift */
,
);
);
path
=
Onboarding
;
path
=
Onboarding
;
...
@@ -1573,6 +1596,7 @@
...
@@ -1573,6 +1596,7 @@
CD7BF15526203E6900A30DF5
/* RadarViewController.swift in Sources */
,
CD7BF15526203E6900A30DF5
/* RadarViewController.swift in Sources */
,
CD82300325D69DE400A05501
/* TodayConditionsCell.swift in Sources */
,
CD82300325D69DE400A05501
/* TodayConditionsCell.swift in Sources */
,
CD32CE08260C743B00235081
/* MenuViewModel.swift in Sources */
,
CD32CE08260C743B00235081
/* MenuViewModel.swift in Sources */
,
CDC62C4526C13B9200156643
/* OnboardingPageController.swift in Sources */
,
CD866A76260F77C500E96A5C
/* SettingsDetailsCoordinator.swift in Sources */
,
CD866A76260F77C500E96A5C
/* SettingsDetailsCoordinator.swift in Sources */
,
CE0457902632B3BC00B3C19A
/* NotificationsViewModel.swift in Sources */
,
CE0457902632B3BC00B3C19A
/* NotificationsViewModel.swift in Sources */
,
CE13B81A262480B3007CBD4D
/* AdManager.swift in Sources */
,
CE13B81A262480B3007CBD4D
/* AdManager.swift in Sources */
,
...
@@ -1624,6 +1648,7 @@
...
@@ -1624,6 +1648,7 @@
CD9B6B1425DBCDE2001D9B80
/* GraphView.swift in Sources */
,
CD9B6B1425DBCDE2001D9B80
/* GraphView.swift in Sources */
,
CD866A6F260F67F200E96A5C
/* SettingsDetailsViewModel.swift in Sources */
,
CD866A6F260F67F200E96A5C
/* SettingsDetailsViewModel.swift in Sources */
,
CD71709025FA317700A63C27
/* ForecastTimePeriodView.swift in Sources */
,
CD71709025FA317700A63C27
/* ForecastTimePeriodView.swift in Sources */
,
CDC62C4D26C13E6600156643
/* InitialOnboardingCoordinator.swift in Sources */
,
CE13B812262480B3007CBD4D
/* NativeAdItem.swift in Sources */
,
CE13B812262480B3007CBD4D
/* NativeAdItem.swift in Sources */
,
CD37D3E5260CB05C002669D6
/* MenuFooterView.swift in Sources */
,
CD37D3E5260CB05C002669D6
/* MenuFooterView.swift in Sources */
,
CDE18DD825D16CB200C80ED9
/* NavigationCityButton.swift in Sources */
,
CDE18DD825D16CB200C80ED9
/* NavigationCityButton.swift in Sources */
,
...
@@ -1667,12 +1692,14 @@
...
@@ -1667,12 +1692,14 @@
CD37D3FA260DF714002669D6
/* SettingsThemeCell.swift in Sources */
,
CD37D3FA260DF714002669D6
/* SettingsThemeCell.swift in Sources */
,
CD6B303E25726960004B34B3
/* ThemeProtocol.swift in Sources */
,
CD6B303E25726960004B34B3
/* ThemeProtocol.swift in Sources */
,
CD6B303B2572680C004B34B3
/* SelfSizingButton.swift in Sources */
,
CD6B303B2572680C004B34B3
/* SelfSizingButton.swift in Sources */
,
CDC62C4726C13BE300156643
/* OnboardingForecastsController.swift in Sources */
,
CD9B6B1125DBC723001D9B80
/* CubicCurveAlgorithm.swift in Sources */
,
CD9B6B1125DBC723001D9B80
/* CubicCurveAlgorithm.swift in Sources */
,
CD8B60B4263819790055CB3F
/* NotificationsViewController.swift in Sources */
,
CD8B60B4263819790055CB3F
/* NotificationsViewController.swift in Sources */
,
CD67617026259D220079D273
/* RadarMapLayersController.swift in Sources */
,
CD67617026259D220079D273
/* RadarMapLayersController.swift in Sources */
,
CEC8FBAF2639756A0001A6BF
/* OnboardingViewController.swift in Sources */
,
CEC8FBAF2639756A0001A6BF
/* OnboardingViewController.swift in Sources */
,
CD866A65260F642600E96A5C
/* SettingsDetailsViewController.swift in Sources */
,
CD866A65260F642600E96A5C
/* SettingsDetailsViewController.swift in Sources */
,
CD647D0225ED07D60034578B
/* TodayViewModel.swift in Sources */
,
CD647D0225ED07D60034578B
/* TodayViewModel.swift in Sources */
,
CDC62C4926C13BFE00156643
/* OnboardingAlertsController.swift in Sources */
,
CD593BD32608BC3F00C93428
/* ForecastDayCell.swift in Sources */
,
CD593BD32608BC3F00C93428
/* ForecastDayCell.swift in Sources */
,
CD8B60AB263819400055CB3F
/* NWSAlertCellFactory.swift in Sources */
,
CD8B60AB263819400055CB3F
/* NWSAlertCellFactory.swift in Sources */
,
CDAC9B8526319B0500AC1BF4
/* MapTimeControlItem.swift in Sources */
,
CDAC9B8526319B0500AC1BF4
/* MapTimeControlItem.swift in Sources */
,
...
@@ -1695,6 +1722,7 @@
...
@@ -1695,6 +1722,7 @@
CD8B60B3263819790055CB3F
/* NWSAlertCell.swift in Sources */
,
CD8B60B3263819790055CB3F
/* NWSAlertCell.swift in Sources */
,
CE13B81C262480B3007CBD4D
/* Interstitial.swift in Sources */
,
CE13B81C262480B3007CBD4D
/* Interstitial.swift in Sources */
,
CDDE8D7C262EED3C00267931
/* MapLegendSevereView.swift in Sources */
,
CDDE8D7C262EED3C00267931
/* MapLegendSevereView.swift in Sources */
,
CDC62C4B26C13C1700156643
/* OnboardingRadarController.swift in Sources */
,
CD6761882625C3360079D273
/* RadarViewModel.swift in Sources */
,
CD6761882625C3360079D273
/* RadarViewModel.swift in Sources */
,
CDF8F12A262089A200DB384A
/* MapTimeView.swift in Sources */
,
CDF8F12A262089A200DB384A
/* MapTimeView.swift in Sources */
,
CE81A422266E289E00800EFF
/* NativeAdView.swift in Sources */
,
CE81A422266E289E00800EFF
/* NativeAdView.swift in Sources */
,
...
...
1Weather/AppDelegate.swift
View file @
68df3bed
...
@@ -80,8 +80,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
...
@@ -80,8 +80,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
FirebaseApp
.
configure
()
FirebaseApp
.
configure
()
ConfigManager
.
shared
.
updateConfig
()
ConfigManager
.
shared
.
updateConfig
()
let
appCoordinator
=
AppCoordinator
(
window
:
self
.
window
!
)
#if !DEBUG
appCoordinator
.
start
()
fatalError
(
"This code only for Debug"
)
#else
let
onboarding
=
OnboardingPageController
()
window
?
.
rootViewController
=
onboarding
window
?
.
makeKeyAndVisible
()
// let appCoordinator = AppCoordinator(window: self.window!)
// appCoordinator.start()
#endif
ThemeManager
.
setBaseTheme
()
ThemeManager
.
setBaseTheme
()
let
appVersion
=
Bundle
.
main
.
object
(
forInfoDictionaryKey
:
"CFBundleShortVersionString"
)
as?
String
let
appVersion
=
Bundle
.
main
.
object
(
forInfoDictionaryKey
:
"CFBundleShortVersionString"
)
as?
String
...
...
1Weather/Coordinators/InitialOnboardingCoordinator.swift
0 → 100644
View file @
68df3bed
//
// InitialOnboardingCoordinator.swift
// 1Weather
//
// Created by Dmitry Stepanets on 09.08.2021.
//
import
UIKit
class
InitialOnboardingCoordinator
:
Coordinator
{
//Public
var
childCoordinators
=
[
Coordinator
]()
var
parentCoordinator
:
Coordinator
?
//Private
private
let
parentViewController
:
UIViewController
init
(
parentViewController
:
UIViewController
)
{
self
.
parentViewController
=
parentViewController
}
func
start
()
{
let
onboardingController
=
OnboardingPageController
()
parentViewController
.
present
(
onboardingController
,
animated
:
false
)
}
func
viewControllerDidEnd
(
controller
:
UIViewController
)
{
parentCoordinator
?
.
childDidFinish
(
child
:
self
)
}
}
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingAlertsController.swift
0 → 100644
View file @
68df3bed
//
// OnboardingAlertsController.swift
// 1Weather
//
// Created by Dmitry Stepanets on 09.08.2021.
//
import
UIKit
class
OnboardingAlertsController
:
UIViewController
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
view
.
backgroundColor
=
.
red
}
}
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingForecastsController.swift
0 → 100644
View file @
68df3bed
//
// OnboardingForecastsController.swift
// 1Weather
//
// Created by Dmitry Stepanets on 09.08.2021.
//
import
UIKit
class
OnboardingForecastsController
:
UIViewController
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
view
.
backgroundColor
=
.
yellow
}
}
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingPageController.swift
0 → 100644
View file @
68df3bed
//
// OnboardingPageController.swift
// 1Weather
//
// Created by Dmitry Stepanets on 09.08.2021.
//
import
UIKit
class
OnboardingPageController
:
UIPageViewController
{
private
let
forecastsController
=
OnboardingForecastsController
()
private
let
alertsController
=
OnboardingAlertsController
()
private
let
radarController
=
OnboardingAlertsController
()
override
init
(
transitionStyle
style
:
UIPageViewController
.
TransitionStyle
,
navigationOrientation
:
UIPageViewController
.
NavigationOrientation
,
options
:
[
UIPageViewController
.
OptionsKey
:
Any
]?
=
nil
)
{
super
.
init
(
transitionStyle
:
.
scroll
,
navigationOrientation
:
.
horizontal
,
options
:
nil
)
modalPresentationStyle
=
.
fullScreen
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
view
.
backgroundColor
=
.
lightGray
delegate
=
self
setViewControllers
([
forecastsController
],
direction
:
.
forward
,
animated
:
false
)
}
}
extension
OnboardingPageController
:
UIPageViewControllerDelegate
{
}
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingRadarController.swift
0 → 100644
View file @
68df3bed
//
// OnboardingRadarController.swift
// 1Weather
//
// Created by Dmitry Stepanets on 09.08.2021.
//
import
UIKit
class
OnboardingRadarController
:
UIViewController
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
view
.
backgroundColor
=
.
blue
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment