From d2d69f4c0642342c5bb734be209f18e52a025701 Mon Sep 17 00:00:00 2001 From: Martin Giger Date: Fri, 8 Jul 2022 15:57:57 +0200 Subject: [PATCH] Add Thunderbird --- images/client-icons/thunderbird.svg | 1405 +++++++++++++++++++++++++++ src/open/clients/Thunderbird.js | 65 ++ src/open/clients/index.js | 2 + 3 files changed, 1472 insertions(+) create mode 100644 images/client-icons/thunderbird.svg create mode 100644 src/open/clients/Thunderbird.js diff --git a/images/client-icons/thunderbird.svg b/images/client-icons/thunderbird.svg new file mode 100644 index 0000000..c272788 --- /dev/null +++ b/images/client-icons/thunderbird.svg @@ -0,0 +1,1405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/open/clients/Thunderbird.js b/src/open/clients/Thunderbird.js new file mode 100644 index 0000000..b699df7 --- /dev/null +++ b/src/open/clients/Thunderbird.js @@ -0,0 +1,65 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { Maturity, Platform, LinkKind, WebsiteLink, style} from "../types.js"; + +/** + * Information on how to deep link to a given matrix client. + */ +export class Thunderbird { + get id() { return "thunderbird"; } + get name() { return "Thunderbird"; } + get icon() { return "images/client-icons/thunderbird.svg"; } + get author() { return "MZLA Technologies Corporation"; } + get homepage() { return "https://www.thunderbird.net"; } + get platforms() { + return [ + Platform.Windows, Platform.macOS, Platform.Linux, + ]; + } + get description() { return "Thunderbird is a free open-source email, calendar & chat app."; } + getMaturity(platform) { + return Maturity.Beta; + } + + getInstallLinks(platform) { + return [new WebsiteLink(this.homepage)]; + } + + getLinkInstructions(platform, link) { + if (link.kind === LinkKind.User) { + return "Open the Chat tab, click on 'Add Contact' and paste the username."; + } + if (link.kind === LinkKind.Room) { + return [ + "Open the Chat tab, click on 'Join Chat' and paste the identifier or type ", + style.code(`/join ${link.identifier}`), + " in an existing Matrix conversation." + ]; + } + } + + getCopyString(platform, link) { + if (link.kind === LinkKind.User || link.kind === LinkKind.Room) { + return link.identifier; + } + } + + getDeepLink(platform, link) {} + + canInterceptMatrixToLinks(platform) { + return false; + } + + getPreferredWebInstance(link) {} +} diff --git a/src/open/clients/index.js b/src/open/clients/index.js index 364bbc6..093161f 100644 --- a/src/open/clients/index.js +++ b/src/open/clients/index.js @@ -22,6 +22,7 @@ import {Quaternion} from "./Quaternion.js"; import {Tensor} from "./Tensor.js"; import {Fluffychat} from "./Fluffychat.js"; import {NeoChat} from "./NeoChat.js"; +import {Thunderbird} from "./Thunderbird.js"; export function createClients() { return [ @@ -33,5 +34,6 @@ export function createClients() { new Tensor(), new Fluffychat(), new NeoChat(), + new Thunderbird(), ]; }