Compare commits

...

5 commits

Author SHA1 Message Date
Declan Chidlow
35ca83c38f
Merge cd4d8eb96d into cb6296a96e 2024-11-06 09:51:57 +00:00
Paul Makles
cb6296a96e
chore: update languages submodule 2024-11-06 09:51:44 +00:00
Paul Makles
48a9d7d370
chore: update donation links 2024-11-06 09:51:35 +00:00
Declan Chidlow
cd4d8eb96d
Merge branch 'revoltchat:master' into master 2024-08-28 10:00:32 +08:00
Declan Chidlow
ffee147aed Fix ability to set appearence of Focus status and remove unused references to streaming status 2024-06-05 15:33:48 +08:00
15 changed files with 54 additions and 55 deletions

2
external/lang vendored

@ -1 +1 @@
Subproject commit 3195d642cd766cb62d34eb2a57ce3a09e775e91f Subproject commit 07f4343342c3d06a2b540db3bb14f598d745c09a

View file

@ -119,7 +119,7 @@ export default function UserBadges({ badges, uid }: Props) {
}} }}
onClick={() => { onClick={() => {
window.open( window.open(
"https://insrt.uk/donate", "https://wiki.revolt.chat/notes/project/financial-support/",
"_blank", "_blank",
); );
}} }}

View file

@ -106,9 +106,9 @@ export default observer(() => {
"scrollbar-thumb", "scrollbar-thumb",
"scrollbar-track", "scrollbar-track",
"status-online", "status-online",
"status-away", "status-idle",
"status-focus",
"status-busy", "status-busy",
"status-streaming",
"status-invisible", "status-invisible",
"success", "success",
"warning", "warning",

View file

@ -68,12 +68,11 @@ export function PermissionSelect({
return "Neutral"; return "Neutral";
} }
if (Long.fromNumber(value).and(permission).eq(permission)) { if (Long.fromNumber(value).and(permission).eq(permission)) {
return "Allow"; return "Allow";
} }
return "Neutral";
return "Neutral";
}, [value]); }, [value]);
function onSwitch(state: State) { function onSwitch(state: State) {

View file

@ -30,10 +30,9 @@ export type Variables =
| "tertiary-foreground" | "tertiary-foreground"
| "tooltip" | "tooltip"
| "status-online" | "status-online"
| "status-away" | "status-idle"
| "status-focus" | "status-focus"
| "status-busy" | "status-busy"
| "status-streaming"
| "status-invisible"; | "status-invisible";
// While this isn't used, it'd be good to keep this up to date as a reference or for future use // While this isn't used, it'd be good to keep this up to date as a reference or for future use
@ -283,10 +282,9 @@ export const PRESETS: Record<string, Theme> = {
"tertiary-background": "#4D4D4D", "tertiary-background": "#4D4D4D",
"tertiary-foreground": "#3a3a3a", "tertiary-foreground": "#3a3a3a",
"status-online": "#3ABF7E", "status-online": "#3ABF7E",
"status-away": "#F39F00", "status-idle": "#F39F00",
"status-focus": "#4799F0", "status-focus": "#4799F0",
"status-busy": "#F84848", "status-busy": "#F84848",
"status-streaming": "#977EFF",
"status-invisible": "#A5A5A5", "status-invisible": "#A5A5A5",
}, },
dark: { dark: {
@ -311,10 +309,9 @@ export const PRESETS: Record<string, Theme> = {
"tertiary-background": "#4D4D4D", "tertiary-background": "#4D4D4D",
"tertiary-foreground": "#848484", "tertiary-foreground": "#848484",
"status-online": "#3ABF7E", "status-online": "#3ABF7E",
"status-away": "#F39F00", "status-idle": "#F39F00",
"status-focus": "#4799F0", "status-focus": "#4799F0",
"status-busy": "#F84848", "status-busy": "#F84848",
"status-streaming": "#977EFF",
"status-invisible": "#A5A5A5", "status-invisible": "#A5A5A5",
}, },
}; };

View file

@ -10,7 +10,7 @@ export function takeError(error: any): string {
case 429: case 429:
return "TooManyRequests"; return "TooManyRequests";
case 401: case 401:
return "Unauthorized" return "Unauthorized";
case 403: case 403:
return "Forbidden"; return "Forbidden";
default: default:

View file

@ -7,10 +7,10 @@ import { ModalForm } from "@revoltchat/ui";
import { noopAsync } from "../../../lib/js"; import { noopAsync } from "../../../lib/js";
import { IS_REVOLT } from "../../../version";
import { takeError } from "../../client/jsx/error"; import { takeError } from "../../client/jsx/error";
import { modalController } from "../ModalController"; import { modalController } from "../ModalController";
import { ModalProps } from "../types"; import { ModalProps } from "../types";
import { IS_REVOLT } from "../../../version";
/** /**
* Code block which displays invite * Code block which displays invite
@ -79,7 +79,9 @@ export default function CreateInvite({
children: <Text id="app.context_menu.copy_link" />, children: <Text id="app.context_menu.copy_link" />,
onClick: () => onClick: () =>
modalController.writeText( modalController.writeText(
IS_REVOLT ? `https://rvlt.gg/${code}` : `${window.location.host}/invite/${code}` IS_REVOLT
? `https://rvlt.gg/${code}`
: `${window.location.host}/invite/${code}`,
), ),
}, },
]} ]}

View file

@ -2,29 +2,32 @@ import { ChevronRight, Trash } from "@styled-icons/boxicons-regular";
import { Cog, UserVoice } from "@styled-icons/boxicons-solid"; import { Cog, UserVoice } from "@styled-icons/boxicons-solid";
import { isFirefox } from "react-device-detect"; import { isFirefox } from "react-device-detect";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import { Channel, Message, Server, User, API, Permission, UserPermission, Member } from "revolt.js"; import {
Channel,
Message,
Server,
User,
API,
Permission,
UserPermission,
Member,
} from "revolt.js";
import {
ContextMenuWithData,
import { ContextMenuWithData, MenuItem, openContextMenu } from "preact-context-menu"; MenuItem,
openContextMenu,
} from "preact-context-menu";
import { Text } from "preact-i18n"; import { Text } from "preact-i18n";
import { Column, IconButton, LineDivider } from "@revoltchat/ui"; import { Column, IconButton, LineDivider } from "@revoltchat/ui";
import { useApplicationState } from "../mobx/State"; import { useApplicationState } from "../mobx/State";
import { QueuedMessage } from "../mobx/stores/MessageQueue"; import { QueuedMessage } from "../mobx/stores/MessageQueue";
import { NotificationState } from "../mobx/stores/NotificationOptions"; import { NotificationState } from "../mobx/stores/NotificationOptions";
import CMNotifications from "./contextmenu/CMNotifications"; import CMNotifications from "./contextmenu/CMNotifications";
import Tooltip from "../components/common/Tooltip"; import Tooltip from "../components/common/Tooltip";
import UserStatus from "../components/common/user/UserStatus"; import UserStatus from "../components/common/user/UserStatus";
import { useSession } from "../controllers/client/ClientController"; import { useSession } from "../controllers/client/ClientController";
@ -33,7 +36,6 @@ import { modalController } from "../controllers/modals/ModalController";
import { internalEmit } from "./eventEmitter"; import { internalEmit } from "./eventEmitter";
import { getRenderer } from "./renderer/Singleton"; import { getRenderer } from "./renderer/Singleton";
interface ContextMenuData { interface ContextMenuData {
user?: string; user?: string;
server?: string; server?: string;

View file

@ -83,10 +83,9 @@ export default class SAudio {
if (this.cache.has(path)) { if (this.cache.has(path)) {
return this.cache.get(path)!; return this.cache.get(path)!;
} }
const el = new Audio(path); const el = new Audio(path);
this.cache.set(path, el); this.cache.set(path, el);
return el; return el;
} }
loadCache() { loadCache() {
@ -100,7 +99,7 @@ export default class SAudio {
try { try {
audio.play(); audio.play();
} catch (err) { } catch (err) {
console.error("Hit error while playing", `${sound }:`, err); console.error("Hit error while playing", `${sound}:`, err);
} }
} }
} }

View file

@ -110,7 +110,7 @@ export default class STheme {
for (const key of Object.keys(variables)) { for (const key of Object.keys(variables)) {
const value = variables[key]; const value = variables[key];
if (typeof value === "string") { if (typeof value === "string") {
variables[`${key }-contrast`] = getContrastingColour(value); variables[`${key}-contrast`] = getContrastingColour(value);
} }
} }

View file

@ -51,7 +51,7 @@ export default observer(() => {
state.settings.set("appearance:seasonal", !seasonalTheme); state.settings.set("appearance:seasonal", !seasonalTheme);
const isDecember = !isTouchscreenDevice && new Date().getMonth() === 11; const isDecember = !isTouchscreenDevice && new Date().getMonth() === 11;
const isOctober = !isTouchscreenDevice && new Date().getMonth() === 9 const isOctober = !isTouchscreenDevice && new Date().getMonth() === 9;
const snowflakes = useMemo(() => { const snowflakes = useMemo(() => {
const flakes: string[] = []; const flakes: string[] = [];
@ -175,7 +175,7 @@ export default observer(() => {
</CategoryButton> </CategoryButton>
</Link> </Link>
<a <a
href="https://insrt.uk/donate" href="https://wiki.revolt.chat/notes/project/financial-support/"
target="_blank" target="_blank"
rel="noreferrer"> rel="noreferrer">
<CategoryButton <CategoryButton

View file

@ -281,7 +281,7 @@ export default observer(() => {
</ButtonItem> </ButtonItem>
</a> </a>
<a <a
href="https://insrt.uk/donate" href="https://wiki.revolt.chat/notes/project/financial-support/"
target="_blank" target="_blank"
rel="noreferrer"> rel="noreferrer">
<ButtonItem className={styles.donate} compact> <ButtonItem className={styles.donate} compact>

View file

@ -89,7 +89,7 @@
} }
&.idle { &.idle {
background: var(--status-away); background: var(--status-idle);
} }
&.focus { &.focus {

View file

@ -29,7 +29,7 @@ precacheAndRoute(
} }
for (const key of locale_keys) { for (const key of locale_keys) {
if (fn.startsWith(`${key }.`)) { if (fn.startsWith(`${key}.`)) {
return false; return false;
} }
} }