Improve client proofing workflow and link editing

This commit is contained in:
2026-10-04 18:32:37 +03:00
parent 2e6f027b71
commit 183910c62f

View File

@@ -108,8 +108,10 @@ function CreateForm({ onCreated }: { onCreated: () => void }) {
maxLength={120} maxLength={120}
required required
/> />
</div>
<div className="admin-field"> <div className="admin-field">
<label htmlFor="proof-alias">Client URL alias (optional)</label> <label htmlFor="proof-alias">Client URL alias</label>
<input <input
id="proof-alias" id="proof-alias"
value={alias} value={alias}
@@ -120,11 +122,11 @@ function CreateForm({ onCreated }: { onCreated: () => void }) {
.replace(/[^A-Za-z0-9-]/g, ''), .replace(/[^A-Za-z0-9-]/g, ''),
) )
} }
placeholder="Client" placeholder="Client (Optional)"
maxLength={64} maxLength={64}
/> />
</div> </div>
</div>
<div className="admin-field"> <div className="admin-field">
<label htmlFor="proof-album">Album</label> <label htmlFor="proof-album">Album</label>
<select <select
@@ -134,7 +136,10 @@ function CreateForm({ onCreated }: { onCreated: () => void }) {
required required
disabled={!albums} disabled={!albums}
> >
<option value="">{albums ? 'Choose an Immich album…' : 'Loading albums…'}</option> <option value="">
{albums ? 'Choose an Immich album…' : 'Loading albums…'}
</option>
{albums?.map((album) => ( {albums?.map((album) => (
<option key={album.id} value={album.id}> <option key={album.id} value={album.id}>
{album.albumName} ({album.assetCount}) {album.albumName} ({album.assetCount})
@@ -142,6 +147,7 @@ function CreateForm({ onCreated }: { onCreated: () => void }) {
))} ))}
</select> </select>
</div> </div>
<div className="admin-field"> <div className="admin-field">
<label htmlFor="proof-expires">Valid until (optional)</label> <label htmlFor="proof-expires">Valid until (optional)</label>
<input <input
@@ -151,9 +157,9 @@ function CreateForm({ onCreated }: { onCreated: () => void }) {
onChange={(e) => setExpiresOn(e.target.value)} onChange={(e) => setExpiresOn(e.target.value)}
/> />
</div> </div>
<div className="admin-field"> <div className="admin-field">
<label htmlFor="proof-download">Downloads</label> <label htmlFor="proof-download">Downloads</label>
<select <select
id="proof-download" id="proof-download"
value={downloadsAllowed ? 'allowed' : 'none'} value={downloadsAllowed ? 'allowed' : 'none'}
@@ -161,10 +167,11 @@ function CreateForm({ onCreated }: { onCreated: () => void }) {
setDownloadsAllowed(e.target.value === 'allowed') setDownloadsAllowed(e.target.value === 'allowed')
} }
> >
<option value="none">No downloads</option> <option value="none">Downloads disabled</option>
<option value="allowed">Downloads allowed</option> <option value="allowed">Downloads allowed</option>
</select> </select>
</div> </div>
{downloadsAllowed && ( {downloadsAllowed && (
<div className="admin-field"> <div className="admin-field">
<label htmlFor="proof-limit">Download limit (optional)</label> <label htmlFor="proof-limit">Download limit (optional)</label>