2023-02-01 08:11:05 -03:00
|
|
|
/*
|
|
|
|
|
* Vencord, a modification for Discord's desktop app
|
|
|
|
|
* Copyright (c) 2022 Vendicated and contributors
|
|
|
|
|
*
|
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
* (at your option) any later version.
|
|
|
|
|
*
|
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
2025-11-16 15:17:35 +01:00
|
|
|
import { isPluginEnabled } from "@api/PluginManager";
|
2023-05-16 14:15:56 -03:00
|
|
|
import { Settings } from "@api/Settings";
|
2025-10-11 21:50:14 -04:00
|
|
|
import { BaseText } from "@components/BaseText";
|
2023-02-01 08:11:05 -03:00
|
|
|
import ErrorBoundary from "@components/ErrorBoundary";
|
2025-11-16 15:17:35 +01:00
|
|
|
import PermissionsViewerPlugin from "@plugins/permissionsViewer";
|
2025-12-30 21:27:38 +01:00
|
|
|
import openRolesAndUsersPermissionsModal from "@plugins/permissionsViewer/components/RolesAndUsersPermissions";
|
2025-11-16 15:17:35 +01:00
|
|
|
import { sortPermissionOverwrites } from "@plugins/permissionsViewer/utils";
|
2025-02-02 01:37:54 +01:00
|
|
|
import { classes } from "@utils/misc";
|
2023-02-01 08:11:05 -03:00
|
|
|
import { formatDuration } from "@utils/text";
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
import { t } from "@utils/translation";
|
2025-12-30 21:27:38 +01:00
|
|
|
import type { Channel, RoleOrUserPermission } from "@vencord/discord-types";
|
2026-01-23 19:14:25 +01:00
|
|
|
import { findByPropsLazy, findComponentByCodeLazy, findCssClassesLazy } from "@webpack";
|
2026-04-28 09:04:38 -04:00
|
|
|
import { EmojiStore, FluxDispatcher, GuildMemberStore, GuildStore, Parser, PermissionsBits, PermissionStore, SnowflakeUtils, Timestamp, Tooltip, useEffect, useState } from "@webpack/common";
|
2026-04-23 23:49:49 -04:00
|
|
|
import { ComponentType } from "react";
|
2023-03-05 18:49:59 -03:00
|
|
|
|
2025-02-02 01:37:54 +01:00
|
|
|
import { cl, settings } from "..";
|
2023-03-21 03:07:16 -03:00
|
|
|
|
2023-06-13 02:36:25 +02:00
|
|
|
const enum SortOrderTypes {
|
2023-02-01 08:11:05 -03:00
|
|
|
LATEST_ACTIVITY = 0,
|
|
|
|
|
CREATION_DATE = 1
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-13 02:36:25 +02:00
|
|
|
const enum ForumLayoutTypes {
|
2023-02-01 08:11:05 -03:00
|
|
|
DEFAULT = 0,
|
|
|
|
|
LIST = 1,
|
|
|
|
|
GRID = 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface DefaultReaction {
|
|
|
|
|
emojiId: string | null;
|
|
|
|
|
emojiName: string | null;
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-13 02:36:25 +02:00
|
|
|
const enum ChannelTypes {
|
2023-02-08 17:54:11 -03:00
|
|
|
GUILD_TEXT = 0,
|
|
|
|
|
GUILD_VOICE = 2,
|
|
|
|
|
GUILD_ANNOUNCEMENT = 5,
|
|
|
|
|
GUILD_STAGE_VOICE = 13,
|
|
|
|
|
GUILD_FORUM = 15
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-13 02:36:25 +02:00
|
|
|
const enum VideoQualityModes {
|
2023-02-08 17:54:11 -03:00
|
|
|
AUTO = 1,
|
|
|
|
|
FULL = 2
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-13 02:36:25 +02:00
|
|
|
const enum ChannelFlags {
|
2023-02-08 17:54:11 -03:00
|
|
|
PINNED = 1 << 1,
|
|
|
|
|
REQUIRE_TAG = 1 << 4
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-23 19:14:25 +01:00
|
|
|
const ChatScrollClasses = findCssClassesLazy("auto", "managedReactiveScroller", "customTheme");
|
2024-11-05 16:49:27 -03:00
|
|
|
const TagComponent = findComponentByCodeLazy("#{intl::FORUM_TAG_A11Y_FILTER_BY_TAG}");
|
2023-02-01 08:11:05 -03:00
|
|
|
|
2026-04-23 23:49:49 -04:00
|
|
|
let ChannelBeginHeader: ComponentType<any> = () => null;
|
|
|
|
|
export const setChannelBeginHeader = v => ChannelBeginHeader = v;
|
|
|
|
|
|
2023-04-15 00:02:08 -03:00
|
|
|
const EmojiParser = findByPropsLazy("convertSurrogateToName");
|
2023-11-23 02:21:59 -03:00
|
|
|
const EmojiUtils = findByPropsLazy("getURL", "getEmojiColors");
|
2023-04-15 00:02:08 -03:00
|
|
|
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
const getChannelTypeName = (type: number) => {
|
|
|
|
|
switch (type) {
|
2026-03-03 12:14:28 -05:00
|
|
|
case ChannelTypes.GUILD_TEXT: return t("vencord.showHiddenChannels.channelTypes.text");
|
|
|
|
|
case ChannelTypes.GUILD_ANNOUNCEMENT: return t("vencord.showHiddenChannels.channelTypes.announcement");
|
|
|
|
|
case ChannelTypes.GUILD_FORUM: return t("vencord.showHiddenChannels.channelTypes.forum");
|
|
|
|
|
case ChannelTypes.GUILD_VOICE: return t("vencord.showHiddenChannels.channelTypes.voice");
|
|
|
|
|
case ChannelTypes.GUILD_STAGE_VOICE: return t("vencord.showHiddenChannels.channelTypes.stage");
|
|
|
|
|
default: return t("vencord.showHiddenChannels.channelTypes.text");
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
}
|
2023-02-08 17:54:11 -03:00
|
|
|
};
|
2023-02-01 08:11:05 -03:00
|
|
|
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
const getSortOrderName = (order: number) => {
|
|
|
|
|
switch (order) {
|
2026-03-03 12:14:28 -05:00
|
|
|
case SortOrderTypes.LATEST_ACTIVITY: return t("vencord.showHiddenChannels.sortOrders.latestActivity");
|
|
|
|
|
case SortOrderTypes.CREATION_DATE: return t("vencord.showHiddenChannels.sortOrders.creationDate");
|
|
|
|
|
default: return t("vencord.showHiddenChannels.sortOrders.latestActivity");
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
}
|
2023-02-08 17:54:11 -03:00
|
|
|
};
|
2023-02-01 08:11:05 -03:00
|
|
|
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
const getForumLayoutName = (layout: number) => {
|
|
|
|
|
switch (layout) {
|
2026-03-03 12:14:28 -05:00
|
|
|
case ForumLayoutTypes.DEFAULT: return t("vencord.showHiddenChannels.forumLayouts.notSet");
|
|
|
|
|
case ForumLayoutTypes.LIST: return t("vencord.showHiddenChannels.forumLayouts.listView");
|
|
|
|
|
case ForumLayoutTypes.GRID: return t("vencord.showHiddenChannels.forumLayouts.galleryView");
|
|
|
|
|
default: return t("vencord.showHiddenChannels.forumLayouts.notSet");
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
}
|
2023-02-08 17:54:11 -03:00
|
|
|
};
|
|
|
|
|
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
const getVideoQualityModeName = (mode: number) => {
|
|
|
|
|
switch (mode) {
|
2026-03-03 12:14:28 -05:00
|
|
|
case VideoQualityModes.AUTO: return t("vencord.showHiddenChannels.videoQuality.automatic");
|
|
|
|
|
case VideoQualityModes.FULL: return t("vencord.showHiddenChannels.videoQuality.720p");
|
|
|
|
|
default: return t("vencord.showHiddenChannels.videoQuality.automatic");
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
}
|
2023-02-08 17:54:11 -03:00
|
|
|
};
|
2023-02-01 08:11:05 -03:00
|
|
|
|
|
|
|
|
// Icon from the modal when clicking a message link you don't have access to view
|
|
|
|
|
const HiddenChannelLogo = "/assets/433e3ec4319a9d11b0cbe39342614982.svg";
|
|
|
|
|
|
2025-12-30 21:27:38 +01:00
|
|
|
function HiddenChannelLockScreen({ channel }: { channel: Channel; }) {
|
2024-02-09 19:46:10 -03:00
|
|
|
const { defaultAllowedUsersAndRolesDropdownState } = settings.use(["defaultAllowedUsersAndRolesDropdownState"]);
|
2023-05-16 14:15:56 -03:00
|
|
|
const [permissions, setPermissions] = useState<RoleOrUserPermission[]>([]);
|
|
|
|
|
|
2023-02-01 08:11:05 -03:00
|
|
|
const {
|
|
|
|
|
type,
|
|
|
|
|
topic,
|
|
|
|
|
lastMessageId,
|
|
|
|
|
defaultForumLayout,
|
|
|
|
|
lastPinTimestamp,
|
|
|
|
|
defaultAutoArchiveDuration,
|
|
|
|
|
availableTags,
|
|
|
|
|
id: channelId,
|
|
|
|
|
rateLimitPerUser,
|
|
|
|
|
defaultThreadRateLimitPerUser,
|
|
|
|
|
defaultSortOrder,
|
2023-02-08 17:54:11 -03:00
|
|
|
defaultReactionEmoji,
|
|
|
|
|
bitrate,
|
|
|
|
|
rtcRegion,
|
|
|
|
|
videoQualityMode,
|
2023-05-16 14:15:56 -03:00
|
|
|
permissionOverwrites,
|
|
|
|
|
guild_id
|
2023-02-01 08:11:05 -03:00
|
|
|
} = channel;
|
|
|
|
|
|
2023-05-16 14:15:56 -03:00
|
|
|
useEffect(() => {
|
|
|
|
|
const membersToFetch: Array<string> = [];
|
|
|
|
|
|
2025-05-13 14:50:36 -04:00
|
|
|
const guildOwnerId = GuildStore.getGuild(guild_id)?.ownerId;
|
2023-05-16 14:15:56 -03:00
|
|
|
if (!GuildMemberStore.getMember(guild_id, guildOwnerId)) membersToFetch.push(guildOwnerId);
|
2023-02-01 08:11:05 -03:00
|
|
|
|
2023-05-16 14:15:56 -03:00
|
|
|
Object.values(permissionOverwrites).forEach(({ type, id: userId }) => {
|
|
|
|
|
if (type === 1 && !GuildMemberStore.getMember(guild_id, userId)) {
|
|
|
|
|
membersToFetch.push(userId);
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-02-01 08:11:05 -03:00
|
|
|
|
2023-05-16 14:15:56 -03:00
|
|
|
if (membersToFetch.length > 0) {
|
|
|
|
|
FluxDispatcher.dispatch({
|
|
|
|
|
type: "GUILD_MEMBERS_REQUEST",
|
|
|
|
|
guildIds: [guild_id],
|
|
|
|
|
userIds: membersToFetch
|
|
|
|
|
});
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
|
2023-05-16 14:15:56 -03:00
|
|
|
if (Settings.plugins.PermissionsViewer.enabled) {
|
2023-05-19 21:24:56 -03:00
|
|
|
setPermissions(sortPermissionOverwrites(Object.values(permissionOverwrites).map(overwrite => ({
|
2025-12-30 21:27:38 +01:00
|
|
|
type: overwrite.type,
|
2023-05-16 14:15:56 -03:00
|
|
|
id: overwrite.id,
|
|
|
|
|
overwriteAllow: overwrite.allow,
|
|
|
|
|
overwriteDeny: overwrite.deny
|
2023-05-19 21:24:56 -03:00
|
|
|
})), guild_id));
|
2023-05-16 14:15:56 -03:00
|
|
|
}
|
|
|
|
|
}, [channelId]);
|
2023-02-08 17:54:11 -03:00
|
|
|
|
|
|
|
|
return (
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={classes(ChatScrollClasses.auto, ChatScrollClasses.customTheme, ChatScrollClasses.managedReactiveScroller)}>
|
|
|
|
|
<div className={cl("container")}>
|
|
|
|
|
<img className={cl("logo")} src={HiddenChannelLogo} />
|
2023-02-08 17:54:11 -03:00
|
|
|
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={cl("heading-container")}>
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
<BaseText size="xxl" weight="bold">{!PermissionStore.can(PermissionsBits.VIEW_CHANNEL, channel) ? t("showHiddenChannels.hiddenChannel", { type: getChannelTypeName(type) }) : t("showHiddenChannels.lockedChannel", { type: getChannelTypeName(type) })}</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
{channel.isNSFW() &&
|
2026-03-03 12:14:28 -05:00
|
|
|
<Tooltip text={t("vencord.showHiddenChannels.nsfw")}>
|
2023-02-08 17:54:11 -03:00
|
|
|
{({ onMouseLeave, onMouseEnter }) => (
|
|
|
|
|
<svg
|
|
|
|
|
onMouseLeave={onMouseLeave}
|
|
|
|
|
onMouseEnter={onMouseEnter}
|
2025-02-02 01:37:54 +01:00
|
|
|
className={cl("heading-nsfw-icon")}
|
2023-02-08 17:54:11 -03:00
|
|
|
width="32"
|
|
|
|
|
height="32"
|
|
|
|
|
viewBox="0 0 48 48"
|
|
|
|
|
aria-hidden={true}
|
|
|
|
|
role="img"
|
|
|
|
|
>
|
2023-05-16 14:15:56 -03:00
|
|
|
<path fill="currentColor" d="M.7 43.05 24 2.85l23.3 40.2Zm23.55-6.25q.75 0 1.275-.525.525-.525.525-1.275 0-.75-.525-1.3t-1.275-.55q-.8 0-1.325.55-.525.55-.525 1.3t.55 1.275q.55.525 1.3.525Zm-1.85-6.1h3.65V19.4H22.4Z" />
|
2023-02-08 17:54:11 -03:00
|
|
|
</svg>
|
|
|
|
|
)}
|
|
|
|
|
</Tooltip>
|
|
|
|
|
}
|
2023-02-01 08:11:05 -03:00
|
|
|
</div>
|
2023-02-08 17:54:11 -03:00
|
|
|
|
|
|
|
|
{(!channel.isGuildVoice() && !channel.isGuildStageVoice()) && (
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="lg">
|
2026-03-03 12:14:28 -05:00
|
|
|
{t("showHiddenChannels.cannotSeeMessages", { type: channel.isForumChannel() ? t("vencord.showHiddenChannels.channelTypes.posts") : t("vencord.showHiddenChannels.channelTypes.messages") })}
|
|
|
|
|
{channel.isForumChannel() && topic && topic.length > 0 && ` ${t("vencord.showHiddenChannels.seeGuidelines")}`}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{channel.isForumChannel() && topic && topic.length > 0 && (
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={cl("topic-container")}>
|
2023-02-08 17:54:11 -03:00
|
|
|
{Parser.parseTopic(topic, false, { channelId })}
|
2023-02-01 08:11:05 -03:00
|
|
|
</div>
|
2023-02-08 17:54:11 -03:00
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{lastMessageId &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
2026-03-03 12:14:28 -05:00
|
|
|
{t("showHiddenChannels.lastMessageCreated", { type: channel.isForumChannel() ? t("vencord.showHiddenChannels.channelTypes.post") : t("vencord.showHiddenChannels.channelTypes.message") })}
|
2024-02-13 09:03:25 +01:00
|
|
|
<Timestamp timestamp={new Date(SnowflakeUtils.extractTimestamp(lastMessageId))} />
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{lastPinTimestamp &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
2026-03-03 12:14:28 -05:00
|
|
|
{t("vencord.showHiddenChannels.lastMessagePin")} <Timestamp timestamp={new Date(lastPinTimestamp)} />
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{(rateLimitPerUser ?? 0) > 0 &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
{t("showHiddenChannels.slowmode", { duration: formatDuration(rateLimitPerUser!, "seconds") })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{(defaultThreadRateLimitPerUser ?? 0) > 0 &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
{t("showHiddenChannels.threadSlowmode", { duration: formatDuration(defaultThreadRateLimitPerUser!, "seconds") })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{((channel.isGuildVoice() || channel.isGuildStageVoice()) && bitrate != null) &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
{t("showHiddenChannels.bitrate", { bitrate })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{rtcRegion !== undefined &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
2026-03-03 12:14:28 -05:00
|
|
|
{t("showHiddenChannels.region", { region: rtcRegion ?? t("vencord.showHiddenChannels.regionAutomatic") })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{(channel.isGuildVoice() || channel.isGuildStageVoice()) &&
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
<BaseText size="md">{t("showHiddenChannels.videoQualityMode", { mode: getVideoQualityModeName(videoQualityMode ?? VideoQualityModes.AUTO) })}</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{(defaultAutoArchiveDuration ?? 0) > 0 &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
2026-03-03 12:14:28 -05:00
|
|
|
{t("showHiddenChannels.archiveDuration", { type: channel.isForumChannel() ? t("vencord.showHiddenChannels.channelTypes.posts") : t("vencord.showHiddenChannels.channelTypes.threads"), duration: formatDuration(defaultAutoArchiveDuration!, "minutes") })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{defaultForumLayout != null &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
{t("showHiddenChannels.defaultLayout", { layout: getForumLayoutName(defaultForumLayout) })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{defaultSortOrder != null &&
|
2025-10-11 21:50:14 -04:00
|
|
|
<BaseText size="md">
|
feat(i18n): Add translation keys and implement localization for 80+ p… (#772)
* feat(i18n): Add translation keys and implement localization for 80+ plugins
- Add comprehensive translation keys to i18n/en-US/vencord.json
- Update all plugins to use t() function from @utils/translation
- Replace hardcoded strings with translation function calls
- Support plural forms with _one/_other suffixes
- Use Translate component for strings with embedded JSX
Plugins translated include:
- Core: reviewDB, translate, voiceMessages, messageLogger
- UI: showHiddenChannels, customRPC, clientTheme, permissionsViewer
- Utility: betterSessions, betterSettings, memberCount, betterFolders
- Social: relationshipNotifier, messageLatency, whoReacted
- Media: imageZoom, viewIcons, viewRaw, decor, fakeNitro
- And 60+ more plugins
All changes pass TypeScript compilation.
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add equicord.json for equicordplugins localization
- Create i18n/en-US/equicord.json with messageLoggerEnhanced translation keys
- Create empty equicord.json files for all other locales (Crowdin will handle translations)
- Build system automatically picks up all JSON files in i18n/{locale}/
* Update i18n/en-US/vencord.json
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat(i18n): Add translations to 200 equicordplugins
- Translate all user-facing strings in equicordplugins to use t() function
- Add translation keys to i18n/en-US/equicord.json
- Plugin names remain static strings for build system compatibility
- Settings descriptions, tooltips, context menus, and UI strings now translatable
* FileUpload: add sharex file support (#771)
* FileUpload: add sharex file support
Quick note, the settings seem to split pacal case with spaces for some reason,
so `ShareX` renders as `Share X`. This is stupid and im upset and I dont think
theres anything I can do about it
* FileUpload: use Headers object to construct HTTP headers
* Update vencord.json
---------
Co-authored-by: Mishal <91066601+mishalhossin@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Key <keircn@proton.me>
Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
2026-02-15 20:39:58 +06:00
|
|
|
{t("showHiddenChannels.defaultSortOrder", { order: getSortOrderName(defaultSortOrder) })}
|
2025-10-11 21:50:14 -04:00
|
|
|
</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{defaultReactionEmoji != null &&
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={cl("default-emoji-container")}>
|
2026-03-03 12:14:28 -05:00
|
|
|
<BaseText size="md">{t("vencord.showHiddenChannels.defaultReactionEmoji")}</BaseText>
|
2023-04-05 00:06:04 -03:00
|
|
|
{Parser.defaultRules[defaultReactionEmoji.emojiName ? "emoji" : "customEmoji"].react({
|
2023-04-15 00:02:08 -03:00
|
|
|
name: defaultReactionEmoji.emojiName
|
|
|
|
|
? EmojiParser.convertSurrogateToName(defaultReactionEmoji.emojiName)
|
|
|
|
|
: EmojiStore.getCustomEmojiById(defaultReactionEmoji.emojiId)?.name ?? "",
|
|
|
|
|
emojiId: defaultReactionEmoji.emojiId ?? void 0,
|
|
|
|
|
surrogate: defaultReactionEmoji.emojiName ?? void 0,
|
|
|
|
|
src: defaultReactionEmoji.emojiName
|
|
|
|
|
? EmojiUtils.getURL(defaultReactionEmoji.emojiName)
|
|
|
|
|
: void 0
|
2025-02-02 01:37:54 +01:00
|
|
|
}, void 0, { key: 0 })}
|
2023-02-08 17:54:11 -03:00
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
{channel.hasFlag(ChannelFlags.REQUIRE_TAG) &&
|
2026-03-03 12:14:28 -05:00
|
|
|
<BaseText size="md">{t("vencord.showHiddenChannels.requireTag")}</BaseText>
|
2023-02-08 17:54:11 -03:00
|
|
|
}
|
|
|
|
|
{availableTags && availableTags.length > 0 &&
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={cl("tags-container")}>
|
2026-03-03 12:14:28 -05:00
|
|
|
<BaseText size="lg" weight="bold">{t("vencord.showHiddenChannels.availableTags")}</BaseText>
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={cl("tags")}>
|
2025-01-04 07:24:50 +01:00
|
|
|
{availableTags.map(tag => <TagComponent tag={tag} key={tag.id} />)}
|
2023-02-08 17:54:11 -03:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
2025-02-02 01:37:54 +01:00
|
|
|
<div className={cl("allowed-users-and-roles-container")}>
|
|
|
|
|
<div className={cl("allowed-users-and-roles-container-title")}>
|
2025-11-16 15:17:35 +01:00
|
|
|
{isPluginEnabled(PermissionsViewerPlugin.name) && (
|
2026-03-03 12:14:28 -05:00
|
|
|
<Tooltip text={t("vencord.showHiddenChannels.permissionDetails")}>
|
2023-05-16 14:15:56 -03:00
|
|
|
{({ onMouseLeave, onMouseEnter }) => (
|
|
|
|
|
<button
|
|
|
|
|
onMouseLeave={onMouseLeave}
|
|
|
|
|
onMouseEnter={onMouseEnter}
|
2025-02-02 01:37:54 +01:00
|
|
|
className={cl("allowed-users-and-roles-container-permdetails-btn")}
|
2023-05-16 14:15:56 -03:00
|
|
|
onClick={() => openRolesAndUsersPermissionsModal(permissions, GuildStore.getGuild(channel.guild_id), channel.name)}
|
|
|
|
|
>
|
|
|
|
|
<svg
|
|
|
|
|
width="24"
|
|
|
|
|
height="24"
|
|
|
|
|
viewBox="0 0 24 24"
|
|
|
|
|
>
|
|
|
|
|
<path fill="currentColor" d="M7 12.001C7 10.8964 6.10457 10.001 5 10.001C3.89543 10.001 3 10.8964 3 12.001C3 13.1055 3.89543 14.001 5 14.001C6.10457 14.001 7 13.1055 7 12.001ZM14 12.001C14 10.8964 13.1046 10.001 12 10.001C10.8954 10.001 10 10.8964 10 12.001C10 13.1055 10.8954 14.001 12 14.001C13.1046 14.001 14 13.1055 14 12.001ZM19 10.001C20.1046 10.001 21 10.8964 21 12.001C21 13.1055 20.1046 14.001 19 14.001C17.8954 14.001 17 13.1055 17 12.001C17 10.8964 17.8954 10.001 19 10.001Z" />
|
|
|
|
|
</svg>
|
|
|
|
|
</button>
|
|
|
|
|
)}
|
|
|
|
|
</Tooltip>
|
|
|
|
|
)}
|
2026-03-03 12:14:28 -05:00
|
|
|
<BaseText size="lg" weight="bold">{t("vencord.showHiddenChannels.allowedUsersAndRoles")}</BaseText>
|
|
|
|
|
<Tooltip text={defaultAllowedUsersAndRolesDropdownState ? t("vencord.showHiddenChannels.hideAllowedUsersAndRoles") : t("vencord.showHiddenChannels.viewAllowedUsersAndRoles")}>
|
2023-05-16 14:15:56 -03:00
|
|
|
{({ onMouseLeave, onMouseEnter }) => (
|
|
|
|
|
<button
|
|
|
|
|
onMouseLeave={onMouseLeave}
|
|
|
|
|
onMouseEnter={onMouseEnter}
|
2025-02-02 01:37:54 +01:00
|
|
|
className={cl("allowed-users-and-roles-container-toggle-btn")}
|
2024-02-09 19:46:10 -03:00
|
|
|
onClick={() => settings.store.defaultAllowedUsersAndRolesDropdownState = !defaultAllowedUsersAndRolesDropdownState}
|
2023-05-16 14:15:56 -03:00
|
|
|
>
|
|
|
|
|
<svg
|
|
|
|
|
width="24"
|
|
|
|
|
height="24"
|
|
|
|
|
viewBox="0 0 24 24"
|
2024-02-09 19:46:10 -03:00
|
|
|
transform={defaultAllowedUsersAndRolesDropdownState ? "scale(1 -1)" : "scale(1 1)"}
|
2023-05-16 14:15:56 -03:00
|
|
|
>
|
|
|
|
|
<path fill="currentColor" d="M16.59 8.59003L12 13.17L7.41 8.59003L6 10L12 16L18 10L16.59 8.59003Z" />
|
|
|
|
|
</svg>
|
|
|
|
|
</button>
|
|
|
|
|
)}
|
|
|
|
|
</Tooltip>
|
|
|
|
|
</div>
|
2024-02-09 19:46:10 -03:00
|
|
|
{defaultAllowedUsersAndRolesDropdownState && <ChannelBeginHeader channel={channel} />}
|
2023-02-01 08:11:05 -03:00
|
|
|
</div>
|
2023-02-08 17:54:11 -03:00
|
|
|
</div>
|
2023-02-01 08:11:05 -03:00
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default ErrorBoundary.wrap(HiddenChannelLockScreen);
|