mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
The channel intro block (the `#` avatar, channel title, "beginning of…" line, and Create agent / Add people cards) was bottom-pinned: it lived in a `min-h-full` flex column with `mt-auto`, which Slack-style pushes it to the viewport bottom when the list is short. tho wants it flush at the actual TOP of the virtualized list, since it's an in-list header — not a floating element. Gate the push-down on `topAlignIntro = showChannelIntro` and turn it off for the channel-intro case in 4 spots: the outer wrapper `min-h-full`, the SkeletonReveal `className` + `contentClassName` `min-h-full`, and the intro div's own `mt-auto`. Natural top-down flow then places the header at the top. The DM intro and the generic empty state keep their existing bottom-pin behavior. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Buzz
Desktop chat shell with:
- Tauri + React + TypeScript + Vite
- Tailwind CSS
- shadcn/ui-ready shared components
- Biome (lint/format/check)
- Feature-driven frontend structure
Scripts
pnpm dev- run the web frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm format- Biome format (write)pnpm check- Biome check
Structure
src/shared- reusable app-wide code (ui,lib,styles)src/features- feature modules (vertical slices)src/app- top-level app composition