Skip to content

Commit 33ac16f

Browse files
committed
Issues-419: nav bar matched Topcoder site
1 parent d418f31 commit 33ac16f

File tree

1 file changed

+54
-29
lines changed

1 file changed

+54
-29
lines changed

Topcoder/views/modules/topcoderme.php

Lines changed: 54 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,16 @@
4444
echo '<div class="MeMenu">';
4545
// Notifications
4646
$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');
5554
}
55+
echo '<div class="Flyout FlyoutMenu Flyout-withFrame"></div></span>';
56+
5657
// Inbox
5758
$showInbox = false;
5859
if ($showInbox && Gdn::addonManager()->lookupAddon('conversations')) {
@@ -85,34 +86,58 @@
8586
$triggerIcon = sprite('SpOptions', 'Sprite Sprite16', $triggerTitle);
8687
}
8788

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);
91112

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'];
94121

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);
102125

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);
106130

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);
111134

112-
$dropdown->addLink(t('Sign Out'), signOutUrl(), 'entry.signout', '', [], $signoutModifiers);
135+
$emptyBottomModifiers['listItemCssClasses'] = ['MeButtonMenuItem', 'MeButtonBottomMItem'];
136+
$dropdown->addText('', 'entry.bottom', '', '', $emptyBottomModifiers);
113137

114138
$this->EventArguments['Dropdown'] = &$dropdown;
115-
$this->fireEvent('FlyoutMenu');
139+
$this->fireEvent('FlyoutMenu'); ?>
140+
<?php
116141
echo $dropdown;
117142
if ($useNewFlyouts) {
118143
echo "<button class='MeBox-mobileClose'>×</button>";

0 commit comments

Comments
 (0)