diff --git a/README.md b/README.md index 365441c..30d017b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Please see [this](https://github.com/MathMan05/JankClient/blob/main/InstanceInfo ## RoadMap You can view the current roadmap on https://github.com/users/MathMan05/projects/1. ## AI Code -AI code due to not being GPLv3 compatable is not allowed in this repo. I thought this didn't need to be said, but it doesn't. +AI code due to not being GPLv3 compatable is not allowed in this repo. I thought this didn't need to be said, but it does. ## Link The official SpaceBar server for Jank Client https://jankclient.greysilly7.xyz/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat diff --git a/src/webpage/guild.ts b/src/webpage/guild.ts index b2ec26b..23d3320 100644 --- a/src/webpage/guild.ts +++ b/src/webpage/guild.ts @@ -165,6 +165,22 @@ class Guild extends SnowFlake { {defaultIndex: sysmap.indexOf(this.properties.system_channel_id)}, sysmap, ); + console.log(textChannels, this.channels); + const options: ["DISCOVERABLE", "COMMUNITY", "INVITES_DISABLED"] = [ + "DISCOVERABLE", + "COMMUNITY", + "INVITES_DISABLED", + ]; + const defaultIndex = options.findIndex((_) => this.properties.features.includes(_)); + form.addSelect( + I18n.guild.howJoin(), + "features", + options.map((_) => I18n.guild[_]()), + { + defaultIndex: defaultIndex == -1 ? 1 : defaultIndex, + }, + options, + ); form.addCheckboxInput(I18n.getTranslation("guild.sendrandomwelcome?"), "s1", { initState: !(this.properties.system_channel_flags & 1), @@ -189,6 +205,13 @@ class Guild extends SnowFlake { bits += (1 - e.s4) * 8; delete e.s4; e.system_channel_flags = bits; + let temp = this.properties.features; + console.log([...temp]); + //@ts-ignore + temp = temp.filter((_) => !options.includes(_)); + console.log(temp, options); + temp.push(e.features); + e.features = temp; }); form.addHR(); @@ -439,7 +462,7 @@ class Guild extends SnowFlake { this.member_count = json.member_count; this.emojis = json.emojis; this.headers = this.owner.headers; - this.channels = []; + this.properties.features = json.features; if (this.properties.icon !== json.icon) { this.properties.icon = json.icon; if (this.HTMLicon) { diff --git a/src/webpage/instances.json b/src/webpage/instances.json index 5fdecf3..455f768 100644 --- a/src/webpage/instances.json +++ b/src/webpage/instances.json @@ -1,52 +1,34 @@ [ - { - "name": "NomBar", - "description": "The Tastiest Chat around, get your fill today", - "image": "https://munchy.impassivedev.com/images/icon.png", - "url": "https://spacebar.nomchy-verse.com", - "language": "en", - "country": "US", - "display": true, - "contactInfo": { - "dicord": "munchy420", - "github": "https://tea.nomchy-verse.com/munchy", - "email": "thedudedies22@gmail.com" - } - }, - { - "name": "Spacebar", - "description": "The official Spacebar instance.", - "image": "https://raw.githubusercontent.com/spacebarchat/spacebarchat/master/branding/png/Spacebar__Icon-Discord.png", - "urls":{ - "wellknown": "https://spacebar.chat/", - "api": "https://old.server.spacebar.chat/api", - "cdn": "https://cdn.old.server.spacebar.chat", - "gateway": "wss://gateway.old.server.spacebar.chat" - }, - "url": "https://spacebar.chat" - }, - { - "name": "Fastbar", - "description": "The best Spacebar instance with 95% uptime, running under on a NVME drive running with bleeding edge stuff <3", - "image": "https://spacebar.greysilly7.xyz/logo.png", - "url": "https://greysilly7.xyz", - "language": "en", - "country": "US", - "display": true, - "urls": { - "wellknown": "https://greysilly7.xyz", - "api": "https://api-spacebar.greysilly7.xyz/api", - "cdn": "https://cdn-spacebar.greysilly7.xyz", - "gateway": "wss://gateway-spacebar.greysilly7.xyz" - }, - "contactInfo": { - "dicord": "greysilly7", - "github": "https://github.com/greysilly7", - "email": "greysilly7@gmail.com" - } - }, - { - "name": "Vanilla Minigames", - "display": false - } -] + { + "name": "Spacebar", + "description": "The official Spacebar instance.", + "image": "https://raw.githubusercontent.com/spacebarchat/spacebarchat/master/branding/png/Spacebar__Icon-Discord.png", + "urls": { + "wellknown": "https://spacebar.chat/", + "api": "https://old.server.spacebar.chat/api", + "cdn": "https://cdn.old.server.spacebar.chat", + "gateway": "wss://gateway.old.server.spacebar.chat" + }, + "url": "https://spacebar.chat" + }, + { + "name": "Fastbar", + "description": "The best Spacebar instance with 95% uptime, running under on a NVME drive running with bleeding edge stuff <3", + "image": "https://spacebar.greysilly7.xyz/logo.png", + "url": "https://greysilly7.xyz", + "language": "en", + "country": "US", + "display": true, + "urls": { + "wellknown": "https://greysilly7.xyz", + "api": "https://api-spacebar.greysilly7.xyz/api", + "cdn": "https://cdn-spacebar.greysilly7.xyz", + "gateway": "wss://gateway-spacebar.greysilly7.xyz" + }, + "contactInfo": { + "dicord": "greysilly7", + "github": "https://github.com/greysilly7", + "email": "greysilly7@gmail.com" + } + } +] \ No newline at end of file diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index bb68195..c76ed3f 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -806,7 +806,7 @@ class Localuser { member.bind(username); member.user.bind(memberdiv, member.guild, false); memberdiv.append(pfp, username); - memberdiv.classList.add("flexltr", "liststyle"); + memberdiv.classList.add("flexltr", "liststyle", "memberListStyle"); membershtml.append(memberdiv); } category.append(membershtml); diff --git a/src/webpage/style.css b/src/webpage/style.css index 25b16a4..5e622ec 100644 --- a/src/webpage/style.css +++ b/src/webpage/style.css @@ -81,11 +81,18 @@ h2:empty { font-size: 1.5rem; font-weight: bold; } +.cunread { + .ellipsis { + font-weight: bold; + color: var(--primary-text); + } +} .ellipsis { display: -webkit-box; word-break: break-all; overflow: hidden; -webkit-box-orient: vertical; + line-clamp: 1; -webkit-line-clamp: 1; } a, @@ -635,7 +642,7 @@ span.instanceStatus { #sentdms .pfp { height: 48px; width: 48px; - margin-bottom: 6px; + margin-bottom: 8px; border-radius: 50%; overflow: hidden; display: flex; @@ -761,6 +768,7 @@ span.instanceStatus { margin: 0 6px; display: flex; flex-direction: column; + margin-bottom: 2px; } .channelbutton { height: 2em; @@ -791,10 +799,10 @@ span.instanceStatus { .cunread:after { content: ""; position: absolute; - top: calc(50% - 4px); + top: calc(50% - 8px); left: -10px; - height: 8px; - width: 8px; + height: 16px; + width: 7px; background: var(--primary-text); border-radius: 50%; } @@ -859,6 +867,13 @@ span.instanceStatus { gap: 8px; cursor: pointer; flex-shrink: 0; + margin-bottom: 4px; +} +.memberListStyle { + span { + font-size: 0.9rem; + margin-left: 4px; + } } .liststyle .statusDiv { right: -1px; @@ -1522,7 +1537,7 @@ img.bigembedimg { } .memberList h3 { margin: 0 8px 4px 8px; - font-size: 1rem; + font-size: 0.9rem; } .memberList .liststyle:hover { background: var(--sidebar-hover); diff --git a/src/webpage/themes.css b/src/webpage/themes.css index ae99dac..b875bba 100644 --- a/src/webpage/themes.css +++ b/src/webpage/themes.css @@ -10,25 +10,20 @@ /* Themes. See themes.txt */ .Dark-theme { color-scheme: dark; - --primary-bg: #303339; --primary-hover: #272b31; --primary-text: #dfdfdf; --primary-text-soft: #adb8b9; - --secondary-bg: #16191b; --secondary-hover: #252b2c; - - --servers-bg: #141718; - --channels-bg: #25282b; + --servers-bg: #191c1d; + --channels-bg: #2a2d33; --channel-selected: #3c4046; --typebox-bg: #3a3e45; - --button-bg: #4e5457; --button-hover: #6b7174; --spoiler-bg: #000000; --link: #5ca9ed; - --primary-text-prominent: #efefef; --dock-bg: #1b1e20; --card-bg: #000000; diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 23b2ed9..d667c74 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -501,6 +501,7 @@ export async function getapiurls(str: string): Promise< const temp = new URL(str); temp.port = ""; const newOrgin = temp.host; + const protical = temp.protocol; const tempurls = { api: new URL(urls.api), cdn: new URL(urls.cdn), @@ -509,10 +510,20 @@ export async function getapiurls(str: string): Promise< login: new URL(urls.login), }; tempurls.api.host = newOrgin; + tempurls.api.protocol = protical; + tempurls.cdn.host = newOrgin; + tempurls.api.protocol = protical; + tempurls.gateway.host = newOrgin; + tempurls.gateway.protocol = newOrgin === "http:" ? "ws:" : "wss:"; + tempurls.wellknown.host = newOrgin; + tempurls.wellknown.protocol = protical; + tempurls.login.host = newOrgin; + tempurls.login.protocol = protical; + try { if (!(await fetch(tempurls.api + "/ping")).ok) { res(false); diff --git a/translations/en.json b/translations/en.json index 31542e2..09d3961 100644 --- a/translations/en.json +++ b/translations/en.json @@ -237,7 +237,11 @@ "stickWelcomeReact?": "Prompt members of your guild to react with a sticker when someone joins!", "boostMessage?": "Send a message when someone boosts your guild!", "helpTips?": "Send helpful tips for your guild!", - "defaultNoti": "Set the default notification settings of your guild!" + "defaultNoti": "Set the default notification settings of your guild!", + "howJoin": "How can people join your guild?", + "COMMUNITY": "Apply to join", + "INVITES_DISABLED": "Invite only", + "DISCOVERABLE": "Discovery" }, "role": { "displaySettings": "Display settings", diff --git a/translations/ko.json b/translations/ko.json index 518e2d1..41d4fb1 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -181,7 +181,23 @@ "tokenDisplay": "토큰: $1", "advancedBot": "고급 봇 설정", "language": "언어:", - "connections": "연결" + "connections": "연결", + "deleteAccount": "계정 삭제", + "deleteAccountButton": "계정 삭제", + "manageInstance": "인스턴스 관리" + }, + "manageInstance": { + "stop": "인스턴스 중지", + "AreYouSureStop": "이 인스턴스를 중지하시겠습니까?", + "length": "길이:", + "format": "포맷:", + "TokenFormats": { + "URLs": "초대 URL" + }, + "create": "만들기", + "clientURL": "클라이언트 URL:", + "regType": "토큰 URL 유형 등록", + "copy": "복사" }, "message": { "reactionAdd": "반응 추가", diff --git a/translations/lb.json b/translations/lb.json index a13f409..676a440 100644 --- a/translations/lb.json +++ b/translations/lb.json @@ -124,7 +124,13 @@ "botUsername": "Botbenotzernumm:", "advancedBot": "Erweidert Bot-Astellungen", "language": "Sprooch:", - "connections": "Verbindungen" + "connections": "Verbindungen", + "deleteAccountButton": "Kont läschen" + }, + "manageInstance": { + "length": "Längt:", + "genericType": "Geneeresch", + "copy": "Kopéieren" }, "message": { "reactionAdd": "Reaktioun derbäisetzen", diff --git a/translations/qqq.json b/translations/qqq.json index c64b29d..e6d374a 100644 --- a/translations/qqq.json +++ b/translations/qqq.json @@ -3,7 +3,11 @@ "last-updated": "2024/11/4", "locale": "en", "comment": "Don't know how often I'll update this top part lol", - "authors": ["MathMan05", "McDutchie", "Vl1"] + "authors": [ + "MathMan05", + "McDutchie", + "Vl1" + ] }, "readableName": "{{doc-important|This should be the name of the language you are translating into, in that language. Please DO NOT translate this into your language’s word for “English”!}}", "typing": "$1 is the number of people typing and $2 is the names of the people typing separated by commas", diff --git a/translations/ru.json b/translations/ru.json index 473bd0b..cc4110d 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -324,7 +324,12 @@ "advancedBot": "Расширенные настройки бота", "botInviteCreate": "Создатель приглашения бота", "language": "Язык:", - "connections": "Подключения" + "connections": "Подключения", + "deleteAccount": "Удаление учётной записи", + "areYouSureDelete": "Вы уверены, что хотите удалить свою учётную запись? Если да, введите фразу $1", + "sillyDeleteConfirmPhrase": "Шрек - это любовь, Шрек - это жизнь", + "deleteAccountButton": "Удалить учётную запись", + "mustTypePhrase": "Чтобы удалить свою учётную запись, вам необходимо ввести фразу" }, "message": { "reactionAdd": "Добавить реакцию",