mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-03 15:31:35 +08:00
Here is a breakdown of the changes that will be implemented in this PR.
# Widgets -> Glimmer
Obviously, the intention of the todo here is to convert the header from widgets to glimmer. This PR splits the respective widgets as so:
### widgets/site-header.js
```mermaid height=200
flowchart TB
A[widgets/site-header.js]
A-->B[components/glimmer-site-header.gjs]
```
### widgets/header.js and children
```mermaid height=200
flowchart TB
A[widgets/header.js]
A-->B[components/glimmer-header.gjs]
B-->C[glimmer-header/contents.gjs]
C-->D[./auth-buttons.gjs]
C-->E[./icons.gjs]
C-->F[./user-menu-wrapper.gjs]
C-->G[./hamburger-dropdown-wrapper.gjs]
C-->H[./user-menu-wrapper.gjs]
C-->I[./sidebar-toggle.gjs]
C-->J[./topic/info.gjs]
```
There are additional components rendered within the `glimmer-header/*` components, but I will leave those out for now. From this view you can see that we split apart the logic of `widgets/header.js` into 10+ components. Breaking apart these mega files has many benefits (readability, etc).
# Services
I have introduced a [header](
|
||
|---|---|---|
| .. | ||
| ADMIN-QUICK-START-GUIDE.md | ||
| AUTHORS.md | ||
| CHANGELOG-JAVASCRIPT-PLUGIN-API.md | ||
| code-of-conduct.md | ||
| DEVELOPER-ADVANCED.md | ||
| DEVELOPMENT-OSX-NATIVE.md | ||
| INSTALL-cloud.md | ||
| INSTALL-email.md | ||
| INSTALL.md | ||
| PLUGINS.md | ||
| SECURITY.md | ||
| TESTING.md | ||
| TROUBLESHOOTING.md | ||