build.ps1 (and the matching hunk of build.sh, dropped while rebasing)
worked around the broken stylesheet by concatenating raw .scss sources onto
the end of the generated styles.css:
$extraCss += Get-Content "$src\app\scss\pages\_board.scss"
That ships SCSS to the browser. Nesting, `&`, `@use` and variables are not
CSS, so everything after the first nested block is dropped by the parser,
which made the result look randomly broken and fed the same manual fixing
loop.
With the missing brace fixed in the previous commit, `sass` compiles the
whole tree again and the workaround has nothing left to work around.
build.ps1 was also unreachable: make-src/build.js dispatches win32 to
build.bat, never to a PowerShell script.
Brings the branch up to date with master so #121 can be merged again.
Eight files needed a decision. The branch predates 41111cb ("restore WebUI
styles in SCSS sources"), which recovered into the SCSS a number of rules
that until then existed only in the compiled styles.css, so most conflicts
are that recovery meeting the changes made here. Where both sides describe
the same element the branch's version is kept; where master's rule is a
positioning context the branch has no equivalent for, master's is kept:
* _chat.scss - master's attach-modal, emoji-picker, rightbar context menu
and create-lobby-button rules are kept alongside the compact-message
styles added here. Taking either side whole would have dropped about
450 lines. .chat-own-profile-card, .chat-hub-rightbar and
.chat-hub-rightbar .user keep `position: relative`, because
.chat-create-lobby-btn and .rightbar-context-menu are still declared
`position: absolute` further down and would otherwise escape to the
initial containing block. For .user-tooltip the branch's `position:
fixed` rework wins, and master's `.chat-hub-rightbar .user-tooltip
{ left: -275px }` offset is dropped since it would fight a fixed
element.
* _people.scss - master's restored .friends-list-container context menu
is kept; the pane rules it also restored are shadowed by the branch's
own !important versions and were dropped as dead code.
* boards_util.js - the revived updateContent() and the in-flight dedup in
updateDisplayBoards() are kept. Master's side of the first two hunks
was comment reformatting only.
* board_view.js - the rewrite here is kept whole. Master's only change
since the fork point was `let reader` -> `const reader`, in code the
rewrite replaced.
* chat.js - the modals moved out one nesting level here; that structure
is kept.
* chat_state.js - `require('people/people_util')` is not restored. It is
unused, which is why 35c5c17 removed it.
* build.sh - master's version. The change here concatenated raw .scss
onto the generated CSS; see the following commits.
* styles.css - regenerated, see the following commits.
This allows for recursive directory searching of css files inside
app directory which was previously not possible due to css files
being stored in assets directory.
The config_resolver.js file will be used to handle the /config route
and can take in extended path for proper resolving.
The require polyfill does not have the concept of directories and
multiple paths so the name has to be preceeded by "config_" until
that is fixed.
The existing css has been disabled for the moment and a new css
file theme.css has been created. Respective components modified to
reflect changes for css selectors.