From 734b01ea5dadeeb4af72214edb4cc54706c537cd Mon Sep 17 00:00:00 2001 From: sepia Date: Wed, 23 Jul 2025 19:31:41 -0500 Subject: [PATCH] Add default flag emoji display names --- public/scripts/send-ws-messages.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/public/scripts/send-ws-messages.js b/public/scripts/send-ws-messages.js index 40f93d6..9543616 100644 --- a/public/scripts/send-ws-messages.js +++ b/public/scripts/send-ws-messages.js @@ -81,3 +81,31 @@ document.addEventListener('htmx:wsConfigSend', function (e) { }; } }); + +// Set the user's name to their flag by default +document.body.addEventListener('htmx:wsOpen', function (evt) { + const locale = navigator.language || navigator.userLanguage; + const countryCode = locale.split('-')[1] || locale.split('_')[1] || locale; + const countryCodeToFlagEmoji = (code) => { + if (code.length === 2) { + return code + .toUpperCase() + .split('') + .map((char) => String.fromCodePoint(127397 + char.charCodeAt(0))) + .join(''); + } + return null; + }; + const flagEmoji = countryCodeToFlagEmoji(countryCode); + + if (flagEmoji) { + const message = { + type: 'update_display_name', + displayName: flagEmoji, + }; + evt.detail.socketWrapper.send(JSON.stringify(message)); + + const displayNameSpan = document.getElementById('display-name'); + displayNameSpan.textContent = flagEmoji; + } +});