Page MenuHomeMusing Studio

AccountModel.swift
No OneTemporary

AccountModel.swift

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

Mime Type
text/x-c
Expires
Thu, Apr 2, 6:28 AM (11 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3673565

Event Timeline