Badges are a great way to demonstrate your contributions to the Community and level of expertise. Just start engaging in the conversations to earn new badges. Learn more.
Maximize your profile
Your community badges are also reflected on your Connect profile. Showcase your skills and grow your network in the Connect.com.
jolle has earned 40 badges!
HubSpot Platinum Partner
Aug 17, 2022
Earned by 4,759
You have achieved HubSpot Platinum Partner status!
Welcome to the Community
Aug 3, 2022
Earned by 681,427
Welcome to the HubSpot Community, we're happy to have you! Let's celebrate with your first community badge!
Thankful
Aug 8, 2022
Earned by 165,007
Kudos to you for sending upvotes to others!
Thankful (5)
Aug 15, 2022
Earned by 23,795
Kudos to you for sending upvotes to others!
Thankful (10)
Aug 17, 2022
Earned by 10,266
Kudos to you for sending upvotes to others!
Thankful (25)
Aug 23, 2022
Earned by 3,216
Kudos to you for sending upvotes to others!
Thankful (50)
Sep 9, 2022
Earned by 1,266
Kudos to you for sending upvotes to others!
Thankful (100)
Sep 28, 2022
Earned by 502
Kudos to you for sending upvotes to others!
Thankful (250)
Jan 6, 2023
Earned by 147
Kudos to you for sending upvotes to others!
Thankful (500)
Mar 6, 2023
Earned by 65
Kudos to you for sending upvotes to others!
Helpful
Aug 5, 2022
Earned by 88,639
Congrats on the upvotes - you definitely know your stuff!
Helpful (5)
Aug 10, 2022
Earned by 19,398
Congrats on the upvotes - you definitely know your stuff!
Helpful (10)
Aug 10, 2022
Earned by 9,465
Congrats on the upvotes - you definitely know your stuff!
Helpful (25)
Aug 17, 2022
Earned by 3,983
Congrats on the upvotes - you definitely know your stuff!
Helpful (50)
Aug 17, 2022
Earned by 2,184
Congrats on the upvotes - you definitely know your stuff!
Helpful (100)
Aug 22, 2022
Earned by 1,128
Congrats on the upvotes - you definitely know your stuff!
Helpful (250)
Sep 21, 2022
Earned by 371
Congrats on the upvotes - you definitely know your stuff!
Helpful (500)
Jan 11, 2023
Earned by 133
Congrats on the upvotes - you definitely know your stuff!
Helpful (1000)
May 10, 2023
Earned by 55
Congrats on the upvotes - you definitely know your stuff!
Conversationalist
Aug 5, 2022
Earned by 111,527
What's a community without great conversations? Thanks for keeping things lively!
Conversationalist (5)
Mar 13, 2023
Earned by 17,803
What's a community without great conversations? Thanks for keeping things lively!
Responder
Aug 8, 2022
Earned by 175,843
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (5)
Aug 12, 2022
Earned by 19,984
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (10)
Aug 15, 2022
Earned by 6,095
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (25)
Aug 17, 2022
Earned by 1,185
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (50)
Aug 23, 2022
Earned by 435
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (100)
Sep 14, 2022
Earned by 225
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (250)
Jan 16, 2023
Earned by 90
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (500)
May 8, 2023
Earned by 52
Thanks for helping others out with their questions, you make the community a great place to learn!
Problem Solver
Aug 15, 2022
Earned by 4,907
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (5)
Aug 19, 2022
Earned by 473
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (10)
Aug 23, 2022
Earned by 309
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (25)
Aug 30, 2022
Earned by 181
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (50)
Sep 23, 2022
Earned by 122
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (100)
Jan 6, 2023
Earned by 76
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (250)
May 11, 2023
Earned by 33
Thanks for solving problems and sharing your expertise! Keep up the great work!
Community Champion
Oct 28, 2022
Earned by 119
You have joined the top tier of Community users and become a Community Champion! Congratulations!
Ideator
Dec 6, 2022
Earned by 28,799
Thank you for submitting an idea - we count on your feedback to make our products and services even better!
Brainstormer
Aug 12, 2022
Earned by 51,254
Thanks for feedback in the Ideas forum. We love hearing from you!
Brainstormer (5)
Dec 29, 2022
Earned by 4,573
Thanks for feedback in the Ideas forum. We love hearing from you!
//
//
//
//
//
(function($) {
//START END-USER CONFIGURATION
//------------------------------
//selectors for hover card triggers
var allHoverCardTriggers = '.author-name-link,.friend-list .friend a,.username a,.avatar,.user-avatar,.author-img, .authors a, .messageauthorusername a, a.lia-user-name-link, .js-latest-post-by-from a, .user-online-list li a, a.UserAvatar, .customUsersOnline a, #authors a,.dashboard-followers a.user-name, .dashboard-following a.user-name,.author-login-wrapper a, .hb-leaderboard a, .author-img-floated';
// Forward calling page's URL params to endpoint URL as well, helps with testing!
var params = (new URL(location.href)).searchParams;
var userApiUrl = '/plugins/custom/hubspot/hubspot/hovercardendpoint?' + ((params.set('user_id', '') == []._) && params.toString());
if($('.hover-card-container').length<1){
$('body').append('');
}
var cardWrapper = $('.hover-card-container');
var error = false;
var thisUserID = '';
var thisUserLogin = '';
var userLink ='';
var cardTimer;
var leaveTimer;
function mouseenter(Elem) {
var thisEl = Elem;
cardTimer = setTimeout(function(){
var docWidth = $(document).width();
var rightSide = false;
var userLink = thisEl.attr('href');
if($('.ViewProfilePage').length && $('img.lia-user-avatar-profile',thisEl).length){thisUserID = '';}
else if(thisEl.attr('href')=='#' || thisEl.attr('href')=='' || !userLink.match('viewprofilepage')){
return false;}
else{
var thisLen = (userLink).split('/');
thisUserID = (thisLen)[thisLen.length-1];
}
var thisCard = $('.profileCard[data-user='+thisUserID+']',cardWrapper);
var cardId = 'userProfileCard-'+ thisUserID;
var addAttr = thisEl.attr('aria-describedby',cardId);
var thisElTopOffset = Math.round(thisEl.offset().top+(thisEl.height()/2)+30);
var thisElbottomoffset = "auto";
var className = "";
var winHeight = $(window).height();
var elOffset = thisEl.offset();
var scrollTop = $(window).scrollTop();
var elementOffset = thisEl.offset().top;
var distanceTop = (elementOffset - scrollTop);
var distanceBottom = (winHeight + scrollTop) - (elOffset.top + thisEl.outerHeight(true));
var distanceLeft = Math.round(thisEl.offset().left);
var bodyHight = $('body').height();
var topParam = '';
var bottomparam = '';
var position = '';
var className = 'topArrow';
cardId
if(distanceBottom < 300 ){
if(distanceLeft < 59){
thisCard.removeClass('bottomArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
var thisElTopOffset = (thisElTopOffset)-(301); var className = 'bottomArrow'; thisCard.removeClass('topArrow');
thisCard.removeClass('leftArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
else{
if(distanceLeft < 59){
thisCard.removeClass('topArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
thisCard.removeClass('leftArrow');
thisCard.removeClass('bottomArrow').addClass('topArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
if(thisCard.length && $('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length<1){
$('.profileCard',cardWrapper).hide();
thisCard.addClass(className);
rightSide?thisCard.addClass('rightArrow'):thisCard.removeClass('rightArrow');
thisCard.delay(0).css({'top':(thisElTopOffset),'left':distanceLeft,'bottom':thisElbottomoffset}).fadeIn();
} else {
var ajaxReturn = '';
//just in case
thisCard.remove();
//hover card wrapper markup
var rightArrowClass = rightSide?'rightArrow':'';
if(thisElTopOffset != "auto"){
topParam = 'px';
}
if(thisElbottomoffset != "auto"){
bottomparam = 'px';
}
var profileCardHtml = '';
$.when(
//get the background
$.ajax({
type: 'GET',
url: userApiUrl+thisUserID,
dataType: 'html',
success: function(data) {
$('.profileCard',cardWrapper).hide();
ajaxReturn = data;
}
})
)
.done(function(){
cardWrapper.append(profileCardHtml);
$('.profileCard[data-user='+thisUserID+']',cardWrapper).eq(0).empty().html(ajaxReturn);
if($('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length){
$('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).parents('div.profileCard').remove();
}
})
.fail(function(){
//uh oh - bail out!
$('.profileCard',cardWrapper).hide();
});
}
}, 360);
}
function mouseleave(e) {
clearTimeout(cardTimer);
// glowingblue: When the user leaves the hovercard trigger, wait because the leaving could be
// to interact with the hovercard, if we don't wait it will just disappear...because
// we left the trigger, right...so we'll have another handler that check if the mouse is
// over the hovercard and if so clears this timer, so the card doesn't close here
leaveTimer = setTimeout(function() {
if ($('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).length) {
$('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).fadeOut('fast');
} else {
$(".profileCard").fadeOut('fast');
}
}, 2400);
}
$(document).on("mouseenter focusin", allHoverCardTriggers, function(event) {
if(!($(this).parents().hasClass('custom-header'))&& !($(this).parents().hasClass('green-wrap'))){
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseenter($(this));
event.stopPropagation();
}
});
$(document).on("mouseleave focusout", allHoverCardTriggers, function(event) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseleave(event);
event.stopPropagation();
});
// glowingblue: Add handlers for when the users interacts with the hovercard, no closing!
$('.hover-card-container').on('mouseenter', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
});
$('.hover-card-container').on('mouseleave', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
if ( $(e.target).is('.profileCard[style*="block"]') ) {
leaveTimer = setTimeout(function() {
$(e.target).fadeOut('fast');
}, 2400);
}
});
// glowingblue: add one global root level click handler to also close any visible hovercards
// if the user taps/clicks outside the hovercard
$(document).on('mousedown', function(e) {
if ( !$(e.target).parents('.hover-card-container').length ) {
(leaveTimer != []._) && clearTimeout(leaveTimer);
$('.hover-card-container .profileCard[style*="block"]').each(function() {
$(this).fadeOut('fast');
});
}
});
})(LITHIUM.jQuery);
(function($) {
document.cookie = "advocacyToken=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "Crowdvocate_jwt_token=; domain=.hubspot.com; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "Crowdvocate_user_ck=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
})(LITHIUM.jQuery);
(function($) {
document.addEventListener('gdpr.allow', function() {
if (document.querySelector('.lia-cookie-banner-alert-accept a')) {
document.querySelector('.lia-cookie-banner-alert-accept a').click();
}
});
})(LITHIUM.jQuery);
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox","feedbackSelector":".InfoMessage"});
;(function($){
var langMap = {
'en':'hubspot_community_en',
'es':'hubspot_community_es',
'fr':'hubspot_community_fr',
'ja':'hubspot_community_jp',
'pt-br':'hubspot_community_pt',
'de':'hubspot_community_de'
}
var nodeType = "community";
var langScope = langMap['en'];
var isSearchPage = jQuery('body').hasClass('SearchPage');
var isIdeasLandingPage = jQuery('body').hasClass('ideaslandingpage');
if (nodeType === "community" && !isSearchPage && !isIdeasLandingPage) {
var inputFormFilter = '';
var inputFormLocation = '';
$('form.SearchForm').append(inputFormFilter).append(inputFormLocation);
} else if (nodeType === "community" && isIdeasLandingPage) {
var searchUrl = "/t5/forums/searchpage/tab/message?filter=location&location=idea-board:HubSpot_Ideas&collapse_discussion=true";
var query = jQuery('.SearchForm .lia-search-input-message').val();
jQuery(document).on('submit', 'form.SearchForm', function(e) {
e.preventDefault();
var newQ = "&q=" + document.querySelector('.SearchForm .lia-search-input-wrapper input.search-input').value;
window.location = window.location.origin + searchUrl + newQ;
})
}
})(LITHIUM.jQuery)
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_f14e1d0d3ff9e","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_f14e1d0d3ff9e_0","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_f14e1d0d3ff9e_1","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_f14e1d0d3ff9e_2","feedbackSelector":".InfoMessage"});
LITHIUM.AjaxFeedback(".lia-inline-ajax-feedback", "LITHIUM:hideAjaxFeedback", ".lia-inline-ajax-feedback-persist");
LITHIUM.Placeholder();
LITHIUM.AutoComplete({"options":{"triggerTextLength":0,"updateInputOnSelect":true,"loadingText":"Searching...","emptyText":"No Matches","successText":"Results:","defaultText":"Enter a search word","disabled":false,"footerContent":[{"scripts":"\n\n;(function($){LITHIUM.Link=function(params){var $doc=$(document);function handler(event){var $link=$(this);var token=$link.data('lia-action-token');if($link.data('lia-ajax')!==true&&token!==undefined){if(event.isPropagationStopped()===false&&event.isImmediatePropagationStopped()===false&&event.isDefaultPrevented()===false){event.stop();var $form=$('