40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
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)
|
|
|
|
function cancelRequest() {
|
|
window.electronAPI.cancelBluetoothRequest()
|
|
}
|
|
|
|
document.getElementById('cancel').addEventListener('click', cancelRequest)
|
|
|
|
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)
|
|
})
|