anentrypoint-design 0.0.67 → 0.0.70
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-shell.css +2001 -0
- package/colors_and_type.css +625 -0
- package/dist/247420.app.js +4 -2
- package/dist/247420.css +362 -8
- package/dist/247420.js +32 -30
- package/package.json +5 -1
- package/src/components/community.js +165 -0
- package/src/components/freddie.js +112 -0
- package/src/components.js +13 -0
- package/src/index.js +1 -0
package/dist/247420.css
CHANGED
|
@@ -676,7 +676,8 @@
|
|
|
676
676
|
}
|
|
677
677
|
}
|
|
678
678
|
|
|
679
|
-
.ds-247420 [data-theme="dark"]
|
|
679
|
+
.ds-247420 [data-theme="dark"],
|
|
680
|
+
.ds-247420 [data-theme="ink"] {
|
|
680
681
|
--panel-0: #1A1B1E;
|
|
681
682
|
--panel-1: #232428;
|
|
682
683
|
--panel-2: #2B2D31;
|
|
@@ -724,7 +725,8 @@
|
|
|
724
725
|
--bg-2: var(--panel-2);
|
|
725
726
|
}
|
|
726
727
|
}
|
|
727
|
-
.ds-247420 [data-theme="dark"]
|
|
728
|
+
.ds-247420 [data-theme="dark"],
|
|
729
|
+
.ds-247420 [data-theme="ink"] { --fg: var(--panel-text); --fg-3: var(--panel-text-3); --bg: var(--panel-0); --bg-2: var(--panel-2); }
|
|
728
730
|
.ds-247420 [data-theme="light"] { --fg: var(--panel-text); --fg-3: var(--panel-text-3); --bg: var(--panel-0); --bg-2: var(--panel-2); }
|
|
729
731
|
|
|
730
732
|
/* Contrast safety on any acid/lime/mint surface — text must be ink,
|
|
@@ -757,16 +759,14 @@
|
|
|
757
759
|
.ds-247420 :focus-visible { outline: 2px solid var(--panel-accent) !important; outline-offset: 2px; }
|
|
758
760
|
.ds-247420, .ds-247420 body { margin: 0; padding: 0; }
|
|
759
761
|
|
|
760
|
-
/*
|
|
761
|
-
in some reset contexts; restore sane defaults so raw elements look right. */
|
|
762
|
+
/* Button base reset — bare <button> is unstyled; use .btn/.btn-primary/.btn-ghost for styled buttons. */
|
|
762
763
|
.ds-247420 button {
|
|
763
|
-
padding:
|
|
764
|
-
|
|
764
|
+
padding: 0;
|
|
765
|
+
background: none;
|
|
765
766
|
font-family: var(--ff-ui);
|
|
766
767
|
font-size: var(--fs-sm);
|
|
767
768
|
cursor: pointer;
|
|
768
|
-
|
|
769
|
-
color: var(--fg);
|
|
769
|
+
color: inherit;
|
|
770
770
|
}
|
|
771
771
|
.ds-247420 textarea {
|
|
772
772
|
padding: 10px 12px;
|
|
@@ -2420,3 +2420,357 @@
|
|
|
2420
2420
|
.ds-247420 .ds-file-stage { padding: var(--space-4) var(--space-5); }
|
|
2421
2421
|
.ds-247420 .ds-meta-mono { color: var(--panel-text-3); font-family: var(--ff-mono); font-size: var(--fs-xs); }
|
|
2422
2422
|
.ds-247420 .ds-error-banner { background: var(--flame); color: var(--ink); padding: var(--space-2) var(--space-3); border-radius: var(--r-3); margin-bottom: var(--space-3); cursor: pointer; }
|
|
2423
|
+
|
|
2424
|
+
/* ============================================================
|
|
2425
|
+
Community shell — Discord-style server rail + channel sidebar
|
|
2426
|
+
+ member list + voice strip. Tokens-only, ink/dark ready.
|
|
2427
|
+
============================================================ */
|
|
2428
|
+
|
|
2429
|
+
.ds-247420 .cm-shell {
|
|
2430
|
+
display: flex;
|
|
2431
|
+
flex-direction: row;
|
|
2432
|
+
height: 100vh;
|
|
2433
|
+
width: 100%;
|
|
2434
|
+
overflow: hidden;
|
|
2435
|
+
background: var(--panel-0);
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
/* Server rail */
|
|
2439
|
+
.ds-247420 .cm-server-rail {
|
|
2440
|
+
display: flex;
|
|
2441
|
+
flex-direction: column;
|
|
2442
|
+
align-items: center;
|
|
2443
|
+
width: 72px;
|
|
2444
|
+
min-width: 72px;
|
|
2445
|
+
background: var(--panel-0);
|
|
2446
|
+
padding: 8px 0;
|
|
2447
|
+
gap: 4px;
|
|
2448
|
+
overflow-y: auto;
|
|
2449
|
+
overflow-x: hidden;
|
|
2450
|
+
scrollbar-width: none;
|
|
2451
|
+
flex-shrink: 0;
|
|
2452
|
+
}
|
|
2453
|
+
.ds-247420 .cm-server-rail::-webkit-scrollbar { display: none; }
|
|
2454
|
+
|
|
2455
|
+
.ds-247420 .cm-server-back {
|
|
2456
|
+
display: flex; align-items: center; justify-content: center;
|
|
2457
|
+
width: 48px; height: 32px;
|
|
2458
|
+
color: var(--panel-text-2);
|
|
2459
|
+
text-decoration: none;
|
|
2460
|
+
font-family: var(--ff-mono);
|
|
2461
|
+
font-size: 16px; font-weight: 700;
|
|
2462
|
+
flex-shrink: 0; margin-bottom: 4px;
|
|
2463
|
+
transition: color 0.15s;
|
|
2464
|
+
}
|
|
2465
|
+
.ds-247420 .cm-server-back:hover { color: var(--panel-text); }
|
|
2466
|
+
|
|
2467
|
+
.ds-247420 .cm-server-sep {
|
|
2468
|
+
width: 32px; height: 2px;
|
|
2469
|
+
background: var(--panel-2);
|
|
2470
|
+
border-radius: 1px; margin: 4px 0;
|
|
2471
|
+
flex-shrink: 0;
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
.ds-247420 .cm-server-icon {
|
|
2475
|
+
position: relative;
|
|
2476
|
+
width: 48px; height: 48px;
|
|
2477
|
+
border-radius: 50%;
|
|
2478
|
+
background: var(--panel-2);
|
|
2479
|
+
color: var(--panel-text-2);
|
|
2480
|
+
display: flex; align-items: center; justify-content: center;
|
|
2481
|
+
font-weight: 600; font-size: 18px;
|
|
2482
|
+
cursor: pointer;
|
|
2483
|
+
transition: border-radius 0.15s, background 0.15s, color 0.15s;
|
|
2484
|
+
flex-shrink: 0; user-select: none;
|
|
2485
|
+
border: 2px solid transparent;
|
|
2486
|
+
}
|
|
2487
|
+
.ds-247420 .cm-server-icon:hover, .ds-247420 .cm-server-icon.active {
|
|
2488
|
+
border-radius: 30%;
|
|
2489
|
+
background: var(--panel-accent);
|
|
2490
|
+
color: var(--panel-accent-fg);
|
|
2491
|
+
}
|
|
2492
|
+
.ds-247420 .cm-server-icon img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
|
|
2493
|
+
|
|
2494
|
+
.ds-247420 .cm-server-pill {
|
|
2495
|
+
position: absolute;
|
|
2496
|
+
left: -8px; top: 50%; transform: translateY(-50%);
|
|
2497
|
+
width: 4px;
|
|
2498
|
+
background: var(--panel-text);
|
|
2499
|
+
border-radius: 0 2px 2px 0;
|
|
2500
|
+
height: 0; transition: height 0.15s;
|
|
2501
|
+
}
|
|
2502
|
+
.ds-247420 .cm-server-icon:hover .cm-server-pill { height: 20px; }
|
|
2503
|
+
.ds-247420 .cm-server-icon.active .cm-server-pill { height: 40px; }
|
|
2504
|
+
|
|
2505
|
+
.ds-247420 .cm-server-badge {
|
|
2506
|
+
position: absolute; bottom: -2px; right: -2px;
|
|
2507
|
+
background: var(--warn); color: #fff;
|
|
2508
|
+
border-radius: 50%; min-width: 16px; height: 16px;
|
|
2509
|
+
display: flex; align-items: center; justify-content: center;
|
|
2510
|
+
font-size: 9px; font-weight: 600; border: 2px solid var(--panel-0);
|
|
2511
|
+
}
|
|
2512
|
+
|
|
2513
|
+
.ds-247420 .cm-server-add {
|
|
2514
|
+
width: 48px; height: 48px;
|
|
2515
|
+
border-radius: 50%;
|
|
2516
|
+
background: var(--panel-2);
|
|
2517
|
+
color: var(--panel-accent);
|
|
2518
|
+
font-size: 24px;
|
|
2519
|
+
cursor: pointer;
|
|
2520
|
+
display: flex; align-items: center; justify-content: center;
|
|
2521
|
+
transition: border-radius 0.15s, background 0.15s;
|
|
2522
|
+
flex-shrink: 0;
|
|
2523
|
+
}
|
|
2524
|
+
.ds-247420 .cm-server-add:hover { border-radius: 30%; background: var(--panel-accent); color: var(--panel-accent-fg); }
|
|
2525
|
+
|
|
2526
|
+
/* Channel sidebar */
|
|
2527
|
+
.ds-247420 .cm-channel-sidebar {
|
|
2528
|
+
display: flex;
|
|
2529
|
+
flex-direction: column;
|
|
2530
|
+
width: 240px; min-width: 240px;
|
|
2531
|
+
background: var(--panel-1);
|
|
2532
|
+
flex-shrink: 0; overflow: hidden;
|
|
2533
|
+
transition: width 0.2s, min-width 0.2s, opacity 0.2s;
|
|
2534
|
+
}
|
|
2535
|
+
.ds-247420 .cm-channel-sidebar.collapsed { width: 0; min-width: 0; opacity: 0; pointer-events: none; }
|
|
2536
|
+
|
|
2537
|
+
.ds-247420 .cm-server-header {
|
|
2538
|
+
display: flex; align-items: center; justify-content: space-between;
|
|
2539
|
+
padding: 0 12px; height: 48px;
|
|
2540
|
+
background: var(--panel-2); flex-shrink: 0;
|
|
2541
|
+
}
|
|
2542
|
+
.ds-247420 .cm-server-header-name {
|
|
2543
|
+
font-weight: 600; font-size: 14px;
|
|
2544
|
+
color: var(--panel-text);
|
|
2545
|
+
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
2546
|
+
}
|
|
2547
|
+
|
|
2548
|
+
.ds-247420 .cm-channel-list {
|
|
2549
|
+
flex: 1; overflow-y: auto; overflow-x: hidden;
|
|
2550
|
+
padding: 8px 0;
|
|
2551
|
+
scrollbar-width: thin;
|
|
2552
|
+
scrollbar-color: var(--panel-3) transparent;
|
|
2553
|
+
}
|
|
2554
|
+
.ds-247420 .cm-channel-list::-webkit-scrollbar { width: 4px; }
|
|
2555
|
+
.ds-247420 .cm-channel-list::-webkit-scrollbar-thumb { background: var(--panel-3); border-radius: 2px; }
|
|
2556
|
+
|
|
2557
|
+
.ds-247420 .cm-category-header {
|
|
2558
|
+
padding: 12px 8px 2px 16px;
|
|
2559
|
+
font-size: 11px; font-weight: 600;
|
|
2560
|
+
color: var(--panel-text-3);
|
|
2561
|
+
display: flex; align-items: center; gap: 4px;
|
|
2562
|
+
cursor: pointer;
|
|
2563
|
+
}
|
|
2564
|
+
.ds-247420 .cm-category-header:hover { color: var(--panel-text-2); }
|
|
2565
|
+
.ds-247420 .cm-cat-arrow {
|
|
2566
|
+
width: 12px; height: 12px; fill: currentColor;
|
|
2567
|
+
transition: transform 0.15s; flex-shrink: 0;
|
|
2568
|
+
}
|
|
2569
|
+
.ds-247420 .cm-category-header.collapsed .cm-cat-arrow { transform: rotate(-90deg); }
|
|
2570
|
+
.ds-247420 .cm-cat-name { flex: 1; text-transform: uppercase; letter-spacing: 0.04em; }
|
|
2571
|
+
.ds-247420 .cm-cat-add {
|
|
2572
|
+
background: none; color: var(--panel-text-3);
|
|
2573
|
+
font-size: 16px; padding: 0 4px; border-radius: 3px;
|
|
2574
|
+
opacity: 0; transition: opacity 0.1s;
|
|
2575
|
+
cursor: pointer;
|
|
2576
|
+
}
|
|
2577
|
+
.ds-247420 .cm-category-header:hover .cm-cat-add { opacity: 1; }
|
|
2578
|
+
.ds-247420 .cm-cat-add:hover { color: var(--panel-text); }
|
|
2579
|
+
|
|
2580
|
+
.ds-247420 .cm-channel-item {
|
|
2581
|
+
display: flex; align-items: center;
|
|
2582
|
+
padding: 4px 8px 4px 16px;
|
|
2583
|
+
gap: 8px; border-radius: 4px; margin: 1px 8px;
|
|
2584
|
+
cursor: pointer; color: var(--panel-text-3);
|
|
2585
|
+
font-size: 14px; font-weight: 500;
|
|
2586
|
+
transition: background 0.1s, color 0.1s;
|
|
2587
|
+
}
|
|
2588
|
+
.ds-247420 .cm-channel-item:hover { background: var(--panel-hover); color: var(--panel-text-2); }
|
|
2589
|
+
.ds-247420 .cm-channel-item.active { background: var(--panel-2); color: var(--panel-text); }
|
|
2590
|
+
.ds-247420 .cm-ch-icon { font-size: 16px; opacity: 0.6; flex-shrink: 0; }
|
|
2591
|
+
.ds-247420 .cm-ch-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2592
|
+
|
|
2593
|
+
/* User panel */
|
|
2594
|
+
.ds-247420 .cm-user-panel {
|
|
2595
|
+
display: flex; align-items: center; gap: 8px;
|
|
2596
|
+
padding: 8px 12px; height: 52px;
|
|
2597
|
+
background: var(--panel-0); flex-shrink: 0;
|
|
2598
|
+
}
|
|
2599
|
+
.ds-247420 .cm-user-avatar {
|
|
2600
|
+
position: relative;
|
|
2601
|
+
width: 32px; height: 32px; border-radius: 50%;
|
|
2602
|
+
background: var(--panel-accent);
|
|
2603
|
+
color: var(--panel-accent-fg);
|
|
2604
|
+
display: flex; align-items: center; justify-content: center;
|
|
2605
|
+
font-weight: 600; font-size: 14px; cursor: pointer; flex-shrink: 0;
|
|
2606
|
+
}
|
|
2607
|
+
.ds-247420 .cm-user-status-dot {
|
|
2608
|
+
position: absolute; bottom: -1px; right: -1px;
|
|
2609
|
+
width: 10px; height: 10px; border-radius: 50%;
|
|
2610
|
+
background: var(--live); border: 2px solid var(--panel-0);
|
|
2611
|
+
}
|
|
2612
|
+
.ds-247420 .cm-user-info { flex: 1; overflow: hidden; }
|
|
2613
|
+
.ds-247420 .cm-user-name {
|
|
2614
|
+
font-size: 12px; font-weight: 600; color: var(--panel-text);
|
|
2615
|
+
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
2616
|
+
}
|
|
2617
|
+
.ds-247420 .cm-user-tag {
|
|
2618
|
+
font-size: 10px; color: var(--panel-text-3);
|
|
2619
|
+
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
2620
|
+
}
|
|
2621
|
+
.ds-247420 .cm-user-controls { display: flex; gap: 2px; }
|
|
2622
|
+
.ds-247420 .cm-user-btn {
|
|
2623
|
+
background: none; cursor: pointer;
|
|
2624
|
+
color: var(--panel-text-3); padding: 6px; border-radius: 4px;
|
|
2625
|
+
display: flex; align-items: center;
|
|
2626
|
+
transition: background 0.1s, color 0.1s;
|
|
2627
|
+
}
|
|
2628
|
+
.ds-247420 .cm-user-btn:hover { background: var(--panel-2); color: var(--panel-text); }
|
|
2629
|
+
.ds-247420 .cm-user-btn.muted, .ds-247420 .cm-user-btn.deafened { color: var(--warn); }
|
|
2630
|
+
|
|
2631
|
+
/* Main area */
|
|
2632
|
+
.ds-247420 .cm-main {
|
|
2633
|
+
display: flex; flex-direction: column;
|
|
2634
|
+
flex: 1; min-width: 0;
|
|
2635
|
+
background: var(--panel-1); overflow: hidden;
|
|
2636
|
+
}
|
|
2637
|
+
|
|
2638
|
+
/* Chat header bar */
|
|
2639
|
+
.ds-247420 .cm-chat-header {
|
|
2640
|
+
display: flex; align-items: center;
|
|
2641
|
+
height: 48px; padding: 0 16px; gap: 8px;
|
|
2642
|
+
background: var(--panel-1); flex-shrink: 0;
|
|
2643
|
+
box-shadow: 0 1px 0 var(--panel-2);
|
|
2644
|
+
}
|
|
2645
|
+
.ds-247420 .cm-chat-header-icon { font-size: 20px; color: var(--panel-text-2); flex-shrink: 0; }
|
|
2646
|
+
.ds-247420 .cm-chat-header-name { font-weight: 600; font-size: 14px; color: var(--panel-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
2647
|
+
.ds-247420 .cm-chat-header-topic { flex: 1; font-size: 12px; color: var(--panel-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
2648
|
+
.ds-247420 .cm-chat-header-toolbar { display: flex; gap: 4px; flex-shrink: 0; }
|
|
2649
|
+
|
|
2650
|
+
/* Member list */
|
|
2651
|
+
.ds-247420 .cm-member-list {
|
|
2652
|
+
width: 240px; min-width: 240px;
|
|
2653
|
+
background: var(--panel-1);
|
|
2654
|
+
overflow-y: auto; overflow-x: hidden;
|
|
2655
|
+
flex-shrink: 0; padding: 8px 0;
|
|
2656
|
+
scrollbar-width: thin;
|
|
2657
|
+
scrollbar-color: var(--panel-3) transparent;
|
|
2658
|
+
display: none;
|
|
2659
|
+
}
|
|
2660
|
+
.ds-247420 .cm-member-list.open { display: block; }
|
|
2661
|
+
.ds-247420 .cm-member-category {
|
|
2662
|
+
padding: 12px 8px 4px 16px;
|
|
2663
|
+
font-size: 11px; font-weight: 600;
|
|
2664
|
+
color: var(--panel-text-3); text-transform: uppercase; letter-spacing: 0.04em;
|
|
2665
|
+
}
|
|
2666
|
+
.ds-247420 .cm-member-item {
|
|
2667
|
+
display: flex; align-items: center; gap: 10px;
|
|
2668
|
+
padding: 5px 12px; border-radius: 4px; margin: 1px 8px;
|
|
2669
|
+
cursor: pointer; transition: background 0.1s;
|
|
2670
|
+
}
|
|
2671
|
+
.ds-247420 .cm-member-item:hover { background: var(--panel-hover); }
|
|
2672
|
+
.ds-247420 .cm-member-avatar {
|
|
2673
|
+
width: 32px; height: 32px; border-radius: 50%;
|
|
2674
|
+
background: var(--panel-accent); color: var(--panel-accent-fg);
|
|
2675
|
+
display: flex; align-items: center; justify-content: center;
|
|
2676
|
+
font-weight: 600; font-size: 12px; flex-shrink: 0; position: relative;
|
|
2677
|
+
}
|
|
2678
|
+
.ds-247420 .cm-member-status {
|
|
2679
|
+
position: absolute; bottom: -1px; right: -1px;
|
|
2680
|
+
width: 10px; height: 10px; border-radius: 50%;
|
|
2681
|
+
background: var(--panel-3); border: 2px solid var(--panel-1);
|
|
2682
|
+
}
|
|
2683
|
+
.ds-247420 .cm-member-status.online { background: var(--live); }
|
|
2684
|
+
.ds-247420 .cm-member-name { font-size: 12px; font-weight: 500; color: var(--panel-text-2); }
|
|
2685
|
+
|
|
2686
|
+
/* Voice user in channel list */
|
|
2687
|
+
.ds-247420 .cm-voice-user {
|
|
2688
|
+
display: flex; align-items: center; gap: 8px;
|
|
2689
|
+
padding: 3px 8px 3px 36px; border-radius: 4px; margin: 1px 0;
|
|
2690
|
+
font-size: 11px; color: var(--panel-text-3);
|
|
2691
|
+
}
|
|
2692
|
+
.ds-247420 .cm-voice-user.speaking { color: var(--live); }
|
|
2693
|
+
.ds-247420 .cm-voice-user-avatar {
|
|
2694
|
+
width: 20px; height: 20px; border-radius: 50%;
|
|
2695
|
+
background: var(--panel-2); flex-shrink: 0;
|
|
2696
|
+
display: flex; align-items: center; justify-content: center;
|
|
2697
|
+
font-size: 10px; font-weight: 600;
|
|
2698
|
+
}
|
|
2699
|
+
.ds-247420 .cm-voice-user-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2700
|
+
|
|
2701
|
+
/* Voice strip — persistent bottom bar when in voice */
|
|
2702
|
+
.ds-247420 .cm-voice-strip {
|
|
2703
|
+
display: none; position: fixed;
|
|
2704
|
+
bottom: 0; left: 72px;
|
|
2705
|
+
width: 240px; background: var(--panel-0);
|
|
2706
|
+
box-shadow: inset 0 4px 0 var(--live);
|
|
2707
|
+
padding: 12px 12px 8px; z-index: 200;
|
|
2708
|
+
align-items: center; gap: 8px;
|
|
2709
|
+
}
|
|
2710
|
+
.ds-247420 .cm-voice-strip.open { display: flex; }
|
|
2711
|
+
.ds-247420 .cm-vs-label { flex: 1; overflow: hidden; }
|
|
2712
|
+
.ds-247420 .cm-vs-channel { display: block; font-size: 12px; font-weight: 600; color: var(--live); }
|
|
2713
|
+
.ds-247420 .cm-vs-status { display: block; font-size: 10px; color: var(--panel-text-3); }
|
|
2714
|
+
.ds-247420 .cm-vs-btn {
|
|
2715
|
+
background: none; cursor: pointer;
|
|
2716
|
+
color: var(--panel-text-3); font-size: 16px; padding: 4px; border-radius: 4px;
|
|
2717
|
+
}
|
|
2718
|
+
.ds-247420 .cm-vs-btn:hover { background: var(--panel-2); color: var(--panel-text); }
|
|
2719
|
+
.ds-247420 .cm-vs-btn.danger { color: var(--warn); }
|
|
2720
|
+
|
|
2721
|
+
/* Mobile */
|
|
2722
|
+
@media (max-width: 768px) {
|
|
2723
|
+
.ds-247420 .cm-server-rail { width: 60px; min-width: 60px; }
|
|
2724
|
+
.ds-247420 .cm-channel-sidebar {
|
|
2725
|
+
position: fixed; left: 0; top: 0; bottom: 0; z-index: 500;
|
|
2726
|
+
transform: translateX(-100%); transition: transform 0.2s;
|
|
2727
|
+
width: 260px; min-width: 260px;
|
|
2728
|
+
}
|
|
2729
|
+
.ds-247420 .cm-channel-sidebar.mobile-open { transform: translateX(60px); }
|
|
2730
|
+
.ds-247420 .cm-member-list {
|
|
2731
|
+
position: fixed; right: 0; top: 0; bottom: 0; z-index: 500;
|
|
2732
|
+
transform: translateX(100%); transition: transform 0.2s;
|
|
2733
|
+
}
|
|
2734
|
+
.ds-247420 .cm-member-list.open { transform: translateX(0); }
|
|
2735
|
+
}
|
|
2736
|
+
|
|
2737
|
+
/* Community demo kit — message area utility classes */
|
|
2738
|
+
.ds-247420 .ds-community-page { display: flex; flex-direction: column; height: 100vh; overflow: hidden; background: var(--panel-0); }
|
|
2739
|
+
.ds-247420 .ds-community-main { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
|
|
2740
|
+
.ds-247420 .ds-community-messages {
|
|
2741
|
+
flex: 1; overflow-y: auto; padding: 16px 20px;
|
|
2742
|
+
display: flex; flex-direction: column; gap: 12px;
|
|
2743
|
+
scrollbar-width: thin; scrollbar-color: var(--panel-3) transparent;
|
|
2744
|
+
}
|
|
2745
|
+
.ds-247420 .ds-community-msg { display: flex; gap: 12px; align-items: flex-start; }
|
|
2746
|
+
.ds-247420 .ds-community-avatar {
|
|
2747
|
+
width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
|
|
2748
|
+
display: flex; align-items: center; justify-content: center;
|
|
2749
|
+
font-weight: 700; font-size: 14px; color: #fff;
|
|
2750
|
+
background: var(--panel-accent);
|
|
2751
|
+
}
|
|
2752
|
+
.ds-247420 .ds-community-msg-body { display: flex; flex-direction: column; gap: 2px; }
|
|
2753
|
+
.ds-247420 .ds-community-msg-name { font-weight: 600; font-size: 13px; margin-right: 8px; }
|
|
2754
|
+
.ds-247420 .ds-community-msg-time { font-size: 11px; color: var(--panel-text-3); font-family: var(--ff-mono); }
|
|
2755
|
+
.ds-247420 .ds-community-msg-text { margin: 0; font-size: 13px; color: var(--panel-text); line-height: 1.5; }
|
|
2756
|
+
|
|
2757
|
+
/* freddie dashboard fd-* classes */
|
|
2758
|
+
.ds-247420 .fd-label { font-size: 0.75em; opacity: 0.7; letter-spacing: 0.05em; display: block; margin-bottom: 2px; }
|
|
2759
|
+
.ds-247420 .fd-row { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
2760
|
+
.ds-247420 .fd-row-send { align-items: flex-end; }
|
|
2761
|
+
.ds-247420 .fd-col { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 120px; }
|
|
2762
|
+
.ds-247420 .fd-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 4px; }
|
|
2763
|
+
.ds-247420 .fd-chip-wrap { cursor: pointer; }
|
|
2764
|
+
.ds-247420 .fd-chat-thread { max-height: 50vh; overflow-y: auto; border-radius: 10px; padding: 4px; margin-top: 8px; background: rgba(0,0,0,0.08); }
|
|
2765
|
+
.ds-247420 .fd-msg { padding: 6px 10px; border-bottom: 1px solid rgba(128,128,128,0.1); white-space: pre-wrap; word-break: break-word; }
|
|
2766
|
+
.ds-247420 .fd-msg-assistant { opacity: 0.9; }
|
|
2767
|
+
.ds-247420 .fd-tool-call { margin: 4px 0; padding: 4px 8px; background: rgba(0,0,0,0.12); border-radius: 6px; font-family: var(--ff-mono); font-size: 0.85em; }
|
|
2768
|
+
.ds-247420 .fd-tool-call summary { cursor: pointer; padding: 2px 0; }
|
|
2769
|
+
.ds-247420 .fd-tool-body { margin: 4px 0 0; white-space: pre-wrap; word-break: break-all; max-height: 200px; overflow-y: auto; }
|
|
2770
|
+
.ds-247420 .fd-pre { white-space: pre-wrap; word-break: break-all; font-family: var(--ff-mono); font-size: 0.85em; }
|
|
2771
|
+
.ds-247420 .row-form { display: flex; flex-direction: column; gap: 8px; }
|
|
2772
|
+
.ds-247420 .fd-chat-form { display: flex; flex-direction: column; gap: 8px; }
|
|
2773
|
+
.ds-247420 .fd-chat-send-row { display: flex; gap: 8px; align-items: flex-end; }
|
|
2774
|
+
.ds-247420 .fd-chat-send-row textarea { flex: 1; resize: vertical; }
|
|
2775
|
+
.ds-247420 .fd-chat-send-row .btn-primary { flex-shrink: 0; align-self: flex-end; padding: 10px 20px; }
|
|
2776
|
+
.ds-247420 .fd-muted { opacity: 0.5; }
|