diff options
Diffstat (limited to 'frontend/src/Styles.elm')
-rw-r--r-- | frontend/src/Styles.elm | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/frontend/src/Styles.elm b/frontend/src/Styles.elm new file mode 100644 index 0000000..36f2a81 --- /dev/null +++ b/frontend/src/Styles.elm | |||
@@ -0,0 +1,104 @@ | |||
1 | module Styles exposing (..) | ||
2 | |||
3 | import Css exposing (..) | ||
4 | import Html | ||
5 | import Html.Styled exposing (..) | ||
6 | import Html.Styled.Attributes exposing (..) | ||
7 | import Html.Styled.Events exposing (..) | ||
8 | |||
9 | |||
10 | type alias Theme = | ||
11 | { primary : Color | ||
12 | , secondary : Color | ||
13 | , bad : Color | ||
14 | , fg : Color | ||
15 | , bg : Color | ||
16 | , fgLight : Color | ||
17 | , bgLight : Color | ||
18 | } | ||
19 | |||
20 | |||
21 | theme : Theme | ||
22 | theme = | ||
23 | Theme | ||
24 | (hex "fedbd0") | ||
25 | -- primary | ||
26 | (hex "feeae6") | ||
27 | -- secondary | ||
28 | (hex "ff0000") | ||
29 | -- bad | ||
30 | (hex "442c2e") | ||
31 | -- fg | ||
32 | (hex "ffffff") | ||
33 | -- bg | ||
34 | (hex "442c2e") | ||
35 | -- fgLight | ||
36 | (hex "feeae6") | ||
37 | |||
38 | |||
39 | |||
40 | -- bgLight | ||
41 | |||
42 | |||
43 | headerLink : List (Attribute msg) -> List (Html msg) -> Html msg | ||
44 | headerLink = | ||
45 | styled a | ||
46 | [ color theme.fgLight | ||
47 | , padding (px 12) | ||
48 | , textDecoration Css.none | ||
49 | , hover | ||
50 | [ backgroundColor theme.secondary | ||
51 | , textDecoration underline | ||
52 | ] | ||
53 | ] | ||
54 | |||
55 | |||
56 | furbyButton : List (Attribute msg) -> List (Html msg) -> Html msg | ||
57 | furbyButton = | ||
58 | styled button | ||
59 | [ margin (px 12) | ||
60 | , color theme.fg | ||
61 | , Css.height (px 40) | ||
62 | , border (px 0) | ||
63 | , padding2 (px 6) (px 12) | ||
64 | , backgroundColor theme.primary | ||
65 | , hover | ||
66 | [ backgroundColor theme.secondary | ||
67 | , color theme.fg | ||
68 | , margin (px 12) | ||
69 | ] | ||
70 | ] | ||
71 | |||
72 | |||
73 | furbySelect : List (Attribute msg) -> List (Html msg) -> Html msg | ||
74 | furbySelect = | ||
75 | styled select | ||
76 | [ margin (px 6) | ||
77 | , color theme.fg | ||
78 | , border (px 0) | ||
79 | , borderBottom3 (px 2) solid theme.bgLight | ||
80 | , textAlign right | ||
81 | , padding2 (px 3) (px 3) | ||
82 | , backgroundColor theme.bg | ||
83 | , hover | ||
84 | [ borderBottom3 (px 2) solid theme.fg | ||
85 | ] | ||
86 | ] | ||
87 | |||
88 | |||
89 | loginInputField : List (Attribute msg) -> List (Html msg) -> Html msg | ||
90 | loginInputField = | ||
91 | styled input | ||
92 | [ Css.width (pct 100) | ||
93 | , color theme.fg | ||
94 | , border (px 0) | ||
95 | , borderBottom3 (px 1) solid theme.bgLight | ||
96 | , focus | ||
97 | [ borderBottom3 (px 2) solid theme.fg | ||
98 | ] | ||
99 | ] | ||
100 | |||
101 | |||
102 | bigHeading : Style | ||
103 | bigHeading = | ||
104 | fontSize (px 24) | ||