Scaffold a new React component following Wisper Clone conventions
Scaffold a new React component following project conventions.
Ask the user for:
RecordingTimer)src/components/ (or create a new subdirectory for complex components)Determine placement:
src/components/{Name}.tsx + src/components/{Name}.csssrc/components/{Name}/ directoryCreate the component file(s) following these conventions:
import { useState } from 'react';
import './ComponentName.css';
interface ComponentNameProps {
// props here
}
export function ComponentName({ }: ComponentNameProps) {
return (
<div className="component-name">
</div>
);
}
box-shadow: 2px 2px 0px 0pxcolor-mix() for badge/status colorsletter-spacing: 0.03em// src/stores/componentNameStore.ts
import { create } from 'zustand';
import { invoke } from '@tauri-apps/api/core';
interface ComponentNameState {
// state
}
export const useComponentNameStore = create<ComponentNameState>((set, get) => ({
// implementation
}));
src/lib/types.tspnpm type-check to verify.AIToolbar.tsx + AIToolbar.cssDashboard/, Settings/, Transcription/src/stores/ with Zustand create<Type>() patternsrc/lib/types.ts