Skip to content

Commit f858d5b

Browse files
authored
fix minor issue with user profile in pdp (#752)
1 parent f047b3c commit f858d5b

File tree

2 files changed

+55
-39
lines changed

2 files changed

+55
-39
lines changed

frontend/degree-plan/components/Dock/Dock.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,14 @@ const Dock = ({ user, login, logout, activeDegreeplanId }: DockProps) => {
136136
<DockWrapper ref={drop} >
137137
<DockContainer $isDroppable={canDrop} $isOver={isOver}>
138138
<AccountIndicator
139-
leftAligned={true}
140-
user={user}
141-
backgroundColor="light"
142-
nameLength={2}
143-
login={login}
144-
logout={logout}
145-
dropdownTop={true}
146-
pathname={asPath}
139+
leftAligned={true}
140+
user={user}
141+
backgroundColor="light"
142+
nameLength={2}
143+
login={login}
144+
logout={logout}
145+
dropdownTop={true}
146+
pathname={asPath}
147147
/>
148148
<SearchIconContainer onClick={() => {
149149
setSearchRuleQuery("");

frontend/shared-components/src/accounts/UserSelector.js

Lines changed: 47 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,12 @@ const InnerMenu = styled.div`
3636
position: absolute;
3737
padding: 0.32rem;
3838
font-size: 0.85rem;
39-
top: 70px;
4039
box-shadow: 0 0 5px 0 lightgrey;
41-
right: ${(props) => (props.$leftAligned ? "0%" : "61%")};
40+
right: ${(props) => (props.$leftAligned ? "-61%" : "61%")};
41+
${(props) =>
42+
props.$floattop
43+
? "bottom: 100%; top: unset;"
44+
: "top: 100%; bottom: unset;"}
4245
`;
4346

4447
const NameContainer = styled.p`
@@ -64,7 +67,7 @@ const LogoutButton = styled.div`
6467
`;
6568

6669
const TriangleUp = styled.div`
67-
transform: ${({ down }) => (down ? "rotate(180deg)" : "rotate(0)")};
70+
transform: ${({ $down }) => ($down ? "rotate(180deg)" : "rotate(0)")};
6871
width: 0;
6972
height: 0;
7073
border-left: 5px solid transparent;
@@ -84,13 +87,13 @@ const LogoutDropdownContainer = styled.div`
8487
const LogoutDropdownMenu = styled.div`
8588
min-width: 7rem !important;
8689
margin-top: 0;
87-
display: ${({ selected }) => (selected ? "block" : "none")};
90+
display: ${({ $selected }) => ($selected ? "block" : "none")};
8891
left: 0;
8992
min-width: 12rem;
90-
${({ floattop }) =>
91-
floattop ? "padding-bottom: 4px" : "padding-top: 4px"};
93+
${({ $floattop }) =>
94+
$floattop ? "padding-bottom: 4px" : "padding-top: 4px"};
9295
position: absolute;
93-
${({ floattop }) => (floattop ? "bottom: 100%" : "top: 100%")};
96+
${({ $floattop }) => ($floattop ? "bottom: 100%" : "top: 100%")};
9497
z-index: 20;
9598
`;
9699

@@ -123,6 +126,30 @@ const UserSelector = ({
123126
setSelected(false);
124127
}, !selected);
125128

129+
const menuContent = (
130+
<InnerMenu $leftAligned={leftAligned} $floattop={dropdownTop}>
131+
<NameContainer>
132+
{" "}
133+
{firstName} {lastName}{" "}
134+
</NameContainer>
135+
<EmailContainer> {username} </EmailContainer>
136+
<LogoutButton
137+
role="button"
138+
onClick={() => {
139+
fetch("/accounts/logout/", {
140+
method: "GET",
141+
redirect: "follow",
142+
}).then(onLogout);
143+
}}
144+
>
145+
Logout
146+
<LogoutIconContainer>
147+
<i className="fas fa-sign-out-alt" />
148+
</LogoutIconContainer>
149+
</LogoutButton>
150+
</InnerMenu>
151+
);
152+
126153
return (
127154
<Dropdown ref={onClickOutside}>
128155
<NameBubble
@@ -139,32 +166,21 @@ const UserSelector = ({
139166
</span>
140167
</NameBubble>
141168
<LogoutDropdownMenu
142-
selected={selected}
143-
floattop={dropdownTop.toString()}
169+
$selected={selected}
170+
$floattop={dropdownTop}
144171
>
145172
<LogoutDropdownContainer className="dropdown-menu-container">
146-
<TriangleUp down={dropdownTop.toString()} />
147-
<InnerMenu $leftAligned={leftAligned}>
148-
<NameContainer>
149-
{" "}
150-
{firstName} {lastName}{" "}
151-
</NameContainer>
152-
<EmailContainer> {username} </EmailContainer>
153-
<LogoutButton
154-
role="button"
155-
onClick={() => {
156-
fetch("/accounts/logout/", {
157-
method: "GET",
158-
redirect: "follow",
159-
}).then(onLogout);
160-
}}
161-
>
162-
Logout
163-
<LogoutIconContainer>
164-
<i className="fas fa-sign-out-alt" />
165-
</LogoutIconContainer>
166-
</LogoutButton>
167-
</InnerMenu>
173+
{dropdownTop ? (
174+
<>
175+
{menuContent}
176+
<TriangleUp $down={dropdownTop} />
177+
</>
178+
) : (
179+
<>
180+
<TriangleUp $down={dropdownTop} />
181+
{menuContent}
182+
</>
183+
)}
168184
</LogoutDropdownContainer>
169185
</LogoutDropdownMenu>
170186
</Dropdown>

0 commit comments

Comments
 (0)