Add Playwright e2e coverage + comment-level video upload workflow #40

Merged
shaun merged 7 commits from ai-agent/38-allow-administrators-to-create-local-login-users into main 2026-02-22 21:20:20 +00:00
Showing only changes of commit 345da2ef7a - Show all commits

View File

@@ -418,14 +418,14 @@
role="button" role="button"
tabindex="-1" tabindex="-1"
onclick={closeAddDrawer} onclick={closeAddDrawer}
on:keydown={(e: KeyboardEvent) => e.key === 'Escape' && closeAddDrawer()} onkeydown={(e: KeyboardEvent) => e.key === 'Escape' && closeAddDrawer()}
></div> ></div>
<div <div
class="fixed top-0 right-0 z-50 flex h-full w-full max-w-md flex-col bg-white shadow-xl" class="fixed top-0 right-0 z-50 flex h-full w-full max-w-md flex-col bg-white shadow-xl"
role="dialog" role="dialog"
aria-modal="true" aria-modal="true"
aria-label="Add user" aria-label="Add user"
on:keydown={(e: KeyboardEvent) => e.key === 'Escape' && closeAddDrawer()} onkeydown={(e: KeyboardEvent) => e.key === 'Escape' && closeAddDrawer()}
> >
<div class="flex items-center justify-between border-b border-gray-200 px-6 py-4"> <div class="flex items-center justify-between border-b border-gray-200 px-6 py-4">
<div> <div>
@@ -443,7 +443,7 @@
</svg> </svg>
</button> </button>
</div> </div>
<form class="flex flex-1 flex-col gap-4 overflow-y-auto px-6 py-4" onsubmit|preventDefault={submitAddUser}> <form class="flex flex-1 flex-col gap-4 overflow-y-auto px-6 py-4" onsubmit={(e) => { e.preventDefault(); submitAddUser(); }}>
{#if addError} {#if addError}
<p class="rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700"> <p class="rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700">
{addError} {addError}
@@ -517,14 +517,14 @@
role="button" role="button"
tabindex="-1" tabindex="-1"
onclick={closePasswordDrawer} onclick={closePasswordDrawer}
on:keydown={(e: KeyboardEvent) => e.key === 'Escape' && closePasswordDrawer()} onkeydown={(e: KeyboardEvent) => e.key === 'Escape' && closePasswordDrawer()}
></div> ></div>
<div <div
class="fixed top-0 right-0 z-50 flex h-full w-full max-w-md flex-col bg-white shadow-xl" class="fixed top-0 right-0 z-50 flex h-full w-full max-w-md flex-col bg-white shadow-xl"
role="dialog" role="dialog"
aria-modal="true" aria-modal="true"
aria-label="Set local password" aria-label="Set local password"
on:keydown={(e: KeyboardEvent) => e.key === 'Escape' && closePasswordDrawer()} onkeydown={(e: KeyboardEvent) => e.key === 'Escape' && closePasswordDrawer()}
> >
<div class="flex items-center justify-between border-b border-gray-200 px-6 py-4"> <div class="flex items-center justify-between border-b border-gray-200 px-6 py-4">
<div> <div>
@@ -544,7 +544,7 @@
</div> </div>
<form <form
class="flex flex-1 flex-col gap-4 overflow-y-auto px-6 py-4" class="flex flex-1 flex-col gap-4 overflow-y-auto px-6 py-4"
onsubmit|preventDefault={submitLocalPassword} onsubmit={(e) => { e.preventDefault(); submitLocalPassword(); }}
> >
{#if localPasswordError} {#if localPasswordError}
<p class="rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700"> <p class="rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700">