diff --git a/src/components/Navigation/AccountDropdownList.tsx b/src/components/Navigation/AccountDropdownList.tsx
index d0d9b55ce..562c096c9 100644
--- a/src/components/Navigation/AccountDropdownList.tsx
+++ b/src/components/Navigation/AccountDropdownList.tsx
@@ -18,7 +18,6 @@ type AccountDropdownListProps = {
export function AccountDropdownList(props: AccountDropdownListProps) {
const { setIsTeamsOpen, onCreateRoadmap } = props;
- const [isCreatingRoadmap, setIsCreatingRoadmap] = useState(false);
return (
diff --git a/src/components/UpdateProfile/ProfileUsername.tsx b/src/components/UpdateProfile/ProfileUsername.tsx
index 56b53b8e4..7d2f7532b 100644
--- a/src/components/UpdateProfile/ProfileUsername.tsx
+++ b/src/components/UpdateProfile/ProfileUsername.tsx
@@ -25,7 +25,12 @@ export function ProfileUsername(props: ProfileUsernameProps) {
}, [debouncedUsername]);
const checkIsUnique = async (username: string) => {
- if (isLoading || username.length < 3) {
+ if (isLoading || !username) {
+ return;
+ }
+
+ if (username.length < 3) {
+ setIsUnique(false);
return;
}
@@ -54,8 +59,44 @@ export function ProfileUsername(props: ProfileUsernameProps) {
return (
-
diff --git a/src/components/UpdateProfile/UpdateProfileForm.tsx b/src/components/UpdateProfile/UpdateProfileForm.tsx
index a8b6bd5b8..36ffb5419 100644
--- a/src/components/UpdateProfile/UpdateProfileForm.tsx
+++ b/src/components/UpdateProfile/UpdateProfileForm.tsx
@@ -2,7 +2,6 @@ import { type FormEvent, useEffect, useState } from 'react';
import { httpGet, httpPost } from '../../lib/http';
import { pageProgressMessage } from '../../stores/page';
import UploadProfilePicture from './UploadProfilePicture';
-import {ArrowDown, ChevronDown} from "lucide-react";
export function UpdateProfileForm() {
const [name, setName] = useState('');
@@ -113,7 +112,10 @@ export function UpdateProfileForm() {
>
Email
-
+
Visit settings page to change email
diff --git a/src/components/UpdateProfile/UpdatePublicProfileForm.tsx b/src/components/UpdateProfile/UpdatePublicProfileForm.tsx
index 3563c9240..80e92c4bc 100644
--- a/src/components/UpdateProfile/UpdatePublicProfileForm.tsx
+++ b/src/components/UpdateProfile/UpdatePublicProfileForm.tsx
@@ -13,6 +13,7 @@ import { useToast } from '../../hooks/use-toast';
import { CreateRoadmapModal } from '../CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx';
import { VisibilityDropdown } from './VisibilityDropdown.tsx';
import { ProfileUsername } from './ProfileUsername.tsx';
+import UploadProfilePicture from './UploadProfilePicture.tsx';
type RoadmapType = {
id: string;
@@ -37,6 +38,7 @@ export function UpdatePublicProfileForm() {
const [isEmailVisible, setIsEmailVisible] = useState(true);
const [headline, setHeadline] = useState('');
const [username, setUsername] = useState('');
+ const [email, setEmail] = useState('');
const [roadmapVisibility, setRoadmapVisibility] =
useState('all');
const [customRoadmapVisibility, setCustomRoadmapVisibility] =
@@ -45,7 +47,9 @@ export function UpdatePublicProfileForm() {
const [customRoadmaps, setCustomRoadmaps] = useState([]);
const [currentUsername, setCurrentUsername] = useState('');
+ const [name, setName] = useState('');
+ const [avatar, setAvatar] = useState('');
const [github, setGithub] = useState('');
const [twitter, setTwitter] = useState('');
const [linkedin, setLinkedin] = useState('');
@@ -75,6 +79,8 @@ export function UpdatePublicProfileForm() {
twitter,
linkedin,
website,
+ name,
+ email,
},
);
@@ -104,26 +110,31 @@ export function UpdatePublicProfileForm() {
}
const {
+ name,
+ email,
links,
username,
profileVisibility: defaultProfileVisibility,
publicConfig,
+ avatar,
} = response;
+ setAvatar(avatar || '');
setPublicProfileUrl(username ? `/u/${username}` : '');
setUsername(username || '');
setCurrentUsername(username || '');
+ setName(name || '');
+ setEmail(email || '');
setGithub(links?.github || '');
setTwitter(links?.twitter || '');
setLinkedin(links?.linkedin || '');
setWebsite(links?.website || '');
setProfileVisibility(defaultProfileVisibility || 'public');
setHeadline(publicConfig?.headline || '');
- setRoadmapVisibility(publicConfig?.roadmapVisibility || 'none');
- setCustomRoadmapVisibility(publicConfig?.customRoadmapVisibility || 'none');
+ setRoadmapVisibility(publicConfig?.roadmapVisibility || 'all');
+ setCustomRoadmapVisibility(publicConfig?.customRoadmapVisibility || 'all');
setCustomRoadmaps(publicConfig?.customRoadmaps || []);
setRoadmaps(publicConfig?.roadmaps || []);
- setCustomRoadmapVisibility(publicConfig?.customRoadmapVisibility || 'none');
setIsAvailableForHire(publicConfig?.isAvailableForHire || false);
setIsEmailVisible(publicConfig?.isEmailVisible ?? true);
@@ -186,13 +197,13 @@ export function UpdatePublicProfileForm() {
const publicRoadmaps = profileRoadmaps.filter((r) => !r.isCustomResource);
return (
-
+
{isCreatingRoadmap && (
setIsCreatingRoadmap(false)} />
)}
-
-
+
+
-
+
Set up your public profile to showcase your learning progress.
+
+