Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
Sailassist
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
CpjJwWHV
Sailassist
Commits
0147901a
Commit
0147901a
authored
Dec 18, 2023
by
shigemi miura
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
細かな不具合の修正
parent
2f9bf158
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
237 additions
and
163 deletions
+237
-163
project.pbxproj
Seilassist/Sailassist.xcodeproj/project.pbxproj
+3
-6
Contents.json
...xcassets/IconImage/Login/h1_signin.imageset/Contents.json
+2
-2
h1_signin.svg
...xcassets/IconImage/Login/h1_signin.imageset/h1_signin.svg
+0
-2
h1_signin_Dark.svg
...ets/IconImage/Login/h1_signin.imageset/h1_signin_Dark.svg
+0
-39
logo_b.svg
...ts.xcassets/IconImage/Login/h1_signin.imageset/logo_b.svg
+21
-0
logo_w.svg
...ts.xcassets/IconImage/Login/h1_signin.imageset/logo_w.svg
+21
-0
Contents.json
...assets/IconImage/Login/logo_signin.imageset/Contents.json
+2
-2
img_b.svg
...s.xcassets/IconImage/Login/logo_signin.imageset/img_b.svg
+22
-0
img_w.svg
...s.xcassets/IconImage/Login/logo_signin.imageset/img_w.svg
+25
-0
logo_signin.svg
...sets/IconImage/Login/logo_signin.imageset/logo_signin.svg
+0
-2
logo_signin_Dark.svg
...IconImage/Login/logo_signin.imageset/logo_signin_Dark.svg
+0
-19
ContentView.swift
Seilassist/Sailassist/ContentView.swift
+0
-3
EcaCoordinatesTable.swift
Seilassist/Sailassist/ECA/EcaCoordinatesTable.swift
+29
-29
GetEcaList.swift
Seilassist/Sailassist/ECA/GetEcaList.swift
+1
-1
LocationViewModel.swift
Seilassist/Sailassist/LocationViewModel.swift
+17
-10
LoginView.swift
Seilassist/Sailassist/Login/LoginView.swift
+38
-6
InputIdPassWordView.swift
Seilassist/Sailassist/Login/View/InputIdPassWordView.swift
+12
-2
InputUserNameView.swift
Seilassist/Sailassist/Login/View/InputUserNameView.swift
+1
-1
EcaSettingView.swift
Seilassist/Sailassist/Map/Task/View/EcaSettingView.swift
+4
-1
TaskSwitchingMenuView.swift
...sist/Sailassist/Map/Task/View/TaskSwitchingMenuView.swift
+8
-8
SailassistApp.swift
Seilassist/Sailassist/SailassistApp.swift
+17
-28
MainTabView.swift
Seilassist/Sailassist/Tab/MainTabView.swift
+14
-2
No files found.
Seilassist/Sailassist.xcodeproj/project.pbxproj
View file @
0147901a
...
...
@@ -1187,8 +1187,7 @@
INFOPLIST_KEY_UIApplicationSceneManifest_Generation
=
YES
;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents
=
YES
;
INFOPLIST_KEY_UILaunchScreen_Generation
=
YES
;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad
=
"UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone
=
"UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
;
INFOPLIST_KEY_UISupportedInterfaceOrientations
=
UIInterfaceOrientationPortrait
;
IPHONEOS_DEPLOYMENT_TARGET
=
16.4
;
LD_RUNPATH_SEARCH_PATHS
=
(
"$(inherited)"
,
...
...
@@ -1230,8 +1229,7 @@
INFOPLIST_KEY_UIApplicationSceneManifest_Generation
=
YES
;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents
=
YES
;
INFOPLIST_KEY_UILaunchScreen_Generation
=
YES
;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad
=
"UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone
=
"UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
;
INFOPLIST_KEY_UISupportedInterfaceOrientations
=
UIInterfaceOrientationPortrait
;
IPHONEOS_DEPLOYMENT_TARGET
=
16.4
;
LD_RUNPATH_SEARCH_PATHS
=
(
"$(inherited)"
,
...
...
@@ -1416,8 +1414,7 @@
INFOPLIST_KEY_UIApplicationSceneManifest_Generation
=
YES
;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents
=
YES
;
INFOPLIST_KEY_UILaunchScreen_Generation
=
YES
;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad
=
"UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone
=
"UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
;
INFOPLIST_KEY_UISupportedInterfaceOrientations
=
UIInterfaceOrientationPortrait
;
IPHONEOS_DEPLOYMENT_TARGET
=
16.4
;
LD_RUNPATH_SEARCH_PATHS
=
(
"$(inherited)"
,
...
...
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/h1_signin.imageset/Contents.json
View file @
0147901a
{
"images"
:
[
{
"filename"
:
"
h1_signin
.svg"
,
"filename"
:
"
logo_b
.svg"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
...
...
@@ -12,7 +12,7 @@
"value"
:
"dark"
}
],
"filename"
:
"
h1_signin_Dark
.svg"
,
"filename"
:
"
logo_w
.svg"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
...
...
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/h1_signin.imageset/h1_signin.svg
deleted
100644 → 0
View file @
2f9bf158
<?xml version="1.0" encoding="UTF-8"?>
<svg
id=
"_レイヤー_2"
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 250 21.94"
><defs><style>
.cls-1{stroke-width:0px;}
</style></defs><g
id=
"_レイヤー_3"
><path
class=
"cls-1"
d=
"m94.41,13.96l1.33-1.33c1.98,1.52,3.88,2.27,6.52,2.27s4.24-1.15,4.24-2.73v-.05c0-1.49-.95-2.34-4.94-3.05-4.37-.8-6.38-2-6.38-4.64v-.05c0-2.53,2.63-4.39,6.25-4.39,2.77,0,4.75.67,6.68,1.97l-1.25,1.4c-1.77-1.22-3.53-1.74-5.49-1.74-2.47,0-4.05,1.15-4.05,2.59v.05c0,1.52.98,2.36,5.16,3.12,4.24.78,6.19,2.09,6.19,4.55v.05c0,2.76-2.72,4.55-6.49,4.55-3.01,0-5.49-.85-7.77-2.57Z"
/><path
class=
"cls-1"
d=
"m113.82,16.69h-2.09V2.09l2.09,1.14v13.46Zm2.09-9.82s1.38-.89,3.8-.89c3.4,0,5.38,1.83,5.38,4.29v6.42h-2.09v-6.04c0-1.92-1.41-3.12-3.88-3.12s-3.2,1.1-3.2,1.1v-1.76Z"
/><path
class=
"cls-1"
d=
"m171.99,17.56h-2.17l-8.18-16.19h2.39l6.76,13.84,1.19,2.34Zm-.04-4.75l5.64-11.44h2.31l-6.94,13.63-1-2.19Z"
/><path
class=
"cls-1"
d=
"m194.78,16.68c1.93,0,3.29-.58,4.43-1.46l1.3.86c-1.41,1.16-3.12,1.94-5.79,1.94-3.86,0-7.01-2.18-7.01-5.4,0-3,2.98-5.4,6.86-5.4,4.16,0,6.77,2.44,6.77,5.48,0,.14,0,.3-.03.54h-8.98l-.6-1.24h7.49c-.24-1.88-1.93-3.48-4.7-3.48s-4.88,2.01-4.88,4.07,2.11,4.09,5.14,4.09Z"
/><path
class=
"cls-1"
d=
"m232.15,16.61c1.93,0,3.29-.58,4.43-1.46,0,0,.44,1.03.59,1.39-1.28.86-2.84,1.41-5.08,1.41-3.86,0-7.01-2.18-7.01-5.4,0-3,2.98-5.4,6.86-5.4,4.16,0,6.77,2.44,6.77,5.48,0,.14,0,.3-.03.54h-9.05l-.53-1.24h7.49c-.24-1.88-1.93-3.48-4.7-3.48s-4.88,2.01-4.88,4.07,2.11,4.09,5.14,4.09Z"
/><path
class=
"cls-1"
d=
"m209.52,17.79h-2l-4.92-10.42h2.23l4.68,10.42Zm9.3,0h-1.87l-3.78-8.16-2.66,5.68-.84-2.12,2.64-5.86h1.74l4.78,10.46Zm.12-4.58l2.6-5.84h2.17l-3.85,7.96-.92-2.12Z"
/><path
class=
"cls-1"
d=
"m129.64,7.32h2.09v9.34h-2.09V7.32Z"
/><path
class=
"cls-1"
d=
"m138.02,21.94h-2.09V7.26l2.09,1.05v13.64Zm2.1-8.25s1.73,2.11,5.38,2.11c3.02,0,4.74-1.4,4.74-3.58s-1.77-3.89-4.62-3.89c-3.05,0-3.78,1.08-3.78,1.08l-1.81-.71s1.24-1.92,5.77-1.92c3.9,0,6.53,2.42,6.53,5.42s-2.63,5.14-6.89,5.14c-3.02,0-5.32-1.67-5.32-1.67v-1.99Z"
/><path
class=
"cls-1"
d=
"m0,14.58l1.33-1.33c1.99,1.52,3.89,2.28,6.53,2.28s4.24-1.15,4.24-2.74v-.05c0-1.49-.95-2.35-4.95-3.06C2.77,8.87.76,7.68.76,5.03v-.05C.76,2.46,3.4.6,7.02.6c2.78,0,4.76.67,6.69,1.98l-1.25,1.4c-1.77-1.22-3.54-1.75-5.5-1.75-2.48,0-4.05,1.15-4.05,2.6v.05c0,1.52.98,2.37,5.17,3.13,4.24.78,6.2,2.09,6.2,4.55v.05c0,2.76-2.72,4.55-6.5,4.55-3.02,0-5.5-.85-7.78-2.58Z"
/><path
class=
"cls-1"
d=
"m19.92,17.36h-2.09V7l2.09,1.06v9.3Zm1.93-8.82s1.01-.68,3.27-.68,3.75.9,4.52,2.06c1.01-1.14,2.5-2.06,4.95-2.06,3.24,0,5.22,1.6,5.22,4.17v5.34h-2.09v-4.98c0-2-1.36-3.13-3.65-3.13-2.12,0-3.89,1.16-3.89,3.2v4.9h-2.07v-5.02c0-1.94-1.15-3.08-3.38-3.08-.88,0-1.17.13-1.17.13l-1.71-.85Z"
/><path
class=
"cls-1"
d=
"m62.47,12.46c0-4.48,4.44-5.29,5.1-5.29l2.73,1.31h-.16c-3.07,0-5.58,1.62-5.58,4.75v4.13h-2.09v-4.9Z"
/><path
class=
"cls-1"
d=
"m242.16,12.73c0-4.48,4.44-5.29,5.1-5.29l2.73,1.31h-.16c-3.07,0-5.58,1.62-5.58,4.75v4.13h-2.09v-4.9Z"
/><path
class=
"cls-1"
d=
"m55.21,8v1.8c-.95-1.26-2.91-2-5.06-2-3.56,0-6.45,2.02-6.45,4.87s2.91,4.89,6.45,4.89c2.12,0,4.11-.74,5.06-2.02v.8l2.08,1.03.02-8.31-2.1-1.05Zm-4.91,8.01c-2.5,0-4.53-1.49-4.53-3.34s2.03-3.34,4.53-3.34,4.53,1.49,4.53,3.34-2.03,3.34-4.53,3.34Z"
/><path
class=
"cls-1"
d=
"m79.06,17.36h-2.1v-8.88h-2.08l-3.17-1.55h5.25v-2.66l2.1,1.02v1.64l2.06.03,3.13,1.51h-5.2s0,8.88,0,8.88Z"
/><path
class=
"cls-1"
d=
"m182,8.44h2.09v9.34h-2.09v-9.34Z"
/><circle
class=
"cls-1"
cx=
"130.75"
cy=
"4.18"
r=
"1.65"
/><circle
class=
"cls-1"
cx=
"183.16"
cy=
"4.18"
r=
"1.65"
/></g></svg>
\ No newline at end of file
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/h1_signin.imageset/h1_signin_Dark.svg
deleted
100644 → 0
View file @
2f9bf158
<?xml version="1.0" encoding="UTF-8"?>
<svg
id=
"_レイヤー_2"
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 250 21.94"
fill=
"#fff"
>
<defs>
<style>
.cls-1{stroke-width:0px;}
</style>
</defs>
<g
id=
"_レイヤー_3"
>
<path
class=
"cls-1"
d=
"m94.41,13.96l1.33-1.33c1.98,1.52,3.88,2.27,6.52,2.27s4.24-1.15,4.24-2.73v-.05c0-1.49-.95-2.34-4.94-3.05-4.37-.8-6.38-2-6.38-4.64v-.05c0-2.53,2.63-4.39,6.25-4.39,2.77,0,4.75.67,6.68,1.97l-1.25,1.4c-1.77-1.22-3.53-1.74-5.49-1.74-2.47,0-4.05,1.15-4.05,2.59v.05c0,1.52.98,2.36,5.16,3.12,4.24.78,6.19,2.09,6.19,4.55v.05c0,2.76-2.72,4.55-6.49,4.55-3.01,0-5.49-.85-7.77-2.57Z"
/>
<path
class=
"cls-1"
d=
"m113.82,16.69h-2.09V2.09l2.09,1.14v13.46Zm2.09-9.82s1.38-.89,3.8-.89c3.4,0,5.38,1.83,5.38,4.29v6.42h-2.09v-6.04c0-1.92-1.41-3.12-3.88-3.12s-3.2,1.1-3.2,1.1v-1.76Z"
/>
<path
class=
"cls-1"
d=
"m171.99,17.56h-2.17l-8.18-16.19h2.39l6.76,13.84,1.19,2.34Zm-.04-4.75l5.64-11.44h2.31l-6.94,13.63-1-2.19Z"
/>
<path
class=
"cls-1"
d=
"m194.78,16.68c1.93,0,3.29-.58,4.43-1.46l1.3.86c-1.41,1.16-3.12,1.94-5.79,1.94-3.86,0-7.01-2.18-7.01-5.4,0-3,2.98-5.4,6.86-5.4,4.16,0,6.77,2.44,6.77,5.48,0,.14,0,.3-.03.54h-8.98l-.6-1.24h7.49c-.24-1.88-1.93-3.48-4.7-3.48s-4.88,2.01-4.88,4.07,2.11,4.09,5.14,4.09Z"
/>
<path
class=
"cls-1"
d=
"m232.15,16.61c1.93,0,3.29-.58,4.43-1.46,0,0,.44,1.03.59,1.39-1.28.86-2.84,1.41-5.08,1.41-3.86,0-7.01-2.18-7.01-5.4,0-3,2.98-5.4,6.86-5.4,4.16,0,6.77,2.44,6.77,5.48,0,.14,0,.3-.03.54h-9.05l-.53-1.24h7.49c-.24-1.88-1.93-3.48-4.7-3.48s-4.88,2.01-4.88,4.07,2.11,4.09,5.14,4.09Z"
/>
<path
class=
"cls-1"
d=
"m209.52,17.79h-2l-4.92-10.42h2.23l4.68,10.42Zm9.3,0h-1.87l-3.78-8.16-2.66,5.68-.84-2.12,2.64-5.86h1.74l4.78,10.46Zm.12-4.58l2.6-5.84h2.17l-3.85,7.96-.92-2.12Z"
/>
<path
class=
"cls-1"
d=
"m129.64,7.32h2.09v9.34h-2.09V7.32Z"
/>
<path
class=
"cls-1"
d=
"m138.02,21.94h-2.09V7.26l2.09,1.05v13.64Zm2.1-8.25s1.73,2.11,5.38,2.11c3.02,0,4.74-1.4,4.74-3.58s-1.77-3.89-4.62-3.89c-3.05,0-3.78,1.08-3.78,1.08l-1.81-.71s1.24-1.92,5.77-1.92c3.9,0,6.53,2.42,6.53,5.42s-2.63,5.14-6.89,5.14c-3.02,0-5.32-1.67-5.32-1.67v-1.99Z"
/>
<path
class=
"cls-1"
d=
"m0,14.58l1.33-1.33c1.99,1.52,3.89,2.28,6.53,2.28s4.24-1.15,4.24-2.74v-.05c0-1.49-.95-2.35-4.95-3.06C2.77,8.87.76,7.68.76,5.03v-.05C.76,2.46,3.4.6,7.02.6c2.78,0,4.76.67,6.69,1.98l-1.25,1.4c-1.77-1.22-3.54-1.75-5.5-1.75-2.48,0-4.05,1.15-4.05,2.6v.05c0,1.52.98,2.37,5.17,3.13,4.24.78,6.2,2.09,6.2,4.55v.05c0,2.76-2.72,4.55-6.5,4.55-3.02,0-5.5-.85-7.78-2.58Z"
/>
<path
class=
"cls-1"
d=
"m19.92,17.36h-2.09V7l2.09,1.06v9.3Zm1.93-8.82s1.01-.68,3.27-.68,3.75.9,4.52,2.06c1.01-1.14,2.5-2.06,4.95-2.06,3.24,0,5.22,1.6,5.22,4.17v5.34h-2.09v-4.98c0-2-1.36-3.13-3.65-3.13-2.12,0-3.89,1.16-3.89,3.2v4.9h-2.07v-5.02c0-1.94-1.15-3.08-3.38-3.08-.88,0-1.17.13-1.17.13l-1.71-.85Z"
/>
<path
class=
"cls-1"
d=
"m62.47,12.46c0-4.48,4.44-5.29,5.1-5.29l2.73,1.31h-.16c-3.07,0-5.58,1.62-5.58,4.75v4.13h-2.09v-4.9Z"
/>
<path
class=
"cls-1"
d=
"m242.16,12.73c0-4.48,4.44-5.29,5.1-5.29l2.73,1.31h-.16c-3.07,0-5.58,1.62-5.58,4.75v4.13h-2.09v-4.9Z"
/>
<path
class=
"cls-1"
d=
"m55.21,8v1.8c-.95-1.26-2.91-2-5.06-2-3.56,0-6.45,2.02-6.45,4.87s2.91,4.89,6.45,4.89c2.12,0,4.11-.74,5.06-2.02v.8l2.08,1.03.02-8.31-2.1-1.05Zm-4.91,8.01c-2.5,0-4.53-1.49-4.53-3.34s2.03-3.34,4.53-3.34,4.53,1.49,4.53,3.34-2.03,3.34-4.53,3.34Z"
/>
<path
class=
"cls-1"
d=
"m79.06,17.36h-2.1v-8.88h-2.08l-3.17-1.55h5.25v-2.66l2.1,1.02v1.64l2.06.03,3.13,1.51h-5.2s0,8.88,0,8.88Z"
/>
<path
class=
"cls-1"
d=
"m182,8.44h2.09v9.34h-2.09v-9.34Z"
/>
<circle
class=
"cls-1"
cx=
"130.75"
cy=
"4.18"
r=
"1.65"
/>
<circle
class=
"cls-1"
cx=
"183.16"
cy=
"4.18"
r=
"1.65"
/>
</g>
</svg>
\ No newline at end of file
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/h1_signin.imageset/logo_b.svg
0 → 100644
View file @
0147901a
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 200.58 28.83"
>
<defs>
<style>
.cls-1{stroke-width:0px;}
</style>
</defs>
<g>
<path
class=
"cls-1"
d=
"m17.32,16c-.76-.58-1.58-1.06-2.46-1.44-.88-.38-1.73-.69-2.53-.93-1.74-.5-3.12-1-4.13-1.52-1.01-.51-1.73-1.06-2.16-1.64-.43-.58-.64-1.22-.64-1.91,0-.81.37-1.54,1.11-2.19.74-.65,1.93-.98,3.55-.98,1.17,0,2.16.19,2.98.57.81.38,1.5.87,2.08,1.46.57.59,1.04,1.2,1.41,1.82l3.12-1.5c-.49-.88-1.16-1.72-2.01-2.52-.86-.8-1.89-1.45-3.1-1.96-1.21-.51-2.63-.77-4.26-.77s-3.18.28-4.5.84c-1.31.56-2.34,1.33-3.08,2.3-.74.98-1.11,2.08-1.11,3.32,0,1.14.26,2.1.79,2.89.53.79,1.21,1.45,2.03,1.98.83.54,1.7.98,2.61,1.32.91.34,1.74.62,2.48.84,1.14.33,2.22.71,3.23,1.12,1.01.42,1.83.96,2.46,1.62.63.67.94,1.56.94,2.68s-.49,2.08-1.46,2.82c-.97.74-2.25,1.11-3.85,1.11-1.2,0-2.27-.21-3.21-.64-.94-.43-1.79-1.02-2.55-1.78-.76-.76-1.48-1.64-2.16-2.64l-2.91,1.64c.66,1.09,1.5,2.12,2.55,3.09,1.04.96,2.25,1.74,3.64,2.32,1.38.58,2.89.87,4.52.87,1.2,0,2.35-.17,3.45-.5s2.08-.81,2.95-1.43c.87-.62,1.56-1.37,2.05-2.25.5-.88.75-1.87.75-2.96s-.24-2.12-.73-2.94c-.49-.82-1.11-1.52-1.86-2.11Z"
/>
<rect
class=
"cls-1"
x=
"51.84"
y=
"11.46"
width=
"3.42"
height=
"16.41"
/>
<rect
class=
"cls-1"
x=
"64.61"
width=
"3.42"
height=
"27.83"
/>
<path
class=
"cls-1"
d=
"m127.4,19.21c-.94-.44-1.98-.85-3.12-1.23-.68-.24-1.34-.49-1.97-.75-.63-.26-1.14-.56-1.54-.89-.4-.33-.6-.71-.6-1.14,0-.55.26-.95.77-1.21.51-.26,1.13-.39,1.84-.39,1.03,0,1.95.2,2.76.61.81.41,1.49.92,2.03,1.53l2.74-1.46c-.4-.62-.96-1.17-1.67-1.64-.71-.48-1.53-.86-2.46-1.14-.93-.29-1.92-.43-2.98-.43s-2.08.16-3.06.46c-.98.31-1.78.78-2.4,1.43-.61.64-.92,1.45-.92,2.43s.29,1.74.88,2.37c.58.63,1.31,1.14,2.18,1.53.87.39,1.73.73,2.59,1.02.77.24,1.5.49,2.18.77.69.27,1.25.61,1.69,1,.44.39.66.87.66,1.45,0,.64-.28,1.15-.83,1.52-.56.37-1.32.55-2.29.55-.8,0-1.53-.12-2.2-.38-.67-.25-1.26-.59-1.78-1.02s-.97-.89-1.37-1.39l-2.7,1.39c.37.64.92,1.27,1.65,1.89.73.62,1.62,1.12,2.68,1.52,1.06.39,2.24.59,3.55.59,2.03,0,3.66-.48,4.9-1.43,1.24-.95,1.86-2.14,1.86-3.57,0-.97-.28-1.77-.83-2.39s-1.31-1.15-2.25-1.59Z"
/>
<path
class=
"cls-1"
d=
"m147.93,19.21c-.94-.44-1.98-.85-3.12-1.23-.68-.24-1.34-.49-1.97-.75-.63-.26-1.14-.56-1.54-.89-.4-.33-.6-.71-.6-1.14,0-.55.26-.95.77-1.21.51-.26,1.13-.39,1.84-.39,1.03,0,1.95.2,2.76.61.81.41,1.49.92,2.03,1.53l2.74-1.46c-.4-.62-.96-1.17-1.67-1.64-.71-.48-1.53-.86-2.46-1.14-.93-.29-1.92-.43-2.98-.43s-2.08.16-3.06.46c-.98.31-1.78.78-2.4,1.43-.61.64-.92,1.45-.92,2.43s.29,1.74.88,2.37c.58.63,1.31,1.14,2.18,1.53.87.39,1.73.73,2.59,1.02.77.24,1.5.49,2.18.77.69.27,1.25.61,1.69,1,.44.39.66.87.66,1.45,0,.64-.28,1.15-.83,1.52-.56.37-1.32.55-2.29.55-.8,0-1.53-.12-2.2-.38-.67-.25-1.26-.59-1.78-1.02s-.97-.89-1.37-1.39l-2.7,1.39c.37.64.92,1.27,1.65,1.89.73.62,1.62,1.12,2.68,1.52,1.06.39,2.24.59,3.55.59,2.03,0,3.66-.48,4.9-1.43,1.24-.95,1.86-2.14,1.86-3.57,0-.97-.28-1.77-.83-2.39s-1.31-1.15-2.25-1.59Z"
/>
<path
class=
"cls-1"
d=
"m181.88,19.21c-.94-.44-1.98-.85-3.12-1.23-.68-.24-1.34-.49-1.97-.75-.63-.26-1.14-.56-1.54-.89-.4-.33-.6-.71-.6-1.14,0-.55.26-.95.77-1.21.51-.26,1.13-.39,1.84-.39,1.03,0,1.95.2,2.76.61.81.41,1.49.92,2.03,1.53l2.74-1.46c-.4-.62-.96-1.17-1.67-1.64-.71-.48-1.53-.86-2.46-1.14-.93-.29-1.92-.43-2.98-.43s-2.08.16-3.06.46c-.98.31-1.78.78-2.4,1.43-.61.64-.92,1.45-.92,2.43s.29,1.74.88,2.37c.58.63,1.31,1.14,2.18,1.53.87.39,1.73.73,2.59,1.02.77.24,1.5.49,2.18.77.69.27,1.25.61,1.69,1,.44.39.66.87.66,1.45,0,.64-.28,1.15-.83,1.52-.56.37-1.32.55-2.29.55-.8,0-1.53-.12-2.2-.38-.67-.25-1.26-.59-1.78-1.02s-.97-.89-1.37-1.39l-2.7,1.39c.37.64.92,1.27,1.65,1.89.73.62,1.62,1.12,2.68,1.52,1.06.39,2.24.59,3.55.59,2.03,0,3.66-.48,4.9-1.43,1.24-.95,1.86-2.14,1.86-3.57,0-.97-.28-1.77-.83-2.39s-1.31-1.15-2.25-1.59Z"
/>
<polygon
class=
"cls-1"
points=
"200.58 11.42 197.37 11.42 197.37 6.71 193.95 5.71 193.95 11.42 190.74 11.42 190.74 14.09 193.95 14.09 193.95 27.83 197.37 28.83 197.37 14.09 200.58 14.09 200.58 11.42"
/>
<path
class=
"cls-1"
d=
"m39.45,13.34c-1.53-1.41-3.56-2.28-5.8-2.28-4.73,0-8.56,3.83-8.56,8.56s3.83,8.56,8.56,8.56c2.24,0,4.27-.87,5.8-2.28v.97l3.4,1V11.75l-3.4-1v2.59Zm-5.8,11.85c-3.07,0-5.56-2.49-5.56-5.56s2.49-5.56,5.56-5.56,5.56,2.49,5.56,5.56-2.49,5.56-5.56,5.56Z"
/>
<path
class=
"cls-1"
d=
"m86.12,26.43l3.37,1.76,3.87-7.38h10.9l3.87,7.38,3.37-1.76-12.68-24.21-12.68,24.21Zm8.8-8.62l3.88-7.41,3.88,7.41h-7.76Z"
/>
<circle
class=
"cls-1"
cx=
"53.65"
cy=
"5.18"
r=
"2.5"
/>
<rect
class=
"cls-1"
x=
"158.84"
y=
"11.46"
width=
"3.42"
height=
"16.41"
/>
<path
class=
"cls-1"
d=
"m160.65,2.31c-1.38,0-2.5,1.12-2.5,2.5,0,.06.01.12.02.18,0,.06-.02.12-.02.18,0,1.38,1.12,2.5,2.5,2.5s2.5-1.12,2.5-2.5c0-.06-.01-.12-.02-.18,0-.06.02-.12.02-.18,0-1.38-1.12-2.5-2.5-2.5Z"
/>
</g>
</svg>
\ No newline at end of file
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/h1_signin.imageset/logo_w.svg
0 → 100644
View file @
0147901a
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 200.58 28.83"
>
<defs>
<style>
.cls-1{fill:#fff;stroke-width:0px;}
</style>
</defs>
<g>
<path
class=
"cls-1"
d=
"m17.32,16c-.76-.58-1.58-1.06-2.46-1.44-.88-.38-1.73-.69-2.53-.93-1.74-.5-3.12-1-4.13-1.52-1.01-.51-1.73-1.06-2.16-1.64-.43-.58-.64-1.22-.64-1.91,0-.81.37-1.54,1.11-2.19.74-.65,1.93-.98,3.55-.98,1.17,0,2.16.19,2.98.57.81.38,1.5.87,2.08,1.46.57.59,1.04,1.2,1.41,1.82l3.12-1.5c-.49-.88-1.16-1.72-2.01-2.52-.86-.8-1.89-1.45-3.1-1.96-1.21-.51-2.63-.77-4.26-.77s-3.18.28-4.5.84c-1.31.56-2.34,1.33-3.08,2.3-.74.98-1.11,2.08-1.11,3.32,0,1.14.26,2.1.79,2.89.53.79,1.21,1.45,2.03,1.98.83.54,1.7.98,2.61,1.32.91.34,1.74.62,2.48.84,1.14.33,2.22.71,3.23,1.12,1.01.42,1.83.96,2.46,1.62.63.67.94,1.56.94,2.68s-.49,2.08-1.46,2.82c-.97.74-2.25,1.11-3.85,1.11-1.2,0-2.27-.21-3.21-.64-.94-.43-1.79-1.02-2.55-1.78-.76-.76-1.48-1.64-2.16-2.64l-2.91,1.64c.66,1.09,1.5,2.12,2.55,3.09,1.04.96,2.25,1.74,3.64,2.32,1.38.58,2.89.87,4.52.87,1.2,0,2.35-.17,3.45-.5s2.08-.81,2.95-1.43c.87-.62,1.56-1.37,2.05-2.25.5-.88.75-1.87.75-2.96s-.24-2.12-.73-2.94c-.49-.82-1.11-1.52-1.86-2.11Z"
/>
<rect
class=
"cls-1"
x=
"51.84"
y=
"11.46"
width=
"3.42"
height=
"16.41"
/>
<rect
class=
"cls-1"
x=
"64.61"
width=
"3.42"
height=
"27.83"
/>
<path
class=
"cls-1"
d=
"m127.4,19.21c-.94-.44-1.98-.85-3.12-1.23-.68-.24-1.34-.49-1.97-.75-.63-.26-1.14-.56-1.54-.89-.4-.33-.6-.71-.6-1.14,0-.55.26-.95.77-1.21.51-.26,1.13-.39,1.84-.39,1.03,0,1.95.2,2.76.61.81.41,1.49.92,2.03,1.53l2.74-1.46c-.4-.62-.96-1.17-1.67-1.64-.71-.48-1.53-.86-2.46-1.14-.93-.29-1.92-.43-2.98-.43s-2.08.16-3.06.46c-.98.31-1.78.78-2.4,1.43-.61.64-.92,1.45-.92,2.43s.29,1.74.88,2.37c.58.63,1.31,1.14,2.18,1.53.87.39,1.73.73,2.59,1.02.77.24,1.5.49,2.18.77.69.27,1.25.61,1.69,1,.44.39.66.87.66,1.45,0,.64-.28,1.15-.83,1.52-.56.37-1.32.55-2.29.55-.8,0-1.53-.12-2.2-.38-.67-.25-1.26-.59-1.78-1.02s-.97-.89-1.37-1.39l-2.7,1.39c.37.64.92,1.27,1.65,1.89.73.62,1.62,1.12,2.68,1.52,1.06.39,2.24.59,3.55.59,2.03,0,3.66-.48,4.9-1.43,1.24-.95,1.86-2.14,1.86-3.57,0-.97-.28-1.77-.83-2.39s-1.31-1.15-2.25-1.59Z"
/>
<path
class=
"cls-1"
d=
"m147.93,19.21c-.94-.44-1.98-.85-3.12-1.23-.68-.24-1.34-.49-1.97-.75-.63-.26-1.14-.56-1.54-.89-.4-.33-.6-.71-.6-1.14,0-.55.26-.95.77-1.21.51-.26,1.13-.39,1.84-.39,1.03,0,1.95.2,2.76.61.81.41,1.49.92,2.03,1.53l2.74-1.46c-.4-.62-.96-1.17-1.67-1.64-.71-.48-1.53-.86-2.46-1.14-.93-.29-1.92-.43-2.98-.43s-2.08.16-3.06.46c-.98.31-1.78.78-2.4,1.43-.61.64-.92,1.45-.92,2.43s.29,1.74.88,2.37c.58.63,1.31,1.14,2.18,1.53.87.39,1.73.73,2.59,1.02.77.24,1.5.49,2.18.77.69.27,1.25.61,1.69,1,.44.39.66.87.66,1.45,0,.64-.28,1.15-.83,1.52-.56.37-1.32.55-2.29.55-.8,0-1.53-.12-2.2-.38-.67-.25-1.26-.59-1.78-1.02s-.97-.89-1.37-1.39l-2.7,1.39c.37.64.92,1.27,1.65,1.89.73.62,1.62,1.12,2.68,1.52,1.06.39,2.24.59,3.55.59,2.03,0,3.66-.48,4.9-1.43,1.24-.95,1.86-2.14,1.86-3.57,0-.97-.28-1.77-.83-2.39s-1.31-1.15-2.25-1.59Z"
/>
<path
class=
"cls-1"
d=
"m181.88,19.21c-.94-.44-1.98-.85-3.12-1.23-.68-.24-1.34-.49-1.97-.75-.63-.26-1.14-.56-1.54-.89-.4-.33-.6-.71-.6-1.14,0-.55.26-.95.77-1.21.51-.26,1.13-.39,1.84-.39,1.03,0,1.95.2,2.76.61.81.41,1.49.92,2.03,1.53l2.74-1.46c-.4-.62-.96-1.17-1.67-1.64-.71-.48-1.53-.86-2.46-1.14-.93-.29-1.92-.43-2.98-.43s-2.08.16-3.06.46c-.98.31-1.78.78-2.4,1.43-.61.64-.92,1.45-.92,2.43s.29,1.74.88,2.37c.58.63,1.31,1.14,2.18,1.53.87.39,1.73.73,2.59,1.02.77.24,1.5.49,2.18.77.69.27,1.25.61,1.69,1,.44.39.66.87.66,1.45,0,.64-.28,1.15-.83,1.52-.56.37-1.32.55-2.29.55-.8,0-1.53-.12-2.2-.38-.67-.25-1.26-.59-1.78-1.02s-.97-.89-1.37-1.39l-2.7,1.39c.37.64.92,1.27,1.65,1.89.73.62,1.62,1.12,2.68,1.52,1.06.39,2.24.59,3.55.59,2.03,0,3.66-.48,4.9-1.43,1.24-.95,1.86-2.14,1.86-3.57,0-.97-.28-1.77-.83-2.39s-1.31-1.15-2.25-1.59Z"
/>
<polygon
class=
"cls-1"
points=
"200.58 11.42 197.37 11.42 197.37 6.71 193.95 5.71 193.95 11.42 190.74 11.42 190.74 14.09 193.95 14.09 193.95 27.83 197.37 28.83 197.37 14.09 200.58 14.09 200.58 11.42"
/>
<path
class=
"cls-1"
d=
"m39.45,13.34c-1.53-1.41-3.56-2.28-5.8-2.28-4.73,0-8.56,3.83-8.56,8.56s3.83,8.56,8.56,8.56c2.24,0,4.27-.87,5.8-2.28v.97l3.4,1V11.75l-3.4-1v2.59Zm-5.8,11.85c-3.07,0-5.56-2.49-5.56-5.56s2.49-5.56,5.56-5.56,5.56,2.49,5.56,5.56-2.49,5.56-5.56,5.56Z"
/>
<path
class=
"cls-1"
d=
"m86.12,26.43l3.37,1.76,3.87-7.38h10.9l3.87,7.38,3.37-1.76-12.68-24.21-12.68,24.21Zm8.8-8.62l3.88-7.41,3.88,7.41h-7.76Z"
/>
<circle
class=
"cls-1"
cx=
"53.65"
cy=
"5.18"
r=
"2.5"
/>
<rect
class=
"cls-1"
x=
"158.84"
y=
"11.46"
width=
"3.42"
height=
"16.41"
/>
<path
class=
"cls-1"
d=
"m160.65,2.31c-1.38,0-2.5,1.12-2.5,2.5,0,.06.01.12.02.18,0,.06-.02.12-.02.18,0,1.38,1.12,2.5,2.5,2.5s2.5-1.12,2.5-2.5c0-.06-.01-.12-.02-.18,0-.06.02-.12.02-.18,0-1.38-1.12-2.5-2.5-2.5Z"
/>
</g>
</svg>
\ No newline at end of file
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/logo_signin.imageset/Contents.json
View file @
0147901a
{
"images"
:
[
{
"filename"
:
"
logo_signin
.svg"
,
"filename"
:
"
img_b
.svg"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
...
...
@@ -12,7 +12,7 @@
"value"
:
"dark"
}
],
"filename"
:
"
logo_signin_Dark
.svg"
,
"filename"
:
"
img_w
.svg"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
...
...
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/logo_signin.imageset/img_b.svg
0 → 100644
View file @
0147901a
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 485 201"
style=
"enable-background:new 0 0 485 201;"
xml:space=
"preserve"
>
<g>
<path
d=
"M0,170.8c146-6.9,275.9-18.1,389.8-33.6C241.9,153.1,114.4,165.4,7,162L0,170.8L0,170.8z"
/>
<polygon
points=
"71.5,125.9 229,64.1 228.8,77.8 "
/>
<path
d=
"M416,170l69-87c-76.3-10.9-148.8-9-230,5l-6.4,21.7L40,144l221-20l10-21c52.6-10,104.3-13.3,155-9
C416.9,122,413.2,147.5,416,170z"
/>
<polygon
points=
"414,184 35,190 429,201 "
/>
<polygon
points=
"229,24 55,115 55,136 62,114 229,0 "
/>
<polygon
points=
"234,7 234,24 370,39 370,70 360,30 "
/>
<path
d=
"M31,132.8c-0.8,0-1.5-0.7-1.5-1.5V67.8c0-0.2,0-0.4,0.1-0.7l5.6-11.5c0.2-0.5,0.8-0.8,1.3-0.8h78.8c0.8,0,1.5,0.7,1.5,1.5
v11.5c0,0.8-0.7,1.5-1.5,1.5s-1.5-0.7-1.5-1.5v-10H37.5l-5,10.3v63.2C32.5,132.1,31.8,132.8,31,132.8z"
/>
<rect
x=
"50.5"
y=
"67"
width=
"3.5"
height=
"3"
/>
<path
d=
"M84.4,70h-7.6v-3h7.6V70z M69.2,70h-7.6v-3h7.6V70z"
/>
<rect
x=
"92"
y=
"67"
width=
"3.5"
height=
"3"
/>
<rect
x=
"50.5"
y=
"76"
width=
"3.5"
height=
"3"
/>
<path
d=
"M84.4,79h-7.6v-3h7.6V79z M69.2,79h-7.6v-3h7.6V79z"
/>
<rect
x=
"92"
y=
"76"
width=
"3.5"
height=
"3"
/>
</g>
</svg>
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/logo_signin.imageset/img_w.svg
0 → 100644
View file @
0147901a
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 485 201"
style=
"enable-background:new 0 0 485 201;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#FFFFFF;}
</style>
<g>
<path
class=
"st0"
d=
"M0,170.8c146-6.9,275.9-18.1,389.8-33.6C241.9,153.1,114.4,165.4,7,162L0,170.8L0,170.8z"
/>
<polygon
class=
"st0"
points=
"71.5,125.9 229,64.1 228.8,77.8 "
/>
<path
class=
"st0"
d=
"M416,170l69-87c-76.3-10.9-148.8-9-230,5l-6.4,21.7L40,144l221-20l10-21c52.6-10,104.3-13.3,155-9
C416.9,122,413.2,147.5,416,170z"
/>
<polygon
class=
"st0"
points=
"414,184 35,190 429,201 "
/>
<polygon
class=
"st0"
points=
"229,24 55,115 55,136 62,114 229,0 "
/>
<polygon
class=
"st0"
points=
"234,7 234,24 370,39 370,70 360,30 "
/>
<path
class=
"st0"
d=
"M31,132.8c-0.8,0-1.5-0.7-1.5-1.5V67.8c0-0.2,0-0.4,0.1-0.7l5.6-11.5c0.2-0.5,0.8-0.8,1.3-0.8h78.8
c0.8,0,1.5,0.7,1.5,1.5v11.5c0,0.8-0.7,1.5-1.5,1.5s-1.5-0.7-1.5-1.5v-10H37.5l-5,10.3v63.2C32.5,132.1,31.8,132.8,31,132.8z"
/>
<rect
x=
"50.5"
y=
"67"
class=
"st0"
width=
"3.5"
height=
"3"
/>
<path
class=
"st0"
d=
"M84.4,70h-7.6v-3h7.6V70z M69.2,70h-7.6v-3h7.6V70z"
/>
<rect
x=
"92"
y=
"67"
class=
"st0"
width=
"3.5"
height=
"3"
/>
<rect
x=
"50.5"
y=
"76"
class=
"st0"
width=
"3.5"
height=
"3"
/>
<path
class=
"st0"
d=
"M84.4,79h-7.6v-3h7.6V79z M69.2,79h-7.6v-3h7.6V79z"
/>
<rect
x=
"92"
y=
"76"
class=
"st0"
width=
"3.5"
height=
"3"
/>
</g>
</svg>
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/logo_signin.imageset/logo_signin.svg
deleted
100644 → 0
View file @
2f9bf158
<?xml version="1.0" encoding="UTF-8"?>
<svg
id=
"_レイヤー_2"
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 135 66.85"
><defs><style>
.cls-1{stroke-width:0px;}
</style></defs><g
id=
"_レイヤー_3"
><path
class=
"cls-1"
d=
"m76.98,16.14C44.95,3.88,28.77,9.65,6.32,26.43c26.59-14.38,41.57-16.83,70.66-10.3Z"
/><path
class=
"cls-1"
d=
"m12.26,12.7C27.08-.15,28.19-4.7,57.15,5.89,29.09-.04,28.66,2.56,12.26,12.7Z"
/><path
class=
"cls-1"
d=
"m110.48,53.56c8.34-9.48,15.04-26.48,17.05-34.65-14.49-2.18-58.08,2.56-127.54,20.38C61.62,17.88,113.64,10.44,135,15.89c-2.62,6.78-14.38,32.69-24.52,37.67Z"
/><path
class=
"cls-1"
d=
"m21.56,59.86c9.2-1.3,18.54,1.26,23.92,3.03,7.27,2.39,20.12,2.98,24.24,2.8-1.92.79-16.73,2.43-25.2-.53-6.12-2.14-15.55-5.32-22.96-5.3Z"
/><path
class=
"cls-1"
d=
"m9.37,47.57c27.02-1.31,47.29,5.67,63.41,8.5,29.86,5.25,58.99.82,59.27.65-.51.4-32.02,6.89-61.23,2.07-22.45-3.7-39.66-11.66-61.45-11.22Z"
/></g></svg>
\ No newline at end of file
Seilassist/Sailassist/Assets.xcassets/IconImage/Login/logo_signin.imageset/logo_signin_Dark.svg
deleted
100644 → 0
View file @
2f9bf158
<?xml version="1.0" encoding="UTF-8"?>
<svg
id=
"_レイヤー_2"
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 135 66.85"
fill=
"#fff"
>
<defs>
<style>
.cls-1{stroke-width:0px;}
</style>
</defs>
<g
id=
"_レイヤー_3"
>
<path
class=
"cls-1"
d=
"m76.98,16.14C44.95,3.88,28.77,9.65,6.32,26.43c26.59-14.38,41.57-16.83,70.66-10.3Z"
/>
<path
class=
"cls-1"
d=
"m12.26,12.7C27.08-.15,28.19-4.7,57.15,5.89,29.09-.04,28.66,2.56,12.26,12.7Z"
/>
<path
class=
"cls-1"
d=
"m110.48,53.56c8.34-9.48,15.04-26.48,17.05-34.65-14.49-2.18-58.08,2.56-127.54,20.38C61.62,17.88,113.64,10.44,135,15.89c-2.62,6.78-14.38,32.69-24.52,37.67Z"
/>
<path
class=
"cls-1"
d=
"m21.56,59.86c9.2-1.3,18.54,1.26,23.92,3.03,7.27,2.39,20.12,2.98,24.24,2.8-1.92.79-16.73,2.43-25.2-.53-6.12-2.14-15.55-5.32-22.96-5.3Z"
/>
<path
class=
"cls-1"
d=
"m9.37,47.57c27.02-1.31,47.29,5.67,63.41,8.5,29.86,5.25,58.99.82,59.27.65-.51.4-32.02,6.89-61.23,2.07-22.45-3.7-39.66-11.66-61.45-11.22Z"
/>
</g>
</svg>
\ No newline at end of file
Seilassist/Sailassist/ContentView.swift
View file @
0147901a
...
...
@@ -16,8 +16,6 @@ struct ContentView: View {
@EnvironmentObject
private
var
sceneDelegate
:
SceneDelegate
let
selectedTabModel
=
SelectedTabModel
()
let
signalRService
=
SignalRService
()
let
locationViewModel
=
LocationViewModel
()
var
body
:
some
View
{
MainTabView
()
...
...
@@ -39,7 +37,6 @@ struct ContentView: View {
selectedTabModel
.
activeTab
=
.
task
},
content
:
{
LoginView
(
isLogin
:
$
loginViewModel
.
isLogin
)
.
environmentObject
(
locationViewModel
)
})
}
}
...
...
Seilassist/Sailassist/ECA/EcaCoordinatesTable.swift
View file @
0147901a
...
...
@@ -8,7 +8,7 @@
import
Foundation
import
CoreLocation
#if
fals
e
#if
tru
e
//ECA Coordinates China
var
chinaShore
:[
CLLocationCoordinate2D
]
=
[
CLLocationCoordinate2D
(
latitude
:
39.82805556
,
longitude
:
124.16833333
),
...
...
@@ -96,8 +96,8 @@ var chinaHainan:[CLLocationCoordinate2D] = [
]
var
chinaYangtziShuifuYunnan
:[
CLLocationCoordinate2D
]
=
[
CLLocationCoordinate2D
(
latitude
:
28.63
858333
,
longitude
:
104.40744444
),
CLLocationCoordinate2D
(
latitude
:
28.6
4013889
,
longitude
:
104.40858333
)
CLLocationCoordinate2D
(
latitude
:
28.63
331667
,
longitude
:
104.40085000
),
CLLocationCoordinate2D
(
latitude
:
28.6
5005667
,
longitude
:
104.40801667
)
]
var
chinaYangtziLiuhekouJiangsu1
:[
CLLocationCoordinate2D
]
=
[
...
...
@@ -111,13 +111,13 @@ var chinaYangtziLiuhekouJiangsu2:[CLLocationCoordinate2D] = [
]
var
chinaXijiangNanningGuangxi
:[
CLLocationCoordinate2D
]
=
[
CLLocationCoordinate2D
(
latitude
:
22.80
719444
,
longitude
:
108.30938889
),
CLLocationCoordinate2D
(
latitude
:
22.8
0947222
,
longitude
:
108.3075
0000
)
CLLocationCoordinate2D
(
latitude
:
22.80
305000
,
longitude
:
108.31303333
),
CLLocationCoordinate2D
(
latitude
:
22.8
1383333
,
longitude
:
108.2988
0000
)
]
var
chinaXijiangNanningGuangdong
:[
CLLocationCoordinate2D
]
=
[
CLLocationCoordinate2D
(
latitude
:
23.1
4583333
,
longitude
:
112.80833333
),
CLLocationCoordinate2D
(
latitude
:
23.13
361111
,
longitude
:
112.78861111
)
CLLocationCoordinate2D
(
latitude
:
23.1
2575000
,
longitude
:
112.77791667
),
CLLocationCoordinate2D
(
latitude
:
23.13
218333
,
longitude
:
112.81671667
)
]
//ECA Coordinates Iceland
...
...
@@ -4083,9 +4083,9 @@ var unitesStatesCaribbean:[CLLocationCoordinate2D] = [
]
var
northSea1
:[
CLLocationCoordinate2D
]
=
[
CLLocationCoordinate2D
(
latitude
:
62.00000000
,
longitude
:
4.99708333
),
CLLocationCoordinate2D
(
latitude
:
58.56666667
,
longitude
:
-
4.00000000
),
CLLocationCoordinate2D
(
latitude
:
62.00000000
,
longitude
:
-
4.00000000
)
CLLocationCoordinate2D
(
latitude
:
62.00000000
,
longitude
:
-
4.00000000
),
CLLocationCoordinate2D
(
latitude
:
62.00000000
,
longitude
:
4.99708333
)
]
var
northSea2
:[
CLLocationCoordinate2D
]
=
[
...
...
@@ -4313,26 +4313,26 @@ class EcaCoordinatesTable : NSObject {
}
var
ecaDataTable
:[
ecaData
]
=
[
//
ecaData(id: 1, name: "Iceland", table: iceland),
//
ecaData(id: 11, name: "North American Atlantic Coasts", table: northAmericanAtlanticCoasts),
//
ecaData(id: 12, name: "North American Hawai", table: northAmericanHawai),
//
ecaData(id: 13, name: "North American Pacific Coasts", table: northAmericanPacificCoasts),
// ecaData(id: 21, name: "North Sea 1", table: northSea1), //err
//
ecaData(id: 22, name: "North Sea 2", table: northSea2),
//
ecaData(id: 31, name: "Unites States Caribbean", table: unitesStatesCaribbean),
//
ecaData(id: 41, name: "China Shore", table: chinaShore),
//
ecaData(id: 42, name: "China Hainan", table: chinaHainan),
// ecaData(id: 43, name: "China Yangtzi Shuifu,Yunnan", table: chinaYangtziShuifuYunnan), //err
//
ecaData(id: 44, name: "China Yangtzi Liuhekou,Jiangsu1", table: chinaYangtziLiuhekouJiangsu1),
//
ecaData(id: 45, name: "China Yangtzi Liuhekou,Jiangsu2", table: chinaYangtziLiuhekouJiangsu2),
// ecaData(id: 46, name: "China Xijiang Nanning,Guangxi", table: chinaXijiangNanningGuangxi), //err
// ecaData(id: 47, name: "China Xijiang Zhaoqing,Guangdong", table: chinaXijiangNanningGuangdong), //err
//
ecaData(id: 51, name: "Korea Incheon, PyeongtaekDangjin Port", table: incheonPyeongtaekDanjinPort),
//
ecaData(id: 52, name: "Korea Yeosu, Gwangyang Port", table: yeosuGwangyangPort),
//
ecaData(id: 53, name: "Korea Busan Port", table: koreaBusanPort),
//
ecaData(id: 54, name: "Korea Busan Port West", table: koreaBusanPortWest),
//
ecaData(id: 55, name: "Korea Ulsan Port", table: koreaUlsanPort),
//
ecaData(id: 61, name: "Panama Canal Atlantic Entrance", table: panamaCanalAtlanticEntrance),
ecaData
(
id
:
1
,
name
:
"Iceland"
,
table
:
iceland
),
ecaData
(
id
:
11
,
name
:
"North American Atlantic Coasts"
,
table
:
northAmericanAtlanticCoasts
),
ecaData
(
id
:
12
,
name
:
"North American Hawai"
,
table
:
northAmericanHawai
),
ecaData
(
id
:
13
,
name
:
"North American Pacific Coasts"
,
table
:
northAmericanPacificCoasts
),
ecaData
(
id
:
21
,
name
:
"North Sea 1"
,
table
:
northSea1
),
ecaData
(
id
:
22
,
name
:
"North Sea 2"
,
table
:
northSea2
),
ecaData
(
id
:
31
,
name
:
"Unites States Caribbean"
,
table
:
unitesStatesCaribbean
),
ecaData
(
id
:
41
,
name
:
"China Shore"
,
table
:
chinaShore
),
ecaData
(
id
:
42
,
name
:
"China Hainan"
,
table
:
chinaHainan
),
ecaData
(
id
:
43
,
name
:
"China Yangtzi Shuifu,Yunnan"
,
table
:
chinaYangtziShuifuYunnan
),
ecaData
(
id
:
44
,
name
:
"China Yangtzi Liuhekou,Jiangsu1"
,
table
:
chinaYangtziLiuhekouJiangsu1
),
ecaData
(
id
:
45
,
name
:
"China Yangtzi Liuhekou,Jiangsu2"
,
table
:
chinaYangtziLiuhekouJiangsu2
),
ecaData
(
id
:
46
,
name
:
"China Xijiang Nanning,Guangxi"
,
table
:
chinaXijiangNanningGuangxi
),
ecaData
(
id
:
47
,
name
:
"China Xijiang Zhaoqing,Guangdong"
,
table
:
chinaXijiangNanningGuangdong
),
ecaData
(
id
:
51
,
name
:
"Korea Incheon, PyeongtaekDangjin Port"
,
table
:
incheonPyeongtaekDanjinPort
),
ecaData
(
id
:
52
,
name
:
"Korea Yeosu, Gwangyang Port"
,
table
:
yeosuGwangyangPort
),
ecaData
(
id
:
53
,
name
:
"Korea Busan Port"
,
table
:
koreaBusanPort
),
ecaData
(
id
:
54
,
name
:
"Korea Busan Port West"
,
table
:
koreaBusanPortWest
),
ecaData
(
id
:
55
,
name
:
"Korea Ulsan Port"
,
table
:
koreaUlsanPort
),
ecaData
(
id
:
61
,
name
:
"Panama Canal Atlantic Entrance"
,
table
:
panamaCanalAtlanticEntrance
),
ecaData
(
id
:
62
,
name
:
"Panama Canal Pacific Entrance"
,
table
:
panamaCanalPacificEntrance
)
]
...
...
Seilassist/Sailassist/ECA/GetEcaList.swift
View file @
0147901a
...
...
@@ -37,7 +37,7 @@ class GetEcaList {
value
.
isRunning
=
false
value
.
status
=
EcaState
.
register
}
ecaData
.
ecaArea
.
updateValue
(
value
,
forKey
:
ecaList
.
taskNam
e
)
ecaData
.
setEcaArea
(
key
:
ecaList
.
taskName
,
value
:
valu
e
)
}
}
}
...
...
Seilassist/Sailassist/LocationViewModel.swift
View file @
0147901a
...
...
@@ -9,7 +9,8 @@ import CoreLocation
class
LocationViewModel
:
NSObject
,
ObservableObject
,
CLLocationManagerDelegate
{
@Published
var
authorizationStatus
:
CLAuthorizationStatus
@Published
var
lastSeenLocation
:
CLLocation
?
var
lastSeenLocation
:
CLLocation
?
var
serverLocationInterval
:
Int64
=
0
private
let
locationManager
:
CLLocationManager
let
ecaTask
=
EcaTask
()
...
...
@@ -31,16 +32,19 @@ class LocationViewModel: NSObject, ObservableObject, CLLocationManagerDelegate {
let
status
=
CLLocationManager
()
.
authorizationStatus
switch
status
{
case
.
authorizedAlways
:
print
(
debug
:
"authorizationStatus : .authorizedAlways"
)
print
(
debug
:
"authorizationStatus : .authorizedAlways"
)
//常に利用許可
case
.
notDetermined
:
alert
=
true
print
(
debug
:
"authorizationStatus : .notDetermined"
)
print
(
debug
:
"authorizationStatus : .notDetermined"
)
//一度だけ許可
case
.
restricted
:
print
(
debug
:
"authorizationStatus : .restricted"
)
alert
=
true
print
(
debug
:
"authorizationStatus : .restricted"
)
//ペアレンタルコントロールなどの影響で制限中
case
.
denied
:
print
(
debug
:
"authorizationStatus : .denied"
)
alert
=
true
print
(
debug
:
"authorizationStatus : .denied"
)
//利用拒否
case
.
authorizedWhenInUse
:
print
(
debug
:
"authorizationStatus : .authorizedWhenInUse"
)
alert
=
true
print
(
debug
:
"authorizationStatus : .authorizedWhenInUse"
)
//使用中のみ利用許可
@unknown
default
:
print
(
debug
:
"authorizationStatus : Unknown"
)
}
...
...
@@ -85,10 +89,13 @@ class LocationViewModel: NSObject, ObservableObject, CLLocationManagerDelegate {
}
if
Preferences
.
LocationType
==
1
{
let
eca
=
EcaTask
()
eca
.
start
()
ecaTask
.
checkEca
()
if
serverLocationInterval
<=
DateTextLib
.
Date2UnixTime
(
date
:
Date
())
{
let
eca
=
EcaTask
()
eca
.
start
()
self
.
ecaTask
.
checkEca
()
serverLocationInterval
=
DateTextLib
.
Date2UnixTime
(
date
:
Date
())
+
Int64
(
TimerInterval
)
}
}
}
...
...
Seilassist/Sailassist/Login/LoginView.swift
View file @
0147901a
...
...
@@ -18,6 +18,8 @@ enum LoginViewMode: String{
enum
AlertType
:
String
{
case
loginFailure
case
QrFailure
case
ClientError
case
Expired
case
gpsPermission
}
...
...
@@ -101,18 +103,28 @@ struct LoginView: View {
.
alert
(
isPresented
:
$
isAlert
)
{
switch
alertType
{
case
.
loginFailure
:
return
Alert
(
title
:
Text
(
"
e
rror"
),
return
Alert
(
title
:
Text
(
"
E
rror"
),
message
:
Text
(
"Ship ID or Password is incorrect."
),
dismissButton
:
.
default
(
Text
(
"OK"
),
action
:
{
viewMode
=
.
SelectType
})
)
case
.
QrFailure
:
return
Alert
(
title
:
Text
(
"Error"
),
message
:
Text
(
"QR code is incorrect."
),
dismissButton
:
.
default
(
Text
(
"OK"
),
action
:
{
viewMode
=
.
SelectType
})
)
case
.
ClientError
:
return
Alert
(
title
:
Text
(
"Error"
),
message
:
Text
(
"Not connected to network."
),
dismissButton
:
.
default
(
Text
(
"OK"
),
action
:
{
viewMode
=
.
SelectType
})
)
case
.
Expired
:
return
Alert
(
title
:
Text
(
"
e
rror"
),
return
Alert
(
title
:
Text
(
"
E
rror"
),
message
:
Text
(
"Expired."
),
dismissButton
:
.
default
(
Text
(
"OK"
),
action
:
{
viewMode
=
.
SelectType
})
)
case
.
gpsPermission
:
return
Alert
(
title
:
Text
(
"
l
ocation"
),
message
:
Text
(
"
Allow use of location information
."
),
return
Alert
(
title
:
Text
(
"
L
ocation"
),
message
:
Text
(
"
To use ECA,set the permission to use location information to Always
."
),
dismissButton
:
.
default
(
Text
(
"Next"
),
action
:
{
locationViewModel
.
requestPermission
()})
)
}
...
...
@@ -168,6 +180,9 @@ struct LoginView: View {
SharingData
.
my
.
mmsi
=
res
.
mmsi
Preferences
.
shipId
=
res
.
shipId
let
notificationTags
=
NotificationTags
()
notificationTags
.
addTags
()
}
Preferences
.
lastLoginDate_Int64
=
DateTextLib
.
Date2UnixTime
(
date
:
Date
())
...
...
@@ -197,9 +212,16 @@ struct LoginView: View {
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
switch
errorCode
{
case
.
clientError
:
alertType
=
.
ClientError
case
.
serverError
:
alertType
=
.
QrFailure
default
:
alertType
=
.
QrFailure
}
isLogin
=
false
isAlert
=
true
alertType
=
.
loginFailure
break
}
isProgressView
=
false
...
...
@@ -218,6 +240,9 @@ struct LoginView: View {
SharingData
.
my
.
mmsi
=
res
.
mmsi
Preferences
.
shipId
=
res
.
shipId
let
notificationTags
=
NotificationTags
()
notificationTags
.
addTags
()
}
Preferences
.
lastLoginDate_Int64
=
DateTextLib
.
Date2UnixTime
(
date
:
Date
())
...
...
@@ -247,9 +272,16 @@ struct LoginView: View {
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
switch
errorCode
{
case
.
clientError
:
alertType
=
.
ClientError
case
.
serverError
:
alertType
=
.
loginFailure
default
:
alertType
=
.
loginFailure
}
isLogin
=
false
isAlert
=
true
alertType
=
.
loginFailure
break
}
isProgressView
=
false
...
...
Seilassist/Sailassist/Login/View/InputIdPassWordView.swift
View file @
0147901a
...
...
@@ -86,7 +86,7 @@ struct InputIdPassWordView: View {
.
background
(
ColorSet
.
LoginBk01
.
color
)
})
.
alert
(
isPresented
:
$
isIdPassWordEmpty
,
content
:
{
Alert
(
title
:
Text
(
"
e
rror"
),
Alert
(
title
:
Text
(
"
E
rror"
),
message
:
Text
(
"Ship ID or Password is incorrect."
)
)
})
...
...
@@ -110,6 +110,9 @@ struct InputIdPassWordView: View {
SharingData
.
my
.
mmsi
=
res
.
mmsi
Preferences
.
shipId
=
res
.
shipId
let
notificationTags
=
NotificationTags
()
notificationTags
.
addTags
()
}
Preferences
.
lastLoginDate_Int64
=
DateTextLib
.
Date2UnixTime
(
date
:
Date
())
...
...
@@ -139,9 +142,16 @@ struct InputIdPassWordView: View {
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
switch
errorCode
{
case
.
clientError
:
alertType
=
.
ClientError
case
.
serverError
:
alertType
=
.
loginFailure
default
:
alertType
=
.
loginFailure
}
isLogin
=
false
isAlert
=
true
alertType
=
.
loginFailure
break
}
isProgressView
=
false
...
...
Seilassist/Sailassist/Login/View/InputUserNameView.swift
View file @
0147901a
...
...
@@ -61,7 +61,7 @@ struct InputUserNameView: View {
.
background
(
ColorSet
.
LoginBk01
.
color
)
})
.
alert
(
isPresented
:
$
isEmptyAlert
)
{
return
Alert
(
title
:
Text
(
"
e
rror"
),
return
Alert
(
title
:
Text
(
"
E
rror"
),
message
:
Text
(
"User Nmae not entered."
)
)
}
...
...
Seilassist/Sailassist/Map/Task/View/EcaSettingView.swift
View file @
0147901a
...
...
@@ -35,8 +35,11 @@ struct EcaSettingView: View {
Divider
()
.
frame
(
height
:
1
)
.
background
(
ColorSet
.
LineColor04
.
color
)
Button
(
action
:
{
SharingData
.
eca
.
editEcaArea
(
key
:
edittingEca
.
name
,
value
:
edittingEca
,
type
:
EcaOperation
.
Change
)
var
ecaData
=
edittingEca
ecaData
.
isEnable
=
true
SharingData
.
eca
.
editEcaArea
(
key
:
edittingEca
.
name
,
value
:
ecaData
,
type
:
EcaOperation
.
Change
)
isShowSettingEca
=
false
},
label
:
{
Text
(
"Register"
)
...
...
Seilassist/Sailassist/Map/Task/View/TaskSwitchingMenuView.swift
View file @
0147901a
...
...
@@ -82,10 +82,10 @@ struct TaskSwitchingMenuView: View {
.
alert
(
isPresented
:
$
isEcaAlert
)
{
switch
ecaAlertType
{
case
.
ecaDelete
:
return
Alert
(
title
:
Text
(
"
d
elete"
),
message
:
Text
(
"Do you delete "
+
eca
.
name
),
primaryButton
:
.
default
(
Text
(
"
cancel
"
)),
secondaryButton
:
.
cancel
(
Text
(
"
delete
"
),
action
:
{
return
Alert
(
title
:
Text
(
"
D
elete"
),
message
:
Text
(
"Do you delete "
+
eca
.
name
+
"?"
),
primaryButton
:
.
default
(
Text
(
"
No
"
)),
secondaryButton
:
.
cancel
(
Text
(
"
Yes
"
),
action
:
{
if
let
ecaArea
=
taskViewModel
.
edittingEcaArea
{
var
newData
=
ecaArea
newData
.
isEnable
=
false
...
...
@@ -97,10 +97,10 @@ struct TaskSwitchingMenuView: View {
taskViewModel
.
edittingEcaArea
=
nil
}))
case
.
ecaRunningStop
:
return
Alert
(
title
:
Text
(
"
s
top"
),
message
:
Text
(
"Do you want to stop "
+
eca
.
name
),
primaryButton
:
.
default
(
Text
(
"
c
ancel"
)),
secondaryButton
:
.
cancel
(
Text
(
"
s
top"
),
action
:
{
return
Alert
(
title
:
Text
(
"
S
top"
),
message
:
Text
(
"Do you want to stop "
+
eca
.
name
+
"?"
),
primaryButton
:
.
default
(
Text
(
"
C
ancel"
)),
secondaryButton
:
.
cancel
(
Text
(
"
S
top"
),
action
:
{
if
let
ecaArea
=
taskViewModel
.
edittingEcaArea
{
var
newData
=
ecaArea
newData
.
isRunning
=
false
...
...
Seilassist/Sailassist/SailassistApp.swift
View file @
0147901a
...
...
@@ -15,6 +15,8 @@ struct SailassistApp: App {
@State
private
var
isTermsAgree
=
Preferences
.
termsAgreeDate
!=
nil
@State
private
var
isPrivAgree
=
Preferences
.
privacyPolicyAgreeDate
!=
nil
let
locationViewModel
=
LocationViewModel
()
// let signalRService = SignalRService()
var
body
:
some
Scene
{
WindowGroup
{
...
...
@@ -46,27 +48,28 @@ struct SailassistApp: App {
.
preferredColorScheme
(
.
dark
)
}
else
{
ContentView
()
.
environmentObject
(
locationViewModel
)
}
}
}
}
//class n
otificationTags: NSObject {
//
func addTags() {
//
if Preferences.shipId != 0 {
//
let shipId = String(Preferences.shipId)
// let testTag = "aaa"
// let routeTag = "route
-" + shipId
// let bamTag = "bam
-" + shipId
// let taskAlertTag = "taskaler
t-" + shipId
// let sailassistTag = "sailassist-" + shipId
// MSNotificationHub.addTags([testTag, routeTag, bamTag, taskAlertTag, sailassistTag])
//
}
//
}
//}
class
N
otificationTags
:
NSObject
{
func
addTags
()
{
if
Preferences
.
shipId
!=
0
{
let
shipId
=
String
(
Preferences
.
shipId
)
let
routeTag
=
"route-"
+
shipId
let
bamTag
=
"bam
-"
+
shipId
let
taskAlertTag
=
"taskalert
-"
+
shipId
let
sailassistTag
=
"sailassis
t-"
+
shipId
MSNotificationHub
.
addTags
([
routeTag
,
bamTag
,
taskAlertTag
,
sailassistTag
])
}
}
}
class
AppDelegate
:
NSObject
,
UIApplicationDelegate
,
MSNotificationHubDelegate
,
MSInstallationLifecycleDelegate
{
func
application
(
_
application
:
UIApplication
,
didFinishLaunchingWithOptions
launchOptions
:
[
UIApplication
.
LaunchOptionsKey
:
Any
]?
=
nil
)
->
Bool
{
print
(
debug
:
"called"
)
...
...
@@ -81,7 +84,6 @@ class AppDelegate: NSObject, UIApplicationDelegate ,MSNotificationHubDelegate, M
MSNotificationHub
.
setDelegate
(
self
)
MSNotificationHub
.
start
(
connectionString
:
HttpRequestType
.
ConnectionString
.
rawValue
,
hubName
:
HttpRequestType
.
HubName
.
rawValue
)
self
.
addTags
()
}
}
application
.
registerForRemoteNotifications
()
...
...
@@ -96,19 +98,6 @@ class AppDelegate: NSObject, UIApplicationDelegate ,MSNotificationHubDelegate, M
return
config
}
func
addTags
()
{
if
Preferences
.
shipId
!=
0
{
let
shipId
=
String
(
Preferences
.
shipId
)
// let shipId = "10000083"
let
routeTag
=
"route-"
+
shipId
let
bamTag
=
"bam-"
+
shipId
let
taskAlertTag
=
"taskalert-"
+
shipId
let
sailassistTag
=
"sailassist-"
+
shipId
MSNotificationHub
.
addTags
([
routeTag
,
bamTag
,
taskAlertTag
,
sailassistTag
])
MSNotificationHub
.
addTags
([
routeTag
])
}
}
// Push通知を受信した時(サイレントプッシュ)
func
application
(
_
application
:
UIApplication
,
didReceiveRemoteNotification
userInfo
:
[
AnyHashable
:
Any
],
fetchCompletionHandler
completionHandler
:
@escaping
(
UIBackgroundFetchResult
)
->
Void
)
{
print
(
debug
:
"called
\(
userInfo
)
"
)
...
...
Seilassist/Sailassist/Tab/MainTabView.swift
View file @
0147901a
...
...
@@ -8,7 +8,9 @@
import
SwiftUI
enum
Tab
:
String
,
CaseIterable
{
#if CANARY
case
chat
=
"tab_chat"
#endif
case
task
=
"tab_task"
case
alert
=
"tab_notification"
case
menu
=
"tab_menu"
...
...
@@ -36,9 +38,10 @@ struct MainTabView: View {
@State
var
isTabShow
:
Bool
=
sceneDelegate
.
tabWindow
!=
nil
@State
var
isTaskSel
:
Bool
=
selectedTabModel
.
activeTab
==
.
task
TabView
(
selection
:
$
selectedTabModel
.
activeTab
){
#if CANARY
ChatView
()
.
tag
(
Tab
.
chat
)
#endif
MapRepresentable
()
.
ignoresSafeArea
()
.
tag
(
Tab
.
task
)
...
...
@@ -65,6 +68,8 @@ struct MainTabView: View {
struct
CustomTabBar
:
View
{
@EnvironmentObject
private
var
selectedTabModel
:
SelectedTabModel
@State
var
isLocationAlert
=
false
var
body
:
some
View
{
VStack
(
spacing
:
0
){
Divider
()
...
...
@@ -80,7 +85,7 @@ struct CustomTabBar: View {
Text
(
tab
.
title
)
.
font
(
.
caption
)
}
.
frame
(
maxWidth
:
.
infinity
,
maxHeight
:
.
infinity
)
.
contentShape
(
.
rect
)
...
...
@@ -105,6 +110,13 @@ struct CustomTabBar: View {
}
message
:
{
Text
(
"Do you change an emargency mode?"
)
}
.
alert
(
"location"
,
isPresented
:
$
isLocationAlert
)
{
Button
(
"Next"
)
{
print
(
""
)
}
}
message
:
{
Text
(
"To use ECA,set the permission to use location information to Always."
)
}
}
}
...
...
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