From 9ebc55de73f1268bb16fbca872e70be2134a1770 Mon Sep 17 00:00:00 2001 From: pradeepkumar Date: Fri, 12 Jun 2026 07:47:21 +0530 Subject: [PATCH] feat: cloud save-state icons for profile auto-save indicator --- public/assets/icons/cloud-pending-icon.svg | 3 +++ public/assets/icons/cloud-saved-icon.svg | 3 +++ public/assets/icons/cloud-saving-icon.svg | 3 +++ src/app/(agent)/agent/edit/page.tsx | 23 +++++++++++++--------- 4 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 public/assets/icons/cloud-pending-icon.svg create mode 100644 public/assets/icons/cloud-saved-icon.svg create mode 100644 public/assets/icons/cloud-saving-icon.svg diff --git a/public/assets/icons/cloud-pending-icon.svg b/public/assets/icons/cloud-pending-icon.svg new file mode 100644 index 0000000..3bbb7c7 --- /dev/null +++ b/public/assets/icons/cloud-pending-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/icons/cloud-saved-icon.svg b/public/assets/icons/cloud-saved-icon.svg new file mode 100644 index 0000000..6f0016d --- /dev/null +++ b/public/assets/icons/cloud-saved-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/icons/cloud-saving-icon.svg b/public/assets/icons/cloud-saving-icon.svg new file mode 100644 index 0000000..5752a4a --- /dev/null +++ b/public/assets/icons/cloud-saving-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/(agent)/agent/edit/page.tsx b/src/app/(agent)/agent/edit/page.tsx index 0872a55..1a8a142 100644 --- a/src/app/(agent)/agent/edit/page.tsx +++ b/src/app/(agent)/agent/edit/page.tsx @@ -1,6 +1,7 @@ 'use client'; import { useState, useRef, useEffect, useCallback } from 'react'; +import Image from 'next/image'; import { useRouter } from 'next/navigation'; import { QuickLinks } from './components'; import DynamicSection from './components/DynamicSection'; @@ -635,17 +636,21 @@ export default function EditProfilePage() { {/* Auto-save status */} {(autoSaveStatus !== 'idle' || lastSavedAt) && (
- + ? '/assets/icons/caution-icon.svg' + : autoSaveStatus === 'dirty' + ? '/assets/icons/cloud-pending-icon.svg' + : '/assets/icons/cloud-saved-icon.svg' + } + alt={autoSaveStatus === 'saving' ? 'Saving' : autoSaveStatus === 'dirty' ? 'Unsaved changes' : autoSaveStatus === 'error' ? 'Save failed' : 'Saved'} + width={16} + height={16} + className={autoSaveStatus === 'saving' ? 'animate-pulse' : ''} + /> {autoSaveStatus === 'saving' && 'Saving…'} {autoSaveStatus === 'saved' && lastSavedAt && `All changes saved at ${formatTime(lastSavedAt)}`}