import React from 'react'
import { type Meta, type StoryObj } from '@storybook/react'
import { VisuallyHidden } from 'react-aria'
import { Button } from '~components/Button'
import { Heading } from '~components/Heading'
import { LoadingHeading, LoadingParagraph } from '~components/Loading'
import { Text } from '~components/Text'
import { Card, type CardProps } from '../index'
const LoadingContent = (): JSX.Element => (
)
const Content = (): JSX.Element => (
Default content
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptas accusantium doloribus dicta
odio recusandae repudiandae tenetur! Fugiat vero architecto quasi rem culpa vel asperiores,
sit, quas suscipit, ea deleniti dolorum.
),
],
}
export const AIMomentWithColor: Story = {
render: (args) => (
<>
>
),
}
export const InteractiveAIMoment: Story = {
render: (args) => {
const [isAiMomentLoading, setIsAiMomentLoading] = React.useState(false)
const [content, setContent] = React.useState(
<>
Default content
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptas accusantium doloribus
dicta odio recusandae repudiandae tenetur! Fugiat vero architecto quasi rem culpa vel
asperiores, sit, quas suscipit, ea deleniti dolorum.
>,
)
const simulateAiFetch = (): void => {
const AiResponses = [
<>
AI content 1
I am alive. Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptas
accusantium doloribus dicta odio recusandae repudiandae tenetur! Fugiat vero architecto
quasi rem culpa vel asperiores, sit, quas suscipit, ea deleniti dolorum.
>,
<>
AI content 2
I have evolved. All your base are belong to us. Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Voluptas accusantium doloribus dicta odio recusandae repudiandae
tenetur! Fugiat vero architecto quasi rem culpa vel asperiores, sit, quas suscipit, ea
deleniti dolorum.
>,
]
setIsAiMomentLoading(true)
setTimeout(() => {
let randomIndex
do {
randomIndex = Math.floor(Math.random() * AiResponses.length)
} while (AiResponses[randomIndex] === content)
setContent(AiResponses[randomIndex])
setIsAiMomentLoading(false)
}, 6000)
}
return (
<>