Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: New component Bubble #19

Merged
merged 35 commits into from
Aug 2, 2024
Merged

feat: New component Bubble #19

merged 35 commits into from
Aug 2, 2024

Conversation

li-jia-nan
Copy link
Member

@li-jia-nan li-jia-nan commented Jun 8, 2024

feat: New component Chatbox

Summary by CodeRabbit

  • New Features

    • Introduced the Bubble component for displaying content with customizable loading and typing states.
    • Implemented a typing effect for dynamic text display, enhancing user interaction.
    • Added a content rendering feature that supports multilingual text display in chat-like interfaces.
    • Added a custom hook for typing effects to manage text animations within the Bubble component.
  • Bug Fixes

    • Adjusted naming conventions from ChatBox to Bubble for consistency.
  • Chores

    • Refined styling utilities and introduced new dynamic styles for the Bubble component.
  • Documentation

    • Enhanced bilingual documentation for the Bubble component and its properties, improving usability for diverse developers.
  • Tests

    • Implemented a comprehensive test suite for the Bubble component, ensuring reliability and expected functionality across various scenarios.

@afc163
Copy link
Member

afc163 commented Jun 11, 2024

RFC 里这个组件叫 Message?

@li-jia-nan
Copy link
Member Author

RFC 里这个组件叫 Message?

感觉 Chatbox 更准确一点,另外 Message 不是跟 antd 重复了吗?cc @zombieJ

@YumoImer
Copy link
Collaborator

感觉 ChatBox 的语义有点像一整个聊天窗口。另外我们应该不需要考虑和 antd 里 Message 组件命名重复的事。

@li-jia-nan li-jia-nan marked this pull request as draft June 17, 2024 13:34
@afc163 afc163 requested a review from zombieJ June 20, 2024 03:32
Copy link
Contributor

coderabbitai bot commented Jul 16, 2024

Walkthrough

The recent updates enhance the Bubble component by improving its readability and adding dynamic features like typing effects and loading states. Comprehensive bilingual documentation and utility hooks for managing typing behavior enrich the developer experience while preserving the core functionality of the components.

Changes

Files & Directories Change Summary
.dumi/components/SemanticPreview.tsx Formatting and restructuring for improved readability; no functionality changes.
.dumi/preset/components-changelog-cn.json Renamed key "ChatBox" to "Bubble"; no functional impact.
.dumi/preset/components-changelog-en.json Same renaming as above for the English changelog.
components/bubble/index.tsx Introduced Bubble component for displaying content with typing and loading states.
components/bubble/hooks/useTypedEffect.ts New custom hook for simulating typing effects.
components/bubble/hooks/useTypingConfig.ts New hook for managing typing configurations.
components/bubble/demo/contentRender.tsx New component for rendering dynamic content with typing effects.
components/bubble/style/index.ts New CSS-in-JS styles for the Bubble component, including animations and layout properties.
components/bubble/index.zh-CN.md Bilingual documentation for the Bubble component.
components/bubble/index.en-US.md New documentation page for the Bubble component, covering usage and API details.
components/bubble/interface.ts Defined TypeScript interfaces for typing options and Bubble component props.
components/bubble/demo/markdown.tsx New component for displaying dynamic markdown content within the Bubble.
components/bubble/demo/typing.tsx New component implementing a typing effect for text display.
package.json Updated dependencies for improved performance and stability.

Sequence Diagram(s)

sequenceDiagram
    participant User as User
    participant Bubble as Bubble Component
    participant Hook as useTypedEffect

    User->>Bubble: Sends message
    Bubble->>Hook: Trigger typing effect
    Hook->>Bubble: Updates displayed content
    Bubble->>User: Shows message with typing effect
Loading

🐰 In a meadow so bright, I hop with delight,
Changes abound, oh what a sight!
Bubble now dances, typing with flair,
Loading and chatting, it's all in the air!
Bilingual whispers, so kind and so clear,
A leap for joy—let's give a cheer! 🌼


Note

Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@li-jia-nan li-jia-nan changed the title feat: New component Chatbox feat: [WIP] New component Chatbox Jul 16, 2024
@li-jia-nan li-jia-nan changed the title feat: [WIP] New component Chatbox feat: New component Chatbox Jul 25, 2024
@li-jia-nan li-jia-nan marked this pull request as ready for review July 25, 2024 04:43
@YumoImer
Copy link
Collaborator

感觉 ChatBox 的语义有点像一整个聊天窗口。另外我们应该不需要考虑和 antd 里 Message 组件命名重复的事。

@zombieJ @li-jia-nan 这个确定就叫 ChatBox 了嘛?

@li-jia-nan li-jia-nan changed the title feat: New component Chatbox feat: New component Bubble Jul 30, 2024
@zombieJ zombieJ merged commit 650b3c0 into master Aug 2, 2024
8 checks passed
@li-jia-nan
Copy link
Member Author

@zombieJ 终于合了!

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.

4 participants