Skip to content

Commit

Permalink
feat: Add ClickUp Embed Service (outline#1465)
Browse files Browse the repository at this point in the history
* Add Clickup Embed Service

* Transparency Icon


Co-authored-by: Tom Moor <[email protected]>
  • Loading branch information
Matheus Rocha Vieira and tommoor authored Sep 4, 2020
1 parent 6b6d67b commit cf1e506
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 0 deletions.
22 changes: 22 additions & 0 deletions app/embeds/ClickUp.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// @flow
import * as React from "react";
import Frame from "./components/Frame";

const URL_REGEX = new RegExp(
"^https?://share.clickup.com/[a-z]/[a-z]/(.*)/(.*)$"
);

type Props = {|
attrs: {|
href: string,
matches: string[],
|},
|};

export default class ClickUp extends React.Component<Props> {
static ENABLED = [URL_REGEX];

render() {
return <Frame src={this.props.attrs.href} title="ClickUp Embed" />;
}
}
17 changes: 17 additions & 0 deletions app/embeds/ClickUp.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/* eslint-disable flowtype/require-valid-file-annotation */
import ClickUp from "./ClickUp";

describe("ClickUp", () => {
const match = ClickUp.ENABLED[0];
test("to be enabled on share link", () => {
expect(
"https://share.clickup.com/b/h/6-9310960-2/c9d837d74182317".match(match)
).toBeTruthy();
});

test("to not be enabled elsewhere", () => {
expect("https://share.clickup.com".match(match)).toBe(null);
expect("https://clickup.com/".match(match)).toBe(null);
expect("https://clickup.com/features".match(match)).toBe(null);
});
});
8 changes: 8 additions & 0 deletions app/embeds/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import * as React from "react";
import styled from "styled-components";
import Abstract from "./Abstract";
import Airtable from "./Airtable";
import ClickUp from "./ClickUp";
import Codepen from "./Codepen";
import Figma from "./Figma";
import Framer from "./Framer";
Expand Down Expand Up @@ -57,6 +58,13 @@ export default [
component: Airtable,
matcher: matcher(Airtable),
},
{
title: "ClickUp",
keywords: "project",
icon: () => <Img src="/images/clickup.png" />,
component: ClickUp,
matcher: matcher(ClickUp),
},
{
title: "Codepen",
keywords: "code editor",
Expand Down
Binary file added public/images/clickup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cf1e506

Please sign in to comment.