import { useState, useRef } from "react"; import { useSelector, useDispatch } from "react-redux"; import { FiLogOut } from "react-icons/fi"; import { logout } from "../../store/slices/authSlice"; import ThemeToggle from "./ThemeToggle"; import UserProfile from "./UserProfile"; function SettingsView() { const dispatch = useDispatch(); const { isDark } = useSelector((state) => state.theme); const [saveState, setSaveState] = useState({ saved: false, message: "", isError: false, }); const [saving, setSaving] = useState(false); const profileRef = useRef(null); const handleSave = async () => { setSaving(true); const result = await profileRef.current?.validateAndSave(); setSaving(false); if (!result) return; if (!result.success) { if (result.error) { setSaveState({ saved: true, message: result.error, isError: true }); setTimeout(() => setSaveState({ saved: false, message: "", isError: false }), 3000); } return; } const msg = result.changed ? "✓ Đã cập nhật!" : "✓ Đã lưu!"; setSaveState({ saved: true, message: msg, isError: false }); setTimeout(() => setSaveState({ saved: false, message: "", isError: false }), 2000); }; return (
VinClassroom
Nền tảng học tập trực tuyến - Phiên bản 1.0.0