From c30132e55812395efc2fbd2d8c19551c23103237 Mon Sep 17 00:00:00 2001 From: PedroSeda Date: Thu, 18 Feb 2021 23:48:40 -0300 Subject: [PATCH] feat: Embed Cawemo (#1890) --- app/embeds/Cawemo.js | 31 +++++++++++++++++++++++++++++++ app/embeds/Cawemo.test.js | 22 ++++++++++++++++++++++ app/embeds/index.js | 8 ++++++++ public/images/cawemo.png | Bin 0 -> 5270 bytes 4 files changed, 61 insertions(+) create mode 100644 app/embeds/Cawemo.js create mode 100644 app/embeds/Cawemo.test.js create mode 100644 public/images/cawemo.png diff --git a/app/embeds/Cawemo.js b/app/embeds/Cawemo.js new file mode 100644 index 000000000..1039be85c --- /dev/null +++ b/app/embeds/Cawemo.js @@ -0,0 +1,31 @@ +// @flow +import * as React from "react"; +import Frame from "./components/Frame"; + +const URL_REGEX = new RegExp("https?://cawemo.com/(?:share|embed)/(.*)$"); + +type Props = {| + attrs: {| + href: string, + matches: string[], + |}, +|}; + +export default class Cawemo extends React.Component { + static ENABLED = [URL_REGEX]; + + render() { + const { matches } = this.props.attrs; + const shareId = matches[1]; + + return ( + + ); + } +} diff --git a/app/embeds/Cawemo.test.js b/app/embeds/Cawemo.test.js new file mode 100644 index 000000000..f7c91d8c2 --- /dev/null +++ b/app/embeds/Cawemo.test.js @@ -0,0 +1,22 @@ +/* eslint-disable flowtype/require-valid-file-annotation */ +import Cawemo from "./Cawemo"; + +describe("Cawemo", () => { + const match = Cawemo.ENABLED[0]; + test("to be enabled on embed link", () => { + expect( + "https://cawemo.com/embed/a82e9f22-e283-4253-8d11".match(match) + ).toBeTruthy(); + }); + + test("to be enabled on share link", () => { + expect( + "https://cawemo.com/embed/a82e9f22-e283-4253-8d11".match(match) + ).toBeTruthy(); + }); + + test("to not be enabled elsewhere", () => { + expect("https://cawemo.com/".match(match)).toBe(null); + expect("https://cawemo.com/diagrams".match(match)).toBe(null); + }); +}); diff --git a/app/embeds/index.js b/app/embeds/index.js index 1e389a53f..2cdf20a11 100644 --- a/app/embeds/index.js +++ b/app/embeds/index.js @@ -4,6 +4,7 @@ import styled from "styled-components"; import Image from "components/Image"; import Abstract from "./Abstract"; import Airtable from "./Airtable"; +import Cawemo from "./Cawemo"; import ClickUp from "./ClickUp"; import Codepen from "./Codepen"; import Figma from "./Figma"; @@ -61,6 +62,13 @@ export default [ component: Airtable, matcher: matcher(Airtable), }, + { + title: "Cawemo", + keywords: "bpmn process", + icon: () => , + component: Cawemo, + matcher: matcher(Cawemo), + }, { title: "ClickUp", keywords: "project", diff --git a/public/images/cawemo.png b/public/images/cawemo.png new file mode 100644 index 0000000000000000000000000000000000000000..20517c96ebd457f44d14a52f3070befcf288e4cf GIT binary patch literal 5270 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 POa&MlnCaK)x+VMvT_u|J literal 0 HcmV?d00001