Skip to content

Commit 570f433

Browse files
authored
Merge pull request #26 from pattern-tech/chore/hide-stuff
chore: hiding some features
2 parents 7ecb6cc + 865cec4 commit 570f433

4 files changed

Lines changed: 22 additions & 106 deletions

File tree

components/message.tsx

Lines changed: 7 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,21 @@
22

33
import type { ChatRequestOptions, Message } from 'ai';
44
import cx from 'classnames';
5+
import equal from 'fast-deep-equal';
56
import { AnimatePresence, motion } from 'framer-motion';
6-
import { memo, useMemo, useState } from 'react';
7+
import { memo, useState } from 'react';
78

89
import type { Vote } from '@/lib/db/schema';
10+
import { cn } from '@/lib/utils';
911

1012
import { DocumentToolCall, DocumentToolResult } from './document';
11-
import {
12-
ChevronDownIcon,
13-
LoaderIcon,
14-
PencilEditIcon,
15-
SparklesIcon,
16-
} from './icons';
13+
import { DocumentPreview } from './document-preview';
14+
import { SparklesIcon } from './icons';
1715
import { Markdown } from './markdown';
18-
import { MessageActions } from './message-actions';
19-
import { PreviewAttachment } from './preview-attachment';
20-
import { Weather } from './weather';
21-
import equal from 'fast-deep-equal';
22-
import { cn } from '@/lib/utils';
23-
import { Button } from './ui/button';
24-
import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip';
2516
import { MessageEditor } from './message-editor';
26-
import { DocumentPreview } from './document-preview';
2717
import { MessageReasoning } from './message-reasoning';
18+
import { PreviewAttachment } from './preview-attachment';
19+
import { Weather } from './weather';
2820

2921
const PurePreviewMessage = ({
3022
chatId,
@@ -95,23 +87,6 @@ const PurePreviewMessage = ({
9587

9688
{(message.content || message.reasoning) && mode === 'view' && (
9789
<div className="flex flex-row gap-2 items-start">
98-
{message.role === 'user' && !isReadonly && (
99-
<Tooltip>
100-
<TooltipTrigger asChild>
101-
<Button
102-
variant="ghost"
103-
className="px-2 h-fit rounded-full text-muted-foreground opacity-0 group-hover/message:opacity-100"
104-
onClick={() => {
105-
setMode('edit');
106-
}}
107-
>
108-
<PencilEditIcon />
109-
</Button>
110-
</TooltipTrigger>
111-
<TooltipContent>Edit message</TooltipContent>
112-
</Tooltip>
113-
)}
114-
11590
<div
11691
className={cn('flex flex-col gap-4', {
11792
'bg-primary text-primary-foreground px-3 py-2 rounded-xl':
@@ -201,16 +176,6 @@ const PurePreviewMessage = ({
201176
})}
202177
</div>
203178
)}
204-
205-
{!isReadonly && (
206-
<MessageActions
207-
key={`action-${message.id}`}
208-
chatId={chatId}
209-
message={message}
210-
vote={vote}
211-
isLoading={isLoading}
212-
/>
213-
)}
214179
</div>
215180
</div>
216181
</motion.div>

components/multimodal-input.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type {
77
Message,
88
} from 'ai';
99
import cx from 'classnames';
10+
import equal from 'fast-deep-equal';
1011
import type React from 'react';
1112
import {
1213
useRef,
@@ -25,10 +26,9 @@ import { sanitizeUIMessages } from '@/lib/utils';
2526

2627
import { ArrowUpIcon, PaperclipIcon, StopIcon } from './icons';
2728
import { PreviewAttachment } from './preview-attachment';
29+
import { SuggestedActions } from './suggested-actions';
2830
import { Button } from './ui/button';
2931
import { Textarea } from './ui/textarea';
30-
import { SuggestedActions } from './suggested-actions';
31-
import equal from 'fast-deep-equal';
3232

3333
function PureMultimodalInput({
3434
chatId,
@@ -254,10 +254,6 @@ function PureMultimodalInput({
254254
}}
255255
/>
256256

257-
<div className="absolute bottom-0 p-2 w-fit flex flex-row justify-start">
258-
<AttachmentsButton fileInputRef={fileInputRef} isLoading={isLoading} />
259-
</div>
260-
261257
<div className="absolute bottom-0 right-0 p-2 w-fit flex flex-row justify-end">
262258
{isLoading ? (
263259
<StopButton stop={stop} setMessages={setMessages} />

components/sidebar-history.tsx

Lines changed: 9 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
'use client';
22

33
import { isToday, isYesterday, subMonths, subWeeks } from 'date-fns';
4+
import type { User } from 'next-auth';
45
import Link from 'next/link';
56
import { useParams, usePathname, useRouter } from 'next/navigation';
6-
import type { User } from 'next-auth';
77
import { memo, useEffect, useState } from 'react';
88
import { toast } from 'sonner';
99
import useSWR from 'swr';
1010

1111
import {
12-
CheckCircleFillIcon,
13-
GlobeIcon,
14-
LockIcon,
15-
MoreHorizontalIcon,
16-
ShareIcon,
1712
TrashIcon,
1813
} from '@/components/icons';
1914
import {
@@ -30,25 +25,18 @@ import {
3025
DropdownMenu,
3126
DropdownMenuContent,
3227
DropdownMenuItem,
33-
DropdownMenuPortal,
34-
DropdownMenuSeparator,
35-
DropdownMenuSub,
36-
DropdownMenuSubContent,
37-
DropdownMenuSubTrigger,
38-
DropdownMenuTrigger,
3928
} from '@/components/ui/dropdown-menu';
4029
import {
4130
SidebarGroup,
4231
SidebarGroupContent,
4332
SidebarMenu,
44-
SidebarMenuAction,
4533
SidebarMenuButton,
4634
SidebarMenuItem,
4735
useSidebar,
4836
} from '@/components/ui/sidebar';
37+
import { useChatVisibility } from '@/hooks/use-chat-visibility';
4938
import type { Chat } from '@/lib/db/schema';
5039
import { fetcher } from '@/lib/utils';
51-
import { useChatVisibility } from '@/hooks/use-chat-visibility';
5240

5341
type GroupedChats = {
5442
today: Chat[];
@@ -83,54 +71,22 @@ const PureChatItem = ({
8371
</SidebarMenuButton>
8472

8573
<DropdownMenu modal={true}>
86-
<DropdownMenuTrigger asChild>
74+
{/*
75+
TODO: Re-enable when conversation deletion is implemented
76+
77+
https://github.com/pattern-tech/pattern-app/issues/33
78+
*/}
79+
{/* <DropdownMenuTrigger asChild>
8780
<SidebarMenuAction
8881
className="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground mr-0.5"
8982
showOnHover={!isActive}
9083
>
9184
<MoreHorizontalIcon />
9285
<span className="sr-only">More</span>
9386
</SidebarMenuAction>
94-
</DropdownMenuTrigger>
87+
</DropdownMenuTrigger> */}
9588

9689
<DropdownMenuContent side="bottom" align="end">
97-
<DropdownMenuSub>
98-
<DropdownMenuSubTrigger className="cursor-pointer">
99-
<ShareIcon />
100-
<span>Share</span>
101-
</DropdownMenuSubTrigger>
102-
<DropdownMenuPortal>
103-
<DropdownMenuSubContent>
104-
<DropdownMenuItem
105-
className="cursor-pointer flex-row justify-between"
106-
onClick={() => {
107-
setVisibilityType('private');
108-
}}
109-
>
110-
<div className="flex flex-row gap-2 items-center">
111-
<LockIcon size={12} />
112-
<span>Private</span>
113-
</div>
114-
{visibilityType === 'private' ? (
115-
<CheckCircleFillIcon />
116-
) : null}
117-
</DropdownMenuItem>
118-
<DropdownMenuItem
119-
className="cursor-pointer flex-row justify-between"
120-
onClick={() => {
121-
setVisibilityType('public');
122-
}}
123-
>
124-
<div className="flex flex-row gap-2 items-center">
125-
<GlobeIcon />
126-
<span>Public</span>
127-
</div>
128-
{visibilityType === 'public' ? <CheckCircleFillIcon /> : null}
129-
</DropdownMenuItem>
130-
</DropdownMenuSubContent>
131-
</DropdownMenuPortal>
132-
</DropdownMenuSub>
133-
13490
<DropdownMenuItem
13591
className="cursor-pointer text-destructive focus:bg-destructive/15 focus:text-destructive dark:text-red-500"
13692
onSelect={() => onDelete(chat.id)}

lib/ai/pattern-model.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,10 @@ export class PatternModel implements LanguageModelV1 {
9292
textDelta: event.data,
9393
});
9494
} else if (event.type === 'tool_start') {
95-
const text = this.getToolStartReasoningText(event);
96-
controller.enqueue({
97-
type: 'reasoning',
98-
textDelta: text,
99-
});
95+
/**
96+
* TODO: Re-enable reasoning when backend supports it
97+
* https://github.com/pattern-tech/pattern-app/issues/27
98+
*/
10099
} else {
101100
controller.enqueue({
102101
type: 'error',

0 commit comments

Comments
 (0)