feat: incoming DM call notification with ring tone
When another user starts a call in a DM room, show a fixed-position notification with caller avatar, name, and Answer/Decline buttons. A Web Audio API double-pulse ring tone plays until answered, declined, or the 30-second auto-dismiss fires. - useIncomingDmCall hook: listens to MatrixRTC SessionStarted/SessionEnded, filters DM rooms (encrypted, ≤2 members), auto-dismisses after 30s, stops if caller leaves or user joins another call - IncomingCallNotification component: ring tone, caller info, themed UI for LotusGuild Terminal TDS (navy bg, orange border, neon-green Answer) and standard Cinny dark/light (CSS vars, folds Button Success/Critical) - Router.tsx: mount IncomingCallNotification inside CallEmbedProvider
This commit is contained in:
@@ -69,6 +69,7 @@ import { CreateSpaceModalRenderer } from '../features/create-space';
|
||||
import { SearchModalRenderer } from '../features/search';
|
||||
import { getFallbackSession } from '../state/sessions';
|
||||
import { CallStatusRenderer } from './CallStatusRenderer';
|
||||
import { IncomingCallNotification } from '../components/IncomingCallNotification';
|
||||
import { CallEmbedProvider } from '../components/CallEmbedProvider';
|
||||
|
||||
export const createRouter = (clientConfig: ClientConfig, screenSize: ScreenSize) => {
|
||||
@@ -137,6 +138,7 @@ export const createRouter = (clientConfig: ClientConfig, screenSize: ScreenSize)
|
||||
<Outlet />
|
||||
</ClientLayout>
|
||||
<CallStatusRenderer />
|
||||
<IncomingCallNotification />
|
||||
</CallEmbedProvider>
|
||||
<SearchModalRenderer />
|
||||
<UserRoomProfileRenderer />
|
||||
|
||||
Reference in New Issue
Block a user