X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=app.scss;h=defd931ef078d5e779ff6e03fdecf5f2e0eb35bd;hb=refs%2Fpull%2F8%2Fhead;hp=da6271d63822d960574b0ce5f6061335f1e2ab88;hpb=9baec9aec294656fb632123906b4ac6a712267ba;p=github%2Fbastienwirtz%2Fhomer.git diff --git a/app.scss b/app.scss index da6271d..defd931 100644 --- a/app.scss +++ b/app.scss @@ -1,12 +1,90 @@ $primary-color: #3367d6; $secondary-color: #4285f4; -html { height: 100%; } + +// /!\ Keep background colors sync with `theme-color` meta info +$theme-light: ( + background: #f5f5f5, + card-background: #ffffff, + text: #363636, + text-title: #303030, + text-subtitle: #424242, + card-shadow: rgba(0, 0, 0, 0.1), + a-hover: #363636 +); +$theme-dark: ( + background: #131313, + card-background: #2b2b2b, + text: #eaeaea, + text-title: #fafafa, + text-subtitle: #f5f5f5, + card-shadow: rgba(0, 0, 0, 0.4), + a-hover: #ffdd57 +); + + + +@mixin theme($theme) { + background-color: map-get($theme, "background"); + color: map-get($theme, "text"); + a { + &:hover { + color: map-get($theme, "a-hover"); + } + } + + .title { + color: map-get($theme, "text-title"); + } + .subtitle { + color: map-get($theme, "text-subtitle"); + } + + .card { + background-color: map-get($theme, "card-background"); + box-shadow: 0 2px 15px 0 map-get($theme, "card-shadow"); + &:hover { + background-color: map-get($theme, "card-background"); + } + } + + .footer { + background-color: map-get($theme, "card-background"); + box-shadow: 0 2px 15px 0 map-get($theme, "card-shadow"); + } +} + +html { + height: 100%; +} body { font-family: 'Raleway', sans-serif; - background-color: #F5F5F5; - min-height: 100%; + height: 100%; + + #app { + min-height: 100%; + transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 300ms; + + // Default theme + @include theme($theme-light); + + // System pref theme + @media (prefers-color-scheme: light), (prefers-color-scheme: no-preference) { + @include theme($theme-light); + } + @media (prefers-color-scheme: dark) { + @include theme($theme-dark); + } + + // User override theme + &.is-light { + @include theme($theme-light); + } + &.is-dark { + @include theme($theme-dark); + } + } h1, h2, h3, h4, h5, h6 { font-family: 'Lato', sans-serif; @@ -18,7 +96,7 @@ body { h2 { font-size: 1.7rem; - margin-top: 3rem; + margin-top: 2rem; margin-bottom: 1rem; .fas, .fab, .far { @@ -83,6 +161,7 @@ body { a { color: #ffffff; &:hover { + color: #ffffff; background-color: lighten( $secondary-color, 5% ); } } @@ -90,7 +169,7 @@ body { } #main-section { - margin-bottom: 3rem; + margin-bottom: 2rem; padding: 0; h2 { @@ -141,23 +220,34 @@ body { overflow: hidden; transition: all 0.2s ease-out; padding: 0; + + .tag-text { + display: none; + } } .card { border-radius: 5px; border: none; box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1); - transition: cubic-bezier(0.165, 0.84, 0.44, 1) 300ms + transition: cubic-bezier(0.165, 0.84, 0.44, 1) 300ms; + + a { + outline: none; + } } .card:hover { - background-color: #FFFFFF; transform: translate(0, -3px); .tag { width: auto; color: #ffffff; padding: 0 0.75em; + + .tag-text { + display: block; + } } } @@ -166,19 +256,35 @@ body { padding: 1.3rem; } + .layout-vertical { + .card { + border-radius: 0; + } + + .column div:first-of-type .card { + border-radius: 5px 5px 0 0; + } + + .column div:last-child .card { + border-radius: 0 0 5px 5px; + } + } + .footer { position: fixed; left: 0; right: 0; bottom: 0; - padding: 1rem 0.5rem; + padding: 0.5rem; text-align: left; - background-color: #fafafa; - border-top: 1px solid #F5F5F5; + color: #676767; + font-size: 0.85rem; + transition: background-color cubic-bezier(0.165, 0.84, 0.44, 1) 300ms; } .search-bar { position: relative; + display: inline-block; #search { border: none; background-color: lighten( $secondary-color, 6% ); @@ -199,11 +305,12 @@ body { } .search-label::before { - font-family: 'FontAwesome'; + font-family: 'Font Awesome 5 Free'; position: absolute; top: 12px; left: 8px; content: "\f002"; + font-weight: 900; width: 20px; height: 20px; } @@ -213,6 +320,10 @@ body { } } + .icon-button { + display: inline-block; + } + .offline-message { text-align: center; margin: 35px 0;