Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F14178518
AccountModel.swift
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1007 B
Subscribers
None
AccountModel.swift
View Options
import
SwiftUI
import
WriteFreely
struct
AccountModel
{
@
AppStorage
(
WFDefaults
.
isLoggedIn
,
store
:
UserDefaults
.
shared
)
var
isLoggedIn
:
Bool
=
false
private
let
defaults
=
UserDefaults
.
shared
var
server
:
String
=
""
var
username
:
String
=
""
private
(
set
)
var
user
:
WFUser
?
mutating
func
login
(
_
user
:
WFUser
)
{
self
.
user
=
user
self
.
username
=
user
.
username
??
""
self
.
isLoggedIn
=
true
defaults
.
set
(
user
.
username
,
forKey
:
WFDefaults
.
usernameStringKey
)
defaults
.
set
(
server
,
forKey
:
WFDefaults
.
serverStringKey
)
}
mutating
func
logout
()
{
self
.
user
=
nil
self
.
isLoggedIn
=
false
defaults
.
removeObject
(
forKey
:
WFDefaults
.
usernameStringKey
)
defaults
.
removeObject
(
forKey
:
WFDefaults
.
serverStringKey
)
}
mutating
func
restoreState
()
{
server
=
defaults
.
string
(
forKey
:
WFDefaults
.
serverStringKey
)
??
""
username
=
defaults
.
string
(
forKey
:
WFDefaults
.
usernameStringKey
)
??
""
}
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Thu, Apr 2, 6:29 AM (8 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3673565
Attached To
rWFSUI WriteFreely SwiftUI
Event Timeline
Log In to Comment