@meith/theme-raidframe 0.33.2 → 0.33.3
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/package.json +4 -4
- package/src/slots/board-index.tsx +8 -8
- package/src/slots/header.tsx +45 -17
- package/src/slots/panel-shell.tsx +7 -3
- package/src/slots/post-bit.tsx +2 -2
- package/src/theme.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meith/theme-raidframe",
|
|
3
|
-
"version": "0.33.
|
|
3
|
+
"version": "0.33.3",
|
|
4
4
|
"description": "A gaming theme for Meith — guild, raid and match boards — built on the default theme's slots.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@meith/theme-default": "^0.33.
|
|
24
|
-
"@meith/theme-kit": "^0.33.
|
|
25
|
-
"@meith/ui": "^0.33.
|
|
23
|
+
"@meith/theme-default": "^0.33.3",
|
|
24
|
+
"@meith/theme-kit": "^0.33.3",
|
|
25
|
+
"@meith/ui": "^0.33.3"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^19.2.0"
|
|
@@ -18,6 +18,14 @@ export function BoardIndex({
|
|
|
18
18
|
<div className="flex flex-col gap-4 empty:hidden">{regions.announcements}</div>
|
|
19
19
|
)}
|
|
20
20
|
|
|
21
|
+
{markAllReadAction !== null && (
|
|
22
|
+
<form action={markAllReadAction} method="post" className="self-end">
|
|
23
|
+
<button type="submit" className={BUTTON}>
|
|
24
|
+
{c('markAllRead')}
|
|
25
|
+
</button>
|
|
26
|
+
</form>
|
|
27
|
+
)}
|
|
28
|
+
|
|
21
29
|
<div className="flex flex-col gap-4 lg:flex-row lg:items-start">
|
|
22
30
|
<div className="flex min-w-0 flex-1 flex-col gap-4">{regions.categories}</div>
|
|
23
31
|
|
|
@@ -29,14 +37,6 @@ export function BoardIndex({
|
|
|
29
37
|
</div>
|
|
30
38
|
|
|
31
39
|
{regions.plugins}
|
|
32
|
-
|
|
33
|
-
{markAllReadAction !== null && (
|
|
34
|
-
<form action={markAllReadAction} method="post">
|
|
35
|
-
<button type="submit" className={BUTTON}>
|
|
36
|
-
{c('markAllRead')}
|
|
37
|
-
</button>
|
|
38
|
-
</form>
|
|
39
|
-
)}
|
|
40
40
|
</div>
|
|
41
41
|
)
|
|
42
42
|
}
|
package/src/slots/header.tsx
CHANGED
|
@@ -116,6 +116,23 @@ function MobileNavItem({ item }: { item: HeaderModel['navigation'][number] }) {
|
|
|
116
116
|
)
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
function MenuGlyph() {
|
|
120
|
+
return (
|
|
121
|
+
<svg
|
|
122
|
+
aria-hidden="true"
|
|
123
|
+
viewBox="0 0 20 20"
|
|
124
|
+
className="size-5"
|
|
125
|
+
fill="none"
|
|
126
|
+
stroke="currentColor"
|
|
127
|
+
strokeWidth="1.75"
|
|
128
|
+
strokeLinecap="round"
|
|
129
|
+
>
|
|
130
|
+
<path className="group-open/menu:hidden" d="M3 5.5h14M3 10h14M3 14.5h14" />
|
|
131
|
+
<path className="hidden group-open/menu:block" d="m5 5 10 10M15 5 5 15" />
|
|
132
|
+
</svg>
|
|
133
|
+
)
|
|
134
|
+
}
|
|
135
|
+
|
|
119
136
|
export function Header({
|
|
120
137
|
boardTitle,
|
|
121
138
|
homeHref,
|
|
@@ -127,7 +144,7 @@ export function Header({
|
|
|
127
144
|
const c = (key: string) => fromSlotCopy(copy, `raidframe.header.${key}`)
|
|
128
145
|
|
|
129
146
|
return (
|
|
130
|
-
<header>
|
|
147
|
+
<header className="relative">
|
|
131
148
|
<div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-3 border-b border-border bg-surface px-4 py-3">
|
|
132
149
|
<a href={homeHref} className="group inline-flex items-center gap-3 hover:text-primary">
|
|
133
150
|
<span
|
|
@@ -136,13 +153,38 @@ export function Header({
|
|
|
136
153
|
/>
|
|
137
154
|
<BoardMark boardTitle={boardTitle} logo={logo} />
|
|
138
155
|
</a>
|
|
139
|
-
|
|
156
|
+
<div className="flex min-w-0 items-center gap-3">
|
|
157
|
+
{children}
|
|
158
|
+
{navigation.length > 0 && (
|
|
159
|
+
<nav aria-label={c('sectionsAriaLabel')} data-nav-view="mobile" className="lg:hidden">
|
|
160
|
+
<details data-nav-disclosure className="group/menu">
|
|
161
|
+
<summary
|
|
162
|
+
className={`border border-border bg-card text-foreground hover:border-primary/60 hover:text-primary group-open/menu:border-primary group-open/menu:text-primary flex size-10 cursor-default list-none items-center justify-center select-none [&::-webkit-details-marker]:hidden [&::marker]:content-none`}
|
|
163
|
+
>
|
|
164
|
+
<MenuGlyph />
|
|
165
|
+
<span className="sr-only">{c('sectionsAriaLabel')}</span>
|
|
166
|
+
</summary>
|
|
167
|
+
|
|
168
|
+
<div className="absolute inset-x-0 top-full z-30 max-h-[calc(100dvh-4rem)] overflow-y-auto border-b border-border bg-card shadow-elevation">
|
|
169
|
+
<ul className="flex flex-col gap-0.5 px-4 py-2">
|
|
170
|
+
{navigation.map((item) => (
|
|
171
|
+
<MobileNavItem key={item.href} item={item} />
|
|
172
|
+
))}
|
|
173
|
+
</ul>
|
|
174
|
+
</div>
|
|
175
|
+
</details>
|
|
176
|
+
</nav>
|
|
177
|
+
)}
|
|
178
|
+
</div>
|
|
140
179
|
</div>
|
|
141
180
|
|
|
142
181
|
<div className={RULE} aria-hidden="true" />
|
|
143
182
|
|
|
144
183
|
{navigation.length > 0 && (
|
|
145
|
-
<nav
|
|
184
|
+
<nav
|
|
185
|
+
aria-label={c('sectionsAriaLabel')}
|
|
186
|
+
className="hidden border-b border-border bg-card/60 lg:block"
|
|
187
|
+
>
|
|
146
188
|
<div data-nav-view="desktop" className="hidden flex-wrap lg:flex">
|
|
147
189
|
{navigation.map((item) => (
|
|
148
190
|
<span key={item.href} className="group relative">
|
|
@@ -157,20 +199,6 @@ export function Header({
|
|
|
157
199
|
</span>
|
|
158
200
|
))}
|
|
159
201
|
</div>
|
|
160
|
-
|
|
161
|
-
<div data-nav-view="mobile" className="px-4 py-1 lg:hidden">
|
|
162
|
-
<details data-nav-disclosure className="group">
|
|
163
|
-
<summary className="flex min-h-11 cursor-default list-none items-center gap-2 font-mono text-[0.6875rem] font-semibold tracking-[0.14em] text-foreground uppercase select-none [&::-webkit-details-marker]:hidden [&::marker]:content-none">
|
|
164
|
-
<Chevron className="size-3 shrink-0 transition-transform group-open:rotate-90" />
|
|
165
|
-
{c('sectionsAriaLabel')}
|
|
166
|
-
</summary>
|
|
167
|
-
<ul className="flex flex-col gap-0.5 pb-2">
|
|
168
|
-
{navigation.map((item) => (
|
|
169
|
-
<MobileNavItem key={item.href} item={item} />
|
|
170
|
-
))}
|
|
171
|
-
</ul>
|
|
172
|
-
</details>
|
|
173
|
-
</div>
|
|
174
202
|
</nav>
|
|
175
203
|
)}
|
|
176
204
|
</header>
|
|
@@ -13,11 +13,15 @@ export function PanelShell({ panel, links, linksLabel, regions, children }: Pane
|
|
|
13
13
|
{regions.nav}
|
|
14
14
|
|
|
15
15
|
{links.length > 0 && (
|
|
16
|
-
<nav aria-label={linksLabel} className="border
|
|
17
|
-
<
|
|
16
|
+
<nav aria-label={linksLabel} className="border border-border bg-card">
|
|
17
|
+
<p className={`${MICRO} border-b border-border px-3 py-2`}>{linksLabel}</p>
|
|
18
|
+
<ul className="flex flex-col p-1">
|
|
18
19
|
{links.map((link) => (
|
|
19
20
|
<li key={link.href}>
|
|
20
|
-
<a
|
|
21
|
+
<a
|
|
22
|
+
href={link.href}
|
|
23
|
+
className="block px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:bg-surface hover:text-primary"
|
|
24
|
+
>
|
|
21
25
|
{link.label}
|
|
22
26
|
</a>
|
|
23
27
|
</li>
|
package/src/slots/post-bit.tsx
CHANGED
|
@@ -162,7 +162,7 @@ export function PostBit({ post, select, regions, copy }: PostBitSlotModel & { co
|
|
|
162
162
|
</dl>
|
|
163
163
|
</div>
|
|
164
164
|
|
|
165
|
-
<div className="min-w-0">
|
|
165
|
+
<div className="flex min-w-0 flex-col">
|
|
166
166
|
<div className="flex items-center justify-between gap-2 border-b border-border bg-card px-3 py-1.5">
|
|
167
167
|
<Stamp at={post.postedAt} className={`${MICRO} normal-case`} />
|
|
168
168
|
<a
|
|
@@ -227,7 +227,7 @@ export function PostBit({ post, select, regions, copy }: PostBitSlotModel & { co
|
|
|
227
227
|
)}
|
|
228
228
|
|
|
229
229
|
{regions.actions !== null && (
|
|
230
|
-
<div className="border-t border-border bg-surface/60 px-3 py-1.5 empty:hidden">
|
|
230
|
+
<div className="mt-auto border-t border-border bg-surface/60 px-3 py-1.5 empty:hidden">
|
|
231
231
|
{regions.actions}
|
|
232
232
|
</div>
|
|
233
233
|
)}
|
package/src/theme.ts
CHANGED