| | |
| | | |
| | | let statuses = $state<PermissionStatus[]>([]) |
| | | let loading = $state(true) |
| | | let refreshTimeout: number | null = null |
| | | |
| | | onMount(() => { |
| | | refresh() |
| | | const timer = window.setInterval(refresh, 2500) |
| | | return () => window.clearInterval(timer) |
| | | return () => { |
| | | window.clearInterval(timer) |
| | | if (refreshTimeout !== null) { |
| | | window.clearTimeout(refreshTimeout) |
| | | refreshTimeout = null |
| | | } |
| | | } |
| | | }) |
| | | |
| | | async function refresh() { |
| | |
| | | await Call.ByName('voicesnap/services.PermissionService.OpenSettings', id) |
| | | } catch {} |
| | | } |
| | | window.setTimeout(refresh, 800) |
| | | if (refreshTimeout !== null) { |
| | | window.clearTimeout(refreshTimeout) |
| | | } |
| | | refreshTimeout = window.setTimeout(() => { |
| | | refreshTimeout = null |
| | | refresh() |
| | | }, 800) |
| | | } |
| | | |
| | | function sortStatuses(items: PermissionStatus[]) { |