{-# LANGUAGE OverloadedStrings #-}
module Cli.Extras.Theme where

import Data.Text (Text)

data CliTheme = CliTheme
  { CliTheme -> Text
_cliTheme_done :: Text
  , CliTheme -> Text
_cliTheme_failed :: Text
  , CliTheme -> Text
_cliTheme_arrow :: Text
  , CliTheme -> SpinnerTheme
_cliTheme_spinner :: SpinnerTheme
  }

type SpinnerTheme = [Text]

unicodeTheme :: CliTheme
unicodeTheme :: CliTheme
unicodeTheme = CliTheme
  { _cliTheme_done :: Text
_cliTheme_done = Text
"✔"
  , _cliTheme_failed :: Text
_cliTheme_failed = Text
"✖"
  , _cliTheme_arrow :: Text
_cliTheme_arrow = Text
"⇾"
  , _cliTheme_spinner :: SpinnerTheme
_cliTheme_spinner = [Text
"◐", Text
"◓", Text
"◑", Text
"◒"]
  }

noUnicodeTheme :: CliTheme
noUnicodeTheme :: CliTheme
noUnicodeTheme = CliTheme
  { _cliTheme_done :: Text
_cliTheme_done = Text
"DONE"
  , _cliTheme_failed :: Text
_cliTheme_failed = Text
"FAILED"
  , _cliTheme_arrow :: Text
_cliTheme_arrow = Text
"->"
  , _cliTheme_spinner :: SpinnerTheme
_cliTheme_spinner = [Text
"|", Text
"/", Text
"-", Text
"\\"]
  }