style: apply biome format to drifted authored source

Catches format drift that accumulated across 13 authored files in
app/src and docs/. Auto-generated artifacts (tauri/src-tauri/gen,
docs/openapi.json, docs/cli.json, app/src/lib/api) were left alone
since the build regenerates them on each run — baking their formatted
state into git just causes churn next build.

No behavioral changes. Trailing commas, line wrapping, and indentation
only.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This commit is contained in:
James Pine
2026-04-16 03:13:45 -07:00
co-authored by Claude Opus 4.6
parent 00452b51a8
commit cfe6770639
13 changed files with 59 additions and 91 deletions
+5 -3
View File
@@ -14,15 +14,17 @@ interface AppFrameProps {
export function AppFrame({ children }: AppFrameProps) { export function AppFrame({ children }: AppFrameProps) {
const routerState = useRouterState(); const routerState = useRouterState();
const isStoriesRoute = routerState.location.pathname === '/stories'; const isStoriesRoute = routerState.location.pathname === '/stories';
const selectedStoryId = useStoryStore((state) => state.selectedStoryId); const selectedStoryId = useStoryStore((state) => state.selectedStoryId);
const { data: story } = useStory(selectedStoryId); const { data: story } = useStory(selectedStoryId);
// Show track editor when on stories route with a selected story that has items // Show track editor when on stories route with a selected story that has items
const showTrackEditor = isStoriesRoute && selectedStoryId && story && story.items.length > 0; const showTrackEditor = isStoriesRoute && selectedStoryId && story && story.items.length > 0;
return ( return (
<div className={cn('h-screen bg-background flex flex-col overflow-hidden', TOP_SAFE_AREA_PADDING)}> <div
className={cn('h-screen bg-background flex flex-col overflow-hidden', TOP_SAFE_AREA_PADDING)}
>
<TitleBarDragRegion /> <TitleBarDragRegion />
{children} {children}
{showTrackEditor ? ( {showTrackEditor ? (
+16 -16
View File
@@ -1,20 +1,20 @@
import {EffectsDetail} from "./EffectsDetail"; import { EffectsDetail } from './EffectsDetail';
import {EffectsList} from "./EffectsList"; import { EffectsList } from './EffectsList';
export function EffectsTab() { export function EffectsTab() {
return ( return (
<div className="flex flex-col h-full min-h-0 overflow-hidden"> <div className="flex flex-col h-full min-h-0 overflow-hidden">
<div className="flex-1 min-h-0 flex gap-6 overflow-hidden"> <div className="flex-1 min-h-0 flex gap-6 overflow-hidden">
{/* Left - Presets list */} {/* Left - Presets list */}
<div className="w-full max-w-[360px] shrink-0 flex flex-col min-h-0"> <div className="w-full max-w-[360px] shrink-0 flex flex-col min-h-0">
<EffectsList /> <EffectsList />
</div> </div>
{/* Right - Detail / editor */} {/* Right - Detail / editor */}
<div className="flex-1 min-h-0 flex flex-col"> <div className="flex-1 min-h-0 flex flex-col">
<EffectsDetail /> <EffectsDetail />
</div> </div>
</div> </div>
</div> </div>
); );
} }
@@ -12,7 +12,11 @@ interface ModelProgressProps {
isDownloading?: boolean; isDownloading?: boolean;
} }
export function ModelProgress({ modelName, displayName, isDownloading = false }: ModelProgressProps) { export function ModelProgress({
modelName,
displayName,
isDownloading = false,
}: ModelProgressProps) {
const [progress, setProgress] = useState<ModelProgressType | null>(null); const [progress, setProgress] = useState<ModelProgressType | null>(null);
const serverUrl = useServerStore((state) => state.serverUrl); const serverUrl = useServerStore((state) => state.serverUrl);
+12 -16
View File
@@ -87,7 +87,7 @@ export function StoryChatItem({
alt={`${item.profile_name} avatar`} alt={`${item.profile_name} avatar`}
className={cn( className={cn(
'h-full w-full object-cover transition-all duration-200', 'h-full w-full object-cover transition-all duration-200',
!isCurrentlyPlaying && 'grayscale' !isCurrentlyPlaying && 'grayscale',
)} )}
onError={() => setAvatarError(true)} onError={() => setAvatarError(true)}
/> />
@@ -127,7 +127,10 @@ export function StoryChatItem({
<Play className="mr-2 h-4 w-4" /> <Play className="mr-2 h-4 w-4" />
Play from here Play from here
</DropdownMenuItem> </DropdownMenuItem>
<DropdownMenuItem onClick={onRemove} className="text-destructive focus:text-destructive"> <DropdownMenuItem
onClick={onRemove}
className="text-destructive focus:text-destructive"
>
<Trash2 className="mr-2 h-4 w-4" /> <Trash2 className="mr-2 h-4 w-4" />
Remove from Story Remove from Story
</DropdownMenuItem> </DropdownMenuItem>
@@ -139,15 +142,12 @@ export function StoryChatItem({
} }
// Sortable wrapper component // Sortable wrapper component
export function SortableStoryChatItem(props: Omit<StoryChatItemProps, 'dragHandleProps' | 'isDragging'>) { export function SortableStoryChatItem(
const { props: Omit<StoryChatItemProps, 'dragHandleProps' | 'isDragging'>,
attributes, ) {
listeners, const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({
setNodeRef, id: props.item.generation_id,
transform, });
transition,
isDragging,
} = useSortable({ id: props.item.generation_id });
const style = { const style = {
transform: CSS.Transform.toString(transform), transform: CSS.Transform.toString(transform),
@@ -156,11 +156,7 @@ export function SortableStoryChatItem(props: Omit<StoryChatItemProps, 'dragHandl
return ( return (
<div ref={setNodeRef} style={style} {...attributes}> <div ref={setNodeRef} style={style} {...attributes}>
<StoryChatItem <StoryChatItem {...props} dragHandleProps={listeners} isDragging={isDragging} />
{...props}
dragHandleProps={listeners}
isDragging={isDragging}
/>
</div> </div>
); );
} }
@@ -14,12 +14,7 @@ const MemoizedWaveform = memo(function MemoizedWaveform({
<div className="absolute inset-0 pointer-events-none flex items-center justify-center opacity-30"> <div className="absolute inset-0 pointer-events-none flex items-center justify-center opacity-30">
<Visualizer audio={audioStream} autoStart strokeColor="#b39a3d"> <Visualizer audio={audioStream} autoStart strokeColor="#b39a3d">
{({ canvasRef }) => ( {({ canvasRef }) => (
<canvas <canvas ref={canvasRef} width={500} height={150} className="w-full h-full" />
ref={canvasRef}
width={500}
height={150}
className="w-full h-full"
/>
)} )}
</Visualizer> </Visualizer>
</div> </div>
@@ -87,9 +82,7 @@ export function AudioSampleRecording({
<div className="space-y-4"> <div className="space-y-4">
{!isRecording && !file && ( {!isRecording && !file && (
<div className="relative flex flex-col items-center justify-center gap-4 p-4 border-2 border-dashed rounded-lg min-h-[180px] overflow-hidden"> <div className="relative flex flex-col items-center justify-center gap-4 p-4 border-2 border-dashed rounded-lg min-h-[180px] overflow-hidden">
{showWaveform && audioStream && ( {showWaveform && audioStream && <MemoizedWaveform audioStream={audioStream} />}
<MemoizedWaveform audioStream={audioStream} />
)}
<Button <Button
type="button" type="button"
onClick={onStart} onClick={onStart}
@@ -107,9 +100,7 @@ export function AudioSampleRecording({
{isRecording && ( {isRecording && (
<div className="relative flex flex-col items-center justify-center gap-4 p-4 border-2 border-accent rounded-lg bg-accent/5 min-h-[180px] overflow-hidden"> <div className="relative flex flex-col items-center justify-center gap-4 p-4 border-2 border-accent rounded-lg bg-accent/5 min-h-[180px] overflow-hidden">
{showWaveform && audioStream && ( {showWaveform && audioStream && <MemoizedWaveform audioStream={audioStream} />}
<MemoizedWaveform audioStream={audioStream} />
)}
<div className="relative z-10 flex items-center gap-4"> <div className="relative z-10 flex items-center gap-4">
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<div className="h-3 w-3 rounded-full bg-accent animate-pulse" /> <div className="h-3 w-3 rounded-full bg-accent animate-pulse" />
@@ -28,7 +28,9 @@ export function ProfileList() {
// Temporarily apply scroll-margin so it doesn't land flush at the top // Temporarily apply scroll-margin so it doesn't land flush at the top
el.style.scrollMarginTop = '180px'; el.style.scrollMarginTop = '180px';
el.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' }); el.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' });
timeoutId = setTimeout(() => { el.style.scrollMarginTop = ''; }, 500); timeoutId = setTimeout(() => {
el.style.scrollMarginTop = '';
}, 500);
}); });
return () => { return () => {
cancelAnimationFrame(rafId); cancelAnimationFrame(rafId);
+1 -1
View File
@@ -111,4 +111,4 @@ export {
AlertDialogDescription, AlertDialogDescription,
AlertDialogAction, AlertDialogAction,
AlertDialogCancel, AlertDialogCancel,
}; };
+2 -1
View File
@@ -131,7 +131,8 @@ export function useModelDownloadToast({
)} )}
</div> </div>
), ),
duration: progress.status === 'complete' || progress.status === 'error' ? 5000 : Infinity, duration:
progress.status === 'complete' || progress.status === 'error' ? 5000 : Infinity,
}); });
// Close connection and dismiss toast on completion or error // Close connection and dismiss toast on completion or error
+1 -5
View File
@@ -9,11 +9,7 @@ export interface PlatformProviderProps {
} }
export function PlatformProvider({ platform, children }: PlatformProviderProps) { export function PlatformProvider({ platform, children }: PlatformProviderProps) {
return ( return <PlatformContext.Provider value={platform}>{children}</PlatformContext.Provider>;
<PlatformContext.Provider value={platform}>
{children}
</PlatformContext.Provider>
);
} }
export function usePlatform(): Platform { export function usePlatform(): Platform {
+4 -4
View File
@@ -1,7 +1,7 @@
@import 'tailwindcss'; @import "tailwindcss";
@import 'fumadocs-ui/css/neutral.css'; @import "fumadocs-ui/css/neutral.css";
@import 'fumadocs-ui/css/preset.css'; @import "fumadocs-ui/css/preset.css";
@import 'fumadocs-openapi/css/preset.css'; @import "fumadocs-openapi/css/preset.css";
:root { :root {
--color-fd-primary: hsl(43, 50%, 50%); --color-fd-primary: hsl(43, 50%, 50%);
+2 -11
View File
@@ -5,22 +5,13 @@ import { generate as DefaultImage } from 'fumadocs-ui/og';
export const revalidate = false; export const revalidate = false;
export async function GET( export async function GET(_req: Request, { params }: RouteContext<'/og/docs/[...slug]'>) {
_req: Request,
{ params }: RouteContext<'/og/docs/[...slug]'>,
) {
const { slug } = await params; const { slug } = await params;
const page = source.getPage(slug.slice(0, -1)); const page = source.getPage(slug.slice(0, -1));
if (!page) notFound(); if (!page) notFound();
return new ImageResponse( return new ImageResponse(
( <DefaultImage title={page.data.title} description={page.data.description} site="My App" />,
<DefaultImage
title={page.data.title}
description={page.data.description}
site="My App"
/>
),
{ {
width: 1200, width: 1200,
height: 630, height: 630,
+1 -6
View File
@@ -1,9 +1,4 @@
import { import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';
defineConfig,
defineDocs,
frontmatterSchema,
metaSchema,
} from 'fumadocs-mdx/config';
// You can customise Zod schemas for frontmatter and `meta.json` here // You can customise Zod schemas for frontmatter and `meta.json` here
// see https://fumadocs.dev/docs/mdx/collections // see https://fumadocs.dev/docs/mdx/collections
+4 -14
View File
@@ -2,11 +2,7 @@
"compilerOptions": { "compilerOptions": {
"baseUrl": ".", "baseUrl": ".",
"target": "ESNext", "target": "ESNext",
"lib": [ "lib": ["dom", "dom.iterable", "esnext"],
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true, "allowJs": true,
"skipLibCheck": true, "skipLibCheck": true,
"strict": true, "strict": true,
@@ -20,12 +16,8 @@
"jsx": "react-jsx", "jsx": "react-jsx",
"incremental": true, "incremental": true,
"paths": { "paths": {
"@/*": [ "@/*": ["./*"],
"./*" "@/.source": [".source"]
],
"@/.source": [
".source"
]
}, },
"plugins": [ "plugins": [
{ {
@@ -40,7 +32,5 @@
".next/types/**/*.ts", ".next/types/**/*.ts",
".next/dev/types/**/*.ts" ".next/dev/types/**/*.ts"
], ],
"exclude": [ "exclude": ["node_modules"]
"node_modules"
]
} }