mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
Update Profile.tsx
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
|||||||
} from '../api/notifications';
|
} from '../api/notifications';
|
||||||
import { referralApi } from '../api/referral';
|
import { referralApi } from '../api/referral';
|
||||||
import { brandingApi, type EmailAuthEnabled } from '../api/branding';
|
import { brandingApi, type EmailAuthEnabled } from '../api/branding';
|
||||||
|
import ChangeEmailModal from '../components/ChangeEmailModal';
|
||||||
|
|
||||||
// Icons
|
// Icons
|
||||||
const CopyIcon = () => (
|
const CopyIcon = () => (
|
||||||
@@ -42,6 +43,16 @@ const ArrowRightIcon = () => (
|
|||||||
</svg>
|
</svg>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const PencilIcon = () => (
|
||||||
|
<svg className="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
||||||
|
<path
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
|
||||||
export default function Profile() {
|
export default function Profile() {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { user, setUser } = useAuthStore();
|
const { user, setUser } = useAuthStore();
|
||||||
@@ -53,6 +64,7 @@ export default function Profile() {
|
|||||||
const [error, setError] = useState<string | null>(null);
|
const [error, setError] = useState<string | null>(null);
|
||||||
const [success, setSuccess] = useState<string | null>(null);
|
const [success, setSuccess] = useState<string | null>(null);
|
||||||
const [copied, setCopied] = useState(false);
|
const [copied, setCopied] = useState(false);
|
||||||
|
const [showChangeEmailModal, setShowChangeEmailModal] = useState(false);
|
||||||
|
|
||||||
// Referral data
|
// Referral data
|
||||||
const { data: referralInfo } = useQuery({
|
const { data: referralInfo } = useQuery({
|
||||||
@@ -311,7 +323,16 @@ export default function Profile() {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{user.email_verified && (
|
{user.email_verified && (
|
||||||
<p className="text-sm text-dark-400">{t('profile.canLoginWithEmail')}</p>
|
<div className="flex items-center justify-between">
|
||||||
|
<p className="text-sm text-dark-400">{t('profile.canLoginWithEmail')}</p>
|
||||||
|
<button
|
||||||
|
onClick={() => setShowChangeEmailModal(true)}
|
||||||
|
className="flex items-center gap-2 text-sm text-accent-400 transition-colors hover:text-accent-300"
|
||||||
|
>
|
||||||
|
<PencilIcon />
|
||||||
|
<span>{t('profile.changeEmail.button')}</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
@@ -618,6 +639,14 @@ export default function Profile() {
|
|||||||
<p className="text-dark-400">{t('profile.notifications.unavailable')}</p>
|
<p className="text-dark-400">{t('profile.notifications.unavailable')}</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Change Email Modal */}
|
||||||
|
{showChangeEmailModal && user?.email && (
|
||||||
|
<ChangeEmailModal
|
||||||
|
onClose={() => setShowChangeEmailModal(false)}
|
||||||
|
currentEmail={user.email}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user