@anthusai/papyrus 1.0.0-next.57 → 1.0.0-next.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/newsroom/settings/page.tsx +6 -0
- package/components/newsroom-board-view.tsx +2 -3
- package/components/newsroom-newsprint-board.css +48 -0
- package/components/newsroom-organizer-shell.tsx +2 -2
- package/components/newsroom-organizer.css +7 -3
- package/lib/newsroom-organizer-nav.ts +4 -0
- package/package.json +2 -1
- package/routes.manifest.json +11 -1
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import Link from "next/link";
|
|
5
5
|
import { IssueCollection, IssueDetailPanel, IssueTypeFilter, issueTypeFromFilter } from "@kanbus/ui";
|
|
6
|
-
import "@kanbus/ui/styles/tokens.css";
|
|
7
6
|
import "@kanbus/ui/styles/kanban.css";
|
|
8
|
-
import "
|
|
7
|
+
import "./newsroom-newsprint-board.css";
|
|
9
8
|
import { canReadNewsroomBoard, newsroomBoardConfig, projectNewsroomBoard, type NativeBoardIssue } from "../lib/newsroom-board";
|
|
10
9
|
import { resolveArticlesBackend } from "../lib/newsroom-articles";
|
|
11
10
|
import { SITE_BRAND } from "../lib/site-brand";
|
|
@@ -77,7 +76,7 @@ export function NewsroomBoardView() {
|
|
|
77
76
|
const issue = issues.find(item => item.id === selected);
|
|
78
77
|
if (!allowed) return <NewsDeskAccessGate shell={session?.shell ?? null} />;
|
|
79
78
|
return <NewsroomOpsShell activeTab="work" appTitle={SITE_BRAND.appTitle} backLabel={SITE_BRAND.backToHomeLabel} pageTitle="Board">
|
|
80
|
-
<div className="organizer-native-board
|
|
79
|
+
<div className="organizer-native-board papyrus-newsprint-board" data-color-mode={theme}>
|
|
81
80
|
<div className="organizer-board-toolbar">
|
|
82
81
|
<IssueTypeFilter config={config} value={filter} onChange={value => { setFilter(value); setSelected(null); }} name="Record type" />
|
|
83
82
|
<div role="group" aria-label="Record presentation"><button type="button" aria-pressed={view === "board"} onClick={() => setView("board")}>Board</button><button type="button" aria-pressed={view === "list"} onClick={() => setView("list")}>List</button><button type="button" disabled={loading} onClick={() => setRevision(current => current + 1)}>Refresh records</button></div>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
.papyrus-newsprint-board {
|
|
2
|
+
--background: var(--org-paper);
|
|
3
|
+
--card: var(--org-paper);
|
|
4
|
+
--frame: var(--org-paper);
|
|
5
|
+
--column: var(--org-paper);
|
|
6
|
+
--border: var(--org-line);
|
|
7
|
+
--text-foreground: var(--org-ink);
|
|
8
|
+
--text-muted: var(--org-muted);
|
|
9
|
+
--text-selected: var(--org-ink);
|
|
10
|
+
--font-body: Newsroom UI, system-ui, sans-serif;
|
|
11
|
+
--kb-column-width: 245px;
|
|
12
|
+
--kb-column-radius: 0;
|
|
13
|
+
--kb-card-radius: 0;
|
|
14
|
+
--kb-card-border-width: 0;
|
|
15
|
+
--kb-card-shadow: none;
|
|
16
|
+
--kb-card-selected-shadow: none;
|
|
17
|
+
--kb-board-gap: 18px;
|
|
18
|
+
color: var(--org-ink);
|
|
19
|
+
background: transparent;
|
|
20
|
+
}
|
|
21
|
+
.papyrus-newsprint-board .kb-grid { height: 100%; min-height: 0; scrollbar-width: thin; }
|
|
22
|
+
.papyrus-newsprint-board .kb-column { border-left: 1px solid var(--org-line); padding-left: 10px; }
|
|
23
|
+
.papyrus-newsprint-board .kb-column-header {
|
|
24
|
+
border-bottom: 2px solid var(--org-ink);
|
|
25
|
+
padding: 5px 0;
|
|
26
|
+
font: 700 12px Newsroom Display, Georgia, serif;
|
|
27
|
+
text-transform: uppercase;
|
|
28
|
+
letter-spacing: .6px;
|
|
29
|
+
min-height: 32px;
|
|
30
|
+
}
|
|
31
|
+
.papyrus-newsprint-board .issue-card {
|
|
32
|
+
--issue-accent: var(--org-paper) !important;
|
|
33
|
+
--issue-accent-muted: var(--muted) !important;
|
|
34
|
+
--issue-accent-foreground: var(--org-ink) !important;
|
|
35
|
+
--issue-priority-bg: var(--org-paper) !important;
|
|
36
|
+
background: transparent !important;
|
|
37
|
+
border-radius: 0;
|
|
38
|
+
border-bottom: 1px solid var(--org-line) !important;
|
|
39
|
+
box-shadow: none !important;
|
|
40
|
+
}
|
|
41
|
+
.papyrus-newsprint-board .issue-accent-bar { border-bottom: 1px solid var(--org-line); background: var(--org-paper) !important; color: var(--org-ink) !important; }
|
|
42
|
+
.papyrus-newsprint-board .issue-accent-id { font: 400 9px Newsroom UI, system-ui, sans-serif; letter-spacing: .8px; white-space: nowrap; color: var(--org-ink) !important; }
|
|
43
|
+
.papyrus-newsprint-board .issue-accent-priority { border-radius: 0; color: var(--org-muted) !important; background: transparent !important; font-size: 8px; }
|
|
44
|
+
.papyrus-newsprint-board .issue-card h3 { font: 700 19px/1.2 Newsroom Display, Georgia, serif !important; letter-spacing: -.2px; }
|
|
45
|
+
.papyrus-newsprint-board .issue-card[data-selected=true] { outline: 2px solid var(--org-ink); outline-offset: -2px; }
|
|
46
|
+
.papyrus-newsprint-board .issue-card[data-selected=true] h3 { color: var(--org-ink) !important; }
|
|
47
|
+
.papyrus-newsprint-board .kb-issue-detail { background: var(--org-paper); border: 1px solid var(--org-line); border-radius: 0; box-shadow: none; }
|
|
48
|
+
.papyrus-newsprint-board .kb-issue-detail h2 { font: 700 28px/1.2 Newsroom Display, Georgia, serif; border-bottom: 3px double var(--org-ink); padding-bottom: 12px; }
|
|
@@ -4,7 +4,7 @@ import { useEffect, useId, useState } from "react";
|
|
|
4
4
|
import Link from "next/link";
|
|
5
5
|
import { usePathname } from "next/navigation";
|
|
6
6
|
import { BookOpen, ClipboardList, LayoutDashboard, Menu, MessagesSquare, PanelLeftClose, PanelLeftOpen, Settings, UserRound, LogIn, LogOut } from "lucide-react";
|
|
7
|
-
import { ORGANIZER_NAV_GROUPS, ORGANIZER_PRIMARY_NAV } from "../lib/newsroom-organizer-nav";
|
|
7
|
+
import { ORGANIZER_NAV_GROUPS, ORGANIZER_PRIMARY_NAV, ORGANIZER_SETTINGS_DESTINATION } from "../lib/newsroom-organizer-nav";
|
|
8
8
|
import { browserPathToInternalNewsroomPath } from "../lib/newsroom-base-path";
|
|
9
9
|
import { getNewsroomNavHref } from "../lib/newsroom-nav";
|
|
10
10
|
import { SITE_BRAND } from "../lib/site-brand";
|
|
@@ -52,7 +52,7 @@ function Account({ placement }: { placement: "sidebar" | "header" }) {
|
|
|
52
52
|
<DropdownMenuContent className="organizer-account-popup" side={placement === "sidebar" ? "top" : "bottom"} align="end">
|
|
53
53
|
<DropdownMenuGroup>
|
|
54
54
|
<DropdownMenuLabel>{auth.label}</DropdownMenuLabel><DropdownMenuSeparator />
|
|
55
|
-
<DropdownMenuItem render={<Link href=
|
|
55
|
+
<DropdownMenuItem render={<Link href={ORGANIZER_SETTINGS_DESTINATION.path} />}><Settings aria-hidden="true" />{ORGANIZER_SETTINGS_DESTINATION.label}</DropdownMenuItem>
|
|
56
56
|
<ReaderAuthControl authState={auth} renderAction={({ disabled, onClick, signedIn }) => <DropdownMenuItem disabled={disabled} closeOnClick={false} onClick={onClick}>
|
|
57
57
|
{signedIn ? <LogOut aria-hidden="true" /> : <LogIn aria-hidden="true" />}{signedIn ? "Sign out" : "Sign in"}
|
|
58
58
|
</DropdownMenuItem>} />
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
.newsroom-organizer,.organizer-menu,.organizer-account-popup{--org-paper:var(--background);--org-ink:var(--foreground);--org-line:var(--border);--org-muted:var(--muted-foreground);font-family:Newsroom UI,system-ui,sans-serif;color:var(--org-ink);background:var(--org-paper)}
|
|
6
6
|
.newsroom-organizer{display:grid;grid-template-columns:264px minmax(0,1fr);height:100dvh;max-height:100dvh;overflow:clip;font-size:14px}
|
|
7
7
|
.newsroom-organizer[data-sidebar-collapsed=true]{grid-template-columns:minmax(0,1fr)}
|
|
8
|
+
body:has(.newsroom-organizer){display:flex;flex-direction:column;height:100dvh;overflow:hidden}
|
|
9
|
+
body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
10
|
+
.papyrus-console-page:has(.newsroom-organizer){display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}
|
|
11
|
+
.papyrus-console-page .newsroom-organizer{height:100%;max-height:100%;flex:1}
|
|
8
12
|
.newsroom-organizer h1,.newsroom-organizer h2,.newsroom-organizer h3{font-family:Newsroom Display,Georgia,serif}
|
|
9
13
|
.organizer-sidebar{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--org-line);padding:16px;gap:16px;overflow:hidden}
|
|
10
14
|
.organizer-sidebar[hidden]{display:none}.organizer-brand{font:900 40px/1.1 Newsroom Display,Georgia,serif;padding-bottom:20px;border-bottom:3px double var(--org-ink)}
|
|
@@ -31,12 +35,12 @@
|
|
|
31
35
|
.organizer-account-popup [role=menuitem]{min-height:40px;font-size:12px}.organizer-account-popup .reader-auth{display:contents}.organizer-account-popup .reader-auth__error{display:block;white-space:normal;font-size:11px;padding:8px}
|
|
32
36
|
.organizer-bottom-nav{display:none}
|
|
33
37
|
.organizer-main:has(.organizer-native-board){display:flex;overflow:hidden}
|
|
34
|
-
.organizer-native-board
|
|
38
|
+
.organizer-native-board{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:12px}
|
|
35
39
|
.organizer-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap}
|
|
36
40
|
.organizer-board-toolbar [role=group],.organizer-board-pages{display:flex;gap:8px;flex-wrap:wrap}
|
|
37
41
|
.organizer-board-toolbar button,.organizer-board-pages button{min-height:44px;padding:8px 12px;border:1px solid var(--org-line)}
|
|
38
|
-
.organizer-board-toolbar button[aria-pressed=true]{background:var(--
|
|
39
|
-
.organizer-board-note{font-size:11px;line-height:1.5;margin:0;color:var(--
|
|
42
|
+
.organizer-board-toolbar button[aria-pressed=true]{background:var(--org-ink);color:var(--org-paper)}
|
|
43
|
+
.organizer-board-note{font-size:11px;line-height:1.5;margin:0;color:var(--org-muted)}
|
|
40
44
|
.organizer-board-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-width:0;min-height:0;gap:16px}
|
|
41
45
|
.organizer-board-body[data-detail-open=true]{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}
|
|
42
46
|
.organizer-board-body>.kb-issue-collection{height:100%;min-height:0;overflow:auto}
|
|
@@ -28,3 +28,7 @@ export const ORGANIZER_NAV_GROUPS: readonly { title: string; items: readonly Org
|
|
|
28
28
|
];
|
|
29
29
|
const all = ORGANIZER_NAV_GROUPS.flatMap(group => group.items);
|
|
30
30
|
export const ORGANIZER_PRIMARY_NAV = ["overview", "board", "references", "messages"].map(key => all.find(item => item.key === key)!);
|
|
31
|
+
|
|
32
|
+
export const ORGANIZER_SETTINGS_DESTINATION = {
|
|
33
|
+
label: "Settings", path: "/settings", description: "Theme, motion and interface preferences.",
|
|
34
|
+
} as const;
|
package/package.json
CHANGED
|
@@ -268,6 +268,7 @@
|
|
|
268
268
|
"./app/newsroom/layout": "./app/newsroom/layout.tsx",
|
|
269
269
|
"./app/newsroom/page": "./app/newsroom/page.tsx",
|
|
270
270
|
"./app/newsroom/sections/[sectionId]/page": "./app/newsroom/sections/[sectionId]/page.tsx",
|
|
271
|
+
"./app/newsroom/settings/page": "./app/newsroom/settings/page.tsx",
|
|
271
272
|
"./app/newsroom/work/page": "./app/newsroom/work/page.tsx",
|
|
272
273
|
"./app/page": "./app/page.tsx",
|
|
273
274
|
"./app/robots": "./app/robots.ts",
|
|
@@ -318,7 +319,7 @@
|
|
|
318
319
|
"optional": true
|
|
319
320
|
}
|
|
320
321
|
},
|
|
321
|
-
"version": "1.0.0-next.
|
|
322
|
+
"version": "1.0.0-next.59",
|
|
322
323
|
"dependencies": {
|
|
323
324
|
"@aws-amplify/adapter-nextjs": "^1.7.3",
|
|
324
325
|
"@aws-sdk/client-cognito-identity-provider": "3.1045.0",
|
package/routes.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.0-next.
|
|
2
|
+
"version": "1.0.0-next.59",
|
|
3
3
|
"routes": [
|
|
4
4
|
{
|
|
5
5
|
"file": "app/%5F_preview/[[...path]]/route.ts",
|
|
@@ -193,6 +193,16 @@
|
|
|
193
193
|
"dynamic": "\"force-dynamic\""
|
|
194
194
|
}
|
|
195
195
|
},
|
|
196
|
+
{
|
|
197
|
+
"file": "app/newsroom/settings/page.tsx",
|
|
198
|
+
"hasDefault": true,
|
|
199
|
+
"exports": [
|
|
200
|
+
"metadata"
|
|
201
|
+
],
|
|
202
|
+
"config": {
|
|
203
|
+
"dynamic": "\"force-dynamic\""
|
|
204
|
+
}
|
|
205
|
+
},
|
|
196
206
|
{
|
|
197
207
|
"file": "app/newsroom/work/page.tsx",
|
|
198
208
|
"hasDefault": true,
|