mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-23 19:08:26 +00:00
Using elm-format for all files
This commit is contained in:
@ -1,63 +1,73 @@
|
||||
module App.Data exposing (..)
|
||||
module App.Data exposing
|
||||
( Model
|
||||
, Msg(..)
|
||||
, checkPage
|
||||
, defaultPage
|
||||
, init
|
||||
)
|
||||
|
||||
import Api.Model.AuthResult exposing (AuthResult)
|
||||
import Api.Model.VersionInfo exposing (VersionInfo)
|
||||
import Browser exposing (UrlRequest)
|
||||
import Browser.Navigation exposing (Key)
|
||||
import Url exposing (Url)
|
||||
import Http
|
||||
import Data.Flags exposing (Flags)
|
||||
import Api.Model.VersionInfo exposing (VersionInfo)
|
||||
import Api.Model.AuthResult exposing (AuthResult)
|
||||
import Http
|
||||
import Page exposing (Page(..))
|
||||
import Page.CollectiveSettings.Data
|
||||
import Page.Home.Data
|
||||
import Page.Login.Data
|
||||
import Page.ManageData.Data
|
||||
import Page.CollectiveSettings.Data
|
||||
import Page.UserSettings.Data
|
||||
import Page.NewInvite.Data
|
||||
import Page.Queue.Data
|
||||
import Page.Register.Data
|
||||
import Page.Upload.Data
|
||||
import Page.NewInvite.Data
|
||||
import Page.UserSettings.Data
|
||||
import Url exposing (Url)
|
||||
|
||||
|
||||
type alias Model =
|
||||
{ flags: Flags
|
||||
, key: Key
|
||||
, page: Page
|
||||
, version: VersionInfo
|
||||
, homeModel: Page.Home.Data.Model
|
||||
, loginModel: Page.Login.Data.Model
|
||||
, manageDataModel: Page.ManageData.Data.Model
|
||||
, collSettingsModel: Page.CollectiveSettings.Data.Model
|
||||
, userSettingsModel: Page.UserSettings.Data.Model
|
||||
, queueModel: Page.Queue.Data.Model
|
||||
, registerModel: Page.Register.Data.Model
|
||||
, uploadModel: Page.Upload.Data.Model
|
||||
, newInviteModel: Page.NewInvite.Data.Model
|
||||
, navMenuOpen: Bool
|
||||
, subs: Sub Msg
|
||||
{ flags : Flags
|
||||
, key : Key
|
||||
, page : Page
|
||||
, version : VersionInfo
|
||||
, homeModel : Page.Home.Data.Model
|
||||
, loginModel : Page.Login.Data.Model
|
||||
, manageDataModel : Page.ManageData.Data.Model
|
||||
, collSettingsModel : Page.CollectiveSettings.Data.Model
|
||||
, userSettingsModel : Page.UserSettings.Data.Model
|
||||
, queueModel : Page.Queue.Data.Model
|
||||
, registerModel : Page.Register.Data.Model
|
||||
, uploadModel : Page.Upload.Data.Model
|
||||
, newInviteModel : Page.NewInvite.Data.Model
|
||||
, navMenuOpen : Bool
|
||||
, subs : Sub Msg
|
||||
}
|
||||
|
||||
init: Key -> Url -> Flags -> Model
|
||||
|
||||
init : Key -> Url -> Flags -> Model
|
||||
init key url flags =
|
||||
let
|
||||
page = Page.fromUrl url
|
||||
|> Maybe.withDefault (defaultPage flags)
|
||||
page =
|
||||
Page.fromUrl url
|
||||
|> Maybe.withDefault (defaultPage flags)
|
||||
in
|
||||
{ flags = flags
|
||||
, key = key
|
||||
, page = page
|
||||
, version = Api.Model.VersionInfo.empty
|
||||
, homeModel = Page.Home.Data.emptyModel
|
||||
, loginModel = Page.Login.Data.emptyModel
|
||||
, manageDataModel = Page.ManageData.Data.emptyModel
|
||||
, collSettingsModel = Page.CollectiveSettings.Data.emptyModel
|
||||
, userSettingsModel = Page.UserSettings.Data.emptyModel
|
||||
, queueModel = Page.Queue.Data.emptyModel
|
||||
, registerModel = Page.Register.Data.emptyModel
|
||||
, uploadModel = Page.Upload.Data.emptyModel
|
||||
, newInviteModel = Page.NewInvite.Data.emptyModel
|
||||
, navMenuOpen = False
|
||||
, subs = Sub.none
|
||||
}
|
||||
{ flags = flags
|
||||
, key = key
|
||||
, page = page
|
||||
, version = Api.Model.VersionInfo.empty
|
||||
, homeModel = Page.Home.Data.emptyModel
|
||||
, loginModel = Page.Login.Data.emptyModel
|
||||
, manageDataModel = Page.ManageData.Data.emptyModel
|
||||
, collSettingsModel = Page.CollectiveSettings.Data.emptyModel
|
||||
, userSettingsModel = Page.UserSettings.Data.emptyModel
|
||||
, queueModel = Page.Queue.Data.emptyModel
|
||||
, registerModel = Page.Register.Data.emptyModel
|
||||
, uploadModel = Page.Upload.Data.emptyModel
|
||||
, newInviteModel = Page.NewInvite.Data.emptyModel
|
||||
, navMenuOpen = False
|
||||
, subs = Sub.none
|
||||
}
|
||||
|
||||
|
||||
type Msg
|
||||
= NavRequest UrlRequest
|
||||
@ -77,18 +87,30 @@ type Msg
|
||||
| SessionCheckResp (Result Http.Error AuthResult)
|
||||
| ToggleNavMenu
|
||||
|
||||
isSignedIn: Flags -> Bool
|
||||
|
||||
isSignedIn : Flags -> Bool
|
||||
isSignedIn flags =
|
||||
flags.account
|
||||
|> Maybe.map .success
|
||||
|> Maybe.withDefault False
|
||||
|
||||
checkPage: Flags -> Page -> Page
|
||||
checkPage flags page =
|
||||
if Page.isSecured page && isSignedIn flags then page
|
||||
else if Page.isOpen page then page
|
||||
else Page.loginPage page
|
||||
|
||||
defaultPage: Flags -> Page
|
||||
checkPage : Flags -> Page -> Page
|
||||
checkPage flags page =
|
||||
if Page.isSecured page && isSignedIn flags then
|
||||
page
|
||||
|
||||
else if Page.isOpen page then
|
||||
page
|
||||
|
||||
else
|
||||
Page.loginPage page
|
||||
|
||||
|
||||
defaultPage : Flags -> Page
|
||||
defaultPage flags =
|
||||
if isSignedIn flags then HomePage else (LoginPage Nothing)
|
||||
if isSignedIn flags then
|
||||
HomePage
|
||||
|
||||
else
|
||||
LoginPage Nothing
|
||||
|
Reference in New Issue
Block a user