adds .local/share/millennium and easyeffects

This commit is contained in:
2026-08-06 18:11:50 +02:00
parent f3f3bfb83e
commit 26031a629a
2581 changed files with 339035 additions and 0 deletions
@@ -0,0 +1,57 @@
/* eslint-disable no-undef */
/* eslint-disable func-names */
(function () {
/**
* @typedef {{ userId: string; personaName: string; avatarUrl: string; accountBalance: string; }} UserInfo
*/
const mockUserInfo = {
userId: '76561198000000000',
personaName: 'ExampleUser',
avatarUrl: 'https://avatars.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg',
accountBalance: '10,00€',
};
/**
* @param {string} str
* @param {UserInfo} userInfo
*
* @returns {string}
*/
function replaceKeys(str, userInfo) {
return str
.replaceAll('%user_id%', userInfo.userId)
.replaceAll('%persona_name%', userInfo.personaName)
.replaceAll('%img_src%', userInfo.avatarUrl)
.replaceAll('%account_balance%', userInfo.accountBalance);
}
async function loadAndInjectTemplates() {
const isReactPage = document.querySelector('[data-react-nav-root]') !== null;
let htmlTemplate;
if (isReactPage) {
const response = await fetch(chrome.runtime.getURL('react-header.html'));
htmlTemplate = await response.text();
} else {
const response = await fetch(chrome.runtime.getURL('legacy-header.html'));
htmlTemplate = await response.text();
}
const html = replaceKeys(htmlTemplate, mockUserInfo);
// Store data in a data attribute on the document element
document.documentElement.setAttribute('data-extendium-fake-header-html', html);
document.documentElement.setAttribute('data-extendium-fake-header-is-react', String(isReactPage));
// Dispatch event to notify MAIN world script
document.dispatchEvent(new CustomEvent('extendiumFakeHeaderDataReady'));
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadAndInjectTemplates);
} else {
loadAndInjectTemplates();
}
})();
@@ -0,0 +1,178 @@
/* eslint-disable @typescript-eslint/no-deprecated */
/* eslint-disable func-names */
/* eslint-disable no-underscore-dangle */
(function () {
/**
* @param {number} ms
*
* @returns {Promise<any>}
*/
async function sleep(ms) {
// eslint-disable-next-line no-promise-executor-return
return new Promise(resolve => setTimeout(resolve, ms));
}
/**
* @param {string} url
*/
function loadStyle(url) {
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = url;
document.head.appendChild(link);
}
function loadTooltips() {
// @ts-ignore
const jq = window.$J ?? window.$;
if (jq?.('#global_header .supernav').v_tooltip !== undefined) {
jq('#global_header .supernav').v_tooltip({
location: 'bottom',
destroyWhenDone: false,
tooltipClass: 'supernav_content',
offsetY: -6,
offsetX: 1,
horizontalSnap: 4,
tooltipParent: '#global_header .supernav_container',
correctForScreenSize: false,
});
}
}
/**
* @param {string} html
* @param {boolean} isReactPage
*/
async function createFakeSteamHeader(html, isReactPage) {
let pageContent;
if (isReactPage) {
const start = performance.now();
while (performance.now() - start < 5000) {
// @ts-expect-error
const root = window.SSR?.reactRoot?._internalRoot;
if (root !== undefined) {
break;
}
// eslint-disable-next-line no-await-in-loop
await sleep(100);
}
if (performance.now() - start >= 5000) {
console.error('Timed out waiting for react root');
return;
}
pageContent = document.querySelector('#StoreTemplate');
if (!pageContent) {
console.error('Could not find page content');
return;
}
pageContent.insertAdjacentHTML('afterbegin', html);
} else {
pageContent = document.querySelector('.responsive_page_content')
?? document.querySelector('.headerOverride')
?? document.querySelector('center');
if (pageContent) {
pageContent.insertAdjacentHTML('afterbegin', html);
}
}
const header = document.getElementById('global_header');
if (header === null) {
console.error('Could not find global header');
return;
}
header.style.display = 'block';
const headerContent = /** @type {HTMLElement} */ (header.firstElementChild);
headerContent.style.transition = 'height 0.25s ease-in-out 0s';
headerContent.style.overflow = 'hidden';
headerContent.style.setProperty('height', '0px', 'important');
loadStyle('https://store.fastly.steamstatic.com/public/css/applications/store/greenenvelope.css');
const showButton = document.createElement('button');
showButton.style.position = 'fixed';
showButton.style.top = '0';
showButton.style.right = '0';
showButton.style.display = 'none';
showButton.style.zIndex = '9000';
showButton.textContent = 'Show Header';
let headerShown = false;
showButton.addEventListener('click', () => {
if (headerShown) {
headerContent.style.overflow = 'hidden';
headerContent.style.setProperty('height', '0px', 'important');
showButton.textContent = 'Show Header';
} else {
headerContent.style.removeProperty('height');
showButton.textContent = 'Hide Header';
setTimeout(() => {
headerContent.style.removeProperty('overflow');
}, 250);
}
headerShown = !headerShown;
});
document.addEventListener('keydown', (e) => {
if (e.key === 'Control') {
showButton.style.display = 'block';
}
});
document.addEventListener('keyup', (e) => {
if (e.key === 'Control') {
showButton.style.display = 'none';
}
});
if (pageContent) {
pageContent.prepend(showButton);
}
if (!isReactPage) {
loadTooltips();
}
document.dispatchEvent(new Event('headerReady'));
}
/**
* @param {() => void} callback
*/
function onDomReady(callback) {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
} else {
callback();
}
}
// Wait for the isolated world script to provide the HTML data
document.addEventListener('extendiumFakeHeaderDataReady', () => {
onDomReady(() => {
const html = document.documentElement.getAttribute('data-extendium-fake-header-html');
const isReactPage = document.documentElement.getAttribute('data-extendium-fake-header-is-react') === 'true';
if (html !== null) {
createFakeSteamHeader(html, isReactPage);
// Clean up data attributes
document.documentElement.removeAttribute('data-extendium-fake-header-html');
document.documentElement.removeAttribute('data-extendium-fake-header-is-react');
}
});
});
})();
@@ -0,0 +1,5 @@
{
"extensionId": "ilceigfjdfkplpmafppofppbifclfdop",
"publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2iRsDZgTmkdU+ZZq6P2UQhD6q3dEJzvRU6J8D0TnsDXuqDMZsHp3xto0pIJXgRXZxXqK41CWXzOW6LZ0nvN+c0zSHLAdnUaTVMHY4LmNhAoozY6LkdWB+Ro8V8VUoMGTl9DEPOBblSvznmr/pdHLU8hgmmW8yPqVKwPAZajJZWbtk5l8dWYV96ZVPbBq61dqSum/r/xBiSJJ/y0AgAWDbRmWgnyBBLe5YtWTkyhghFtZpzFYhOnCWr/0Zb906TGInutMILicGRCxSNmFoUbohgmMDFTReL2JGEC4bGFBFivb59gCsuLlEXNCz7xRNPLFpXTp6oM0Emv/gCNgqIYh5wIDAQAB",
"privateKey": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDaJGwNmBOaR1T5lmro/ZRCEPqrd0QnO9FTonwPROewNe6oMxmwenfG2jSkgleBFdnFeorjUJZfM5botnSe835zTNIcsB2dRpNUwdjguY2ECijNjouR1YH5GjxXxVSgwZOX0MQ84FuVK/Oeav+l0ctTyGCaZbzI+pUrA8BlqMllZu2TmXx1ZhX3plU9sGrrV2pK6b+v/EGJIkn/LQCABYNtGZaCfIEEt7li1ZOTKGCEW1mnMViE6cJav/Rlv3TpMYie60wguJwZELFI2YWhRuiGCYwMVNF4vYkYQLhsYUEWK9vn2AKy4uURc0LPvFE08sWldOnqgzQSa/+AI2CohiHnAgMBAAECggEAKAOVVHsIYXzjL/MxAjL9no7JxGkYtc+pqps8AXsEutRxxiW1eSNF1FKTZHfKQFH3Q9uiHWdbZfQrIt3RD5UfpVu6kOuXSxG2lc4HD9XJiSZp7KbQoDwXXs+6sOjwCJrpjWgMjxQiiH7q7ay33z1X/DLd0YSG+CDK+vxxrtQiuTgs8fAVTFuUMks21QlW6M9rkzXm2APGZYmqxTrwHmNFO+/mplhywUoDYsh3bnlVd+4J8fb5+DUjDDuobzhlEXevVO03mnVLEmEfZh5m5w3A+NrnDdvbqmEIDZek5SnPKymIHY53fssuUIuhZKtTNVqW8jpcdxF1ZbQYVBydE8XBYQKBgQDzLIcN4jgYo7qK+F9hnMJGM6lNaHU3Gf4mhs+u7bW/Vvrv01x/4at88lptgjA3cg2Gyq69ZkiJlWXQJqt2+/GbStzX/Sx6bb8BrhmGccnK7Q7wStnWXGgn8A4x7Pm0+zbING1Bb5OgidVAVLezCnhAponwRGP3Tt0hK8vTgwk1YQKBgQDlpecfh0n1qg0ivHsQRG2sPSAu3FM1zkapgRSZTCK8FezZuS9Vt1+n/rmwJT9UhMlm+tuDw/wNCItvtV2lUgjPC1JdBOqeGpqCcWNqYunLhgzZhFKP59ulpnv2SnMdOM8Ul+biKI8j6U9eLo2UlExzn280GFRmyVcCsn09Y0TURwKBgQC5l0hT/k1V8M/UdI9HTn6vWYpjO9AKB9qCyO0E0wOdTuMh2qyEJVXefJErdusZxgAw2cvXXZMK/mzAGmNO4iaZoN9AMUebANuAisGMbJfYOmjmWBo9kjUkFgCfdf92cyxyTCD+igufwNJy0LWK/fidTv2D1I5/Fz+Jq4Vanm2OwQKBgBr0/41u5xqkTIhwUY3WSn12a2m0yTu+rALHuTBJhKZJeJUSLOFF9j+VIhzwMl/semvRNKViAxtQjnWdd5GpcIlFTfTHV/cZLlvzjXT2iXUvliCObNaho+HtCg4eLScX/Q7wydRwaGURxRRMKKhxRAwqgfY+iOHL7p/NbfAfz/uPAoGBAMeeawamYurHVjGzglM21JGg0CDJuv78IPzq6iA6C0jMRFmpBPmjt7tKPXdtGsSzlBOMxHB/5+9PM+qc8B6y6rawVhAe1TURxC8UHvgK9hkcUV9PSFd3LPsP3LldnWF6bIN6VU3VA7WtrJpBlHSw/KawW9VEVsQwyKBcpB1bPa3G"
}
@@ -0,0 +1,89 @@
<div id="global_header" style="display: none" data-panel='{"flow-children":"row"}' role="banner">
<div class="content">
<div class="logo">
<span id="logo_holder">
<a href="https://store.steampowered.com/?snr=1_5_9__global-header" aria-label="Link to the Steam Homepage">
<img alt="Link to the Steam Homepage" src="https://store.fastly.steamstatic.com/public/shared/images/header/logo_steam.svg?t=962016" height="44" width="176" />
</a>
</span>
</div>
<div class="supernav_container" aria-label="Global Menu" role="navigation">
<a href="https://store.steampowered.com/?snr=1_5_9__global-header" class="menuitem supernav supernav_active" data-tooltip-content=".submenu_Store" data-tooltip-type="selector">STORE</a>
<div class="submenu_Store" style="display: none" data-submenuid="Store">
<a href="https://store.steampowered.com/?snr=1_5_9__global-header" class="submenuitem">Home</a>
<a href="https://store.steampowered.com/explore/?snr=1_5_9__global-header" class="submenuitem">Discovery Queue</a>
<a href="https://steamcommunity.com/my/wishlist/" class="submenuitem">Wishlist</a>
<a href="https://store.steampowered.com/points/shop/?snr=1_5_9__global-header" class="submenuitem">Points Shop</a>
<a href="https://store.steampowered.com/news/?snr=1_5_9__global-header" class="submenuitem">News</a>
<a href="https://store.steampowered.com/stats/?snr=1_5_9__global-header" class="submenuitem">Stats</a>
<a href="https://store.steampowered.com/about/?snr=1_5_9__global-header" class="submenuitem">About</a>
</div>
<a href="https://steamcommunity.com/" class="menuitem supernav" data-tooltip-content=".submenu_Community" data-tooltip-type="selector">COMMUNITY</a>
<div class="submenu_Community" style="display: none" data-submenuid="Community">
<a href="https://steamcommunity.com/" class="submenuitem">Home</a>
<a href="https://steamcommunity.com/discussions/" class="submenuitem">Discussions</a>
<a href="https://steamcommunity.com/workshop/" class="submenuitem">Workshop</a>
<a href="https://steamcommunity.com/market/" class="submenuitem">Market</a>
<a href="https://steamcommunity.com/?subsection=broadcasts" class="submenuitem">Broadcasts</a>
</div>
<a href="https://steamcommunity.com/my/" class="menuitem supernav username" data-tooltip-content=".submenu_Profile" data-tooltip-type="selector">%persona_name%</a>
<div class="submenu_Profile" style="display: none" data-submenuid="Profile">
<a href="https://steamcommunity.com/my/home/" class="submenuitem">Activity</a>
<a href="https://steamcommunity.com/my/" class="submenuitem">Profile</a>
<a href="https://steamcommunity.com/my/friends/" class="submenuitem">Friends</a>
<a href="https://steamcommunity.com/my/games/" class="submenuitem">Games</a>
<a href="https://steamcommunity.com/my/groups/" class="submenuitem">Groups</a>
<a href="https://steamcommunity.com/my/screenshots/" class="submenuitem">Content</a>
<a href="https://steamcommunity.com/my/badges/" class="submenuitem">Badges</a>
<a href="https://steamcommunity.com/my/inventory/" class="submenuitem">Inventory</a>
<a href="https://store.steampowered.com/yearinreview/?snr=1_5_9__global-header" class="submenuitem">Steam Replay</a>
</div>
<a href="https://steamcommunity.com/chat/" class="menuitem">Chat</a>
<a href="https://help.steampowered.com/en/" class="menuitem">SUPPORT</a>
</div>
<div id="global_actions">
<div id="global_action_menu" role="navigation" aria-label="Account Menu">
<div id="header_notification_area" style="position: relative">
<div data-featuretarget="green-envelope">
<div>
<button class="_1jW5_Ycv6jGKu28A1OSIQK _34A9kjlnmgfUWSmr16VjXE" id="green_envelope_menu_root">
<svg class="_13fwmIK8Ajo0qndUS5zb7E" fill="none" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg">
<g class="SVGIcon_Notification">
<path clip-rule="evenodd" d="M32 24V26H4V24L8 19V12C8 9.34784 9.05357 6.8043 10.9289 4.92893C12.8043 3.05357 15.3478 2 18 2C20.6522 2 23.1957 3.05357 25.0711 4.92893C26.9464 6.8043 28 9.34784 28 12V19L32 24Z" fill="currentColor" fill-rule="evenodd"></path>
<path clip-rule="evenodd" d="M18 34C19.2396 33.9986 20.4483 33.6133 21.46 32.897C22.4718 32.1807 23.2368 31.1687 23.65 30H12.35C12.7632 31.1687 13.5282 32.1807 14.54 32.897C15.5517 33.6133 16.7604 33.9986 18 34Z" fill="currentColor" fill-rule="evenodd" class="SVGIcon_Notification_Uvula"></path>
</g>
</svg>
</button>
</div>
</div>
<div class="global_header_toggle_button header_notification_bell header_notification_btn" style="background-color: rgba(0, 0, 0, 0)" id="header_notification_link"></div>
</div>
<button class="global_action_link persona_name_text_content pulldown" id="account_pulldown" onclick="ShowMenu(this, 'account_dropdown', 'right', 'bottom', !0)">%persona_name%</button>
<div class="popup_block_new" style="display: none" id="account_dropdown">
<div class="popup_body popup_menu">
<a href="https://steamcommunity.com/id/%user_id%/" class="popup_menu_item">View my profile</a>
<a href="https://store.steampowered.com/account/?snr=1_5_9__global-header" class="popup_menu_item">Account details: <span class="account_name">%persona_name%</span></a>
<a href="https://store.steampowered.com/account/preferences/?snr=1_5_9__global-header" class="popup_menu_item">Store preferences</a>
<a href="https://store.steampowered.com/steamaccount/addfunds/?snr=1_5_9__global-header" class="popup_menu_item">View my wallet <span class="account_name">%account_balance%</span></a>
<span class="popup_menu_item" id="account_language_pulldown">Change language</span>
<div class="popup_block_new" style="display: none" id="language_dropdown">
<div class="popup_body popup_menu">
<a href="https://www.valvesoftware.com/en/contact?contact-person=Translation%20Team%20Feedback" class="popup_menu_item tight" target="_blank">Report a translation problem</a>
</div>
</div>
<a href="javascript:Logout();" class="popup_menu_item">Sign out of account...</a>
</div>
</div>
<script>
RegisterFlyout('account_language_pulldown', 'language_dropdown', 'leftsubmenu', 'bottomsubmenu', !0);
</script>
<div id="header_wallet_ctn">
<a href="https://store.steampowered.com/account/store_transactions/" class="global_action_link" id="header_wallet_balance">%account_balance%</a>
</div>
</div>
<a href="https://steamcommunity.com/id/%user_id%/" class="online playerAvatar user_avatar" aria-label="View your profile">
<img alt="%persona_name%" src="%img_src%" />
</a>
</div>
</div>
</div>
@@ -0,0 +1,44 @@
{
"manifest_version": 3,
"name": "Extendium - Fake Header Extension",
"version": "1.0.0",
"description": "Adds a fake Steam header to the top of Steam pages allowing some extensions like Augmented steam to function inside Steam. This is a core Extendium extension that should not be disabled or removed.",
"content_scripts": [
{
"matches": [
"*://*.steampowered.com/*",
"*://*.steamcommunity.com/*"
],
"js": [
"content-isolated.js"
],
"run_at": "document_start",
"world": "ISOLATED"
},
{
"matches": [
"*://*.steampowered.com/*",
"*://*.steamcommunity.com/*"
],
"js": [
"content-main.js"
],
"run_at": "document_start",
"world": "MAIN"
}
],
"web_accessible_resources": [
{
"resources": [
"legacy-header.html",
"react-header.html"
],
"matches": [
"*://*.steampowered.com/*",
"*://*.steamcommunity.com/*"
]
}
],
"homepage_url": "https://github.com/BossSloth/Extendium",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2iRsDZgTmkdU+ZZq6P2UQhD6q3dEJzvRU6J8D0TnsDXuqDMZsHp3xto0pIJXgRXZxXqK41CWXzOW6LZ0nvN+c0zSHLAdnUaTVMHY4LmNhAoozY6LkdWB+Ro8V8VUoMGTl9DEPOBblSvznmr/pdHLU8hgmmW8yPqVKwPAZajJZWbtk5l8dWYV96ZVPbBq61dqSum/r/xBiSJJ/y0AgAWDbRmWgnyBBLe5YtWTkyhghFtZpzFYhOnCWr/0Zb906TGInutMILicGRCxSNmFoUbohgmMDFTReL2JGEC4bGFBFivb59gCsuLlEXNCz7xRNPLFpXTp6oM0Emv/gCNgqIYh5wIDAQAB"
}
@@ -0,0 +1,112 @@
<header id="global_header" class="bp0Pu4TVwpI- eGsI8rO3zfU-" style="display: none">
<div class="Ca2l5LKN6as-">
<a class="_2GKjdN512t4-" href="https://store.steampowered.com/" aria-label="Link to the Steam Homepage">
<img alt="Link to the Steam Homepage" src="https://cdn.fastly.steamstatic.com/store/ssr/TYQTXQDA.svg" height="44" width="176" />
</a>
<nav class="MMrgod6KQlc-">
<ul class="k0AAbwuFzJQ-">
<a class="ofgQne2Wvqg-" href="https://store.steampowered.com/?snr=1_25_4__globalheader" aria-expanded="false" aria-current="page">STORE</a>
<div class="F0YMvqVKHkY- iHkamGVWNgw-" popover="manual" role="region">
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/?snr=1_25_4__globalheader" aria-expanded="false" aria-current="page">Home</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/explore/?snr=1_25_4__globalheader" aria-expanded="false">Discovery Queue</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/wishlist/" aria-expanded="false">Wishlist</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/points/shop/?snr=1_25_4__globalheader" aria-expanded="false">Points Shop</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/news/?snr=1_25_4__globalheader" aria-expanded="false">News</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/stats/?snr=1_25_4__globalheader" aria-expanded="false">Stats</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/about/?snr=1_25_4__globalheader" aria-expanded="false">About</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
</div>
<a class="ofgQne2Wvqg-" href="https://steamcommunity.com/" aria-expanded="false">COMMUNITY</a>
<div class="F0YMvqVKHkY- iHkamGVWNgw-" popover="manual" role="region">
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/" aria-expanded="false">Home</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/discussions/" aria-expanded="false">Discussions</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/workshop/" aria-expanded="false">Workshop</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/market/" aria-expanded="false">Market</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/?subsection=broadcasts" aria-expanded="false">Broadcasts</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
</div>
<a class="ofgQne2Wvqg- FTufO00UqAw-" href="https://steamcommunity.com/my/" aria-expanded="false">%persona_name%</a>
<div class="F0YMvqVKHkY- iHkamGVWNgw-" popover="manual" role="region">
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/home/" aria-expanded="false">Activity</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/" aria-expanded="false">Profile</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/friends/" aria-expanded="false">Friends</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/games/" aria-expanded="false">Games</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/groups/" aria-expanded="false">Groups</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/screenshots/" aria-expanded="false">Content</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/badges/" aria-expanded="false">Badges</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://steamcommunity.com/my/inventory/" aria-expanded="false">Inventory</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
<a class="_9-ylsFqlD1Y-" href="https://store.steampowered.com/yearinreview/?snr=1_25_4__globalheader" aria-expanded="false">Steam Replay</a>
<div class="F0YMvqVKHkY-" popover="manual" role="region"></div>
</div>
<a class="ofgQne2Wvqg-" href="https://steamcommunity.com/chat/" aria-expanded="false">Chat</a>
<div class="F0YMvqVKHkY- iHkamGVWNgw-" popover="manual" role="region"></div>
<a class="ofgQne2Wvqg-" href="https://help.steampowered.com/en/" aria-expanded="false">SUPPORT</a>
<div class="F0YMvqVKHkY- iHkamGVWNgw-" popover="manual" role="region"></div>
</ul>
</nav>
<div class="h3Jy-1Il1os-">
<div class="NzGUCXVXDcA-">
<div>
<button class="_99Vgt1ahI7Y- iN37A3Nzs1s-" id="green_envelope_menu_root">
<svg class="l5XI-YSDhPA-" fill="none" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg">
<g class="SVGIcon_Notification">
<path clip-rule="evenodd" d="M32 24V26H4V24L8 19V12C8 9.34784 9.05357 6.8043 10.9289 4.92893C12.8043 3.05357 15.3478 2 18 2C20.6522 2 23.1957 3.05357 25.0711 4.92893C26.9464 6.8043 28 9.34784 28 12V19L32 24Z" fill="currentColor" fill-rule="evenodd"></path>
<path clip-rule="evenodd" d="M18 34C19.2396 33.9986 20.4483 33.6133 21.46 32.897C22.4718 32.1807 23.2368 31.1687 23.65 30H12.35C12.7632 31.1687 13.5282 32.1807 14.54 32.897C15.5517 33.6133 16.7604 33.9986 18 34Z" fill="currentColor" fill-rule="evenodd" class="SVGIcon_Notification_Uvula"></path>
</g>
</svg>
</button>
</div>
</div>
<div class="Hxi-pnf9Xlw-">
<button class="QYT54GHN-rI-" aria-expanded="false">%persona_name%</button>
<div class="F0YMvqVKHkY- cQPGTl-Lp-0-" popover="manual" role="region">
<a class="TwsehSqoph8-" href="https://steamcommunity.com/id/%user_id%/" tabindex="0">View my profile</a>
<a class="TwsehSqoph8-" href="https://store.steampowered.com/account/?snr=1_25_4__globalheader" tabindex="0">Account details: <span class="HOrB6lehQpg-">%persona_name%</span></a>
<a class="TwsehSqoph8-" href="https://store.steampowered.com/account/preferences/?snr=1_25_4__globalheader" tabindex="0">Store preferences</a>
<a class="TwsehSqoph8-" href="https://store.steampowered.com/steamaccount/addfunds/?snr=1_25_4__globalheader" tabindex="0">View my wallet: <span class="HOrB6lehQpg-">43,17€</span></a>
<span class="TwsehSqoph8-" aria-expanded="false" tabindex="0">Change language</span>
<div class="F0YMvqVKHkY- rzUmQa-ty1I-" popover="manual" role="region"></div>
<button class="TwsehSqoph8-" tabindex="0">Sign out of account...</button>
</div>
</div>
<a class="_7iCcob-JJ4g-" href="https://steamcommunity.com/id/%user_id%/">
<div class="_-2DlbVABlsg- t1-DQ4KhiQ0-" data-size="Small" data-status-position="border">
<div class="gRteJ-XhQG8-"></div>
<img alt="" src="%img_src%" class="YbrTGQJwy1w-" draggable="false" />
</div>
</a>
</div>
<div class="r4HLvRr97Ps-"></div>
</div>
<div class="ewJx-kmPr-8-">
<button class="SmaLDT4y0RE-">
<img alt="" src="https://cdn.fastly.steamstatic.com/store/ssr/X3MIBOBA.png" class="LyTAF1R-NHw-" />
<div class="FhcQPauG0Bc-">
<div class="_40MmWrTStR0-">
<span class="_5N8HUkyU1sA-">1</span>
</div>
</div>
</button>
<a class="_2GKjdN512t4-" href="https://store.steampowered.com/" aria-label="Link to the Steam Homepage">
<img alt="Link to the Steam Homepage" src="https://cdn.fastly.steamstatic.com/store/ssr/KSEIVHDA.png" height="36" />
</a>
</div>
</header>