Upgrade linter and formatter to Ultracite (#1224)

This commit is contained in:
Hayden Bleasel 2025-09-20 12:47:10 -07:00 committed by GitHub
parent b1d254283b
commit 0e320b391d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
177 changed files with 6951 additions and 8342 deletions

View file

@ -1,33 +1,32 @@
import { memo } from 'react';
import type { ArtifactKind } from './artifact';
import { FileIcon, LoaderIcon, MessageIcon, PencilEditIcon } from './icons';
import { toast } from 'sonner';
import { useArtifact } from '@/hooks/use-artifact';
import { memo } from "react";
import { toast } from "sonner";
import { useArtifact } from "@/hooks/use-artifact";
import type { ArtifactKind } from "./artifact";
import { FileIcon, LoaderIcon, MessageIcon, PencilEditIcon } from "./icons";
const getActionText = (
type: 'create' | 'update' | 'request-suggestions',
tense: 'present' | 'past',
type: "create" | "update" | "request-suggestions",
tense: "present" | "past"
) => {
switch (type) {
case 'create':
return tense === 'present' ? 'Creating' : 'Created';
case 'update':
return tense === 'present' ? 'Updating' : 'Updated';
case 'request-suggestions':
return tense === 'present'
? 'Adding suggestions'
: 'Added suggestions to';
case "create":
return tense === "present" ? "Creating" : "Created";
case "update":
return tense === "present" ? "Updating" : "Updated";
case "request-suggestions":
return tense === "present"
? "Adding suggestions"
: "Added suggestions to";
default:
return null;
}
};
interface DocumentToolResultProps {
type: 'create' | 'update' | 'request-suggestions';
type DocumentToolResultProps = {
type: "create" | "update" | "request-suggestions";
result: { id: string; title: string; kind: ArtifactKind };
isReadonly: boolean;
}
};
function PureDocumentToolResult({
type,
@ -38,12 +37,11 @@ function PureDocumentToolResult({
return (
<button
type="button"
className="flex w-fit cursor-pointer flex-row items-start gap-3 rounded-xl border bg-background px-3 py-2"
onClick={(event) => {
if (isReadonly) {
toast.error(
'Viewing files in shared chats is currently not supported.',
"Viewing files in shared chats is currently not supported."
);
return;
}
@ -60,25 +58,26 @@ function PureDocumentToolResult({
setArtifact({
documentId: result.id,
kind: result.kind,
content: '',
content: "",
title: result.title,
isVisible: true,
status: 'idle',
status: "idle",
boundingBox,
});
}}
type="button"
>
<div className="mt-1 text-muted-foreground">
{type === 'create' ? (
{type === "create" ? (
<FileIcon />
) : type === 'update' ? (
) : type === "update" ? (
<PencilEditIcon />
) : type === 'request-suggestions' ? (
) : type === "request-suggestions" ? (
<MessageIcon />
) : null}
</div>
<div className="text-left">
{`${getActionText(type, 'past')} "${result.title}"`}
{`${getActionText(type, "past")} "${result.title}"`}
</div>
</button>
);
@ -86,14 +85,14 @@ function PureDocumentToolResult({
export const DocumentToolResult = memo(PureDocumentToolResult, () => true);
interface DocumentToolCallProps {
type: 'create' | 'update' | 'request-suggestions';
type DocumentToolCallProps = {
type: "create" | "update" | "request-suggestions";
args:
| { title: string; kind: ArtifactKind } // for create
| { id: string; description: string } // for update
| { documentId: string }; // for request-suggestions
isReadonly: boolean;
}
};
function PureDocumentToolCall({
type,
@ -104,12 +103,11 @@ function PureDocumentToolCall({
return (
<button
type="button"
className="cursor pointer flex w-fit flex-row items-start justify-between gap-3 rounded-xl border px-3 py-2"
onClick={(event) => {
if (isReadonly) {
toast.error(
'Viewing files in shared chats is currently not supported.',
"Viewing files in shared chats is currently not supported."
);
return;
}
@ -129,27 +127,28 @@ function PureDocumentToolCall({
boundingBox,
}));
}}
type="button"
>
<div className="flex flex-row items-start gap-3">
<div className="mt-1 text-zinc-500">
{type === 'create' ? (
{type === "create" ? (
<FileIcon />
) : type === 'update' ? (
) : type === "update" ? (
<PencilEditIcon />
) : type === 'request-suggestions' ? (
) : type === "request-suggestions" ? (
<MessageIcon />
) : null}
</div>
<div className="text-left">
{`${getActionText(type, 'present')} ${
type === 'create' && 'title' in args && args.title
{`${getActionText(type, "present")} ${
type === "create" && "title" in args && args.title
? `"${args.title}"`
: type === 'update' && 'description' in args
: type === "update" && "description" in args
? `"${args.description}"`
: type === 'request-suggestions'
? 'for document'
: ''
: type === "request-suggestions"
? "for document"
: ""
}`}
</div>
</div>