mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-06-04 03:51:48 +00:00
429ec9d21a
* directory: listings for web pages * refactor * tests
26 lines
810 B
Haskell
26 lines
810 B
Haskell
{-# LANGUAGE NamedFieldPuns #-}
|
|
|
|
module Main where
|
|
|
|
import Directory.Options
|
|
import Directory.Service
|
|
import Directory.Store
|
|
import Simplex.Chat.Controller (ChatConfig (..), ChatHooks (..), defaultChatHooks)
|
|
import Simplex.Chat.Core
|
|
import Simplex.Chat.Terminal (terminalChatConfig)
|
|
|
|
main :: IO ()
|
|
main = do
|
|
opts@DirectoryOpts {directoryLog, runCLI} <- welcomeGetOpts
|
|
st <- restoreDirectoryStore directoryLog
|
|
if runCLI
|
|
then directoryServiceCLI st opts
|
|
else do
|
|
env <- newServiceState opts
|
|
let chatHooks =
|
|
defaultChatHooks
|
|
{ postStartHook = Just $ directoryStartHook st opts,
|
|
acceptMember = Just $ acceptMemberHook opts env
|
|
}
|
|
simplexChatCore (terminalChatConfig {chatHooks}) (mkChatOpts opts) $ directoryService st opts env
|