feat: Implement voice and video calling features including participant tiles, screen sharing, and audio controls with associated UI components and sound assets.
All checks were successful
Build and Release / build-and-release (push) Successful in 13m4s

This commit is contained in:
Bryan1029384756
2026-02-20 10:43:52 -06:00
parent e7f10aa5f0
commit 3acd5ca697
27 changed files with 180 additions and 17 deletions

View File

@@ -35,12 +35,16 @@ const webPlatform = {
},
windowControls: null,
updates: null,
voiceService: null,
systemBars: null,
searchDB,
features: {
hasWindowControls: false,
hasScreenCapture: true,
hasNativeUpdates: false,
hasSearch: true,
hasVoiceService: false,
hasSystemBars: false,
},
};
@@ -104,6 +108,34 @@ if (window.Capacitor?.isNativePlatform?.()) {
},
};
webPlatform.features.hasNativeUpdates = true;
webPlatform.features.hasScreenCapture = false;
// Native voice foreground service
const VoiceService = window.Capacitor.Plugins.VoiceService;
if (VoiceService) {
webPlatform.voiceService = {
async startService({ channelName, isMuted, isDeafened }) {
await VoiceService.startService({ channelName, isMuted, isDeafened });
},
async stopService() {
await VoiceService.stopService();
},
async updateNotification(opts) {
await VoiceService.updateNotification(opts);
},
addNotificationActionListener(callback) {
return VoiceService.addListener('voiceNotificationAction', callback);
},
};
webPlatform.features.hasVoiceService = true;
}
// Native system bar coloring
const SystemBars = window.Capacitor.Plugins.SystemBars;
if (SystemBars) {
webPlatform.systemBars = { setColors: (opts) => SystemBars.setColors(opts) };
webPlatform.features.hasSystemBars = true;
}
}
export default webPlatform;