Sami Mazouz 5ab5257ff5
feat: theming and extensibility improvements (#3876)
* feat: make page structure customizable across different pages (#3867)

* feat: create `PageStructure` component
* feat: apply to `DiscussionPage`
* feat: apply to `UserPage`
* feat: apply to `TagsPage`
* fix: adapt subscriptions ext
* chore: cleanup

* chore: use grid & flexbox for the discussion list item (#3868)

* chore: rename `DiscussionPage-list` to `DiscussionListPane`
* chore: itemlistify `DiscussionListItem`
* chore: use flex and grid for `DiscussionListItem`

* chore: use flexbox for `App-header` (#3869)

* chore: use flex and grid for `App-header`
* chore: drop search floats
* fix: adapt admin styles

* chore: use flexbox in dropdowns and SplitDropdown for subscriptions (#3874)

* chore: flexbox dropdown menu items
* chore: normalize subscriptions menu (use slit dropdown)
* chore: cleanup

* chore: misc flexbox/grid changes (#3875)

* chore: `TagsPage` to tsx
* chore: `TagsPage` flexbox/grid
* chore: `IndexPage-toolbar` flexbox
* chore: `UserCard` flexbox & itemlists
* fix: `Post` improve spacing logic
* chore: `Post` grid and proper spacing
* fix: avatar editor hover layer layout
* chore: `Button` flex

* chore: normalize form semantics (#3877)

* chore: normalize fieldsets
* fix: `LinkButton` spacing
* chore: consistent form semantics

* fix: styling regressions (#3878)

* fix: post spacing goes off in other pages
* fix: regression

* feat: extract reusable components from `NotificationsDropdown` (#3879)

* feat: extensible global notices (#3880)

* fix: js error on null item list
* feat: extensible global notices

* chore: housekeeping (#3881)

* chore: use CSS variables where still not using
* chore: cleanup suspension modal
* chore: cleanup post flag
* fix: badge vertical align
* chore: use CSS variables for custom coloring
* chore: `icon` helper to `Icon` component
* chore: `avatar` helper to `Avatar` component
* fix: chunk loading fails on admin frontend
* chore: format

* feat: reusable `UploadImageButton` component (#3882)

* chore: convert `UploadImageButton` to tsx
* feat: reusable `UploadImageButton` component
* feat: add `image-upload` setting type

* feat: extensible default footer component (#3883)

* chore: yarn format
2023-10-10 21:36:08 +01:00

111 lines
1.6 KiB
Plaintext

.container {
width: auto;
padding: 0 20px;
@media @phone {
padding: 0;
}
}
.App {
padding-top: 0;
min-height: 0;
overflow: hidden;
&:before {
display: none;
}
}
.App-content {
border-top: 0;
min-height: 0;
}
.Composer {
margin-left: 0 !important;
margin-right: 0 !important;
}
.DiscussionHero {
display: none;
}
.DiscussionPage-nav {
width: auto;
float: none;
@media @tablet-up {
height: 70px;
}
> ul {
.header-background();
border-bottom: 0;
height: auto !important;
list-style: none;
padding: 15px 0;
margin: 0;
width: auto;
@media @phone {
position: static;
}
@media @tablet-up {
padding: 15px 15px;
.scrolled & {
.box-shadow(0 2px 6px var(--shadow-color));
}
}
> li {
margin: 0 15px 0 0;
display: inline-block;
}
.item-replies {
@media @phone {
display: block;
margin-bottom: 10px;
}
h3 {
font-weight: normal;
margin: 0;
&, a {
color: var(--muted-color);
}
}
}
}
.ButtonGroup {
&, .Button {
width: auto !important;
}
.Dropdown-toggle {
width: 36px !important;
}
}
}
.DiscussionPage-stream {
margin-right: 0;
}
.Post-stream {
margin-top: 0;
}
@media @phone {
.Dropdown .Dropdown-menu {
position: absolute;
bottom: auto;
top: auto;
right: auto !important;
padding-bottom: 0 !important;
.transition(none);
&.Dropdown-menu--right {
left: auto !important;
right: 0 !important;
}
}
.Composer:not(.minimized) {
height: 400px !important;
}
}