@ -1,6 +1,7 @@
module Style exposing (..)
import Color
import Color.Convert
import Color.Manipulate
import Echologo exposing (..)
import Element exposing (..)
@ -11,11 +12,18 @@ import Svg exposing (..)
import Svg.Attributes as SvgA
exposing
( color
, fill
, dx
, dy
, floodColor
, floodOpacity
, fontFamily
, fontSize
, height
, id
, in 2
, in_
, operator
, r
, stdDeviation
, strokeWidth
, viewBox
, x
@ -23,21 +31,16 @@ import Svg.Attributes as SvgA
)
{- | H S L = 1 5 5 , 4 3 . 5 , 5 7 . 6
- }
echoVert =
Color . fromRgba
{ red = 100 / 255
, green = 194 / 255
, blue = 155 / 255
, alpha = 255 / 255
}
couleurUI =
fromRgb << Color . toRgba
vert t =
fromRgb <|
Color . toRgba <|
Color . Manipulate . lighten t echoVert
Color . Manipulate . lighten t vertMante
couleurArrierePlan =
vert 0. 3
petitEspacement =
@ -56,7 +59,7 @@ bouton fonction label =
Input . button
[ centerY
, padding petitEspacement
, Background . color <| vert - 0. 2
, Background . color <| couleurUI <| vert - 0. 2
, Border . rounded 8
, Border . shadow
{ blur = 10
@ -70,20 +73,59 @@ bouton fonction label =
}
entete hauteur largeur titre =
entete largeur titre =
html <|
svg
[ viewBox <| " 0 0 " ++ String . fromInt largeur ++ " 3 0 "
, SvgA . height <| String . fromInt haut eur
[ viewBox <| " 0 0 3 0 0 3 0 "
, SvgA . width <| String . fromInt larg eur
]
<|
echologo
[ defs [ ] [ ombreInterne ] ]
++ echologo couleurArrierePlan ( SvgA . filter " u r l ( # o m b r e I n t e r n e ) " )
++ [ text_
[ x " 4 0 "
, y " 2 0 "
[ x " 3 0 "
, y " 2 5 "
, fontFamily " V e r d a n a "
, SvgA . fill " w h i t e "
, fontSize " 1 5 "
, SvgA . fill <| Color . Convert . colorToHex couleurArrierePlan
, fontSize " 2 0 "
, SvgA . filter " u r l ( # o m b r e I n t e r n e ) "
]
[ Svg . text titre ]
]
ombreInterne =
filter [ id " o m b r e I n t e r n e " ]
[ feFlood [ floodColor " b l a c k " , floodOpacity " . 6 " ] [ ]
, feComposite [ in 2 " S o u r c e A l p h a " , operator " o u t " ] [ ]
, feGaussianBlur [ stdDeviation " 1 " ] [ ]
, feOffset [ dx " . 1 " , dy " . 5 " ] [ ]
, feComposite [ in 2 " S o u r c e A l p h a " , operator " i n " ] [ ]
, feMerge [ ]
[ feMergeNode [ in_ " S o u r c e G r a p h i c " ] [ ]
, feMergeNode [ ] [ ]
]
]
designGeneral largeur titre elmt =
layout
[ height fill
, width fill
, padding tresGrandEspacement
, Background . color <| couleurUI <| couleurArrierePlan
]
<|
column
[ height fill
, width fill
, Background . color <| couleurUI <| vert 0
, Border . rounded 13
]
[ row [ ]
[ entete
( largeur - 2 * ( petitEspacement + grandEspacement ) )
titre
]
, elmt
]