mirror of
https://github.com/supabase/supabase.git
synced 2026-10-12 12:55:06 +03:00
* try a really long context window to maximize caching * update examples * attempt to update packages and useChat * update endpoints * update zod * zod * update to v5 * message update * Revert "zod" This reverts commitec39bac6b6. * revert zod * zod i * fix complete endpoints * remove async * change to content * type cleanup * Revert the package bumps to rebuild them. * Bump zod to 2.25.76 in all packages. * Bump openai in all packages. * Bump ai and ai-related packages. * Remove unneeded files. * Fix the rest of the migration stuff. * Prettier fixes. * testing new gptoss models * sonnet as pro * back to 3.7 * revert test * add policy list tool * fix * refactor * ai sdk 5 fixes * refactor complete endpoint * edge function prompt * remove example * use limited model for completions * remove duplicate * Update bedrock.ts Co-authored-by: divit <27228526+delgado3d@users.noreply.github.com> * add default check * only add prefix if more then one region * temp use api * refactor to use openai api * test * remove unused import * Prettier lint * Fix test * revert back to bedrock * Tiny style fix for spacing of code blocks from edit message button * use conversation * try generate text normally * prompt adjust * add list style to prompt * prompt adjust * status * prompt adjust emphasise display query * rendering * prompt * ui updates * update prompts * more ui * ui finesse * fix * use streamdown * remove package * refactor header * copy * prompt adjust * remove package * prompt adjust * Revert "use streamdown" This reverts commit22d0e88e54. * remove streamdown * margin adjust * Nit * Minor clean up --------- Co-authored-by: Jordi Enric <jordi.err@gmail.com> Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com> Co-authored-by: divit <27228526+delgado3d@users.noreply.github.com> Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import { ArrowDownIcon } from 'lucide-react'
|
|
import type { ComponentProps } from 'react'
|
|
import { useCallback } from 'react'
|
|
import { StickToBottom, useStickToBottomContext } from 'use-stick-to-bottom'
|
|
|
|
import { Button, cn } from 'ui'
|
|
|
|
type ConversationProps = ComponentProps<typeof StickToBottom>
|
|
type ConversationContentProps = ComponentProps<typeof StickToBottom.Content>
|
|
type ConversationScrollButtonProps = ComponentProps<typeof Button>
|
|
|
|
export const Conversation = ({ className, ...props }: ConversationProps) => (
|
|
<StickToBottom
|
|
className={cn('relative flex-1 overflow-y-auto', className)}
|
|
initial="smooth"
|
|
resize="smooth"
|
|
role="log"
|
|
{...props}
|
|
/>
|
|
)
|
|
|
|
export const ConversationContent = ({ className, ...props }: ConversationContentProps) => (
|
|
<StickToBottom.Content className={cn('p-4', className)} {...props} />
|
|
)
|
|
|
|
export const ConversationScrollButton = ({
|
|
className,
|
|
...props
|
|
}: ConversationScrollButtonProps) => {
|
|
const { isAtBottom, scrollToBottom } = useStickToBottomContext()
|
|
|
|
const handleScrollToBottom = useCallback(() => {
|
|
scrollToBottom()
|
|
}, [scrollToBottom])
|
|
|
|
return (
|
|
!isAtBottom && (
|
|
<Button
|
|
className={cn('absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full', className)}
|
|
onClick={handleScrollToBottom}
|
|
size="tiny"
|
|
type="default"
|
|
{...props}
|
|
>
|
|
<ArrowDownIcon className="size-4" />
|
|
</Button>
|
|
)
|
|
)
|
|
}
|