{-# Language TemplateHaskell #-} module HBS2.Git.Web.Assets where import Data.FileEmbed import Data.ByteString import Data.Text (Text) import Text.InterpolatedString.Perl6 (qc) import Lucid.Base version :: Int version = 8 assetsDir :: [(FilePath, ByteString)] assetsDir = $(embedDir "hbs2-git-dashboard-assets/assets") data IconType = IconCopy | IconCopyDone | IconLockClosed | IconGitCommit | IconGitFork | IconGitBranch | IconTag | IconFolderFilled | IconHaskell | IconMarkdown | IconNix | IconBash | IconPython | IconJavaScript | IconSql | IconSettingsFilled | IconFileFilled | IconRefresh | IconArrowUturnLeft | IconLicense | IconPinned | IconFixme svgIcon :: Monad m => IconType -> HtmlT m () svgIcon = toHtmlRaw . svgIconText svgIconText :: IconType -> Text svgIconText IconCopy = [qc| |] svgIconText IconCopyDone = [qc| |] svgIconText IconLockClosed = [qc| |] svgIconText IconGitCommit = [qc| |] svgIconText IconGitFork = [qc| |] svgIconText IconGitBranch = [qc| |] svgIconText IconTag = [qc| |] svgIconText IconFolderFilled = [qc| |] svgIconText IconHaskell = [qc| Haskell |] svgIconText IconMarkdown = [qc| Markdown |] svgIconText IconNix = [qc| Nix |] svgIconText IconBash = [qc| |] svgIconText IconPython = [qc| Python |] svgIconText IconJavaScript = [qc| JavaScript |] svgIconText IconSql = [qc| |] svgIconText IconSettingsFilled = [qc| |] svgIconText IconFileFilled = [qc| |] svgIconText IconRefresh = [qc| |] svgIconText IconArrowUturnLeft = [qc| |] svgIconText IconLicense = [qc| |] svgIconText IconPinned = [qc| |] svgIconText IconFixme = [qc| |]