add button to clear call history
This commit is contained in:
@@ -239,6 +239,11 @@
|
||||
</svg>
|
||||
</div>
|
||||
<div class="my-auto">Call History</div>
|
||||
<div class="ml-auto">
|
||||
<button @click="clearCallHistory" type="button" class="my-auto inline-flex items-center gap-x-1 rounded-md bg-gray-500 px-2 py-1 text-sm font-semibold text-white shadow-sm hover:bg-gray-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-500">
|
||||
Clear All
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="divide-y">
|
||||
<div v-for="audioCall in inactiveAudioCalls" class="group flex p-2">
|
||||
@@ -730,6 +735,26 @@
|
||||
// do nothing on error
|
||||
}
|
||||
|
||||
},
|
||||
async clearCallHistory() {
|
||||
|
||||
// confirm user wants to clear call history
|
||||
if(!confirm("Are you sure you want to clear your call history?")){
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
// clear call history
|
||||
await window.axios.post(`/api/v1/calls/clear-call-history`);
|
||||
|
||||
// update ui
|
||||
await this.updateCallsList()
|
||||
|
||||
} catch(e) {
|
||||
// do nothing on error
|
||||
}
|
||||
|
||||
},
|
||||
async announce() {
|
||||
try {
|
||||
|
||||
@@ -132,7 +132,11 @@ class AudioCallManager:
|
||||
def delete_audio_call_by_link_hash(self, link_hash: bytes):
|
||||
audio_call = self.find_audio_call_by_link_hash(link_hash)
|
||||
if audio_call is not None:
|
||||
self.audio_calls.remove(audio_call)
|
||||
self.delete_audio_call(audio_call)
|
||||
|
||||
# delete an existing audio call
|
||||
def delete_audio_call(self, audio_call: AudioCall):
|
||||
self.audio_calls.remove(audio_call)
|
||||
|
||||
# hangup all calls
|
||||
def hangup_all(self):
|
||||
|
||||
13
web.py
13
web.py
@@ -175,6 +175,19 @@ class ReticulumWebChat:
|
||||
"audio_calls": audio_calls,
|
||||
})
|
||||
|
||||
# clear call history
|
||||
@routes.post("/api/v1/calls/clear-call-history")
|
||||
async def index(request):
|
||||
|
||||
# delete inactive calls, which are classed as call history
|
||||
for audio_call in self.audio_call_manager.audio_calls:
|
||||
if audio_call.is_active() is False:
|
||||
self.audio_call_manager.delete_audio_call(audio_call)
|
||||
|
||||
return web.json_response({
|
||||
"message": "Call history has been cleared",
|
||||
})
|
||||
|
||||
# hangup all calls
|
||||
@routes.get("/api/v1/calls/hangup-all")
|
||||
async def index(request):
|
||||
|
||||
Reference in New Issue
Block a user