fix: async public key loading

This commit is contained in:
Andras Bacsai 2024-03-30 18:58:41 +01:00
parent 171f6f4608
commit 7a92ecfa30
2 changed files with 7 additions and 5 deletions

View File

@ -8,7 +8,7 @@
class Show extends Component class Show extends Component
{ {
public PrivateKey $private_key; public PrivateKey $private_key;
public $public_key; public $public_key = "Loading...";
protected $rules = [ protected $rules = [
'private_key.name' => 'required|string', 'private_key.name' => 'required|string',
'private_key.description' => 'nullable|string', 'private_key.description' => 'nullable|string',
@ -25,11 +25,13 @@ public function mount()
{ {
try { try {
$this->private_key = PrivateKey::ownedByCurrentTeam(['name', 'description', 'private_key', 'is_git_related'])->whereUuid(request()->private_key_uuid)->firstOrFail(); $this->private_key = PrivateKey::ownedByCurrentTeam(['name', 'description', 'private_key', 'is_git_related'])->whereUuid(request()->private_key_uuid)->firstOrFail();
$this->public_key = $this->private_key->publicKey();
}catch(\Throwable $e) { }catch(\Throwable $e) {
return handleError($e, $this); return handleError($e, $this);
} }
} }
public function loadPublicKey() {
$this->public_key = $this->private_key->publicKey();
}
public function delete() public function delete()
{ {
try { try {

View File

@ -1,4 +1,4 @@
<div> <div x-init="$wire.loadPublicKey()">
<x-security.navbar /> <x-security.navbar />
<div x-data="{ showPrivateKey: false }"> <div x-data="{ showPrivateKey: false }">
<form class="flex flex-col gap-2" wire:submit='changePrivateKey'> <form class="flex flex-col gap-2" wire:submit='changePrivateKey'>
@ -22,11 +22,11 @@
<x-forms.input readonly id="public_key" /> <x-forms.input readonly id="public_key" />
<div class="flex items-end gap-2 py-2 "> <div class="flex items-end gap-2 py-2 ">
<div class="pl-1 ">Private Key <span class='text-helper'>*</span></div> <div class="pl-1 ">Private Key <span class='text-helper'>*</span></div>
<div class="text-xs dark:text-white underline cursor-pointer" x-cloak x-show="!showPrivateKey" <div class="text-xs underline cursor-pointer dark:text-white" x-cloak x-show="!showPrivateKey"
x-on:click="showPrivateKey = true"> x-on:click="showPrivateKey = true">
Edit Edit
</div> </div>
<div class="text-xs dark:text-white underline cursor-pointer" x-cloak x-show="showPrivateKey" <div class="text-xs underline cursor-pointer dark:text-white" x-cloak x-show="showPrivateKey"
x-on:click="showPrivateKey = false"> x-on:click="showPrivateKey = false">
Hide Hide
</div> </div>