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)}`}