Skip to content

Commit 8476169

Browse files
committed
feat(writer-mode): add 'view on mdn' button
1 parent a00f3e1 commit 8476169

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

components/reference-layout/server.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
import { html } from "lit";
1+
import { html, nothing } from "lit";
22

33
import { ArticleFooter } from "../article-footer/server.js";
44
import { BaselineIndicator } from "../baseline-indicator/server.js";
55
import { ContentSection } from "../content-section/server.js";
6+
import { WRITER_MODE } from "../env/index.js";
67
import { LeftSidebar } from "../left-sidebar/server.js";
78
import { ReferenceToc } from "../reference-toc/server.js";
89
import { ServerComponent } from "../server/index.js";
910
import { TranslationBanner } from "../translation-banner/server.js";
11+
import { WriterToolbar } from "../writer-toolbar/server.js";
1012

1113
export class ReferenceLayout extends ServerComponent {
1214
/**
@@ -22,6 +24,7 @@ export class ReferenceLayout extends ServerComponent {
2224
<div class="reference-layout">
2325
<main id="content" class="reference-layout__content">
2426
<div class="reference-layout__header">
27+
${WRITER_MODE ? WriterToolbar.render(context) : nothing}
2528
${TranslationBanner.render(context)}
2629
<h1>${doc.title}</h1>
2730
${BaselineIndicator.render(context)} ${description}

components/writer-toolbar/server.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.writer-toolbar {
2+
margin-top: 1.5rem;
3+
4+
background: var(--color-background-primary);
5+
border: 1px solid var(--color-border-primary);
6+
border-radius: 0.25rem;
7+
}

components/writer-toolbar/server.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { html } from "lit";
2+
3+
import { Button } from "../button/server.js";
4+
import { ServerComponent } from "../server/index.js";
5+
6+
export class WriterToolbar extends ServerComponent {
7+
/**
8+
* @param {import("@fred").Context<import("@rari").DocPage>} context
9+
*/
10+
render(context) {
11+
const prodUrl = new URL(context.url, "https://developer.mozilla.org");
12+
13+
return html`<div class="writer-toolbar">
14+
${Button.render(context, {
15+
label: context.l10n`View on MDN`,
16+
href: prodUrl.toString(),
17+
variant: "plain",
18+
})}
19+
</div>`;
20+
}
21+
}

0 commit comments

Comments
 (0)