Skip to content

Commit

Permalink
feat: add animate
Browse files Browse the repository at this point in the history
  • Loading branch information
ourongxing committed Jun 15, 2023
1 parent 4416d2a commit 11d5fee
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 10 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"markdown-it-kbd": "^2.2.2",
"solid-js": "^1.7.6",
"solid-start": "^0.2.26",
"solid-transition-group": "^0.2.2",
"undici": "^5.22.1"
},
"devDependencies": {
Expand Down
39 changes: 39 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 14 additions & 10 deletions src/components/Chat/MessageContainer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { RootStore, defaultMessage } from "~/store"
import { scrollToBottom } from "~/utils"
import MessageItem from "./MessageItem"
import { defaultInputBoxHeight } from "./InputBox"
import { TransitionGroup } from "solid-transition-group"
import "~/styles/transition.css"

export default function ({
sendMessage,
Expand Down Expand Up @@ -55,16 +57,18 @@ export default function ({
<Show when={!store.messageList.length}>
<MessageItem hiddenAction={true} message={defaultMessage} />
</Show>
<For each={store.messageList}>
{(message, index) => (
<MessageItem
message={message}
hiddenAction={store.loading || message.type === "temporary"}
index={index()}
sendMessage={sendMessage}
/>
)}
</For>
<TransitionGroup name="transition-group">
<For each={store.messageList}>
{(message, index) => (
<MessageItem
message={message}
hiddenAction={store.loading || message.type === "temporary"}
index={index()}
sendMessage={sendMessage}
/>
)}
</For>
</TransitionGroup>
</div>
<Show
when={!store.loading && (store.contextToken || store.inputContentToken)}
Expand Down
3 changes: 3 additions & 0 deletions src/components/Chat/MessageItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ export default function MessageItem(props: Props) {
<Show when={renderedMarkdown()}>
<div
class="group flex gap-3 px-4 mx--4 rounded-lg transition-colors sm:hover:bg-slate/6 dark:sm:hover:bg-slate/5 relative message-item"
style={{
transition: "all 0.3s"
}}
classList={{
temporary: props.message.type === "temporary"
}}
Expand Down
9 changes: 9 additions & 0 deletions src/styles/transition.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.transition-group-enter {
opacity: 0;
transform: translateY(30px);
}

.transition-group-exit-to {
opacity: 0;
transform: translateX(30px);
}

0 comments on commit 11d5fee

Please sign in to comment.