Skip to content

Commit 842f7f5

Browse files
authored
Merge pull request #87 from unisoncomputing/show-orgs-in-user-nav
Show a list of org memberships in the user nav
2 parents ac9bc26 + b500acd commit 842f7f5

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

src/UnisonShare/AppHeader.elm

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import UI.Icon as Icon
1616
import UI.Navigation as Navigation exposing (NavItem)
1717
import UI.Nudge as Nudge
1818
import UI.Sizing as Sizing
19+
import UnisonShare.Account as Account
1920
import UnisonShare.Link as Link
2021
import UnisonShare.Session exposing (Session(..))
2122
import Url exposing (Url)
@@ -274,18 +275,36 @@ view ctx appHeader_ =
274275
|> Button.positive
275276
|> Button.view
276277

278+
orgs_ =
279+
account.organizationMemberships
280+
|> List.map (\(Account.OrganizationMembership h) -> h)
281+
|> List.map (\h -> ActionMenu.optionItem Icon.factory (UserHandle.toString h) (Link.orgProfile h))
282+
283+
orgs =
284+
if List.isEmpty orgs_ then
285+
[]
286+
287+
else
288+
ActionMenu.dividerItem :: orgs_ ++ [ ActionMenu.dividerItem ]
289+
277290
accountMenu =
278291
ActionMenu.items
279-
(ActionMenu.optionItem Icon.user "Profile" (Link.userProfile account.handle))
280-
[ ActionMenu.optionItem Icon.cog "Account Settings" Link.account
281-
, ActionMenu.optionItem Icon.exitDoor "Sign Out" (Link.logout ctx.api ctx.currentUrl)
282-
]
292+
(ActionMenu.optionItem Icon.user (UserHandle.toString account.handle) (Link.userProfile account.handle))
293+
(orgs
294+
++ [ ActionMenu.optionItem Icon.cog "Account Settings" Link.account
295+
, ActionMenu.optionItem Icon.exitDoor "Sign Out" (Link.logout ctx.api ctx.currentUrl)
296+
]
297+
)
283298
|> ActionMenu.fromCustom ctx.toggleAccountMenuMsg viewAccountMenuTrigger
284299
|> ActionMenu.shouldBeOpen (isAccountMenuOpen ctx.openedAppHeaderMenu)
285300
|> ActionMenu.view
286301
|> (\a -> div [ class "account-menu" ] [ a ])
287302
in
288-
[ div [ class "signed-in-nav signed-in-nav_desktop" ] [ newOrgButton, helpAndResources False, accountMenu ]
303+
[ div [ class "signed-in-nav signed-in-nav_desktop" ]
304+
[ newOrgButton
305+
, helpAndResources False
306+
, accountMenu
307+
]
289308
, div [ class "signed-in-nav signed-in-nav_mobile" ] [ newOrgButton, helpAndResources True, accountMenu ]
290309
]
291310
in

0 commit comments

Comments
 (0)