Files
DiscordClone/packages/shared/src/components/voice/SignalStrengthIcon.tsx
Bryan1029384756 b7a4cf4ce8
All checks were successful
Build and Release / build-and-release (push) Successful in 13m12s
feat(ui): add Button, Modal, Spinner, Toast, and Tooltip components with styles
- Implemented Button component with various props for customization.
- Created Modal component with header, content, and footer subcomponents.
- Added Spinner component for loading indicators.
- Developed Toast component for displaying notifications.
- Introduced Tooltip component for contextual hints with keyboard shortcuts.
- Added corresponding CSS modules for styling each component.
- Updated index file to export new components.
- Configured TypeScript settings for the UI package.
2026-04-14 09:02:14 -05:00

21 lines
835 B
TypeScript

import { CellSignalFull, CellSignalMedium, CellSignalLow, CellSignalSlash } from '@phosphor-icons/react';
import { ConnectionQuality } from 'livekit-client';
interface SignalStrengthIconProps {
quality: ConnectionQuality;
size?: number;
}
export function SignalStrengthIcon({ quality, size = 18 }: SignalStrengthIconProps) {
if (quality === ConnectionQuality.Excellent) {
return <CellSignalFull size={size} weight="bold" color="var(--voice-status-success)" />;
}
if (quality === ConnectionQuality.Good) {
return <CellSignalMedium size={size} weight="bold" color="var(--voice-status-warning)" />;
}
if (quality === ConnectionQuality.Poor) {
return <CellSignalLow size={size} weight="bold" color="var(--voice-status-danger)" />;
}
return <CellSignalSlash size={size} weight="bold" color="var(--voice-text-subtle)" />;
}