diff --git a/app/assets/javascripts/discourse/app/components/group-navigation.gjs b/app/assets/javascripts/discourse/app/components/group-navigation.gjs new file mode 100644 index 00000000000..eb4779469d6 --- /dev/null +++ b/app/assets/javascripts/discourse/app/components/group-navigation.gjs @@ -0,0 +1,52 @@ +import Component from "@glimmer/component"; +import { hash } from "@ember/helper"; +import { LinkTo } from "@ember/routing"; +import { service } from "@ember/service"; +import HorizontalOverflowNav from "discourse/components/horizontal-overflow-nav"; +import PluginOutlet from "discourse/components/plugin-outlet"; +import icon from "discourse/helpers/d-icon"; +import { i18n } from "discourse-i18n"; +import GroupDropdown from "select-kit/components/group-dropdown"; +export default class GroupNavigation extends Component { + @service site; + + +} diff --git a/app/assets/javascripts/discourse/app/components/group-navigation.hbs b/app/assets/javascripts/discourse/app/components/group-navigation.hbs deleted file mode 100644 index 91e4f53cfd9..00000000000 --- a/app/assets/javascripts/discourse/app/components/group-navigation.hbs +++ /dev/null @@ -1,36 +0,0 @@ - - {{#if this.site.mobileView}} -
  • - - {{i18n "groups.index.all"}} - -
  • - {{else}} -
  • - -
  • - {{/if}} - - {{#each this.tabs as |tab|}} -
  • - - {{#if tab.icon}}{{d-icon tab.icon}}{{/if}} - {{tab.message}} - {{#if tab.count}}({{tab.count}}){{/if}} - -
  • - {{/each}} - -
    \ No newline at end of file diff --git a/app/assets/javascripts/discourse/app/components/group-navigation.js b/app/assets/javascripts/discourse/app/components/group-navigation.js deleted file mode 100644 index ba1e4302f7c..00000000000 --- a/app/assets/javascripts/discourse/app/components/group-navigation.js +++ /dev/null @@ -1,5 +0,0 @@ -import Component from "@ember/component"; -import { tagName } from "@ember-decorators/component"; - -@tagName("") -export default class GroupNavigation extends Component {} diff --git a/app/assets/javascripts/discourse/app/controllers/group.js b/app/assets/javascripts/discourse/app/controllers/group.js index 1e523a7a7cb..5c7e284606d 100644 --- a/app/assets/javascripts/discourse/app/controllers/group.js +++ b/app/assets/javascripts/discourse/app/controllers/group.js @@ -50,7 +50,10 @@ export default class GroupController extends Controller { count: userCount, }); - const defaultTabs = [membersTab, Tab.create({ name: "activity" })]; + const defaultTabs = [ + membersTab, + Tab.create({ name: "activity", icon: "bars-staggered" }), + ]; if (canManageGroup && allowMembershipRequests) { defaultTabs.push( @@ -68,6 +71,7 @@ export default class GroupController extends Controller { Tab.create({ name: "messages", i18nKey: "messages", + icon: "envelope", }) ); } @@ -86,6 +90,7 @@ export default class GroupController extends Controller { Tab.create({ name: "permissions", i18nKey: "permissions.title", + icon: "id-card", }) ); diff --git a/app/assets/javascripts/discourse/app/templates/group.hbs b/app/assets/javascripts/discourse/app/templates/group.hbs index 5f18ffbd5e0..8d552500a80 100644 --- a/app/assets/javascripts/discourse/app/templates/group.hbs +++ b/app/assets/javascripts/discourse/app/templates/group.hbs @@ -83,20 +83,16 @@ {{/if}} - - - + {{#if this.model.bio_cooked}} -
    -
    -

    {{html-safe this.model.bio_cooked}}

    + {{html-safe this.model.bio_cooked}}
    {{/if}} @@ -104,15 +100,12 @@
    -
    - -
    +
    - {{outlet}}
    \ No newline at end of file diff --git a/app/assets/javascripts/discourse/app/templates/group/activity.hbs b/app/assets/javascripts/discourse/app/templates/group/activity.hbs index 24e2bd9f47a..20da498ef1e 100644 --- a/app/assets/javascripts/discourse/app/templates/group/activity.hbs +++ b/app/assets/javascripts/discourse/app/templates/group/activity.hbs @@ -1,8 +1,5 @@
    - + {{#if this.model.can_see_members}} @@ -14,7 +11,7 @@ /> {{/if}} - +
    {{outlet}} diff --git a/app/assets/javascripts/discourse/app/templates/group/manage.hbs b/app/assets/javascripts/discourse/app/templates/group/manage.hbs index 1f5d1a6a81b..3841fbc501f 100644 --- a/app/assets/javascripts/discourse/app/templates/group/manage.hbs +++ b/app/assets/javascripts/discourse/app/templates/group/manage.hbs @@ -1,8 +1,5 @@
    - + {{#each this.tabs as |tab|}}
  • @@ -10,7 +7,7 @@
  • {{/each}} -
    +
    {{outlet}} diff --git a/app/assets/javascripts/discourse/app/templates/group/messages.hbs b/app/assets/javascripts/discourse/app/templates/group/messages.hbs index b3bf123d30a..754b8ec1588 100644 --- a/app/assets/javascripts/discourse/app/templates/group/messages.hbs +++ b/app/assets/javascripts/discourse/app/templates/group/messages.hbs @@ -1,5 +1,5 @@
    - +
  • {{i18n "user.messages.inbox"}} @@ -10,7 +10,7 @@ {{i18n "user.messages.archive"}}
  • -
    +
    {{outlet}} diff --git a/app/assets/stylesheets/common/base/group.scss b/app/assets/stylesheets/common/base/group.scss index cc70600712c..b29322c5aaa 100644 --- a/app/assets/stylesheets/common/base/group.scss +++ b/app/assets/stylesheets/common/base/group.scss @@ -10,9 +10,35 @@ .group-details-container { background: var(--primary-very-low); - padding: 20px; - margin-bottom: 15px; + padding: 0.8em; position: relative; + display: flex; + flex-direction: column; + gap: 0.5em; + margin-bottom: 1em; +} + +.group-bio { + max-width: 80ch; + + p:first-child { + margin-top: 0; + } + + p:last-child { + margin-bottom: 0; + } +} + +.group-info-details { + display: flex; + flex-direction: column; + align-items: start; + width: 100%; +} + +.group-info-mention-name { + margin-bottom: 0.5em; } .group-delete-tooltip { @@ -30,6 +56,7 @@ flex-wrap: wrap; width: 100%; gap: 0.5em 0; + margin-bottom: 1em; .bulk-select + input { margin-left: 0.5em; @@ -98,10 +125,8 @@ .group-details-button { display: flex; flex-wrap: wrap; - - button:not(:last-child) { - margin-right: 0.5em; - } + justify-content: end; + gap: 0.5em; } } diff --git a/app/assets/stylesheets/common/base/groups.scss b/app/assets/stylesheets/common/base/groups.scss index ac6860a2bcd..5614a75e62d 100644 --- a/app/assets/stylesheets/common/base/groups.scss +++ b/app/assets/stylesheets/common/base/groups.scss @@ -89,7 +89,6 @@ flex: 1 1 auto; span { - width: 100%; word-break: break-word; line-height: var(--line-height-medium); } diff --git a/app/assets/stylesheets/common/base/user.scss b/app/assets/stylesheets/common/base/user.scss index ea3460798c4..c27fa0099ea 100644 --- a/app/assets/stylesheets/common/base/user.scss +++ b/app/assets/stylesheets/common/base/user.scss @@ -6,7 +6,7 @@ display: grid; grid-template-columns: 1fr 5fr; grid-template-rows: auto auto 1fr auto; - grid-gap: 20px; + grid-gap: 0 0.8em; .user-primary-navigation { grid-column-start: 1; @@ -14,34 +14,62 @@ grid-row-start: 1; grid-row-end: 2; - .nav-pills { - flex-wrap: wrap; + .horizontal-overflow-nav { + border-block: 1px solid var(--primary-low); + } + + .group-dropdown { + margin-right: 0.5em; + + .mobile-view & { + .select-kit-header-wrapper { + font-size: var(--font-down-1); + } + } } } .user-secondary-navigation { grid-column-start: 1; - grid-column-end: 2; + grid-column-end: 3; grid-row-start: 2; grid-row-end: 3; + border-bottom: 1px solid var(--primary-low); + font-size: var(--font-down-1); + } + + .user-primary-navigation, + .user-secondary-navigation { + display: flex; + align-items: stretch; + + li { + flex: 1 0 auto; + + a { + width: 100%; + justify-content: center; + } + } } .solo-preference, .user-content, .spinner { - grid-row-start: 2; - grid-row-end: 4; + grid-row-start: 3; + grid-row-end: 5; grid-column-start: 1; grid-column-end: 3; } .user-content { + margin-top: 1em; min-width: 100%; } .user-additional-controls + .user-content, .user-secondary-navigation + .user-content { - grid-column-start: 2; + grid-column-start: 1; grid-column-end: 3; } @@ -64,6 +92,10 @@ .paginated-topics-list { position: relative; + + tbody { + border-top: none; + } } .show-mores { diff --git a/app/assets/stylesheets/common/components/horizontal-overflow-nav.scss b/app/assets/stylesheets/common/components/horizontal-overflow-nav.scss index 056d3f5b8b6..f96a2d78df4 100644 --- a/app/assets/stylesheets/common/components/horizontal-overflow-nav.scss +++ b/app/assets/stylesheets/common/components/horizontal-overflow-nav.scss @@ -6,6 +6,8 @@ .nav-pills { overflow: auto; min-width: 0; + margin: 0; + height: 100%; position: relative; // avoids auto-scroll on initial load if active nav item is overflowed diff --git a/app/assets/stylesheets/common/select-kit/combo-box.scss b/app/assets/stylesheets/common/select-kit/combo-box.scss index e64c2eb6426..2ae5d2b17fd 100644 --- a/app/assets/stylesheets/common/select-kit/combo-box.scss +++ b/app/assets/stylesheets/common/select-kit/combo-box.scss @@ -82,11 +82,5 @@ &.tag-drop { color: var(--primary-high); } - - &.group-dropdown { - .select-kit-row { - font-weight: bold; - } - } } } diff --git a/app/assets/stylesheets/mobile/user.scss b/app/assets/stylesheets/mobile/user.scss index c04727ba3f2..d32c0339314 100644 --- a/app/assets/stylesheets/mobile/user.scss +++ b/app/assets/stylesheets/mobile/user.scss @@ -1,66 +1,3 @@ -// Mobile styles for "/user" section -.user-content-wrapper { - display: grid; - grid-template-columns: 1fr 1fr; - grid-template-rows: auto auto auto; - grid-gap: 16px; - padding-top: 1em; - - .user-primary-navigation { - grid-column-start: 1; - grid-row-start: 1; - grid-column-end: 2; - min-width: 120px; - } - - .user-secondary-navigation { - grid-column-start: 2; - grid-row-start: 1; - min-width: 120px; - } - - .user-additional-controls + .user-content, - .user-secondary-navigation + .user-content { - grid-column-start: 1; - } - - .user-additional-controls { - grid-column-start: 1; - grid-column-end: 3; - grid-row-start: 2; - } - - .user-content, - .spinner { - grid-row-start: 3; - grid-column-start: 1; - } - - // specific to messages - .user-messages { - grid-row-start: 2; - grid-column-start: 1; - grid-column-end: 3; - display: grid; - grid-template-columns: 1fr 1fr; - gap: 16px; - - + .user-additional-controls { - grid-row-start: 2; - grid-column-start: 1; - } - } - - .inboxes-controls { - display: flex; - } - - .new-private-message { - grid-row-start: 1; - grid-column-start: 2; - } -} - .user-messages-page { .paginated-topics-list { margin-top: 0;