diff --git a/.css/root.css b/.css/root.css index 953cc35..8022e70 100644 --- a/.css/root.css +++ b/.css/root.css @@ -1,40 +1,75 @@ @import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap"); -@import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap"); .dotdungeon { + --breakpoint-medium: 700px; + --breakpoint-small: 550px; + --breakpoint-extra-small: 400px; container-type: size; } -.dotdungeon.actor--pc { +.dotdungeon > .window-content { + padding: 0; + background: #f2f2f2; +} + +.dotdungeon .stat { + display: flex; + flex-direction: column; + align-items: center; +} +.dotdungeon .actor--pc { + --size: var(--breakpoint-medium); display: grid; + grid-template-areas: "avatar stats stats" "avatar skills skills" "backpack skills skills" "backpack sync aspect" "backpack weapons aspect" "backpack weapons spells" "backpack roles spells" "summons roles mounts" "summons roles storage"; grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(8, minmax(0, 1fr)); + grid-template-rows: repeat(9, minmax(0, 1fr)); + padding: 4px; gap: 4px; } -.dotdungeon.actor--pc .panel--avatar { - grid-row: 1/span 2; +.dotdungeon .actor--pc .panel--avatar { + grid-area: avatar; } -.dotdungeon.actor--pc .panel--stats { - grid-column: 2/span 2; +.dotdungeon .actor--pc .panel--stats { + grid-area: stats; } -.dotdungeon.actor--pc .panel--skills { - grid-column: 2/span 2; +.dotdungeon .actor--pc .panel--stats .panel__content { + display: flex; + flex-direction: row; + gap: 8px; + justify-content: space-evenly; + padding: 8px; } -.dotdungeon.actor--pc .panel--backpack { - grid-row: 3/span 5; +.dotdungeon .actor--pc .panel--skills { + grid-area: skills; } -.dotdungeon.actor--pc .panel--aspect { - grid-row: span 2; +.dotdungeon .actor--pc .panel--backpack { + grid-area: backpack; } -.dotdungeon.actor--pc .panel--weapons { - grid-row: span 2; +.dotdungeon .actor--pc .panel--sync { + grid-area: sync; } -.dotdungeon.actor--pc .panel--roles { - grid-row: span 3; +.dotdungeon .actor--pc .panel--aspect { + grid-area: aspect; } -.dotdungeon.actor--pc .panel--spells { - grid-row: span 2; +.dotdungeon .actor--pc .panel--weapons { + grid-area: weapons; +} +.dotdungeon .actor--pc .panel--roles { + grid-area: roles; +} +.dotdungeon .actor--pc .panel--spells { + grid-area: spells; +} +.dotdungeon .actor--pc .panel--mounts { + grid-area: mounts; +} +.dotdungeon .actor--pc .panel--summons { + grid-area: summons; +} +.dotdungeon .actor--pc .panel--storage { + grid-area: storage; } .dotdungeon .panel { border: 2px solid black; + background: greenyellow; } .dotdungeon .panel__header { background: black; @@ -56,26 +91,30 @@ .dotdungeon .panel__header .icon { height: 32px; width: 32px; - aspect-ratio: 1; + aspect-ratio: 1/1; } -@container (max-width: $breakpoint-medium) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); +@container (max-width: 550px) { + .dotdungeon .actor--pc { + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-template-rows: repeat(15, minmax(0, 1fr)); + grid-template-areas: "avatar sync" "avatar skills" "stats skills" "stats skills" "weapons aspect" "weapons aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "summons spells" "summons storage" "mounts storage" "mounts storage"; + } + .dotdungeon .panel { + background: yellowgreen; + } + .dotdungeon .panel--stats .panel__content { + flex-wrap: wrap; } } -@container (max-width: $breakpoint-small) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); +@container (max-width: 400px) { + .dotdungeon .actor--pc { + grid-template-columns: 1fr; + grid-template-areas: "stats" "skills"; } -} -@container (max-width: $breakpoint-extra-small) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); + .dotdungeon .panel { + background: blueviolet; } } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/vars/fonts.scss%22,%22../styles/sheets/actor/mvp.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAQ;AAAA;ACGR;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAGD;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AASH;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA,aD5DS;EC6DT;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;;AAMJ;EACC;IACC;IACA;;;AAIF;EACC;IACC;IACA;;;AAIF;EACC;IACC;IACA%22,%22file%22:%22root.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/root.scss%22,%22../styles/vars.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEQ;AAER;EACC;EACA;EACA;EAGA;;AAEA;EACC;EACA,YCbW;;;ACDb;EACC;EACA;EACA;;ACCA;EACC;EACA;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAKH;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA,aFvFS;EEwFT;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;;ACxFH;EDiGC;IACC;IACA;IACA,qBACC;;EAiBF;IACC;;EAGC;IACC;;;ACrHJ;ED8HC;IACC;IACA,qBACC;;EAGF;IACC%22,%22file%22:%22root.css%22%7D */ diff --git a/.css/sheets/actor/mvp.css b/.css/sheets/actor/mvp.css index 483161f..06a099c 100644 --- a/.css/sheets/actor/mvp.css +++ b/.css/sheets/actor/mvp.css @@ -1,39 +1,58 @@ -@import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap"); -.dotdungeon { - container-type: size; -} -.dotdungeon.actor--pc { +.dotdungeon .actor--pc { + --size: var(--breakpoint-medium); display: grid; + grid-template-areas: "avatar stats stats" "avatar skills skills" "backpack skills skills" "backpack sync aspect" "backpack weapons aspect" "backpack weapons spells" "backpack roles spells" "summons roles mounts" "summons roles storage"; grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(8, minmax(0, 1fr)); + grid-template-rows: repeat(9, minmax(0, 1fr)); + padding: 4px; gap: 4px; } -.dotdungeon.actor--pc .panel--avatar { - grid-row: 1/span 2; +.dotdungeon .actor--pc .panel--avatar { + grid-area: avatar; } -.dotdungeon.actor--pc .panel--stats { - grid-column: 2/span 2; +.dotdungeon .actor--pc .panel--stats { + grid-area: stats; } -.dotdungeon.actor--pc .panel--skills { - grid-column: 2/span 2; +.dotdungeon .actor--pc .panel--stats .panel__content { + display: flex; + flex-direction: row; + gap: 8px; + justify-content: space-evenly; + padding: 8px; } -.dotdungeon.actor--pc .panel--backpack { - grid-row: 3/span 5; +.dotdungeon .actor--pc .panel--skills { + grid-area: skills; } -.dotdungeon.actor--pc .panel--aspect { - grid-row: span 2; +.dotdungeon .actor--pc .panel--backpack { + grid-area: backpack; } -.dotdungeon.actor--pc .panel--weapons { - grid-row: span 2; +.dotdungeon .actor--pc .panel--sync { + grid-area: sync; } -.dotdungeon.actor--pc .panel--roles { - grid-row: span 3; +.dotdungeon .actor--pc .panel--aspect { + grid-area: aspect; } -.dotdungeon.actor--pc .panel--spells { - grid-row: span 2; +.dotdungeon .actor--pc .panel--weapons { + grid-area: weapons; +} +.dotdungeon .actor--pc .panel--roles { + grid-area: roles; +} +.dotdungeon .actor--pc .panel--spells { + grid-area: spells; +} +.dotdungeon .actor--pc .panel--mounts { + grid-area: mounts; +} +.dotdungeon .actor--pc .panel--summons { + grid-area: summons; +} +.dotdungeon .actor--pc .panel--storage { + grid-area: storage; } .dotdungeon .panel { border: 2px solid black; + background: greenyellow; } .dotdungeon .panel__header { background: black; @@ -55,26 +74,30 @@ .dotdungeon .panel__header .icon { height: 32px; width: 32px; - aspect-ratio: 1; + aspect-ratio: 1/1; } -@container (max-width: $breakpoint-medium) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); +@container (max-width: 550px) { + .dotdungeon .actor--pc { + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-template-rows: repeat(15, minmax(0, 1fr)); + grid-template-areas: "avatar sync" "avatar skills" "stats skills" "stats skills" "weapons aspect" "weapons aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "summons spells" "summons storage" "mounts storage" "mounts storage"; + } + .dotdungeon .panel { + background: yellowgreen; + } + .dotdungeon .panel--stats .panel__content { + flex-wrap: wrap; } } -@container (max-width: $breakpoint-small) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); +@container (max-width: 400px) { + .dotdungeon .actor--pc { + grid-template-columns: 1fr; + grid-template-areas: "stats" "skills"; } -} -@container (max-width: $breakpoint-extra-small) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); + .dotdungeon .panel { + background: blueviolet; } } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/vars/fonts.scss%22,%22../../../styles/sheets/actor/mvp.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAQ;ACGR;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAGD;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AASH;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA,aD5DS;EC6DT;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;;AAMJ;EACC;IACC;IACA;;;AAIF;EACC;IACC;IACA;;;AAIF;EACC;IACC;IACA%22,%22file%22:%22mvp.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/vars.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIC;EACC;EACA;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAKH;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA,aCvFS;EDwFT;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;;AExFH;EFiGC;IACC;IACA;IACA,qBACC;;EAiBF;IACC;;EAGC;IACC;;;AErHJ;EF8HC;IACC;IACA,qBACC;;EAGF;IACC%22,%22file%22:%22mvp.css%22%7D */ diff --git a/.css/sheets/partials/stat.css b/.css/sheets/partials/stat.css new file mode 100644 index 0000000..5973333 --- /dev/null +++ b/.css/sheets/partials/stat.css @@ -0,0 +1,7 @@ +.dotdungeon .stat { + display: flex; + flex-direction: column; + align-items: center; +} + +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/partials/stat.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;EACC;EACA;EACA%22,%22file%22:%22stat.css%22%7D */ diff --git a/.css/vars.css b/.css/vars.css new file mode 100644 index 0000000..57ca8ec --- /dev/null +++ b/.css/vars.css @@ -0,0 +1,3 @@ + + +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%5D,%22names%22:%5B%5D,%22mappings%22:%22%22,%22file%22:%22vars.css%22%7D */ diff --git a/styles/mixins/_breakpoints.scss b/styles/mixins/_breakpoints.scss new file mode 100644 index 0000000..2e88c28 --- /dev/null +++ b/styles/mixins/_breakpoints.scss @@ -0,0 +1,17 @@ +@mixin bp-m { + @container (max-width: 700px) { + @content + }; +}; + +@mixin bp-s { + @container (max-width: 550px) { + @content + }; +}; + +@mixin bp-xs { + @container (max-width: 400px) { + @content + }; +}; \ No newline at end of file diff --git a/styles/root.scss b/styles/root.scss index b885928..a95dbbc 100644 --- a/styles/root.scss +++ b/styles/root.scss @@ -1,3 +1,20 @@ -@use "./vars/index" as *; +@use "./vars.scss" as *; +@import url('https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap'); + +.dotdungeon { + --breakpoint-medium: 700px; + --breakpoint-small: 550px; + --breakpoint-extra-small: 400px; + + + container-type: size; + + > .window-content { + padding: 0; + background: $background; + } +} + +@import "./sheets/partials/stat.scss"; @import "./sheets/actor/mvp.scss"; \ No newline at end of file diff --git a/styles/sheets/actor/mvp.scss b/styles/sheets/actor/mvp.scss index 09208e0..694e704 100644 --- a/styles/sheets/actor/mvp.scss +++ b/styles/sheets/actor/mvp.scss @@ -1,50 +1,75 @@ -@use "../../vars/index" as *; -@use "../../vars/fonts.scss" as *; +@use "../../vars.scss" as *; +@use "../../mixins/breakpoints" as *; .dotdungeon { - container-type: size; - - &.actor--pc { + .actor--pc { + --size: var(--breakpoint-medium); display: grid; + grid-template-areas: + "avatar stats stats" + "avatar skills skills" + "backpack skills skills" + "backpack sync aspect" + "backpack weapons aspect" + "backpack weapons spells" + "backpack roles spells" + "summons roles mounts" + "summons roles storage"; grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(8, minmax(0, 1fr)); + grid-template-rows: repeat(9, minmax(0, 1fr)); + padding: 4px; gap: 4px; .panel { &--avatar { - grid-row: 1 / span 2; + grid-area: avatar; } &--stats { - grid-column: 2 / span 2; + grid-area: stats; + .panel__content { + display: flex; + flex-direction: row; + gap: 8px; + justify-content: space-evenly; + padding: 8px; + } } &--skills { - grid-column: 2 / span 2; + grid-area: skills; } &--backpack { - grid-row: 3 / span 5; + grid-area: backpack; + } + &--sync { + grid-area: sync; } - &--sync {} &--aspect { - grid-row: span 2; + grid-area: aspect; } &--weapons { - grid-row: span 2; + grid-area: weapons; } &--roles { - grid-row: span 3; + grid-area: roles; } &--spells { - grid-row: span 2; + grid-area: spells; + } + &--mounts { + grid-area: mounts; + } + &--summons { + grid-area: summons; + } + &--storage { + grid-area: storage; } - &--mounts {} - &--summons {} - &--notes {} - &--storage {} } } .panel { border: 2px solid black; + background: greenyellow; &__header { background: black; @@ -68,29 +93,58 @@ $size: 32px; height: $size; width: $size; - aspect-ratio: 1; + aspect-ratio: 1/1; } } } } -@container (max-width: $breakpoint-medium) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); + +@include bp-s { + .dotdungeon { + .actor--pc { + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-template-rows: repeat(15, minmax(0, 1fr)); + grid-template-areas: + "avatar sync" + "avatar skills" + "stats skills" + "stats skills" + "weapons aspect" + "weapons aspect" + "backpack aspect" + "backpack roles" + "backpack roles" + "backpack roles" + "backpack spells" + "summons spells" + "summons storage" + "mounts storage" + "mounts storage"; + } + + .panel { + background: yellowgreen; + + &--stats { + .panel__content { + flex-wrap: wrap; + } + } + } } } -@container (max-width: $breakpoint-small) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); - } -} - -@container (max-width: $breakpoint-extra-small) { - .dotdungeon.actor--pc { - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: repeat(12, minmax(0, 1fr)); +@include bp-xs { + .dotdungeon { + .actor--pc { + grid-template-columns: 1fr; + grid-template-areas: + "stats" + "skills"; + } + .panel { + background: blueviolet; + } } } \ No newline at end of file diff --git a/styles/sheets/partials/stat.scss b/styles/sheets/partials/stat.scss new file mode 100644 index 0000000..1875cf3 --- /dev/null +++ b/styles/sheets/partials/stat.scss @@ -0,0 +1,12 @@ +.dotdungeon .stat { + display: flex; + flex-direction: column; + align-items: center; + + &--build {} + &--meta {} + &--presence {} + &--hands {} + &--tilt {} + &--rng {} +} \ No newline at end of file diff --git a/styles/vars.scss b/styles/vars.scss new file mode 100644 index 0000000..d1541ff --- /dev/null +++ b/styles/vars.scss @@ -0,0 +1,2 @@ +$title-font: 'Pixelify Sans', sans-serif; +$background: #f2f2f2; \ No newline at end of file diff --git a/styles/vars/_breakpoints.scss b/styles/vars/_breakpoints.scss deleted file mode 100644 index d594e8a..0000000 --- a/styles/vars/_breakpoints.scss +++ /dev/null @@ -1,3 +0,0 @@ -$breakpoint-medium: 700px; -$breakpoint-small: 550px; -$breakpoint-extra-small: 400px \ No newline at end of file diff --git a/styles/vars/_colours.scss b/styles/vars/_colours.scss deleted file mode 100644 index bdb4c21..0000000 --- a/styles/vars/_colours.scss +++ /dev/null @@ -1 +0,0 @@ -$background: white; \ No newline at end of file diff --git a/styles/vars/_index.scss b/styles/vars/_index.scss deleted file mode 100644 index f6daa67..0000000 --- a/styles/vars/_index.scss +++ /dev/null @@ -1,3 +0,0 @@ -@use "./breakpoints"; -@use "./colours"; -@use "./fonts"; \ No newline at end of file diff --git a/styles/vars/fonts.scss b/styles/vars/fonts.scss deleted file mode 100644 index 47d7366..0000000 --- a/styles/vars/fonts.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap'); - -$title-font: 'Pixelify Sans', sans-serif; \ No newline at end of file