* Public File Sharing This implements public file sharing (read-only) with and without passwords (#57). It also fixes a problem with filenames including special characters like `#` not working properly (#71). You can share a directory or a single file, by using the new share icon on the right of the directories/files, and click on it to manage an existing file share (setting a new password, or deleting the file share). There is some other minor cleanup and other copy updates in the README. Closes #57 Fixes #71 * Hide UI elements when sharing isn't allowed
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
interface ShareVerifyFormProps {
|
|
error?: { title: string; message: string };
|
|
}
|
|
|
|
export default function ShareVerifyForm(
|
|
{ error }: ShareVerifyFormProps,
|
|
) {
|
|
return (
|
|
<section class='max-w-md w-full mb-12'>
|
|
<section class='mb-6'>
|
|
<h2 class='mt-6 text-center text-3xl font-extrabold text-white'>
|
|
File Share Authentication
|
|
</h2>
|
|
<p class='mt-2 text-center text-sm text-gray-300'>
|
|
You are required to authenticate with a password
|
|
</p>
|
|
</section>
|
|
|
|
{error
|
|
? (
|
|
<section class='notification-error'>
|
|
<h3>{error.title}</h3>
|
|
<p>{error.message}</p>
|
|
</section>
|
|
)
|
|
: null}
|
|
|
|
<form
|
|
class='mb-6'
|
|
method='POST'
|
|
>
|
|
<fieldset class='block mb-4'>
|
|
<label class='text-slate-300 block pb-1' for='token'>
|
|
Password
|
|
</label>
|
|
<input
|
|
type='password'
|
|
id='password'
|
|
name='password'
|
|
placeholder='Password'
|
|
class='mt-1 input-field'
|
|
autocomplete='off'
|
|
required
|
|
/>
|
|
</fieldset>
|
|
|
|
<section class='flex justify-center mt-8 mb-4'>
|
|
<button
|
|
type='submit'
|
|
class='button'
|
|
>
|
|
Verify Password
|
|
</button>
|
|
</section>
|
|
</form>
|
|
</section>
|
|
);
|
|
}
|