2022-08-14 13:27:41 -07:00
|
|
|
<script>
|
|
|
|
import { createEventDispatcher } from 'svelte';
|
2022-11-27 22:03:15 -08:00
|
|
|
import { invoke } from '@tauri-apps/api/tauri';
|
|
|
|
|
2022-12-22 19:53:14 -08:00
|
|
|
import Icon from '../ui/icon.svelte';
|
|
|
|
|
2022-11-27 22:03:15 -08:00
|
|
|
export let appState;
|
2022-08-14 13:27:41 -07:00
|
|
|
|
|
|
|
const dispatch = createEventDispatcher();
|
2022-11-23 17:11:44 -08:00
|
|
|
|
2022-11-27 22:03:15 -08:00
|
|
|
async function approve() {
|
2022-12-13 21:50:34 -08:00
|
|
|
let status = await invoke('get_session_status');
|
2022-12-13 16:50:44 -08:00
|
|
|
if (status === 'unlocked') {
|
2022-11-27 22:03:15 -08:00
|
|
|
dispatch('navigate', {target: 'ShowApproved'});
|
|
|
|
}
|
2022-12-13 16:50:44 -08:00
|
|
|
else if (status === 'locked') {
|
|
|
|
dispatch('navigate', {target: 'Unlock'})
|
|
|
|
}
|
2022-11-27 22:03:15 -08:00
|
|
|
else {
|
2022-12-13 16:50:44 -08:00
|
|
|
dispatch('navigate', {target: 'EnterCredentials'});
|
2022-11-27 22:03:15 -08:00
|
|
|
}
|
2022-11-23 17:11:44 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
function deny() {
|
|
|
|
dispatch('navigate', {target: 'ShowDenied'});
|
|
|
|
}
|
2022-12-19 15:26:44 -08:00
|
|
|
|
|
|
|
function handleHotkey(event) {
|
|
|
|
if (event.shiftKey && (event.code === 'Enter' || event.code === 'NumpadEnter')) {
|
|
|
|
approve();
|
|
|
|
}
|
2022-12-21 14:49:01 -08:00
|
|
|
else if (event.code === 'Escape') {
|
|
|
|
deny();
|
|
|
|
}
|
2022-12-19 15:26:44 -08:00
|
|
|
}
|
2022-08-14 13:27:41 -07:00
|
|
|
</script>
|
|
|
|
|
2022-12-19 15:26:44 -08:00
|
|
|
<svelte:window on:keydown={handleHotkey} />
|
|
|
|
|
2022-08-14 13:27:41 -07:00
|
|
|
<h2 class="text-3xl text-gray-200">An application would like to access your AWS credentials.</h2>
|
|
|
|
|
2022-12-21 13:42:12 -08:00
|
|
|
<div class="text-center">
|
|
|
|
<ul class="text-gray-200">
|
|
|
|
{#each appState.currentRequest.clients as client}
|
2022-12-22 19:53:14 -08:00
|
|
|
<li>PID: {client ? client.pid : 'Unknown'}</li>
|
|
|
|
<li>Path: {client ? client.exe : 'Unknown'}</li>
|
2022-12-21 13:42:12 -08:00
|
|
|
{/each}
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<button on:click={approve}>
|
2022-12-22 19:53:14 -08:00
|
|
|
<Icon name="check-circle" class="w-32 stroke-green-500" />
|
2022-12-21 13:42:12 -08:00
|
|
|
</button>
|
|
|
|
|
|
|
|
<button on:click={deny}>
|
2022-12-22 19:53:14 -08:00
|
|
|
<Icon name="x-circle" class="w-32 stroke-red-600" />
|
2022-12-21 13:42:12 -08:00
|
|
|
</button>
|
|
|
|
</div>
|