First version of new ui based on tailwind

This drops fomantic-ui as css toolkit and introduces tailwindcss. With
tailwind there are no predefined components, but it's very easy to
create those. So customizing the look&feel is much simpler, most of
the time no additional css is needed.

This requires a complete rewrite of the markup + styles. Luckily all
logic can be kept as is. The now old ui is not removed, it is still
available by using a request header `Docspell-Ui` with a value of `1`
for the old ui and `2` for the new ui.

Another addition is "dev mode", where docspell serves assets with a
no-cache header, to disable browser caching. This makes developing a
lot easier.
This commit is contained in:
Eike Kettner
2021-01-29 20:48:27 +01:00
parent 442b76c5af
commit dd935454c9
140 changed files with 15077 additions and 214 deletions

View File

@ -5,11 +5,13 @@ module Comp.StringListInput exposing
, init
, update
, view
, view2
)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick, onInput)
import Styles as S
import Util.Maybe
@ -96,3 +98,50 @@ view values model =
[]
]
]
--- View2
view2 : List String -> Model -> Html Msg
view2 values model =
let
valueItem s =
div [ class "flex flex-row items-center" ]
[ a
[ class S.deleteLabel
, onClick (RemoveString s)
, href "#"
]
[ i [ class "fa fa-trash" ] []
]
, span [ class "ml-2" ]
[ text s
]
]
in
div [ class "flex flex-col" ]
[ div [ class "relative" ]
[ input
[ placeholder ""
, type_ "text"
, onInput SetString
, value model.currentInput
, class ("pr-10 py-2 rounded" ++ S.textInput)
]
[]
, a
[ href "#"
, onClick AddString
, class S.inputLeftIconLink
]
[ i [ class "fa fa-plus" ] []
]
]
, div
[ class "flex flex-col space-y-4 md:space-y-2 mt-2"
, class "px-2 border-0 border-l dark:border-bluegray-600"
]
(List.map valueItem values)
]