Skip to content

feat(frontend): production-ready chat UX with markdown, scroll-to-bot… - #27

Merged
CodeWithJuber merged 1 commit into
mainfrom
feat/qalb7-full-architecture
Feb 28, 2026
Merged

feat(frontend): production-ready chat UX with markdown, scroll-to-bot…#27
CodeWithJuber merged 1 commit into
mainfrom
feat/qalb7-full-architecture

Conversation

@CodeWithJuber

Copy link
Copy Markdown
Owner

…tom, and layout fixes

  • Rewrite Markdown.tsx with remark-gfm, remark-math, rehype-katex, rehype-highlight
  • Rewrite ChatMessage.tsx with user/assistant/system bubble layouts, copy button, typing indicator
  • Overhaul chat case in App.tsx: CSS Grid layout, agent picker, empty state, input area with attach/search/commands buttons
  • Add scroll-to-bottom arrow button with scroll detection
  • Fix textarea auto-resize reset on send
  • Add comprehensive prose/markdown/code/math CSS in index.css
  • Add remark-gfm, remark-math, rehype-katex, rehype-highlight dependencies
  • Use h-dvh for mobile viewport, hide MobileNav on chat tab

Summary

Changes

Test Plan

  • Tests pass (make test)
  • Linting passes (make lint)
  • Manually tested

Related Issues

…tom, and layout fixes

- Rewrite Markdown.tsx with remark-gfm, remark-math, rehype-katex, rehype-highlight
- Rewrite ChatMessage.tsx with user/assistant/system bubble layouts, copy button, typing indicator
- Overhaul chat case in App.tsx: CSS Grid layout, agent picker, empty state, input area with attach/search/commands buttons
- Add scroll-to-bottom arrow button with scroll detection
- Fix textarea auto-resize reset on send
- Add comprehensive prose/markdown/code/math CSS in index.css
- Add remark-gfm, remark-math, rehype-katex, rehype-highlight dependencies
- Use h-dvh for mobile viewport, hide MobileNav on chat tab
@CodeWithJuber
CodeWithJuber merged commit abac5d7 into main Feb 28, 2026
2 of 6 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ecbb7ef8cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread frontend/src/App.tsx
Comment on lines +2055 to +2057
{activeTab !== "chat" && (
<MobileNav activeTab={activeTab} setActiveTab={setActiveTab} />
)}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep mobile tab navigation available in chat view

Conditionally removing MobileNav when activeTab === "chat" traps mobile users in the chat screen. In this codebase the sidebar is desktop-only (Sidebar uses hidden md:flex), so on screens below md there is no remaining control to switch to Agents/Memory/Settings once chat is active. Please keep a mobile tab switcher available in chat (or provide an equivalent escape path).

Useful? React with 👍 / 👎.

<path d="M7 9l3 3-3 3M13 15h4" />
<rect x="3" y="4" width="18" height="16" rx="2" />
</svg>
<span>{msg.content}</span>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve multiline formatting in system messages

Rendering system messages as a plain inline <span> collapses newline formatting, which makes command outputs hard to read. This matters for built-in chat commands like /help and /status that return multi-line responses; they are now shown as a single wrapped flow instead of preserving line breaks (the previous UI used whitespace-pre-wrap).

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant