tangled
alpha
login
or
join now
leaflet.pub
/
leaflet
289
fork
atom
a tool for shared writing and social publishing
289
fork
atom
overview
issues
28
pulls
pipelines
lil things
cozylittle.house
3 months ago
192b895b
5895efe1
+15
-10
2 changed files
expand all
collapse all
unified
split
app
lish
[did]
[publication]
[rkey]
PostContent.tsx
components
Mention.tsx
+10
-7
app/lish/[did]/[publication]/[rkey]/PostContent.tsx
···
293
}
294
case PubLeafletBlocksImage.isMain(b.block): {
295
return (
296
-
<div className={`relative flex ${alignment}`} {...blockProps}>
0
0
0
297
<img
298
alt={b.block.alt}
299
height={b.block.aspectRatio?.height}
···
321
return (
322
// all this margin stuff is a highly unfortunate hack so that the border-l on blockquote is the height of just the text rather than the height of the block, which includes padding.
323
<blockquote
324
-
className={` blockquote py-0! mb-2! ${className} ${PubLeafletBlocksBlockquote.isMain(previousBlock?.block) ? "-mt-2! pt-3!" : "mt-1!"}`}
325
{...blockProps}
326
>
327
<TextBlock
···
336
}
337
case PubLeafletBlocksText.isMain(b.block):
338
return (
339
-
<p className={` ${className}`} {...blockProps}>
340
<TextBlock
341
facets={b.block.facets}
342
plaintext={b.block.plaintext}
···
349
case PubLeafletBlocksHeader.isMain(b.block): {
350
if (b.block.level === 1)
351
return (
352
-
<h2 className={`${className}`} {...blockProps}>
353
<TextBlock
354
{...b.block}
355
index={index}
···
360
);
361
if (b.block.level === 2)
362
return (
363
-
<h3 className={`${className}`} {...blockProps}>
364
<TextBlock
365
{...b.block}
366
index={index}
···
371
);
372
if (b.block.level === 3)
373
return (
374
-
<h4 className={`${className}`} {...blockProps}>
375
<TextBlock
376
{...b.block}
377
index={index}
···
383
// if (b.block.level === 4) return <h4>{b.block.plaintext}</h4>;
384
// if (b.block.level === 5) return <h5>{b.block.plaintext}</h5>;
385
return (
386
-
<h6 className={`${className}`} {...blockProps}>
387
<TextBlock
388
{...b.block}
389
index={index}
···
293
}
294
case PubLeafletBlocksImage.isMain(b.block): {
295
return (
296
+
<div
297
+
className={`imageBlock relative flex ${alignment}`}
298
+
{...blockProps}
299
+
>
300
<img
301
alt={b.block.alt}
302
height={b.block.aspectRatio?.height}
···
324
return (
325
// all this margin stuff is a highly unfortunate hack so that the border-l on blockquote is the height of just the text rather than the height of the block, which includes padding.
326
<blockquote
327
+
className={`blockquoteBlock py-0! mb-2! ${className} ${PubLeafletBlocksBlockquote.isMain(previousBlock?.block) ? "-mt-2! pt-3!" : "mt-1!"}`}
328
{...blockProps}
329
>
330
<TextBlock
···
339
}
340
case PubLeafletBlocksText.isMain(b.block):
341
return (
342
+
<p className={`textBlock ${className}`} {...blockProps}>
343
<TextBlock
344
facets={b.block.facets}
345
plaintext={b.block.plaintext}
···
352
case PubLeafletBlocksHeader.isMain(b.block): {
353
if (b.block.level === 1)
354
return (
355
+
<h2 className={`h1Block ${className}`} {...blockProps}>
356
<TextBlock
357
{...b.block}
358
index={index}
···
363
);
364
if (b.block.level === 2)
365
return (
366
+
<h3 className={`h2Block ${className}`} {...blockProps}>
367
<TextBlock
368
{...b.block}
369
index={index}
···
374
);
375
if (b.block.level === 3)
376
return (
377
+
<h4 className={`h3Block ${className}`} {...blockProps}>
378
<TextBlock
379
{...b.block}
380
index={index}
···
386
// if (b.block.level === 4) return <h4>{b.block.plaintext}</h4>;
387
// if (b.block.level === 5) return <h5>{b.block.plaintext}</h5>;
388
return (
389
+
<h6 className={`h6Block ${className}`} {...blockProps}>
390
<TextBlock
391
{...b.block}
392
index={index}
+5
-3
components/Mention.tsx
···
185
onOpenAutoFocus={(e) => e.preventDefault()}
186
className={`dropdownMenu group/mention-menu z-20 bg-bg-page
187
flex data-[side=top]:flex-col-reverse flex-col
188
-
p-1 gap-1
189
border border-border rounded-md shadow-md
190
sm:max-w-xs w-[1000px] max-w-(--radix-popover-content-available-width)
191
max-h-(--radix-popover-content-available-height)
···
193
>
194
{/* Dropdown Header */}
195
<div className="flex flex-col items-center gap-2 px-2 py-1 border-b group-data-[side=top]/mention-menu:border-b-0 group-data-[side=top]/mention-menu:border-t border-border-light">
196
-
<div className="flex items-center gap-1 flex-1 min-w-0">
197
-
<SearchTiny className="w-4 h-4 text-tertiary shrink-0" />
0
0
198
<input
199
ref={inputRef}
200
size={100}
···
185
onOpenAutoFocus={(e) => e.preventDefault()}
186
className={`dropdownMenu group/mention-menu z-20 bg-bg-page
187
flex data-[side=top]:flex-col-reverse flex-col
188
+
p-1 gap-1 text-primary
189
border border-border rounded-md shadow-md
190
sm:max-w-xs w-[1000px] max-w-(--radix-popover-content-available-width)
191
max-h-(--radix-popover-content-available-height)
···
193
>
194
{/* Dropdown Header */}
195
<div className="flex flex-col items-center gap-2 px-2 py-1 border-b group-data-[side=top]/mention-menu:border-b-0 group-data-[side=top]/mention-menu:border-t border-border-light">
196
+
<div className="flex items-center gap-1 flex-1 min-w-0 text-primary">
197
+
<div className="text-tertiary">
198
+
<SearchTiny className="w-4 h-4 shrink-0" />
199
+
</div>
200
<input
201
ref={inputRef}
202
size={100}