Description
Price: 24.00 $
Ultra-Fine Eyebrow Pencil For Natural Brows
Rated 5.0 out of 5
Based on 2 reviews
0.003 oz / 0.09 g
Create natural-looking full, feathery brows with this longwearing, transfer-proof, and sweat-proof precision eyebrow pencil.
Description:
A clean, precision brow pencil for natural, full, feathery brows. The super-slim micro tip glides on easily, delivering ultra-fine, hair-like strokes that can fill even the smallest of gaps. Its super-soft formula delivers color that stays put for up to 12 hours of longwear. Plus, it’s transfer-proof and sweat-proof. Like all GXVE products, this eyebrow pencil is vegan, cruelty-free, and formulated clean.
See Full Ingredients
Sorry, no ingredients are available for this variant
Sorry, no ingredients are available for this variant
Sorry, no ingredients are available for this variant
Sorry, no ingredients are available for this variant
Sorry, no ingredients are available for this variant
Sorry, no ingredients are available for this variant
Sorry, no ingredients are available for this variant
INGREDIENTS: STEARIC ACID, HYDROGENATED CASTOR OIL, RHUS SUCCEDANEA FRUIT WAX, SYNTHETIC FLUORPHLOGOPITE, TRIISOSTEARIN, BIS-BEHENYL/ISOSTEARYL/PHYTOSTERYL DIMER DILINOLEYL DIMER DILINOLEATE, POLYGLYCERYL-2 TRIISOSTEARATE, JOJOBA ESTERS, TOCOPHEROL. MAY CONTAIN/PEUT CONTENIR: IRON OXIDES (CI 77491, CI 77492, CI 77499), TITANIUM DIOXIDE (CI 77891).
SEE IT IN ACTION
COMMUNITY REVIEWS
GET GWEN’S LOOK
Regular price
$72
Regular price
$72.00
translation missing: en.products.product.price.bundle_price
$72
Spend $45 more to get free shipping
${product[‘title’]}
${price}
`;
productEl.innerHTML = html;
this.fostrSocialShareForm.querySelector(‘product-card-container’).appendChild(productEl);
});
if(this.cart){
let buttons = this.fostrSocialShareForm.querySelectorAll(‘product-card-container button’);
[…buttons].map(
(button) => {
button.onclick = () => {
this.removeProduct(button.getAttribute(‘id’));
};
button.removeAttribute(‘hidden’);
}
);
}
}
removeProduct(index){
//Remove product from array
this.fostrSocialSelling.products.splice(index,1);
if(this.fostrSocialSelling.products.length == 0){
this.close();
}else{
this.fostrSocialShareForm.querySelector(‘product-card-container’).innerHTML = “”;
this.listProducts();
}
}
cartUrl() {
//Create queryString
let variants = [];
this.fostrSocialSelling.products.map((product, index) => {
variants.push(‘id[]=’+product.variant);
});
//let queryString = variants.join(‘%26’);
let queryString = variants.join(‘&’);
queryString = queryString + ‘&attributes[_affiliate_code]=’ + this.affiliateCode + ‘&preview_theme_id=120786321471’;
return ‘https://store.gxvebeauty.com/cart/add?’+queryString;
}
twitterShareUrl() {
//Create queryString
let variants = [];
this.fostrSocialSelling.products.map((product, index) => {
variants.push(‘id[]=’+product.variant);
});
let queryString = variants.join(‘%26’);
queryString = queryString + ‘%26attributes[_affiliate_code]=’ + this.affiliateCode + ‘%26preview_theme_id=120786321471’;
return ‘https://store.gxvebeauty.com/cart/add?’+queryString;
}
encodedCartUrl() {
//Create queryString
let variants = [];
this.fostrSocialSelling.products.map((product, index) => {
variants.push(‘id%5B%5D=’+product.variant);
});
let queryString = variants.join(‘%26’);
queryString = queryString + ‘%26attributes[_affiliate_code]=’ + this.affiliateCode + ‘%26preview_theme_id=120786321471’;
return ‘https://store.gxvebeauty.com/cart/add?’+queryString;
}
shareProduct(){
this.state = “shared”;
this.updateTitle();
this.fostrSocialButtons.setAttribute(‘hidden’,”);
this.fostrDrawerFooter.removeAttribute(‘hidden’);
let shareMessage = ”;
let top = (window.innerHeight/2) – 240;
let left = (window.innerWidth/2) – 200;
if(this.method === ’email’){
//let shareSubject = this.fostrSocialShareForm.querySelector(‘#subject-line’).value;
let cartUrl = this.encodedCartUrl();
let shareBody = cartUrl;
let shareSubject = ”;
window.location.href = ‘mailto:?subject=’ + shareSubject + ‘&body=’ + shareBody;
}
if(this.method === ‘twitter’){
let cartUrl = this.twitterShareUrl();
let shareUrl = ‘https://twitter.com/intent/tweet?url=’ + cartUrl;
window.open(shareUrl,’_blank’, ‘top=’+top+’,left=’+left+’,width=400,height=480′);
}
if(this.method === ‘facebook’ || this.method === ‘sms’){
let cartUrl = this.cartUrl();
const options = {
method: ‘POST’,
headers: {Accept: ‘application/json’, ‘Content-Type’: ‘application/json’, ‘authorization’: ‘pk_CobnccI6H9EldGzk’},
body: JSON.stringify({
allowDuplicates: false,
domain: ’38ls.short.gy’,
originalURL: cartUrl,
redirectType: 302
})
};
fetch(‘https://api.short.io/links/public’, options)
.then((response) => {
if(!response.ok)
throw new Error(response.status);
else
//console.log(‘API Success!’);
return response.json();
})
.then((data) => {
const shortURL = data.shortURL;
if(this.method === ‘facebook’){
const shareUrl = ‘https://www.facebook.com/sharer/sharer.php?u=’ + shortURL;
window.open(shareUrl,’_blank’, ‘top=’+top+’,left=’+left+’,width=400,height=480′);
}
if(this.method === ‘sms’){
const shareBody = shortURL;
window.location.href = ‘sms:?&body=’ + shareBody;
}
})
.catch(err => console.error(err));
}
this.fostrSocialShareForm.setAttribute(‘hidden’,”);
this.fostrSocialShareComplete.removeAttribute(‘hidden’);
let message = (this.cart) ? “Your bag is ready to share via” : “Your product is ready to share via”;
message = message + ” ” + this.method;
this.fostrSocialShareComplete.querySelector(‘main p’).innerHTML = message;
this.fostrDrawerFooter.setAttribute(‘shared’,”);
this.fostrDrawerFooter.querySelector(‘.btn’).setAttribute(‘hidden’,”);
this.fostrDrawerFooter.querySelector(‘.share-again’).removeAttribute(‘hidden’);
this.fostrDrawerFooter.querySelector(‘.share-again’).onclick = () => { this.reset(); };
}
}
class FostrSocialIcon extends FostrSocialSelling {
fostrSocialSelling;
constructor() {
super();
this.fostrSocialSelling = document.querySelector(‘fostr-social-selling’);
this.fostrSocialDrawer = document.querySelector(‘fostr-social-drawer’);
}
open() {
this.fostrSocialSelling.products = [];
if (this.hasAttribute(‘isShareCart’)) {
const url = `/cart.json`;
let products = [];
fetch(url)
.then((response) => {
if(!response.ok)
throw new Error(response.status);
else
//console.log(‘API Success!’);
return response.json();
})
.then((data) => {
//Fetch success
console.log(‘items: ‘,data.items);
data.items.forEach(function(obj) {
products.push({‘id’: obj.product_id, ‘variant’: obj.id, ‘url’: obj.url, ‘title’: obj.product_title, ‘desc’: obj.product_description, ‘price’: obj.price, ‘thumb’: obj.featured_image[‘url’]});
});
})
.catch((error) => {
//Fetch error
console.error(‘Error:’, error);
});
document.querySelector(‘offcanvas-menu’).closeAllMenus();
this.fostrSocialSelling.products = products;
this.fostrSocialDrawer.cart = true;
this.fostrSocialDrawer.open();
} else {
this.fostrSocialSelling.products.push({‘id’: this.getID(), ‘variant’: this.getVariant(), ‘url’: this.getUrl(), ‘title’: this.getTitle(), ‘desc’: this.getDesc(), ‘price’: this.getPrice(), ‘thumb’: this.getThumb()});
this.fostrSocialDrawer.cart = false;
this.fostrSocialDrawer.open();
}
}
getID() {
return this.getAttribute(‘id’);
}
getVariant() {
return this.getAttribute(‘variant’);
}
getUrl() {
return this.getAttribute(‘url’);
}
getTitle() {
return this.getAttribute(‘title’);
}
getDesc() {
return this.getAttribute(‘desc’);
}
getPrice() {
return this.getAttribute(‘price’);
}
getThumb() {
return this.getAttribute(‘thumb’);
}
}
class FostrSocialPopup extends FostrSocialSelling {
fostrSocialSelling;
fostrSocialPopup;
constructor() {
super();
this.fostrSocialSelling = document.querySelector(‘fostr-social-selling’);
this.btn = document.querySelector(‘fostr-social-popup .btn’);
this.initaliseButtons();
this.isAmbassador = false;
this.isRecruitment = false;
this.loggedIn = false;
this.handleResponse();
}
connectedCallback(){
}
open() {
this.setAttribute(‘open’,”);
this.fostrSocialSelling.open();
console.log(‘this.loggedIn: ‘,this.loggedIn);
}
close() {
this.removeAttribute(‘open’);
this.btn.setAttribute(‘hidden’,”);
this.fostrSocialSelling.close();
sessionStorage.setItem(‘viewed’, true);
console.log(‘reminderBarDismissed: ‘,sessionStorage.getItem(‘reminderBarDismissed’));
if(sessionStorage.getItem(‘reminderBarDismissed’) === null && !this.isAmbassador){ this.reminderBar.removeAttribute(‘hidden’); }
if(this.loggedIn && this.isAmbassador){ sessionStorage.setItem(‘portalRedirectViewed’, true); }
}
initaliseButtons() {
this.querySelector(‘.close’).onclick = () => {
this.close();
}
}
closeReminderBar() {
this.reminderBar.remove();
}
createReminderBar() {
console.log(‘loggedIn: ‘,this.loggedIn);
this.reminderBar = document.createElement(‘fostr-social-reminder-bar’);
this.reminderBar.setAttribute(‘hidden’,”);
if(document.querySelector(‘sticky-header’)){
document.querySelector(‘sticky-header’).append(this.reminderBar);
}else{
document.querySelector(‘header.banner’).append(this.reminderBar);
}
const html = `
Check your email to complete your recruitment process.
`;
this.reminderBar.innerHTML = html;
if(sessionStorage.getItem(‘viewed’) === “true” && (sessionStorage.getItem(‘reminderBarDismissed’) === null) && this.isRecruitment === true){ this.reminderBar.removeAttribute(‘hidden’); }
this.reminderBar.querySelector(‘.close’).onclick = () => {
this.closeReminderBar();
console.log(‘close reminder bar’);
sessionStorage.setItem(‘reminderBarDismissed’, true);
}
}
async searchAmbassador(params) {
var headers = new Headers();
headers.append(“Content-Type”, “application/json”);
const raw = JSON.stringify(params);
const requestOptions = {
method: ‘POST’,
headers: headers,
body: raw,
redirect: ‘follow’
};
const response = await fetch(“https://portal-api.gxvebeauty.com/ambassadors/searchAmbassador”, requestOptions)
const responseJSON = await response.text();
const data = await JSON.parse(responseJSON)
return {
“response” : response,
“data”: data
};
}
async recruitmentResponse(params) {
var requestOptions = {
method: ‘GET’,
redirect: ‘follow’
};
const response = await fetch(“https://portal-api.gxvebeauty.com/recruitment/status?customerEmail=”+params, requestOptions)
const responseJSON = await response.text();
const data = await JSON.parse(responseJSON)
return {
“response” : response,
“data”: data
};
}
async handleResponse(){
if(sessionStorage.getItem(‘viewed’) === null) sessionStorage.setItem(‘viewed’, false)
const customerEmail = “”
const customerName = “”
let recruitment_status;
const recruitment = await this.recruitmentResponse(customerEmail)
recruitment_status = await recruitment;
if(recruitment.response.status === 200){
this.isRecruitment = true;
}
if(sessionStorage.getItem(‘viewed’) === “false”) {
if(recruitment_status.data.state === “APPLICATION_PENDING”){
console.log(“You have been invited and have a pending Applicatation form ” + recruitment_status.data.actionLink)
this.querySelector(‘img’).src = recruitment_status.data.invitedByImage;
this.querySelector(‘.copy’).innerHTML = `
Hello ${recruitment_status.data.customerFirstName}!
We see you have been invited by ${recruitment_status.data.invitedByFirstName} ${recruitment_status.data.invitedByLastName}, you have a pending invite, please check your email
`
this.open();
this.btn.innerText = ‘Complete Your Application Form’;
this.createReminderBar();
}
if(recruitment_status.data.state === “REGISTRATION_PENDING”){
console.log(“You have been aprroved and need to complete the application form ” +recruitment_status.data.actionLink )
this.querySelector(‘img’).src = recruitment_status.data.invitedByImage;
this.querySelector(‘.copy’).innerHTML = `
Hello ${recruitment_status.data.customerFirstName}!
We see you have been invited by ${recruitment_status.data.invitedByFirstName} ${recruitment_status.data.invitedByLastName}, you have a pending registration, please check your email
`
this.btn.innerText = ‘Activate Your Account’;
this.open();
this.createReminderBar();
}
}
if(sessionStorage.getItem(‘portalRedirectViewed’) !== “true”) {
if(this.loggedIn){
const ambassador = await this.searchAmbassador({“email”: customerEmail})
console.log(‘ambassador: ‘,ambassador);
if(ambassador.response.status === 200) {
this.isAmbassador = true;
this.querySelector(‘img’).src = ambassador.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello ${ambassador.data.firstName}!
If you want to visit your ambassador portal use the button below.`
this.btn.innerText = ‘Go to Ambassador Portal’;
this.btn.removeAttribute(‘hidden’);
this.open();
}
}
}
}
}
class FostrSocialHeaderBar extends FostrSocialSelling {
fostrSocialSelling;
fostrSocialPopup;
constructor() {
super();
this.fostrSocialSelling = document.querySelector(‘fostr-social-selling’);
this.handleResponse();
}
connectedCallback(){
const html = `
Hello [Customer Name]!
You are shopping [Ambassador X] GXVE.com
`;
this.innerHTML = html;
this.initaliseButtons();
}
open() {
if(sessionStorage.getItem(‘headerBarDismissed’) === null){
this.setAttribute(‘open’,”);
}
}
close() {
this.removeAttribute(‘open’);
sessionStorage.setItem(‘headerBarDismissed’, true);
}
initaliseButtons() {
this.querySelector(‘.close’).onclick = () => { this.close(); }
}
displaySocialProfile(data) {
if(data.socialProfiles && data.socialProfiles.length > 1) {
this.querySelector(‘.social-media [name]’).innerText = data.firstName;
data.socialProfiles.forEach(function(obj) {
let link = obj.type.toLowerCase();
link = document.querySelector(‘fostr-social-header-bar .social-media .’+link);
link.style.display = ‘block’;
link.href = obj.socialUrl;
});
this.querySelector(‘.social-media’).removeAttribute(‘hidden’);
}
}
async searchAmbassador(params) {
var headers = new Headers();
headers.append(“Content-Type”, “application/json”);
const raw = JSON.stringify(params);
const requestOptions = {
method: ‘POST’,
headers: headers,
body: raw,
redirect: ‘follow’
};
const response = await fetch(“https://portal-api.gxvebeauty.com/ambassadors/searchAmbassador”, requestOptions)
const responseJSON = await response.text();
const data = await JSON.parse(responseJSON)
return {
“response” : response,
“data”: data
};
}
async recruitmentResponse(params) {
var requestOptions = {
method: ‘GET’,
redirect: ‘follow’
};
const response = await fetch(“https://portal-api.gxvebeauty.com/recruitment/status?customerEmail=”+params, requestOptions)
const responseJSON = await response.text();
const data = await JSON.parse(responseJSON)
return {
“response” : response,
“data”: data
};
}
async handleResponse() {
try {
let user;
let isAmbassador = false;
let isCustomer = false;
let loggedIn = false;
let hasAmbassador = false;
const customerEmail = “”
const customerName = “”
// Get code from Url using URL class
const parsedUrl = new URL(window.location.href);
var code = parsedUrl.searchParams.get(“affiliate-code”);
//check if user is logged and if customer or Ambassador
if(customerEmail !== “” && customerEmail !== null ){
loggedIn = true;
const ambassador = await this.searchAmbassador({“email”: customerEmail})
const customer = await this.searchAmbassador({“customerEmail”: customerEmail})
if(ambassador.response.status === 200) {
isAmbassador = true;
isCustomer = false;
user = await ambassador;
} else if(customer.response.status === 200 ) {
isAmbassador = false;
isCustomer = true;
user = await customer;
}
}
// State 2 & State 7*
if(code !== null && code !== “”){
localStorage.setItem(‘_affiliate_code’, code)
fetch(‘/cart/update.js’, {
method: ‘POST’,
headers: {
‘Content-Type’: ‘application/json’,
‘Accept’: ‘application/json’
},
body: JSON.stringify({
attributes: {
_affiliate_code: localStorage.getItem(‘_affiliate_code’)
}
})
})
.then(response => {
return response.json();
})
.catch((error) => {
console.error(‘Error:’, error);
});
const affiliateCode = await this.searchAmbassador({“affiliateCode”: code})
if(!loggedIn && affiliateCode.response.status === 200){
console.log({“message” : “Show ambassador bar – state 2, state 7A, state 7B: User not logged in and has Ambassador Link”,
“response”: affiliateCode.data});
this.querySelector(‘img’).src = affiliateCode.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello!
You are shopping ${affiliateCode.data.firstName}’s GXVEBeauty.com
`
this.displaySocialProfile(affiliateCode.data);
this.open();
}
if (isAmbassador && affiliateCode.data.email !== user.data.email) {
console.log({“message”: `State 7D: You are an Ambassador ${user.data.email} but you are on Ambassador’s ${affiliateCode.data.email} link`, “user”: user, “affiliateCode”: affiliateCode})
this.querySelector(‘img’).src = affiliateCode.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello!
You are shopping ${affiliateCode.data.firstName}’s’ GXVEBeauty.com
Your Ambassador ${user.data.email}`
this.displaySocialProfile(affiliateCode.data);
this.open();
}
if (isCustomer && affiliateCode.data.email !== user.data.email) {
console.log({“message”: `State 7C: You are a Customer with Ambassador ${user.data.email} but you are on Ambassador’s ${affiliateCode.data.email} link`, “user”: user, “affiliateCode”: affiliateCode})
this.querySelector(‘img’).src = affiliateCode.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello ${customerName}!
You are shopping ${affiliateCode.data.firstName}’s’ GXVEBeauty.com
Your Ambassador is ${user.data.email}`
this.displaySocialProfile(affiliateCode.data);
this.open();
}
} else {
if(localStorage.getItem(‘_affiliate_code’) !== null ) {
fetch(‘/cart/update.js’, {
method: ‘POST’,
headers: {
‘Content-Type’: ‘application/json’,
‘Accept’: ‘application/json’
},
body: JSON.stringify({
attributes: {
_affiliate_code: localStorage.getItem(‘_affiliate_code’)
}
})
})
.then(response => {
return response.json();
})
.catch((error) => {
console.error(‘Error:’, error);
});
const affiliateCode = await this.searchAmbassador({“affiliateCode”: localStorage.getItem(‘_affiliate_code’)})
if(!loggedIn && affiliateCode.response.status === 200){
console.log({“message” : “Show ambassador bar – state 2, state 7A, state 7B: User not logged in and has Ambassador Link”,
“response”: affiliateCode.data});
this.querySelector(‘img’).src = affiliateCode.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello!
You are shopping ${affiliateCode.data.firstName}’s GXVEBeauty.com
`
this.displaySocialProfile(affiliateCode.data);
this.open();
}
if (isAmbassador && affiliateCode.data.email !== user.data.email) {
console.log({“message”: `State 7D: You are an Ambassador ${user.data.email} but you are on Ambassador’s ${affiliateCode.data.email} link`, “user”: user, “affiliateCode”: affiliateCode})
this.querySelector(‘img’).src = affiliateCode.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello!
You are shopping ${affiliateCode.data.firstName}’s’ GXVEBeauty.com
Your Ambassador ${user.data.email}`
this.displaySocialProfile(affiliateCode.data);
this.open();
}
if (isCustomer && affiliateCode.data.email !== user.data.email) {
console.log({“message”: `State 7C: You are a Customer with Ambassador ${user.data.email} but you are on Ambassador’s ${affiliateCode.data.email} link`, “user”: user, “affiliateCode”: affiliateCode})
this.querySelector(‘img’).src = affiliateCode.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello ${customerName}!
You are shopping ${affiliateCode.data.firstName}’s’ GXVEBeauty.com
Your Ambassador is ${user.data.email}`
this.displaySocialProfile(affiliateCode.data);
this.open();
}
}
}
//State 3 & State 4
if(loggedIn && !isAmbassador){
if(isCustomer){
this.querySelector(‘img’).src = user.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello ${customerName}!
You are shopping ${user.data.firstName}’s GXVEBeauty.com
`
this.displaySocialProfile(user.data);
this.open();
console.log({“message”: “Show ambassador bar – state 3: Customer Logged in and has ambassador”,
“user” : user,
});
} else {
console.log({“message”: “state 4: Customer Logged in & has no Ambassador”, “user”: “no user data to show”})
}
}
// State 5 & State 6
if(isAmbassador){
const checkForAmbassador = await this.searchAmbassador({“customerEmail”: customerEmail})
if(checkForAmbassador.response.status === 200 ) {
console.log({“message”: “Show ambassador bar – state 5: Ambassador Logged in and has ambassador”,
“user” : user,
“ambassador” : checkForAmbassador
});
this.querySelector(‘img’).src = user.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello ${user.data.firstName}!
You are shopping your GXVEBeauty.com
`
this.open();
} else {
console.log({“message”: “state 6: Ambassador Logged in & has no Ambassador”, “user”: user})
this.querySelector(‘img’).src = user.data.profileUrl;
this.querySelector(‘.copy’).innerHTML = `
Hello ${user.data.firstName}!
You are shopping your GXVEBeauty.com
`
this.open();
}
}
} catch(ex){
console.log(‘An error occured while trying to fetch data’, ex)
return null;
}
}
}
// Search for Ambassador
async function searchAmbassador(params) {
var headers = new Headers();
headers.append(“Content-Type”, “application/json”);
const raw = JSON.stringify(params);
const requestOptions = {
method: ‘POST’,
headers: headers,
body: raw,
redirect: ‘follow’
};
const response = await fetch(“https://portal-api.gxvebeauty.com/ambassadors/searchAmbassador”, requestOptions)
const responseJSON = await response.text();
const data = await JSON.parse(responseJSON)
return {
“response” : response,
“data”: data
};
}
// Remove share bag button in mini cart and share producf button (fostr-social-icon)
function removeShareButtons() {
document.querySelector(‘#social-selling-share-bag’)?.remove();
document.querySelectorAll(‘fostr-social-icon’)?.forEach(e => e.remove());
}
// Handle check Ambassador
async function checkAmbassador() {
try {
isAmbassador = false;
const customerEmail = ”;
if(customerEmail !== ” && customerEmail !== null ){
const ambassador = await searchAmbassador({“email”: customerEmail});
if(ambassador.response.status === 200) {
isAmbassador = true;
}else{
//No ambassador status from API
removeShareButtons();
}
}else{
//No customer email remove buttons
removeShareButtons();
}
} catch(error){
console.log(‘An error occured while trying to fetch data’, error)
return null;
}
}
checkAmbassador();
customElements.define(‘fostr-social-icon’, FostrSocialIcon);
customElements.define(‘fostr-social-drawer’, FostrDrawerComponent);
customElements.define(‘fostr-social-selling’, FostrSocialSelling);
customElements.define(‘fostr-social-popup’, FostrSocialPopup);
const headerBar = document.createElement(‘fostr-social-header-bar’);
if(document.querySelector(‘sticky-header’)){
document.querySelector(‘sticky-header’).append(headerBar);
}else{
document.querySelector(‘header.banner’).append(headerBar);
}
customElements.define(‘fostr-social-header-bar’, FostrSocialHeaderBar);