From 63d2d1b7606846ca4b50fd5006ddd654dbcd582e Mon Sep 17 00:00:00 2001
From: Paul <paulmakles@gmail.com>
Date: Sat, 31 Jul 2021 22:39:15 +0100
Subject: [PATCH] Fix message links from search.

---
 external/lang                                  |  2 +-
 .../navigation/right/MemberSidebar.tsx         |  4 ++--
 src/globals.d.ts                               | 18 ++++++++++++++++++
 src/pages/settings/Settings.tsx                | 12 ++++++++++++
 src/pages/settings/panes/Native.tsx            | 11 +++++++++++
 5 files changed, 44 insertions(+), 3 deletions(-)
 create mode 100644 src/globals.d.ts
 create mode 100644 src/pages/settings/panes/Native.tsx

diff --git a/external/lang b/external/lang
index 0f98b07..e03c9f3 160000
--- a/external/lang
+++ b/external/lang
@@ -1 +1 @@
-Subproject commit 0f98b07eb411ec5a9207536f6adc5aa8055e755e
+Subproject commit e03c9f3a9ef39b6d93a5890a3ee1a64cfb1ffec4
diff --git a/src/components/navigation/right/MemberSidebar.tsx b/src/components/navigation/right/MemberSidebar.tsx
index f129a39..1790607 100644
--- a/src/components/navigation/right/MemberSidebar.tsx
+++ b/src/components/navigation/right/MemberSidebar.tsx
@@ -298,10 +298,10 @@ function Search({ channel }: { channel: Channel }) {
                 {results.map((message) => {
                     let href = "";
                     if (channel?.channel_type === "TextChannel") {
-                        href += `/server/${channel.server}`;
+                        href += `/server/${channel.server_id}`;
                     }
 
-                    href += `/channel/${message.channel}/${message._id}`;
+                    href += `/channel/${message.channel_id}/${message._id}`;
 
                     return (
                         <Link to={href}>
diff --git a/src/globals.d.ts b/src/globals.d.ts
new file mode 100644
index 0000000..b601453
--- /dev/null
+++ b/src/globals.d.ts
@@ -0,0 +1,18 @@
+type Build = "stable" | "nightly" | "dev";
+
+type NativeConfig = {
+    frame: boolean;
+    build: Build;
+};
+
+declare interface Window {
+    isNative?: boolean;
+    native: {
+        close();
+        reload();
+
+        getConfig(): NativeConfig;
+        setFrame(frame: boolean);
+        setBuild(build: Build);
+    };
+}
diff --git a/src/pages/settings/Settings.tsx b/src/pages/settings/Settings.tsx
index ee1c414..5cf7efe 100644
--- a/src/pages/settings/Settings.tsx
+++ b/src/pages/settings/Settings.tsx
@@ -3,6 +3,7 @@ import {
     Sync as SyncIcon,
     Globe,
     LogOut,
+    Desktop,
 } from "@styled-icons/boxicons-regular";
 import {
     Bell,
@@ -38,6 +39,7 @@ import { Appearance } from "./panes/Appearance";
 import { ExperimentsPage } from "./panes/Experiments";
 import { Feedback } from "./panes/Feedback";
 import { Languages } from "./panes/Languages";
+import { Native } from "./panes/Native";
 import { Notifications } from "./panes/Notifications";
 import { Profile } from "./panes/Profile";
 import { Sessions } from "./panes/Sessions";
@@ -100,6 +102,11 @@ export default function Settings() {
                     icon: <SyncIcon size={20} />,
                     title: <Text id="app.settings.pages.sync.title" />,
                 },
+                {
+                    id: "native",
+                    icon: <Desktop size={20} />,
+                    title: <Text id="app.settings.pages.native.title" />,
+                },
                 {
                     divider: true,
                     id: "experiments",
@@ -133,6 +140,11 @@ export default function Settings() {
                 <Route path="/settings/sync">
                     <Sync />
                 </Route>,
+                window.isNative && (
+                    <Route path="/settings/native">
+                        <Native />
+                    </Route>
+                ),
                 <Route path="/settings/experiments">
                     <ExperimentsPage />
                 </Route>,
diff --git a/src/pages/settings/panes/Native.tsx b/src/pages/settings/panes/Native.tsx
new file mode 100644
index 0000000..52c472b
--- /dev/null
+++ b/src/pages/settings/panes/Native.tsx
@@ -0,0 +1,11 @@
+import { SyncOptions } from "../../../redux/reducers/sync";
+
+import Checkbox from "../../../components/ui/Checkbox";
+
+interface Props {
+    options?: SyncOptions;
+}
+
+export function Native(props: Props) {
+    return <div></div>;
+}
-- 
GitLab