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

@ -50,6 +50,7 @@ module Api exposing
, getJobQueueState
, getJobQueueStateIn
, getMailSettings
, getNewUi
, getNotifyDueItems
, getOrgFull
, getOrgLight
@ -120,6 +121,7 @@ module Api exposing
, startOnceScanMailbox
, startReIndex
, submitNotifyDueItems
, toggleNewUi
, toggleTags
, unconfirmMultiple
, updateNotifyDueItems
@ -1931,6 +1933,25 @@ getItemProposals flags item receive =
}
toggleNewUi : Flags -> (Result Http.Error BasicResult -> msg) -> Cmd msg
toggleNewUi flags receive =
Http2.authPost
{ url = flags.config.baseUrl ++ "/api/v1/sec/newui"
, account = getAccount flags
, body = Http.emptyBody
, expect = Http.expectJson receive Api.Model.BasicResult.decoder
}
getNewUi : Flags -> (Result Http.Error BasicResult -> msg) -> Cmd msg
getNewUi flags receive =
Http2.authGet
{ url = flags.config.baseUrl ++ "/api/v1/sec/newui"
, account = getAccount flags
, expect = Http.expectJson receive Api.Model.BasicResult.decoder
}
--- Helper