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 61f3446..5508c00 100644 --- a/src/open/clients/index.js +++ b/src/open/clients/index.js @@ -23,6 +23,7 @@ import {Tensor} from "./Tensor.js"; import {Fluffychat} from "./Fluffychat.js"; import {NeoChat} from "./NeoChat.js"; import {Syphon} from "./Syphon.js"; +import {Thunderbird} from "./Thunderbird.js"; export function createClients() { return [ @@ -35,5 +36,6 @@ export function createClients() { new Fluffychat(), new NeoChat(), new Syphon(), + new Thunderbird(), ]; }