diff --git a/javascripts/discourse/components/blocks/banner.gjs b/javascripts/discourse/components/blocks/banner.gjs index cb5b0a2..1f57a2b 100644 --- a/javascripts/discourse/components/blocks/banner.gjs +++ b/javascripts/discourse/components/blocks/banner.gjs @@ -1,10 +1,10 @@ import Component from "@glimmer/component"; -import { tracked } from "@glimmer/tracking"; -import { concat } from "@ember/helper"; +// import { tracked } from "@glimmer/tracking"; +// import { concat } from "@ember/helper"; // import UserLink from "discourse/components/user-link"; -import avatar from "discourse/helpers/avatar"; +// import avatar from "discourse/helpers/avatar"; // import { ajax } from "discourse/lib/ajax"; -import i18n from "discourse-common/helpers/i18n"; +// import i18n from "discourse-common/helpers/i18n"; export default class BlockBanner extends Component { constructor() { diff --git a/javascripts/discourse/connectors/below-site-header/banner.gjs b/javascripts/discourse/connectors/below-site-header/banner.gjs new file mode 100644 index 0000000..0d1eb78 --- /dev/null +++ b/javascripts/discourse/connectors/below-site-header/banner.gjs @@ -0,0 +1,10 @@ +import Component from "@glimmer/component"; +import DiscourseBanner from "discourse/components/discourse-banner"; + +// eslint-disable-next-line ember/no-empty-glimmer-component-classes +export default class Banner extends Component { + // moves banner topic from main-outlet to below-site-header + +} diff --git a/javascripts/discourse/connectors/before-main-outlet/top-blocks.gjs b/javascripts/discourse/connectors/below-site-header/top-blocks.gjs similarity index 100% rename from javascripts/discourse/connectors/before-main-outlet/top-blocks.gjs rename to javascripts/discourse/connectors/below-site-header/top-blocks.gjs diff --git a/scss/_base.scss b/scss/_base.scss index b894692..51de9a0 100644 --- a/scss/_base.scss +++ b/scss/_base.scss @@ -25,3 +25,4 @@ @import "discourse/admin"; @import "discourse/d-menu"; @import "discourse/compose"; +@import "discourse/banner"; diff --git a/scss/blocks/base.scss b/scss/blocks/base.scss index 52c7da2..726dd2a 100644 --- a/scss/blocks/base.scss +++ b/scss/blocks/base.scss @@ -10,59 +10,62 @@ // @import "canvas"; // @import "emoji"; -#main-outlet-wrapper { - .blocks.--top { - grid-area: center-top !important; - display: flex; +// #main-outlet-wrapper { +.blocks.--top { + // display: none; + // grid-area: content / blocks; + display: flex; + justify-content: center; + // margin-right: 2rem; + // border-bottom: var(--border-outer); + + .blocks__wrapper { + display: grid; justify-content: center; - margin-right: 2rem; - // border-bottom: var(--border-outer); + background: #e8ecf2; + width: 100%; + // margin-right: 2rem; + // border-radius: var(--rounded-lg); + // grid-template-columns: repeat(12, 4rem); + grid-auto-rows: 4rem; + height: min-content; + max-height: 19rem; + gap: 1rem; + box-sizing: border-box; + align-items: stretch; - .blocks__wrapper { - display: grid; - justify-content: center; - background: #e8ecf2; + .block-banner { + --jc: center; + --ai: center; + --bg: transparent; + --c: #14263f; + --p: 0; + --fd: column; width: 100%; - // margin-right: 2rem; - border-radius: var(--rounded-lg); - // grid-template-columns: repeat(12, 4rem); - grid-auto-rows: 4rem; - height: min-content; - max-height: 19rem; - gap: 1rem; + // grid-column: span 12; + grid-row: span 3; + padding: 0 2rem; box-sizing: border-box; - align-items: stretch; - - .block-banner { - --jc: center; - --ai: center; - --bg: transparent; - --c: #14263f; - --p: 0; - --fd: column; - width: 100%; - // grid-column: span 12; - grid-row: span 3; - h1 { - margin: 0; - text-align: center; - @include headline-small; - } - &__blurb { - margin-top: 0.75rem; - max-width: 75ch; - @include body-medium; - text-align: center; - } - .button--primary { - margin-top: 1rem; - @include button($style: primary); - } + h1 { + margin: 0; + text-align: center; + @include headline-small; + } + &__blurb { + margin-top: 0.75rem; + max-width: 75ch; + @include body-medium; + text-align: center; + } + .button--primary { + margin-top: 1rem; + @include button($style: primary); } } } } +// } #main-outlet-wrapper { .blocks { diff --git a/scss/components/navigation.scss b/scss/components/navigation.scss index 7db6854..01f40d9 100644 --- a/scss/components/navigation.scss +++ b/scss/components/navigation.scss @@ -28,7 +28,7 @@ box-sizing: border-box; height: calc(100vh - var(--header-offset)); - padding: 2rem 2rem 2rem 0; + padding: 2rem 0 2rem 0; background: var(--neutral-100); @@ -165,11 +165,13 @@ .badge-category { gap: 1rem; + text-overflow: ellipsis; + overflow: hidden; } .badge-category__name { - display: inline-flex; - gap: 0.25rem; + // display: inline-flex; + // gap: 0.25rem; color: var(--neutral-10); } } diff --git a/scss/discourse/badges.scss b/scss/discourse/badges.scss index 1b7056e..77a4470 100644 --- a/scss/discourse/badges.scss +++ b/scss/discourse/badges.scss @@ -31,6 +31,10 @@ @include i($font-size: 0.75rem); content: "lock" !important; align-self: center; + display: inline-flex; + margin-right: 0.125rem; + align-items: center; + justify-content: center; } } } diff --git a/scss/discourse/banner.scss b/scss/discourse/banner.scss new file mode 100644 index 0000000..ce0d7f7 --- /dev/null +++ b/scss/discourse/banner.scss @@ -0,0 +1,35 @@ +#main-outlet { + .container:has(#banner) { + display: none; + } +} + +#banner { + margin: 0; + padding: 0; + position: relative; + display: flex; + justify-content: center; + align-items: center; + .floated-buttons { + // display: none; + position: absolute; + right: 1rem; + } +// &:hover .floated-buttons { +// display: flex; +// } + &-content { + flex: 1; + box-sizing: border-box; + padding: 1rem; + max-width: var(--d-max-width); + text-align: center; + h3 { + @include headline-small; + } + p { + @include body-medium; + } + } +} diff --git a/scss/discourse/header.scss b/scss/discourse/header.scss index 7c969d7..bd4f2fc 100644 --- a/scss/discourse/header.scss +++ b/scss/discourse/header.scss @@ -1,23 +1,29 @@ .d-header { - background-color: var(--neutral-100); - box-shadow: none; - height: 3rem; box-sizing: content-box; + height: 3rem; padding: 0.75rem 0; + + background-color: var(--neutral-100); border-bottom: 1px solid var(--neutral-90); + box-shadow: none; .wrap { .contents { - display: grid; - grid-template-areas: "left center right"; - grid-template-columns: minmax(0, 18rem) minmax(26rem, 1fr) 21rem; - column-gap: 0rem; @include breakpoint(large) { display: flex; } + display: grid; + grid-template-areas: "logo search utility"; + grid-template-columns: var(--column-navigation) var(--column-content) var( + --column-blocks + ); + column-gap: 2rem; + & - > *:not(.home-logo-wrapper-outlet):not(.before-header-panel-outlet):not( + > *:not( + .home-logo-wrapper-outlet, + .before-header-panel-outlet, .panel ) { display: none; @@ -28,88 +34,149 @@ .title { display: none; } + .home-logo-wrapper-outlet { display: flex; + .logo-temp { + @include headline-small; + display: flex; width: min-content; + margin: 0; + img { - max-width: 12rem; width: auto; - max-height: 2.5rem; + max-width: 12rem; height: auto; + max-height: 2.5rem; } - - margin: 0; - @include headline-small; } } .extra-info-wrapper { display: none; } + .d-header-icons { + margin: 0; + li:has(.ai-bot-button) { display: none; } + li.c-user { order: 9; } + li > button, li > .icon { - border: 0; - background: none; + @include hover; + + box-sizing: border-box; + width: 2.5rem; + height: 2.5rem; padding: 0; + color: var(--neutral-10); + + background: none; + border: 0; + border-radius: var(--rounded-md); + transition: none; - @include hover; + &:hover { - border: 0; - background: inherit; color: inherit; + background: inherit; + border: 0; } - width: 2.5rem; - height: 2.5rem; - box-sizing: border-box; - border-radius: var(--rounded-md); + .avatar { width: 2rem; height: 2rem; } } + .active { .icon { background-color: var(--neutral-95); border: 0; - &:after { + + &::after { content: unset; } } } + + li.search-dropdown { + order: -2; + .icon::before { + @include i($font-size: 1.25rem); + + content: "search"; + } + + .d-icon { + display: none; + } + } + li.chat-header-icon { .d-icon { display: none; } - .icon:before { + + @include breakpoint(tablet) { + display: none; + } + + .icon::before { @include i($font-size: 1.25rem); + content: "chat_bubble"; } } + li.c-create { order: -1; - button:before { + + button::before { @include i($font-size: 1.25rem); + content: "edit_square"; } } + li.user-menu-panel { - button:before { + button::before { @include i($font-size: 1.25rem); + content: "notifications"; } + img.avatar { display: none; } } } } + +.search-header--visible { + .panel .header-dropdown-toggle.search-dropdown, + .panel .search-menu { + @include breakpoint(tablet) { + display: flex; + } + + display: none; + } + + .before-header-panel-outlet { + @include breakpoint(tablet) { + display: none; + } + + flex: 1 1 auto; + } +} diff --git a/scss/layout.scss b/scss/layout.scss index 3674397..a876514 100644 --- a/scss/layout.scss +++ b/scss/layout.scss @@ -13,8 +13,16 @@ body { :root { --heading-font-family: system-ui, helvetica, sans-serif; --font-family: system-ui, helvetica, sans-serif; - --d-max-width: 85rem; + --d-max-width: 84rem; --wrap-px: 1rem; + + // --column-content: 29rem; + + --column-navigation-mini: 5rem; + --column-blocks: 19rem; + + --column-navigation: minmax(0, 19rem); + --column-content: minmax(24rem, 1fr); } body { @@ -28,26 +36,25 @@ body { &.admin-interface, &.archetype-regular, + &.archetype-banner, &.user-messages-page, &.archetype-private_message { #main-outlet-wrapper { @include breakpoint(large) { - grid-template-columns: 5rem 1fr; + grid-template-columns: var(--column-navigation-mini) minmax(0, 1fr); column-gap: 0; padding: 0; - #main-outlet { - border-right: 0; - } } @include breakpoint(tablet) { - grid-template-areas: "center-top" "center"; + grid-template-areas: "content"; grid-template-columns: minmax(0, 1fr); } #main-outlet { margin-right: 0rem; } - grid-template-areas: "left center-top" "left center"; - grid-template-columns: minmax(0, 18rem) minmax(24rem, 1fr); + --column-content: minmax(24rem, 1fr); + grid-template-areas: "navigation content"; + grid-template-columns: var(--column-navigation) var(--column-content); .blocks { display: none; } @@ -56,22 +63,20 @@ body { #main-outlet-wrapper { @include breakpoint(large) { - grid-template-columns: 5rem minmax(22rem, 1fr) 19rem; + grid-template-columns: var(--column-navigation-mini) minmax(0, 1fr) var( + --column-blocks + ); column-gap: 0; padding-left: 0; #main-outlet { margin-right: 1rem; + margin-left: 0; } } - // @include breakpoint(medium) { - // grid-template-areas: "center right"; - // grid-template-columns: minmax(24rem, 1fr) 19rem; - // } - @include breakpoint(tablet) { - grid-template-areas: "center-top" "center"; + grid-template-areas: "content"; grid-template-columns: minmax(0, 1fr); padding: 0; @@ -81,9 +86,12 @@ body { } display: grid; - grid-template-areas: "left center-top center-top" "left center right"; - grid-template-columns: minmax(0, 18rem) minmax(26rem, 1fr) 19rem; - column-gap: 0rem; + grid-template-areas: "navigation content blocks"; + grid-template-columns: var(--column-navigation) var(--column-content) var( + --column-blocks + ); + + column-gap: 2rem; box-sizing: border-box; padding: 0 var(--wrap-px); @@ -93,28 +101,26 @@ body { } .blocks { - grid-area: right; + grid-area: blocks; } .c-navigation { - grid-area: left; + grid-area: navigation; } #main-outlet { margin-top: 2rem; - margin-right: 2rem; + // margin-right: 2rem; @include breakpoint(large) { - margin-right: 1rem; + // margin-right: 1rem; margin-top: 1rem; } @include breakpoint(tablet) { margin: 0; border: 0; } - // border-right: var(--border-outer); - // border-left: var(--border-outer); padding: 0; - grid-area: center; + grid-area: content; border: var(--border-outer); border-radius: var(--rounded-lg); } diff --git a/scss/standards/typography.scss b/scss/standards/typography.scss index 10648fc..105e057 100644 --- a/scss/standards/typography.scss +++ b/scss/standards/typography.scss @@ -1,3 +1,15 @@ +@mixin display-large { + +} + +@mixin display-medium { + +} + +@mixin display-small { + +} + @mixin headline-large { font-size: 32px; line-height: 40px;