Conversation
…utline placement - Move LlmsCopyRow and LlmsOpenRow from Outline/ to Llms/ directory - Export LlmsCopyRow and LlmsOpenRow from theme index - Add LLMs UI support in Outline component with placement config - Move open-in-wrapper styles to dedicated LlmsOpenRow.scss - Nest EditLink styles under .rp-doc-footer scope - Add distinct class names to EditLink and ScrollToTop action rows
Rsdoctor Bundle Diff AnalysisFound 3 projects in monorepo, 2 projects with changes. 📊 Quick Summary
📋 Detailed Reports (Click to expand)📁 nodePath:
📦 Download Diff Report: node Bundle Diff 📁 webPath:
📦 Download Diff Report: web Bundle Diff Generated by Rsdoctor GitHub Action |
There was a problem hiding this comment.
Pull request overview
This PR refactors the theme’s LLM-related UI by relocating outline-specific LLM action rows into the Llms/ component directory and adds support for rendering those actions in the Outline sidebar based on themeConfig.llmsUI.placement.
Changes:
- Export
LlmsCopyRow/LlmsOpenRowfrom the theme entry and render them inOutlinewhenllmsUI.placement === 'outline'. - Move “open-in-wrapper” positioning styles into a dedicated
LlmsOpenRow.scss. - Scope
EditLinkstyling under.rp-doc-footerand add distinct class names to some action rows.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/core/src/theme/index.ts | Re-exports LlmsCopyRow / LlmsOpenRow so Outline can import them via @theme. |
| packages/core/src/theme/components/Outline/index.tsx | Adds llmsUI.placement handling and conditionally renders LLM rows in the outline bottom area. |
| packages/core/src/theme/components/Outline/index.scss | Removes the open-in-wrapper style block from Outline styles. |
| packages/core/src/theme/components/Outline/ScrollToTop.tsx | Adds a dedicated rp-scroll-to-top class to the action row. |
| packages/core/src/theme/components/Llms/LlmsOpenRow.tsx | Updates imports and pulls styling into LlmsOpenRow.scss. |
| packages/core/src/theme/components/Llms/LlmsOpenRow.scss | New stylesheet for outline menu positioning. |
| packages/core/src/theme/components/Llms/LlmsCopyRow.tsx | Updates imports to use @theme and local useMdUrl. |
| packages/core/src/theme/components/EditLink/index.tsx | Adds rp-edit-link class to the outline variant. |
| packages/core/src/theme/components/EditLink/index.scss | Scopes .rp-edit-link styling under .rp-doc-footer. |
| packages/core/src/theme/assets/success.svg | Updates the success icon SVG (viewBox/path). |
| packages/core/src/theme/assets/copy.svg | Updates the copy icon SVG (viewBox/path). |
Comments suppressed due to low confidence (2)
packages/core/src/theme/components/Llms/LlmsOpenRow.tsx:6
LlmsOpenRowis now re-exported from the theme barrel (packages/core/src/theme/index.ts) but also importsSvgWrapperfrom@theme(the same barrel). This increases the chance of circular-dependency ordering issues and makes the module graph harder to reason about. Prefer importingSvgWrappervia a relative path (asLlmsViewOptionsdoes) to avoid the self-referential barrel import.
packages/core/src/theme/components/Llms/LlmsCopyRow.tsx:4LlmsCopyRowis now re-exported from the theme barrel (packages/core/src/theme/index.ts) but importsSvgWrapperfrom@theme(the same barrel). To reduce circular-barrel coupling, importSvgWrapperdirectly from../SvgWrapper(or the local component path) instead of the barrel.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Deploying rspress-v2 with
|
| Latest commit: |
0696fae
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7c67256b.rspress-v2.pages.dev |
| Branch Preview URL: | https://syt-svg-polish.rspress-v2.pages.dev |
Summary
LlmsCopyRowandLlmsOpenRowfromOutline/toLlms/directory for better code organizationllmsUI.placementconfigLlmsOpenRow.scss.rp-doc-footerscope and add distinct class names to action rowsRelated Issues
#3164
#3170
#3163
Test plan
llmsUI.placement === 'outline'npx nx build @rspress/core)