|
44 | 44 | echo '<div class="MeMenu">';
|
45 | 45 | // Notifications
|
46 | 46 | $CountNotifications = $User->CountNotifications;
|
47 |
| - $CNotifications = is_numeric($CountNotifications) && $CountNotifications > 0 ? '<span class="Alert NotificationsAlert">'.$CountNotifications.'</span>' : ''; |
48 |
| - |
49 |
| - $showNotifications = false; |
50 |
| - if($showNotifications) { |
51 |
| - echo '<span class="ToggleFlyout" rel="/profile/notificationspopin?TransientKey=' . htmlspecialchars(urlencode($transientKey)) . '">'; |
52 |
| - echo anchor(sprite('SpNotifications', 'Sprite Sprite16', t('Notifications')) . $CNotifications, userUrl($User), 'MeButton FlyoutButton js-clear-notifications', ['title' => t('Notifications'), 'tabindex' => '0', "role" => "button", "aria-haspopup" => "true"]); |
53 |
| - echo sprite('SpFlyoutHandle', 'Arrow'); |
54 |
| - echo '<div class="Flyout FlyoutMenu Flyout-withFrame"></div></span>'; |
| 47 | + // $CNotifications = is_numeric($CountNotifications) && $CountNotifications > 0 ? '<span class="Alert NotificationsAlert">'.$CountNotifications.'</span>' : ''; |
| 48 | + echo '<span class="ToggleFlyout" rel="/profile/notificationspopin?TransientKey=' . htmlspecialchars(urlencode($transientKey)) . '">'; |
| 49 | + $notificationImage = '<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path fill="#FFF" fill-rule="nonzero" d="M10 14c0 1.1-.9 2-2 2s-2-.9-2-2h4zm5-3c.6 0 1 .4 1 1s-.4 1-1 1H1c-.6 0-1-.4-1-1s.4-1 1-1h.5C2.2 10.3 3 9.3 3 8V5c0-2.8 2.2-5 5-5s5 2.2 5 5v3c0 1.3.8 2.3 1.5 3h.5z" id="a"></path></g></svg>'; |
| 50 | + echo anchor($notificationImage, userUrl($User), 'MeButton FlyoutButton MeButton-notifications js-clear-notifications', ['title' => t('Notifications'), 'tabindex' => '0', "role" => "button", "aria-haspopup" => "true"]); |
| 51 | + //echo anchor(sprite('SpNotifications', 'Sprite Sprite16', t('Notifications')) . $CNotifications, userUrl($User), 'MeButton FlyoutButton MeButton-notifications js-clear-notifications', ['title' => t('Notifications'), 'tabindex' => '0', "role" => "button", "aria-haspopup" => "true"]); |
| 52 | + if(is_numeric($CountNotifications) && $CountNotifications > 0){ |
| 53 | + echo sprite('SpAlert', 'Sprite'); |
55 | 54 | }
|
| 55 | + echo '<div class="Flyout FlyoutMenu Flyout-withFrame"></div></span>'; |
| 56 | + |
56 | 57 | // Inbox
|
57 | 58 | $showInbox = false;
|
58 | 59 | if ($showInbox && Gdn::addonManager()->lookupAddon('conversations')) {
|
|
85 | 86 | $triggerIcon = sprite('SpOptions', 'Sprite Sprite16', $triggerTitle);
|
86 | 87 | }
|
87 | 88 |
|
88 |
| - $dropdown->setTrigger('', 'anchor', 'MeButton FlyoutButton MeButton-user TopcoderMeButton', $triggerIcon, '/profile', ['title' => $triggerTitle, 'tabindex' => '0', "role" => "button", "aria-haspopup" => "true"]); |
89 |
| - $editModifiers['listItemCssClasses'] = ['EditProfileWrap', 'link-editprofile']; |
90 |
| - $preferencesModifiers['listItemCssClasses'] = ['EditProfileWrap', 'link-preferences']; |
| 89 | + $dropdown->setTrigger('', 'anchor', 'MeButton FlyoutButton MeButton-user TopcoderMeButton', $triggerIcon, '/profile', ['title' => $triggerTitle, 'tabindex' => '0', "role" => "button", "aria-haspopup" => "true", "id"=>"meButton"]); |
| 90 | + |
| 91 | + $emptyTopModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonTopMItem']; |
| 92 | + $dropdown->addText('', '', '', '', $emptyTopModifiers); |
| 93 | + |
| 94 | + $profileHtml = '<div class="flex middle"><img src="' . $imgUrl . '" width="60" class="avatar" alt="avatar"> |
| 95 | + <div class="flex column left"> |
| 96 | + <span class="handle">' . Gdn::session()->User->Name . '</span> |
| 97 | + <span class="email">' . Gdn::session()->User->Email . '</span> |
| 98 | + </div></div>'; |
| 99 | + $profilesModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonProfileMItem']; |
| 100 | + $dropdown->addLink($profileHtml, 'https://topcoder.com/members/'.Gdn::session()->User->Name, '','link-profile-details flex middle', '', $profilesModifiers); |
| 101 | + |
| 102 | + $switchToCommunityHtml = '<img class="switch-icon" src="https://www.topcoder.com/wp-content/themes/tc3-marketing/nav/image/icon-switch-business.svg" alt="switch"> |
| 103 | + <span class="switch-to-business">Switch to BUSINESS</span>'; |
| 104 | + $switchToCommunityModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonSwitchToBusinessMItem']; |
| 105 | + $dropdown->addLink($switchToCommunityHtml, 'https://www.topcoder.com', '', 'switch-to-business middle', '', $switchToCommunityModifiers); |
| 106 | + |
| 107 | + // $editModifiers['listItemCssClasses'] = ['EditProfileWrap', 'link-editprofile']; |
| 108 | + // $dropdown->addLinkIf(hasViewProfile(Gdn::session()->UserID), t('View Profile'), '/profile', 'profile.view', '', [], $editModifiers); |
| 109 | + |
| 110 | + $preferencesModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonSettingsItem']; |
| 111 | + $dropdown->addLinkIf(hasEditProfile(Gdn::session()->UserID), 'Settings', '/profile/preferences', 'profile.preferences', '', [], $preferencesModifiers); |
91 | 112 |
|
92 |
| - $dropdown->addLinkIf(hasViewProfile(Gdn::session()->UserID), t('View Profile'), '/profile', 'profile.view', '', [], $editModifiers); |
93 |
| - $dropdown->addLinkIf(hasEditProfile(Gdn::session()->UserID), t('Preferences'), '/profile/preferences', 'profile.preferences', '', [], $preferencesModifiers); |
| 113 | + // $applicantModifiers = $ApplicantCount > 0 ? ['badge' => $ApplicantCount] : []; |
| 114 | + // $applicantModifiers['listItemCssClasses'] = ['link-applicants']; |
| 115 | + // $modModifiers = $ModerationCount > 0 ? ['badge' => $ModerationCount] : []; |
| 116 | + // $modModifiers['listItemCssClasses'] = ['link-moderation']; |
| 117 | + // $spamModifiers['listItemCssClasses'] = ['link-spam']; |
| 118 | + // $dashboardModifiers['listItemCssClasses'] = ['link-dashboard']; |
| 119 | + $helpModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonHelpItem']; |
| 120 | + $signoutModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonSignOutItem']; |
94 | 121 |
|
95 |
| - $applicantModifiers = $ApplicantCount > 0 ? ['badge' => $ApplicantCount] : []; |
96 |
| - $applicantModifiers['listItemCssClasses'] = ['link-applicants']; |
97 |
| - $modModifiers = $ModerationCount > 0 ? ['badge' => $ModerationCount] : []; |
98 |
| - $modModifiers['listItemCssClasses'] = ['link-moderation']; |
99 |
| - $spamModifiers['listItemCssClasses'] = ['link-spam']; |
100 |
| - $dashboardModifiers['listItemCssClasses'] = ['link-dashboard']; |
101 |
| - $signoutModifiers['listItemCssClasses'] = ['link-signout', 'SignInOutWrap', 'SignOutWrap']; |
| 122 | + // $spamPermission = $Session->checkPermission(['Garden.Settings.Manage', 'Garden.Moderation.Manage', 'Moderation.ModerationQueue.Manage'], false); |
| 123 | + // $modPermission = $Session->checkPermission(['Garden.Settings.Manage', 'Garden.Moderation.Manage', 'Moderation.ModerationQueue.Manage'], false); |
| 124 | + // $dashboardPermission = $Session->checkPermission(['Garden.Settings.View', 'Garden.Settings.Manage'], false); |
102 | 125 |
|
103 |
| - $spamPermission = $Session->checkPermission(['Garden.Settings.Manage', 'Garden.Moderation.Manage', 'Moderation.ModerationQueue.Manage'], false); |
104 |
| - $modPermission = $Session->checkPermission(['Garden.Settings.Manage', 'Garden.Moderation.Manage', 'Moderation.ModerationQueue.Manage'], false); |
105 |
| - $dashboardPermission = $Session->checkPermission(['Garden.Settings.View', 'Garden.Settings.Manage'], false); |
| 126 | + // $dropdown->addLinkIf('Garden.Users.Approve', t('Applicants'), '/dashboard/user/applicants', 'moderation.applicants', '', [], $applicantModifiers); |
| 127 | + // $dropdown->addLinkIf($spamPermission, t('Spam Queue'), '/dashboard/log/spam', 'moderation.spam', '', [], $spamModifiers); |
| 128 | + // $dropdown->addLinkIf($modPermission, t('Moderation Queue'), '/dashboard/log/moderation', 'moderation.moderation', '', [], $modModifiers); |
| 129 | + // $dropdown->addLinkIf($dashboardPermission, t('Dashboard'), '/dashboard/settings', 'dashboard.dashboard', '', [], $dashboardModifiers); |
106 | 130 |
|
107 |
| - $dropdown->addLinkIf('Garden.Users.Approve', t('Applicants'), '/dashboard/user/applicants', 'moderation.applicants', '', [], $applicantModifiers); |
108 |
| - $dropdown->addLinkIf($spamPermission, t('Spam Queue'), '/dashboard/log/spam', 'moderation.spam', '', [], $spamModifiers); |
109 |
| - $dropdown->addLinkIf($modPermission, t('Moderation Queue'), '/dashboard/log/moderation', 'moderation.moderation', '', [], $modModifiers); |
110 |
| - $dropdown->addLinkIf($dashboardPermission, t('Dashboard'), '/dashboard/settings', 'dashboard.dashboard', '', [], $dashboardModifiers); |
| 131 | + $dropdown->addLink('Help', 'https://help.topcoder.com/hc/en-us', 'topcoder.help', '', [], $helpModifiers); |
| 132 | + $dividerModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonDividerMItem']; |
| 133 | + $dropdown->addLink('Log Out', signOutUrl(), 'entry.signout', '', [], $signoutModifiers); |
111 | 134 |
|
112 |
| - $dropdown->addLink(t('Sign Out'), signOutUrl(), 'entry.signout', '', [], $signoutModifiers); |
| 135 | + $emptyBottomModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonBottomMItem']; |
| 136 | + $dropdown->addText('', 'entry.bottom', '', '', $emptyBottomModifiers); |
113 | 137 |
|
114 | 138 | $this->EventArguments['Dropdown'] = &$dropdown;
|
115 |
| - $this->fireEvent('FlyoutMenu'); |
| 139 | + $this->fireEvent('FlyoutMenu'); ?> |
| 140 | +<?php |
116 | 141 | echo $dropdown;
|
117 | 142 | if ($useNewFlyouts) {
|
118 | 143 | echo "<button class='MeBox-mobileClose'>×</button>";
|
|
0 commit comments