chore: style changes
70896a9a
3 file(s) · +44 −39
| 401 | 401 | </div> |
|
| 402 | 402 | ||
| 403 | 403 | <div className="window-body" style={{ margin: 0, padding: "4px 6px" }}> |
|
| 404 | - | {loading && <p style={{ textAlign: "center" }}>Searching...</p>} |
|
| 404 | + | <div |
|
| 405 | + | className="feed" |
|
| 406 | + | style={{ |
|
| 407 | + | height: "70vh", |
|
| 408 | + | overflowY: "auto", |
|
| 409 | + | paddingRight: "5px", |
|
| 410 | + | }} |
|
| 411 | + | > |
|
| 412 | + | {loading && ( |
|
| 413 | + | <p style={{ textAlign: "center", padding: "1rem" }}> |
|
| 414 | + | Searching... |
|
| 415 | + | </p> |
|
| 416 | + | )} |
|
| 405 | 417 | ||
| 406 | - | {error && ( |
|
| 407 | - | <div |
|
| 408 | - | style={{ |
|
| 409 | - | padding: "10px", |
|
| 410 | - | background: "#ffefef", |
|
| 411 | - | border: "1px solid #ff0000", |
|
| 412 | - | }} |
|
| 413 | - | > |
|
| 414 | - | <p>Error: {error}</p> |
|
| 415 | - | </div> |
|
| 416 | - | )} |
|
| 418 | + | {error && ( |
|
| 419 | + | <div |
|
| 420 | + | style={{ |
|
| 421 | + | padding: "10px", |
|
| 422 | + | background: "#ffefef", |
|
| 423 | + | border: "1px solid #ff0000", |
|
| 424 | + | }} |
|
| 425 | + | > |
|
| 426 | + | <p>Error: {error}</p> |
|
| 427 | + | </div> |
|
| 428 | + | )} |
|
| 417 | 429 | ||
| 418 | - | {!loading && !error && ( |
|
| 419 | - | <div |
|
| 420 | - | className="feed" |
|
| 421 | - | style={{ |
|
| 422 | - | maxHeight: "70vh", |
|
| 423 | - | overflowY: "auto", |
|
| 424 | - | paddingRight: "5px", |
|
| 425 | - | }} |
|
| 426 | - | > |
|
| 430 | + | {!loading && !error && ( |
|
| 431 | + | <> |
|
| 427 | 432 | <div |
|
| 428 | 433 | style={{ |
|
| 429 | 434 | background: "#ffffff", |
|
| 488 | 493 | target="_blank" |
|
| 489 | 494 | rel="noreferrer" |
|
| 490 | 495 | > |
|
| 491 | - | ATProto |
|
| 496 | + | atproto |
|
| 492 | 497 | </a> |
|
| 493 | 498 | , a new protocol to power connections across the web. |
|
| 494 | 499 | </p> |
|
| 528 | 533 | style={{ |
|
| 529 | 534 | width: "88px", |
|
| 530 | 535 | height: "88px", |
|
| 531 | - | objectFit: "scale-down", |
|
| 536 | + | objectFit: "cover", |
|
| 532 | 537 | border: "1px solid #d0d0d0", |
|
| 533 | 538 | }} |
|
| 534 | 539 | /> |
|
| 583 | 588 | fontSize: "12px", |
|
| 584 | 589 | color: "#666", |
|
| 585 | 590 | lineHeight: "1.4", |
|
| 591 | + | overflowWrap: "anywhere", |
|
| 592 | + | wordBreak: "break-word", |
|
| 586 | 593 | }} |
|
| 587 | 594 | > |
|
| 588 | 595 | {truncateText(getDescription(doc), 150)} |
|
| 650 | 657 | </div> |
|
| 651 | 658 | ))} |
|
| 652 | 659 | {documents.length === 0 && <p>No documents found.</p>} |
|
| 653 | - | </div> |
|
| 654 | - | )} |
|
| 660 | + | </> |
|
| 661 | + | )} |
|
| 662 | + | </div> |
|
| 655 | 663 | </div> |
|
| 656 | 664 | <div className="status-bar"> |
|
| 657 | 665 | <p className="status-bar-field">Done</p> |
|
| 1 | 1 | body { |
|
| 2 | - | background: url("./xp.jpg") no-repeat center center fixed; |
|
| 3 | - | background-size: cover; |
|
| 4 | 2 | min-height: 100vh; |
|
| 3 | + | min-height: 100dvh; |
|
| 5 | 4 | display: flex; |
|
| 6 | 5 | align-items: center; |
|
| 7 | 6 | justify-content: center; |
|
| 13 | 12 | padding-right: max(20px, env(safe-area-inset-right)); |
|
| 14 | 13 | overflow: hidden; |
|
| 15 | 14 | box-sizing: border-box; |
|
| 15 | + | } |
|
| 16 | + | ||
| 17 | + | body::before { |
|
| 18 | + | content: ""; |
|
| 19 | + | position: fixed; |
|
| 20 | + | inset: 0; |
|
| 21 | + | background: url("./xp.jpg") no-repeat center center; |
|
| 22 | + | background-size: cover; |
|
| 23 | + | z-index: -1; |
|
| 16 | 24 | } |
|
| 17 | 25 | ||
| 18 | 26 | #root { |
|
| 45 | 45 | } |
|
| 46 | 46 | } |
|
| 47 | 47 | ||
| 48 | - | // Parse content if present |
|
| 49 | - | let content: unknown | undefined; |
|
| 50 | - | if (row.content) { |
|
| 51 | - | try { |
|
| 52 | - | content = JSON.parse(row.content); |
|
| 53 | - | } catch { |
|
| 54 | - | // Ignore parse errors |
|
| 55 | - | } |
|
| 56 | - | } |
|
| 57 | - | ||
| 58 | 48 | return { |
|
| 59 | 49 | uri: row.uri, |
|
| 60 | 50 | did: row.did, |
|
| 63 | 53 | description: row.description || undefined, |
|
| 64 | 54 | path: row.path || undefined, |
|
| 65 | 55 | site: row.site || undefined, |
|
| 66 | - | content, |
|
| 67 | 56 | textContent: row.text_content || undefined, |
|
| 68 | 57 | coverImageCid: row.cover_image_cid || undefined, |
|
| 69 | 58 | coverImageUrl: row.cover_image_url || undefined, |
|
| 86 | 75 | ||
| 87 | 76 | const { results } = await db |
|
| 88 | 77 | .prepare( |
|
| 89 | - | `SELECT uri, did, rkey, title, description, path, site, content, text_content, |
|
| 78 | + | `SELECT uri, did, rkey, title, description, path, site, text_content, |
|
| 90 | 79 | cover_image_cid, cover_image_url, bsky_post_ref, tags, |
|
| 91 | 80 | published_at, updated_at, pub_url, pub_name, pub_description, |
|
| 92 | 81 | pub_icon_cid, pub_icon_url, view_url, pds_endpoint, |
|