diff --git a/assets/components/container/container.vue b/assets/components/container/container.vue index e7d3a4b3..bec16317 100644 --- a/assets/components/container/container.vue +++ b/assets/components/container/container.vue @@ -73,6 +73,7 @@ export default { overflow: hidden; background: var(--background-dim); color: var(--text); + transition: background var(--theme-transition); } .content { diff --git a/assets/components/header/filter-bar.vue b/assets/components/header/filter-bar.vue index d9516015..cf6657ab 100644 --- a/assets/components/header/filter-bar.vue +++ b/assets/components/header/filter-bar.vue @@ -175,6 +175,7 @@ export default { z-index: 1; font-size: 0; box-shadow: 0 0 3px var(--darken); + transition: background var(--theme-transition); .icon { fill: var(--shadow); @@ -205,6 +206,7 @@ export default { box-shadow: 0 0 2px var(--shadow-weak); font-size: .8rem; font-weight: bold; + transition: background var(--theme-transition), color var(--theme-transition); &:hover { color: var(--text); diff --git a/assets/components/header/filters.vue b/assets/components/header/filters.vue index b35ea3a2..20590349 100644 --- a/assets/components/header/filters.vue +++ b/assets/components/header/filters.vue @@ -124,6 +124,7 @@ export default { font-size: .9rem; font-weight: bold; cursor: pointer; + transition: color var(--theme-transition); .check { display: none; diff --git a/assets/components/header/header.vue b/assets/components/header/header.vue index 24dce7f4..a7ce9ea8 100644 --- a/assets/components/header/header.vue +++ b/assets/components/header/header.vue @@ -185,6 +185,7 @@ export default { color: var(--primary); box-shadow: 0 1px 0 var(--darken-hint); font-size: 0; + transition: background var(--theme-transition); } .header-nav { @@ -253,6 +254,7 @@ export default { font-size: .9rem; font-weight: bold; cursor: pointer; + transition: color var(--theme-transition); &.active { color: var(--primary); diff --git a/assets/components/header/search.vue b/assets/components/header/search.vue index 8d14a1bd..8d878923 100644 --- a/assets/components/header/search.vue +++ b/assets/components/header/search.vue @@ -93,9 +93,11 @@ export default { outline: none; font-size: 1rem; outline: none; + transition: background var(--theme-transition), color var(--theme-transition); &::placeholder { color: var(--shadow); + transition: color var(--theme-transition); } &::-webkit-search-cancel-button { diff --git a/assets/components/icon/icon.vue b/assets/components/icon/icon.vue index a2a6cc79..1bf9d4a0 100644 --- a/assets/components/icon/icon.vue +++ b/assets/components/icon/icon.vue @@ -43,6 +43,7 @@ export default { flex-shrink: 0; width: 1rem; height: 1rem; + transition: fill var(--theme-transition); svg { width: 100%; diff --git a/assets/components/networks/networks.vue b/assets/components/networks/networks.vue index 73d7d309..fde9bb59 100644 --- a/assets/components/networks/networks.vue +++ b/assets/components/networks/networks.vue @@ -113,6 +113,7 @@ export default { margin: 1rem 0; font-size: 1rem; outline: none; + transition: background var(--theme-transition); &:focus { box-shadow: 0 0 3px var(--primary); diff --git a/assets/components/releases/release.vue b/assets/components/releases/release.vue index e33ff5be..994b65ab 100644 --- a/assets/components/releases/release.vue +++ b/assets/components/releases/release.vue @@ -210,24 +210,11 @@ class="link added" >{{ formatDate(release.dateAdded, 'MMMM D, YYYY') }} - -
- - - -
@@ -313,7 +285,7 @@ export default { .details { background: var(--profile); color: var(--text-light); - box-shadow: 0 0 3px var(--shadow-weak); + box-shadow: 0 0 3px var(--darken-weak); cursor: default; .column { @@ -324,6 +296,7 @@ export default { .link { color: var(--text-light); + transition: color var(--theme-transition); } } @@ -385,10 +358,12 @@ export default { .title { margin: 0 0 1.5rem 0; + transition: color var(--theme-transition); } .description { line-height: 1.5; + transition: color var(--theme-transition); } .duration { @@ -440,9 +415,10 @@ export default { display: inline-block; padding: .5rem; margin: 0 .25rem .25rem 0; - box-shadow: 0 0 2px var(--shadow-weak); + box-shadow: 0 0 2px var(--darken-weak); text-decoration: none; text-transform: capitalize; + transition: background var(--theme-transition); &:hover { color: var(--primary); diff --git a/assets/components/releases/releases.vue b/assets/components/releases/releases.vue index 81bb4f19..19676756 100644 --- a/assets/components/releases/releases.vue +++ b/assets/components/releases/releases.vue @@ -83,6 +83,7 @@ export default { .empty { color: var(--shadow-strong); font-weight: bold; + transition: color var(--theme-transition); } @media(max-width: $breakpoint4) { diff --git a/assets/components/tile/release.vue b/assets/components/tile/release.vue index 62cdf8fa..d877c903 100644 --- a/assets/components/tile/release.vue +++ b/assets/components/tile/release.vue @@ -184,13 +184,14 @@ export default { .tile { background: var(--background); + height: 100%; display: flex; flex-direction: column; box-sizing: border-box; padding: 0 0 .5rem 0; overflow: hidden; - box-shadow: 0 0 3px var(--shadow-weak); - height: 100%; + box-shadow: 0 0 3px var(--darken-weak); + transition: background var(--theme-transition); } .poster { @@ -299,6 +300,7 @@ export default { line-height: 1.5; text-overflow: ellipsis; overflow: hidden; + transition: color var(--theme-transition); .icon { margin: 0 .25rem 0 0; @@ -316,6 +318,7 @@ export default { overflow: hidden; max-height: 2.75rem; line-height: 1.5rem; + transition: color var(--theme-transition); } .tags { @@ -358,6 +361,7 @@ export default { text-decoration: none; line-height: 1; border: solid 1px var(--shadow-hint); + transition: color var(--theme-transition), border-color var(--theme-transition); &:hover { color: var(--primary); diff --git a/assets/components/tile/site.vue b/assets/components/tile/site.vue index 2be37b39..8b370db6 100644 --- a/assets/components/tile/site.vue +++ b/assets/components/tile/site.vue @@ -47,18 +47,18 @@ export default { .logo { width: 100%; height: 5rem; - color: $text-contrast; + color: var(--text-contrast); display: flex; align-items: center; justify-content: center; object-fit: contain; font-size: 1rem; font-weight: bold; - filter: $logo-highlight; + filter: var(--logo-highlight); } .title { - color: $text; + color: var(--text); height: 100%; display: flex; align-items: center; diff --git a/assets/css/_states.scss b/assets/css/_states.scss index 2d2e35eb..44f3e2b9 100644 --- a/assets/css/_states.scss +++ b/assets/css/_states.scss @@ -1,3 +1,9 @@ +$breakpoint0: 540px; +$breakpoint: 720px; +$breakpoint2: 900px; +$breakpoint3: 1200px; +$breakpoint4: 1500px; + .noselect { user-select: none; -webkit-user-select: none; @@ -14,7 +20,6 @@ li { display: inline-block; padding: 0; - margin: 0; } } diff --git a/assets/css/_theme.scss b/assets/css/_theme.scss index b4592055..8ad793e4 100644 --- a/assets/css/_theme.scss +++ b/assets/css/_theme.scss @@ -1,9 +1,6 @@ +@import 'states'; + /* $primary: #ff886c; */ -$breakpoint0: 540px; -$breakpoint: 720px; -$breakpoint2: 900px; -$breakpoint3: 1200px; -$breakpoint4: 1500px; $primary: #ff6c88; $background: #fff; @@ -36,6 +33,8 @@ $male: #0af; $female: #f0a; :root { + --theme-transition: .5s ease; + --primary: #ff6c88; --text-dark: #222; @@ -53,8 +52,8 @@ $female: #f0a; --lighten-weak: rgba(255, 255, 255, .2); --lighten-hint: rgba(255, 255, 255, .1); - --logo-shadow: drop-shadow(1px 0 0 $shadow-weak) drop-shadow(-1px 0 0 $shadow-weak) drop-shadow(0 1px 0 $shadow-weak) drop-shadow(0 -1px 0 $shadow-weak); - --logo-highlight: drop-shadow(0 0 1px $highlight); + --logo-shadow: drop-darken(1px 0 0 $darken-weak) drop-darken(-1px 0 0 $darken-weak) drop-darken(0 1px 0 $darken-weak) drop-darken(0 -1px 0 $darken-weak); + --logo-highlight: drop-shadow(0 0 1px $lighten); --alert: #f00; --warn: #fa0; diff --git a/assets/css/style.scss b/assets/css/style.scss index 6519319b..f24d0fb1 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -1,6 +1,5 @@ @import 'theme'; @import 'inputs'; -@import 'states'; @import 'tooltip'; html, @@ -28,6 +27,7 @@ body { padding: 0; margin: 0 0 1rem 0; font-size: 1.5rem; + transition: color var(--theme-transition); } .icon.icon-href {