aboutsummaryrefslogtreecommitdiffstats
path: root/src/styles/pages/Page.module.scss
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-01-09 16:58:23 +0100
committerArmand Philippot <git@armandphilippot.com>2022-01-10 16:21:15 +0100
commitfca6e17c10a9a737c5fae7417eec89701446875a (patch)
tree5f1be3651185c643ec87f71221f13a4d463f32d6 /src/styles/pages/Page.module.scss
parentd738152a59d2ef8f476b16789ba386dc57ff2211 (diff)
refactor(styles): use compose to declare grid layouts once
I'm using same grid layouts in multiple places. To avoid maintenance issue, I think it is better to declare the grid once and to import its declaration where it is needed. Thanks to CSS modules, I can use compose to do that.
Diffstat (limited to 'src/styles/pages/Page.module.scss')
-rw-r--r--src/styles/pages/Page.module.scss52
1 files changed, 4 insertions, 48 deletions
diff --git a/src/styles/pages/Page.module.scss b/src/styles/pages/Page.module.scss
index cbb9ed1..b3615f6 100644
--- a/src/styles/pages/Page.module.scss
+++ b/src/styles/pages/Page.module.scss
@@ -2,29 +2,7 @@
@use "@styles/abstracts/mixins" as mix;
.article {
- display: grid;
- grid-template-columns:
- minmax(0, 1fr) min(calc(100vw - calc(var(--spacing-md) * 2)), 80ch)
- minmax(0, 1fr);
- align-items: center;
-
- @include mix.media("screen") {
- @include mix.dimensions("md") {
- grid-template-columns:
- minmax(0, var(--spacing-xl)) min(
- calc(100vw - calc(var(--spacing-md) * 2)),
- 80ch
- )
- minmax(0, 1fr);
- }
-
- @include mix.dimensions("lg") {
- grid-template-columns:
- minmax(0, 1fr) clamp(50ch, 50vw, 80ch)
- minmax(0, 1fr);
- column-gap: var(--spacing-2xl);
- }
- }
+ composes: grid from "@styles/layout/_grid.scss";
> header {
grid-column: 1 / -1;
@@ -49,7 +27,7 @@
grid-row: 2 / 4;
align-self: stretch;
justify-self: end;
- padding: 0 0 0 var(--spacing-lg);
+ padding: 0 var(--spacing-sm);
ol:first-of-type {
font-size: var(--font-size-sm);
@@ -68,45 +46,23 @@
grid-row: 2 / 5;
align-self: stretch;
max-width: min-content;
- margin-left: var(--spacing-2xl);
+ padding: 0 var(--spacing-sm);
}
@include mix.dimensions("lg") {
grid-row: 2 / 4;
- margin-left: 0;
}
}
}
.comments {
grid-column: 1 / -1;
- display: grid;
- grid-template-columns:
- minmax(0, 1fr) min(calc(100vw - calc(var(--spacing-md) * 2)), 80ch)
- minmax(0, 1fr);
- align-items: center;
+ composes: grid from "@styles/layout/_grid.scss";
margin: var(--spacing-md) 0 0;
padding: var(--spacing-md) 0 var(--spacing-lg);
background: var(--color-bg-secondary);
border-top: fun.convert-px(3) solid var(--color-border-lighter);
- @include mix.media("screen") {
- @include mix.dimensions("md") {
- grid-template-columns:
- minmax(0, var(--spacing-xl)) min(
- calc(100vw - calc(var(--spacing-md) * 2)),
- 80ch
- )
- minmax(0, 1fr);
- }
-
- @include mix.dimensions("lg") {
- grid-template-columns:
- minmax(0, 1fr) min(calc(100vw - calc(var(--spacing-md) * 2)), 80ch)
- minmax(0, 1fr);
- }
- }
-
> * {
grid-column: 2;
}