Skip to content

Commit

Permalink
Improve UI
Browse files Browse the repository at this point in the history
  • Loading branch information
untunt committed Mar 9, 2024
1 parent 88e390f commit 3e70c1b
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Whisper Web</title>
<style>.bg-gray-300 { background-color: rgb(219 221 224); }</style>
</head>
<body>
<div id="root"></div>
Expand Down
10 changes: 6 additions & 4 deletions src/components/AudioManager.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -286,15 +286,18 @@ export function AudioManager(props: { transcriber: Transcriber }) {
audioUrl={audioData.url}
mimeType={audioData.mimeType}
/>

<div className='relative w-full flex justify-center items-center'>
</>
)}
<>
<div className={`relative w-full flex justify-center items-center ${audioData ? "" : "p-4"}`}>
<TranscribeButton
onClick={() => {
props.transcriber.start(audioData.buffer);
props.transcriber.start(audioData?.buffer);
}}
isModelLoading={props.transcriber.isModelLoading}
// isAudioLoading ||
isTranscribing={props.transcriber.isBusy}
hasAudio={Boolean(audioData)}
/>
</div>
{props.transcriber.progressItems.length > 0 && (
Expand All @@ -313,7 +316,6 @@ export function AudioManager(props: { transcriber: Transcriber }) {
</div>
)}
</>
)}
</>
);
}
Expand Down
11 changes: 8 additions & 3 deletions src/components/TranscribeButton.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
interface Props extends React.ButtonHTMLAttributes<HTMLButtonElement> {
isModelLoading: boolean;
isTranscribing: boolean;
hasAudio: boolean;
}

export function TranscribeButton(props: Props): JSX.Element {
const { isModelLoading, isTranscribing, onClick, ...buttonProps } = props;
const { isModelLoading, isTranscribing, onClick, hasAudio, ...buttonProps } = props;
return (
<button
{...buttonProps}
Expand All @@ -13,8 +14,12 @@ export function TranscribeButton(props: Props): JSX.Element {
onClick(event);
}
}}
disabled={isTranscribing}
className='text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 inline-flex items-center'
disabled={isTranscribing || !hasAudio}
className={`${
hasAudio
? "text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300"
: "text-white bg-gray-300"
} font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-2 inline-flex items-center transition-all duration-300`}
>
{isModelLoading ? (
<Spinner text={"下载模型……"} />
Expand Down
4 changes: 2 additions & 2 deletions src/components/modal/Modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ export default function Modal({
className={`inline-flex ml-4 justify-center rounded-md border border-transparent ${
submitEnabled
? "bg-indigo-600"
: "bg-grey-300"
} px-4 py-2 text-sm font-medium text-indigo-100 ${
: "bg-gray-300"
} px-4 py-2 text-sm font-medium text-white ${
submitEnabled
? "hover:bg-indigo-500 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-2"
: ""
Expand Down

0 comments on commit 3e70c1b

Please sign in to comment.