X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=app.scss;h=d4d2099529f6487739c0ff7cde14fe6b5c14661a;hb=5323df4a32ca9b81fa598c0ca988596d93afe713;hp=da6271d63822d960574b0ce5f6061335f1e2ab88;hpb=9baec9aec294656fb632123906b4ac6a712267ba;p=github%2Fbastienwirtz%2Fhomer.git diff --git a/app.scss b/app.scss index da6271d..d4d2099 100644 --- a/app.scss +++ b/app.scss @@ -1,12 +1,83 @@ $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) +); +$theme-dark: ( + background: #131313, + card-background: #2b2b2b, + text: #eaeaea, + text-title: #fafafa, + text-subtitle: #f5f5f5, + card-shadow: rgba(0, 0, 0, 0.4) +); + + + +@mixin theme($theme) { + background-color: map-get($theme, "background"); + color: map-get($theme, "text"); + + .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 +89,7 @@ body { h2 { font-size: 1.7rem; - margin-top: 3rem; + margin-top: 2rem; margin-bottom: 1rem; .fas, .fab, .far { @@ -90,7 +161,7 @@ body { } #main-section { - margin-bottom: 3rem; + margin-bottom: 2rem; padding: 0; h2 { @@ -147,11 +218,14 @@ body { 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 { @@ -166,19 +240,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% ); @@ -213,6 +303,10 @@ body { } } + .icon-button { + display: inline-block; + } + .offline-message { text-align: center; margin: 35px 0;