697a219bcb
* feat: add bluetooth pairing handler * Update docs/api/session.md Co-authored-by: Charles Kerr <charles@charleskerr.com> * Update docs/api/session.md Co-authored-by: Charles Kerr <charles@charleskerr.com> * docs: update based on review * Apply suggestions from code review Co-authored-by: Erick Zhao <erick@hotmail.ca> Co-authored-by: Charles Kerr <charles@charleskerr.com> * chore: update docs per review * chore: cleanup callback per review Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: Erick Zhao <erick@hotmail.ca>
34 lines
No EOL
999 B
JavaScript
34 lines
No EOL
999 B
JavaScript
async function testIt() {
|
|
const device = await navigator.bluetooth.requestDevice({
|
|
acceptAllDevices: true
|
|
})
|
|
document.getElementById('device-name').innerHTML = device.name || `ID: ${device.id}`
|
|
}
|
|
|
|
document.getElementById('clickme').addEventListener('click',testIt)
|
|
|
|
window.electronAPI.bluetoothPairingRequest((event, details) => {
|
|
const response = {}
|
|
|
|
switch (details.pairingKind) {
|
|
case 'confirm': {
|
|
response.confirmed = confirm(`Do you want to connect to device ${details.deviceId}?`)
|
|
break
|
|
}
|
|
case 'confirmPin': {
|
|
response.confirmed = confirm(`Does the pin ${details.pin} match the pin displayed on device ${details.deviceId}?`)
|
|
break
|
|
}
|
|
case 'providePin': {
|
|
const pin = prompt(`Please provide a pin for ${details.deviceId}.`)
|
|
if (pin) {
|
|
response.pin = pin
|
|
response.confirmed = true
|
|
} else {
|
|
response.confirmed = false
|
|
}
|
|
}
|
|
}
|
|
|
|
window.electronAPI.bluetoothPairingResponse(response)
|
|
}) |