diff --git a/app/scenes/Settings/Zapier.tsx b/app/scenes/Settings/Zapier.tsx index afc51aa00..5d88a0e09 100644 --- a/app/scenes/Settings/Zapier.tsx +++ b/app/scenes/Settings/Zapier.tsx @@ -1,32 +1,49 @@ import * as React from "react"; -import { useTranslation, Trans } from "react-i18next"; -import Button from "~/components/Button"; +import { Helmet } from "react-helmet"; +import { Trans } from "react-i18next"; import Heading from "~/components/Heading"; import Scene from "~/components/Scene"; import Text from "~/components/Text"; import ZapierIcon from "~/components/ZapierIcon"; +import useStores from "~/hooks/useStores"; function Zapier() { - const { t } = useTranslation(); + const { ui } = useStores(); + const { resolvedTheme } = ui; + return ( }> Zapier + + + + Zapier is a platform that allows Outline to easily integrate with - thousands of other business tools. Head over to Zapier to setup a - "Zap" and start programmatically interacting with Outline.' + thousands of other business tools. Automate your workflows, sync data, + and more. -

- -

+
+
); } diff --git a/app/typings/index.d.ts b/app/typings/index.d.ts index d279e404f..5ef0ad108 100644 --- a/app/typings/index.d.ts +++ b/app/typings/index.d.ts @@ -10,3 +10,9 @@ declare module "*.png" { const value: any; export = value; } + +declare namespace JSX { + interface IntrinsicElements { + "zapier-app-directory": any; + } +} diff --git a/server/services/web.ts b/server/services/web.ts index fa31e134e..7333bae8a 100644 --- a/server/services/web.ts +++ b/server/services/web.ts @@ -23,6 +23,7 @@ const scriptSrc = [ "'unsafe-inline'", "'unsafe-eval'", "gist.github.com", + "cdn.zapier.com", ]; if (env.GOOGLE_ANALYTICS_ID) { @@ -107,7 +108,12 @@ export default function init(app: Koa = new Koa()): Koa { directives: { defaultSrc, scriptSrc, - styleSrc: ["'self'", "'unsafe-inline'", "github.githubassets.com"], + styleSrc: [ + "'self'", + "'unsafe-inline'", + "github.githubassets.com", + "cdn.zapier.com", + ], imgSrc: ["*", "data:", "blob:"], frameSrc: ["*", "data:"], connectSrc: ["*"], // Do not use connect-src: because self + websockets does not work in diff --git a/shared/i18n/locales/en_US/translation.json b/shared/i18n/locales/en_US/translation.json index 541f75886..f72730ed9 100644 --- a/shared/i18n/locales/en_US/translation.json +++ b/shared/i18n/locales/en_US/translation.json @@ -779,8 +779,7 @@ "New webhook": "New webhook", "Webhooks can be used to notify your application when events happen in Outline. Events are sent as a https request with a JSON payload in near real-time.": "Webhooks can be used to notify your application when events happen in Outline. Events are sent as a https request with a JSON payload in near real-time.", "Create a webhook": "Create a webhook", - "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Head over to Zapier to setup a \"Zap\" and start programmatically interacting with Outline.'": "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Head over to Zapier to setup a \"Zap\" and start programmatically interacting with Outline.'", - "Open Zapier": "Open Zapier", + "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.": "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.", "Your are creating a new workspace using your current account — {{email}}": "Your are creating a new workspace using your current account — {{email}}", "Workspace name": "Workspace name", "When your new workspace is created, you will be the admin, meaning you will have the highest level of permissions and the ability to invite others.": "When your new workspace is created, you will be the admin, meaning you will have the highest level of permissions and the ability to invite others.",