in app/lib/autoSaveService.ts [39:80]
static showSaveIndicator(
message: string = "Saving...",
type: "saving" | "saved" | "error" = "saving"
) {
// Only show error messages, skip success indicators for subtlety
if (type !== "error") {
return;
}
// Remove existing indicator
const existing = document.querySelector("[data-autosave-indicator]");
if (existing) {
existing.remove();
}
const indicator = document.createElement("div");
indicator.setAttribute("data-autosave-indicator", "true");
// Much more subtle styling
indicator.className = `fixed bottom-4 right-4 bg-red-500 text-white px-3 py-1.5 rounded text-xs shadow-lg z-50 transition-all duration-200`;
indicator.innerHTML = `
<div class="flex items-center gap-1">
<div class="w-1 h-1 bg-white rounded-full"></div>
<span>${message}</span>
</div>
`;
document.body.appendChild(indicator);
// Auto-remove quickly
setTimeout(() => {
if (indicator.parentNode) {
indicator.style.opacity = "0";
indicator.style.transform = "translateY(10px)";
setTimeout(() => {
if (indicator.parentNode) {
indicator.remove();
}
}, 200);
}
}, 3000);
}