Fix: UI fixes for conversation

This commit is contained in:
Harshith Mullapudi 2025-07-11 18:31:14 +05:30
parent 28803bec17
commit 1bbb5a0f57
7 changed files with 15 additions and 22 deletions

View File

@ -101,7 +101,7 @@ export const ConversationList = ({
<div <div
key={key} key={key}
style={style} style={style}
className="-ml-1 flex items-center justify-start p-2 py-0 text-sm" className="-mt-2 ml-1 flex items-center justify-start p-0 text-sm"
> >
<Button <Button
variant="link" variant="link"

View File

@ -87,7 +87,7 @@ export function ConversationTextarea({
onSubmit={(e) => submitForm(e)} onSubmit={(e) => submitForm(e)}
className="pt-2" className="pt-2"
> >
<div className="bg-background-3 rounded py-2"> <div className="bg-background-3 rounded-lg border-1 border-gray-300 py-2">
<EditorRoot> <EditorRoot>
<EditorContent <EditorContent
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
@ -146,7 +146,7 @@ export function ConversationTextarea({
}} }}
immediatelyRender={false} immediatelyRender={false}
className={cn( className={cn(
"editor-container text-md max-h-[400px] min-h-[40px] w-full min-w-full overflow-auto px-3 sm:rounded-lg", "editor-container text-md max-h-[400px] min-h-[40px] w-full min-w-full overflow-auto rounded-lg px-3",
)} )}
/> />
</EditorRoot> </EditorRoot>

View File

@ -13,7 +13,6 @@ import {
ResizablePanel, ResizablePanel,
ResizablePanelGroup, ResizablePanelGroup,
} from "../ui/resizable"; } from "../ui/resizable";
import { ConversationList } from "./conversation-list";
export const ConversationNew = ({ export const ConversationNew = ({
user, user,
@ -71,7 +70,7 @@ export const ConversationNew = ({
<p className="text-muted-foreground mx-1 mb-4"> <p className="text-muted-foreground mx-1 mb-4">
Demo UI: basic conversation to showcase memory integration. Demo UI: basic conversation to showcase memory integration.
</p> </p>
<div className="bg-background-3 border-border rounded-lg border-1 py-2"> <div className="bg-background-3 rounded-lg border-1 border-gray-300 py-2">
<EditorRoot> <EditorRoot>
<EditorContent <EditorContent
ref={editorRef} ref={editorRef}
@ -79,7 +78,7 @@ export const ConversationNew = ({
extensions={[ extensions={[
Placeholder.configure({ Placeholder.configure({
placeholder: () => { placeholder: () => {
return "Ask CORE..."; return "Ask CORE ...";
}, },
includeChildren: true, includeChildren: true,
}), }),

View File

@ -1,12 +1,5 @@
import { cx } from "class-variance-authority"; import { cx } from "class-variance-authority";
import { import { StarterKit, TiptapLink, HorizontalRule, Placeholder } from "novel";
StarterKit,
TiptapLink,
HorizontalRule,
Placeholder,
HighlightExtension,
AIHighlight,
} from "novel";
import CodeBlockLowlight from "@tiptap/extension-code-block-lowlight"; import CodeBlockLowlight from "@tiptap/extension-code-block-lowlight";
import Heading from "@tiptap/extension-heading"; import Heading from "@tiptap/extension-heading";

View File

@ -34,7 +34,7 @@ export function SiteHeader() {
const showNewConversationButton = isConversationDetail(location.pathname); const showNewConversationButton = isConversationDetail(location.pathname);
return ( return (
<header className="border-border flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)"> <header className="flex h-(--header-height) shrink-0 items-center gap-2 border-b border-gray-300 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)">
<div className="flex w-full items-center justify-between gap-1 px-4 pr-2 lg:gap-2"> <div className="flex w-full items-center justify-between gap-1 px-4 pr-2 lg:gap-2">
<div className="flex items-center gap-1"> <div className="flex items-center gap-1">
<SidebarTrigger className="-ml-1" /> <SidebarTrigger className="-ml-1" />

View File

@ -26,11 +26,11 @@ const { action, loader } = createActionApiRoute(
if (!result.episodeDeleted) { if (!result.episodeDeleted) {
return json( return json(
{ {
error: "Episode not found or unauthorized", error: "Episode not found or unauthorized",
code: "not_found" code: "not_found",
}, },
{ status: 404 } { status: 404 },
); );
} }
@ -47,14 +47,14 @@ const { action, loader } = createActionApiRoute(
} catch (error) { } catch (error) {
console.error("Error deleting episode:", error); console.error("Error deleting episode:", error);
return json( return json(
{ {
error: "Failed to delete episode", error: "Failed to delete episode",
code: "internal_error" code: "internal_error",
}, },
{ status: 500 } { status: 500 },
); );
} }
}, },
); );
export { action, loader }; export { action, loader };

View File

@ -7,6 +7,7 @@
"build": "remix vite:build", "build": "remix vite:build",
"dev": "node ./server.mjs", "dev": "node ./server.mjs",
"lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", "lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .",
"lint:fix": "eslint --fix --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .",
"start": "remix-serve ./build/server/index.js", "start": "remix-serve ./build/server/index.js",
"typecheck": "tsc", "typecheck": "tsc",
"trigger:dev": "pnpm dlx trigger.dev@v4-beta dev" "trigger:dev": "pnpm dlx trigger.dev@v4-beta dev"