Spaces:
Sleeping
Sleeping
Deploy Rachana Data Studio
Browse files- frontend/app/page.tsx +2 -1
frontend/app/page.tsx
CHANGED
|
@@ -619,6 +619,7 @@ function UserCard({ token, run }: { token: string; run: (path: string, body: unk
|
|
| 619 |
const resetPassword = async (targetUsername: string) => {
|
| 620 |
const data = await api<{ user: AdminUser; temporary_password: string }>(`/api/admin/users/${encodeURIComponent(targetUsername)}/reset-password`, token, { method: "POST", body: JSON.stringify({}) });
|
| 621 |
setInvite({ url: window.location.origin, username: data.user.username, password: data.temporary_password });
|
|
|
|
| 622 |
await refreshUsers();
|
| 623 |
};
|
| 624 |
|
|
@@ -675,7 +676,7 @@ function UserCard({ token, run }: { token: string; run: (path: string, body: unk
|
|
| 675 |
<strong>{item.username}</strong>
|
| 676 |
<div className="inlineActions">
|
| 677 |
<button type="button" className="secondary" onClick={() => copyUsername(item.username)}>Copy username</button>
|
| 678 |
-
<button type="button" className="secondary" onClick={() => resetPassword(item.username)}>Reset
|
| 679 |
</div>
|
| 680 |
</div>
|
| 681 |
<span>{item.display_name}</span>
|
|
|
|
| 619 |
const resetPassword = async (targetUsername: string) => {
|
| 620 |
const data = await api<{ user: AdminUser; temporary_password: string }>(`/api/admin/users/${encodeURIComponent(targetUsername)}/reset-password`, token, { method: "POST", body: JSON.stringify({}) });
|
| 621 |
setInvite({ url: window.location.origin, username: data.user.username, password: data.temporary_password });
|
| 622 |
+
await navigator.clipboard.writeText(`Login URL: ${window.location.origin}\nUsername: ${data.user.username}\nPassword: ${data.temporary_password}`).catch(() => undefined);
|
| 623 |
await refreshUsers();
|
| 624 |
};
|
| 625 |
|
|
|
|
| 676 |
<strong>{item.username}</strong>
|
| 677 |
<div className="inlineActions">
|
| 678 |
<button type="button" className="secondary" onClick={() => copyUsername(item.username)}>Copy username</button>
|
| 679 |
+
<button type="button" className="secondary" onClick={() => resetPassword(item.username)}>Reset & copy invite</button>
|
| 680 |
</div>
|
| 681 |
</div>
|
| 682 |
<span>{item.display_name}</span>
|