feat: polish alpine shell feedback

This commit is contained in:
a.tolmachev
2026-03-31 12:32:05 +03:00
parent 84f4437ce0
commit 4d91ccf48f
16 changed files with 366 additions and 30 deletions
+24 -8
View File
@@ -342,7 +342,9 @@ async function submitForm() {
submit.disabled = false;
}, 1400);
} catch (error) {
alert(error.message || 'Failed to save workspace');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to save workspace', 'Save failed');
}
submit.disabled = false;
submit.textContent = originalLabel;
}
@@ -404,7 +406,9 @@ async function sendInvite() {
document.getElementById('invite-success').style.display = '';
await loadWorkspaceAccessData();
} catch (error) {
alert(error.message || 'Failed to send invite');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to send invite', 'Invite failed');
}
}
}
@@ -424,7 +428,9 @@ async function updateRole(select, userId) {
renderMembers();
} catch (error) {
select.value = previous;
alert(error.message || 'Failed to update role');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to update role', 'Role update failed');
}
} finally {
select.disabled = false;
}
@@ -442,7 +448,9 @@ async function removeMember(userId, name) {
await window.CrankApi.deleteMembership(workspaceFormState.workspaceId, userId);
await loadWorkspaceAccessData();
} catch (error) {
alert(error.message || 'Failed to remove member');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to remove member', 'Member removal failed');
}
}
}
@@ -455,7 +463,9 @@ async function revokeInviteById(invitationId) {
await window.CrankApi.deleteInvitation(workspaceFormState.workspaceId, invitationId);
await loadWorkspaceAccessData();
} catch (error) {
alert(error.message || 'Failed to revoke invite');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to revoke invite', 'Invite revoke failed');
}
}
}
@@ -489,7 +499,9 @@ async function exportWorkspaceSnapshot() {
: 'workspace';
downloadJsonFile(slug + '-snapshot.json', snapshot);
} catch (error) {
alert(error.message || 'Failed to export workspace');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to export workspace', 'Export failed');
}
}
}
@@ -505,7 +517,9 @@ async function deleteWorkspaceAction() {
await window.CrankApi.deleteWorkspace(workspaceFormState.workspaceId);
await window.CrankAuth.logout();
} catch (error) {
alert(error.message || 'Failed to delete workspace');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to delete workspace', 'Delete failed');
}
}
}
@@ -536,7 +550,9 @@ async function initPage() {
applyWorkspaceRecord(record);
await loadWorkspaceAccessData();
} catch (error) {
alert(error.message || 'Failed to load workspace');
if (window.CrankUi) {
window.CrankUi.error(error.message || 'Failed to load workspace', 'Workspace load failed');
}
}
}