|
19 | 19 | }; |
20 | 20 |
|
21 | 21 | export let data: { config: DashboardConfig } | undefined; |
| 22 | + export let initialSection: "profile" | "agent" | "slack" = "profile"; |
| 23 | + export let initialSlug: string | null = null; |
22 | 24 |
|
23 | 25 | let config: DashboardConfig = data?.config ?? defaultDashboardConfig; |
24 | 26 | let opencodeModelsText = ""; |
|
28 | 30 | let isCheckingCli = false; |
29 | 31 | let message = ""; |
30 | 32 | let cliCheckResult: CliCheckResult | null = null; |
31 | | - let pathname = "/local-setting"; |
| 33 | + let pathname = |
| 34 | + initialSection === "agent" |
| 35 | + ? "/local-setting/agent" |
| 36 | + : initialSection === "slack" |
| 37 | + ? `/local-setting/slack-bot/${initialSlug ?? ""}` |
| 38 | + : "/local-setting/profile"; |
32 | 39 | let activeSection: "profile" | "agent" | "slack" = "profile"; |
33 | 40 | let enabledProviders: AgentProvider[] = ["opencode", "claudecode"]; |
34 | 41 | let selectedWorkspace: DashboardConfig["workspaces"][number] | null = null; |
|
481 | 488 |
|
482 | 489 | .container { |
483 | 490 | width: 100%; |
484 | | - max-width: 1000px; |
| 491 | + max-width: 1080px; |
485 | 492 | margin: 0 auto; |
486 | 493 | padding: 24px; |
487 | 494 | box-sizing: border-box; |
|
497 | 504 | background: var(--card); |
498 | 505 | border-radius: 8px; |
499 | 506 | margin-bottom: 16px; |
| 507 | + box-shadow: var(--shadow-soft); |
500 | 508 | } |
501 | 509 |
|
502 | 510 | .navbar-title { |
|
514 | 522 | .layout { |
515 | 523 | display: grid; |
516 | 524 | grid-template-columns: 260px minmax(0, 1fr); |
517 | | - gap: 16px; |
| 525 | + gap: 18px; |
518 | 526 | } |
519 | 527 |
|
520 | 528 | .card { |
|
523 | 531 | padding: 16px; |
524 | 532 | background: var(--card); |
525 | 533 | box-shadow: var(--shadow-soft); |
| 534 | + display: grid; |
| 535 | + gap: 10px; |
526 | 536 | } |
527 | 537 |
|
528 | 538 | .sidebar { |
529 | 539 | display: grid; |
530 | 540 | gap: 8px; |
531 | 541 | align-self: start; |
| 542 | + position: sticky; |
| 543 | + top: 24px; |
532 | 544 | } |
533 | 545 |
|
534 | 546 | .workspace-group { |
|
554 | 566 | background: var(--bg); |
555 | 567 | color: var(--ink); |
556 | 568 | cursor: pointer; |
| 569 | + transition: border-color 0.15s ease, transform 0.15s ease, background-color 0.15s ease; |
| 570 | + } |
| 571 | +
|
| 572 | + .nav-item:hover { |
| 573 | + border-color: var(--accent-muted); |
| 574 | + transform: translateY(-1px); |
557 | 575 | } |
558 | 576 |
|
559 | 577 | .nav-item.active { |
|
563 | 581 |
|
564 | 582 | .content { |
565 | 583 | display: grid; |
566 | | - gap: 12px; |
| 584 | + gap: 14px; |
567 | 585 | } |
568 | 586 |
|
569 | 587 | .content :global(h2) { |
|
584 | 602 | justify-content: space-between; |
585 | 603 | align-items: center; |
586 | 604 | gap: 8px; |
587 | | - margin-bottom: 8px; |
| 605 | + margin-bottom: 10px; |
588 | 606 | } |
589 | 607 |
|
590 | 608 | .options-row { |
|
715 | 733 |
|
716 | 734 | button { |
717 | 735 | cursor: pointer; |
| 736 | + transition: border-color 0.15s ease, transform 0.15s ease, background-color 0.15s ease; |
| 737 | + } |
| 738 | +
|
| 739 | + button:hover:not(:disabled) { |
| 740 | + border-color: var(--accent-muted); |
| 741 | + transform: translateY(-1px); |
718 | 742 | } |
719 | 743 |
|
720 | 744 | .actions { |
|
733 | 757 | .layout { |
734 | 758 | grid-template-columns: 1fr; |
735 | 759 | } |
| 760 | +
|
| 761 | + .sidebar { |
| 762 | + position: static; |
| 763 | + } |
736 | 764 | } |
737 | 765 |
|
738 | 766 | @media (max-width: 768px) { |
|
0 commit comments