App store mdx support (#2325)
* Adds initial MDX implementation for App Store pages * Adds endpoint to serve app store static files * Replaces zoom icon with dynamic-served one * Fixes zoom icon * Makes Slider reusable * Adds gray-matter for MDX * Adds zoom screenshots * Update yarn.lock * Slider improvements * WIP * Update TrendingAppsSlider.tsx * WIP * Adds MS teams screenshots * Adds stripe screenshots * Cleanup * Update index.ts * WIP * Cleanup * Cleanup * Adds jitsi screenshot * Adds Google meet screenshots * Adds office 365 calendar screenshots * Adds google calendar screenshots Co-authored-by: Peer Richelsen <peeroke@gmail.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
|
@ -1,43 +1,42 @@
|
|||
import Glide from "@glidejs/glide";
|
||||
import Glide, { Options } from "@glidejs/glide";
|
||||
import "@glidejs/glide/dist/css/glide.core.min.css";
|
||||
import "@glidejs/glide/dist/css/glide.theme.min.css";
|
||||
import { ArrowLeftIcon, ArrowRightIcon } from "@heroicons/react/solid";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useEffect, useRef } from "react";
|
||||
|
||||
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
||||
import type { App } from "@calcom/types/App";
|
||||
|
||||
import useMediaQuery from "@lib/hooks/useMediaQuery";
|
||||
|
||||
import AppCard from "./AppCard";
|
||||
|
||||
const Slider = <T extends App>({ items }: { items: T[] }) => {
|
||||
const { t } = useLocale();
|
||||
const isMobile = useMediaQuery("(max-width: 767px)");
|
||||
const [size, setSize] = useState(3);
|
||||
const Slider = <T extends unknown>({
|
||||
title = "",
|
||||
className = "",
|
||||
items,
|
||||
itemKey = (item) => `${item}`,
|
||||
renderItem,
|
||||
options = {},
|
||||
}: {
|
||||
title?: string;
|
||||
className?: string;
|
||||
items: T[];
|
||||
itemKey?: (item: T) => string;
|
||||
renderItem?: (item: T) => JSX.Element;
|
||||
options?: Options;
|
||||
}) => {
|
||||
const glide = useRef(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (isMobile) {
|
||||
setSize(1);
|
||||
} else {
|
||||
setSize(3);
|
||||
if (glide.current) {
|
||||
const slider = new Glide(glide.current, {
|
||||
type: "carousel",
|
||||
...options,
|
||||
});
|
||||
|
||||
slider.mount();
|
||||
}
|
||||
}, [isMobile]);
|
||||
|
||||
useEffect(() => {
|
||||
const slider = new Glide(".glide", {
|
||||
type: "carousel",
|
||||
perView: size,
|
||||
});
|
||||
|
||||
slider.mount();
|
||||
|
||||
// @ts-ignore TODO: This method is missing in types
|
||||
return () => slider.destroy();
|
||||
}, [size]);
|
||||
}, [options]);
|
||||
|
||||
return (
|
||||
<div className="mb-16">
|
||||
<div className={`mb-2 ${className}`}>
|
||||
<style jsx global>
|
||||
{`
|
||||
.glide__slide {
|
||||
|
@ -45,11 +44,13 @@ const Slider = <T extends App>({ items }: { items: T[] }) => {
|
|||
}
|
||||
`}
|
||||
</style>
|
||||
<div className="glide">
|
||||
<div className="glide" ref={glide}>
|
||||
<div className="flex cursor-default">
|
||||
<div>
|
||||
<h2 className="mb-2 text-lg font-semibold text-gray-900">{t("trending_apps")}</h2>
|
||||
</div>
|
||||
{title && (
|
||||
<div>
|
||||
<h2 className="mt-0 mb-2 text-lg font-semibold text-gray-900">{title}</h2>
|
||||
</div>
|
||||
)}
|
||||
<div className="glide__arrows ml-auto" data-glide-el="controls">
|
||||
<button data-glide-dir="<" className="mr-4">
|
||||
<ArrowLeftIcon className="h-5 w-5 text-gray-600 hover:text-black" />
|
||||
|
@ -61,21 +62,12 @@ const Slider = <T extends App>({ items }: { items: T[] }) => {
|
|||
</div>
|
||||
<div className="glide__track" data-glide-el="track">
|
||||
<ul className="glide__slides">
|
||||
{items.map((app) => {
|
||||
{items.map((item) => {
|
||||
if (typeof renderItem !== "function") return null;
|
||||
return (
|
||||
app.trending && (
|
||||
<li key={app.name} className="glide__slide h-auto">
|
||||
<AppCard
|
||||
key={app.name}
|
||||
name={app.name}
|
||||
slug={app.slug}
|
||||
description={app.description}
|
||||
logo={app.logo}
|
||||
rating={app.rating}
|
||||
reviews={app.reviews}
|
||||
/>
|
||||
</li>
|
||||
)
|
||||
<li key={itemKey(item)} className="glide__slide h-auto pl-0">
|
||||
{renderItem(item)}
|
||||
</li>
|
||||
);
|
||||
})}
|
||||
</ul>
|
||||
|
|
39
apps/web/components/apps/TrendingAppsSlider.tsx
Normal file
|
@ -0,0 +1,39 @@
|
|||
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
||||
import type { App } from "@calcom/types/App";
|
||||
|
||||
import AppCard from "./AppCard";
|
||||
import Slider from "./Slider";
|
||||
|
||||
const TrendingAppsSlider = <T extends App>({ items }: { items: T[] }) => {
|
||||
const { t } = useLocale();
|
||||
|
||||
return (
|
||||
<Slider<T>
|
||||
className="mb-16"
|
||||
title={t("trending_apps")}
|
||||
items={items.filter((app) => !!app.trending)}
|
||||
itemKey={(app) => app.name}
|
||||
options={{
|
||||
perView: 3,
|
||||
breakpoints: {
|
||||
768 /* and below */: {
|
||||
perView: 1,
|
||||
},
|
||||
},
|
||||
}}
|
||||
renderItem={(app) => (
|
||||
<AppCard
|
||||
key={app.name}
|
||||
name={app.name}
|
||||
slug={app.slug}
|
||||
description={app.description}
|
||||
logo={app.logo}
|
||||
rating={app.rating}
|
||||
reviews={app.reviews}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default TrendingAppsSlider;
|
|
@ -67,15 +67,18 @@
|
|||
"dayjs": "^1.10.4",
|
||||
"dayjs-business-time": "^1.0.4",
|
||||
"googleapis": "^84.0.0",
|
||||
"gray-matter": "^4.0.3",
|
||||
"handlebars": "^4.7.7",
|
||||
"ical.js": "^1.4.0",
|
||||
"ics": "^2.31.0",
|
||||
"jimp": "^0.16.1",
|
||||
"lodash": "^4.17.21",
|
||||
"micro": "^9.3.4",
|
||||
"mime-types": "^2.1.35",
|
||||
"next": "^12.1.0",
|
||||
"next-auth": "^4.0.6",
|
||||
"next-i18next": "^8.9.0",
|
||||
"next-mdx-remote": "^4.0.2",
|
||||
"next-seo": "^4.26.0",
|
||||
"next-transpile-modules": "^9.0.0",
|
||||
"nodemailer": "^6.7.2",
|
||||
|
@ -119,6 +122,7 @@
|
|||
"@types/jest": "^27.0.3",
|
||||
"@types/lodash": "^4.14.177",
|
||||
"@types/micro": "^7.3.6",
|
||||
"@types/mime-types": "^2.1.1",
|
||||
"@types/module-alias": "^2.0.1",
|
||||
"@types/node": "^16.11.24",
|
||||
"@types/nodemailer": "^6.4.4",
|
||||
|
|
30
apps/web/pages/api/app-store/[...static].ts
Normal file
|
@ -0,0 +1,30 @@
|
|||
import fs from "fs";
|
||||
import mime from "mime-types";
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
import path from "path";
|
||||
|
||||
/**
|
||||
* This endpoint should allow us to access to the private files in the static
|
||||
* folder of each individual app in the App Store.
|
||||
* @example
|
||||
* ```text
|
||||
* Requesting: `/api/app-store/zoomvideo/icon.svg` from a public URL should
|
||||
* serve us the file located at: `/packages/app-store/zoomvideo/static/icon.svg`
|
||||
* ```
|
||||
* This will allow us to keep all app-specific static assets in the same directory.
|
||||
*/
|
||||
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
|
||||
const [appName, fileName] = Array.isArray(req.query.static) ? req.query.static : [req.query.static];
|
||||
const fileNameParts = fileName.split(".");
|
||||
const { [fileNameParts.length - 1]: fileExtentsion } = fileNameParts;
|
||||
const STATIC_PATH = path.join(process.cwd(), "..", "..", "packages/app-store", appName, "static", fileName);
|
||||
|
||||
try {
|
||||
const imageBuffer = fs.readFileSync(STATIC_PATH);
|
||||
const mimeType = mime.lookup(fileExtentsion);
|
||||
if (mimeType) res.setHeader("Content-Type", mimeType);
|
||||
res.send(imageBuffer);
|
||||
} catch (e) {
|
||||
res.status(400).json({ error: true, message: "Image not found" });
|
||||
}
|
||||
}
|
|
@ -1,12 +1,49 @@
|
|||
import fs from "fs";
|
||||
import matter from "gray-matter";
|
||||
import { GetStaticPaths, GetStaticPathsResult, GetStaticPropsContext } from "next";
|
||||
import { MDXRemote } from "next-mdx-remote";
|
||||
import { serialize } from "next-mdx-remote/serialize";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
import path from "path";
|
||||
|
||||
import { getAppRegistry } from "@calcom/app-store/_appRegistry";
|
||||
|
||||
import useMediaQuery from "@lib/hooks/useMediaQuery";
|
||||
import { inferSSRProps } from "@lib/types/inferSSRProps";
|
||||
|
||||
import App from "@components/App";
|
||||
import Slider from "@components/apps/Slider";
|
||||
|
||||
function SingleAppPage({ data }: inferSSRProps<typeof getStaticProps>) {
|
||||
const components = {
|
||||
a: ({ href, ...otherProps }) => (
|
||||
<Link href={href}>
|
||||
<a {...otherProps} />
|
||||
</Link>
|
||||
),
|
||||
img: ({ src, alt = "", ...rest }) => <Image src={src} alt={alt} {...rest} />,
|
||||
Slider: ({ items }) => {
|
||||
const isTabletAndUp = useMediaQuery("(min-width: 960px)");
|
||||
return (
|
||||
<Slider<string>
|
||||
items={items}
|
||||
title="Screenshots"
|
||||
options={{
|
||||
perView: 1,
|
||||
}}
|
||||
renderItem={(item) =>
|
||||
isTabletAndUp ? (
|
||||
<Image src={item} alt="" layout="fixed" width={573} height={382} />
|
||||
) : (
|
||||
<Image src={item} alt="" layout="responsive" width={573} height={382} />
|
||||
)
|
||||
}
|
||||
/>
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function SingleAppPage({ data, source }: inferSSRProps<typeof getStaticProps>) {
|
||||
return (
|
||||
<App
|
||||
name={data.name}
|
||||
|
@ -23,7 +60,7 @@ function SingleAppPage({ data }: inferSSRProps<typeof getStaticProps>) {
|
|||
email={data.email}
|
||||
// tos="https://zoom.us/terms"
|
||||
// privacy="https://zoom.us/privacy"
|
||||
body={data.description}
|
||||
body={<MDXRemote {...source} components={components} />}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
@ -58,8 +95,25 @@ export const getStaticProps = async (ctx: GetStaticPropsContext) => {
|
|||
};
|
||||
}
|
||||
|
||||
const appDirname = singleApp.type.replace("_", "");
|
||||
const README_PATH = path.join(process.cwd(), "..", "..", `packages/app-store/${appDirname}/README.mdx`);
|
||||
const postFilePath = path.join(README_PATH);
|
||||
let source = "";
|
||||
|
||||
try {
|
||||
/* If the app doesn't have a README we fallback to the packagfe description */
|
||||
source = fs.readFileSync(postFilePath).toString();
|
||||
} catch (error) {
|
||||
console.log("error", error);
|
||||
source = singleApp.description;
|
||||
}
|
||||
|
||||
const { content, data } = matter(source);
|
||||
const mdxSource = await serialize(content, { scope: data });
|
||||
|
||||
return {
|
||||
props: {
|
||||
source: mdxSource,
|
||||
data: singleApp,
|
||||
},
|
||||
};
|
||||
|
|
|
@ -7,7 +7,7 @@ import AppsShell from "@components/AppsShell";
|
|||
import Shell from "@components/Shell";
|
||||
import AllApps from "@components/apps/AllApps";
|
||||
import AppStoreCategories from "@components/apps/Categories";
|
||||
import Slider from "@components/apps/Slider";
|
||||
import TrendingAppsSlider from "@components/apps/TrendingAppsSlider";
|
||||
|
||||
export default function Apps({ appStore, categories }: InferGetStaticPropsType<typeof getStaticProps>) {
|
||||
const { t } = useLocale();
|
||||
|
@ -16,7 +16,7 @@ export default function Apps({ appStore, categories }: InferGetStaticPropsType<t
|
|||
<Shell heading={t("app_store")} subtitle={t("app_store_description")} large>
|
||||
<AppsShell>
|
||||
<AppStoreCategories categories={categories} />
|
||||
<Slider items={appStore} />
|
||||
<TrendingAppsSlider items={appStore} />
|
||||
<AllApps apps={appStore} />
|
||||
</AppsShell>
|
||||
</Shell>
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<svg width="267" height="268" viewBox="0 0 267 268" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M208.2 266.5H58.4C26.6 266.5 0.899994 240.7 0.899994 209V59.3C0.899994 27.5 26.7 1.8 58.4 1.8H208.1C239.9 1.8 265.6 27.6 265.6 59.3V209C265.7 240.8 239.9 266.5 208.2 266.5Z" fill="#FCFCFC"/>
|
||||
<path d="M198 111V119.8C175.7 154 161.9 189.5 156.5 226.3H146.6C152.3 189.2 166.3 153.7 188.8 119.8H130.7V111H198Z" fill="#5A5A5A"/>
|
||||
<path d="M91.8 111C90.9 114.9 89.3 119.8 85.6 122.8C82 125.8 75 127.3 68.2 127.7V133.9H91.7V226.2H101.4V111H91.8Z" fill="#5A5A5A"/>
|
||||
<path d="M206.5 267.4H60.2C27 267.4 0.100006 240.4 0.100006 207.3V61C0.100006 27.8 27.1 0.900002 60.2 0.900002H206.5C239.7 0.900002 266.6 27.9 266.6 61V207.3C266.7 240.4 239.7 267.4 206.5 267.4ZM60.2 2.6C28 2.6 1.8 28.8 1.8 61V207.3C1.8 239.5 28 265.7 60.2 265.7H206.5C238.7 265.7 264.9 239.5 264.9 207.3V61C264.9 28.8 238.7 2.6 206.5 2.6H60.2Z" fill="#D8D8D8"/>
|
||||
<path d="M265.8 80.8V60.7C265.8 28 239.3 1.4 206.5 1.4H60.2C27.5 1.4 0.899994 27.9 0.899994 60.7V80.8H265.8Z" fill="#E9574E"/>
|
||||
<path d="M266.7 81.7H0.100006V60.7C0.100006 27.5 27.1 0.599998 60.2 0.599998H206.5C239.7 0.599998 266.6 27.6 266.6 60.7V81.7H266.7ZM1.89999 79.9H264.9V60.7C264.9 28.5 238.7 2.3 206.5 2.3H60.2C28 2.3 1.8 28.5 1.8 60.7V79.9H1.89999Z" fill="#E9574E"/>
|
||||
<path d="M83.4 52.1C83.4 52.8 83.5 53.7 83.6 54.5C83.7 55.3 83.9 56.1 84.4 56.8C84.8 57.4 85.4 57.9 86.3 58.5C87.2 59.1 88.4 59.4 89.9 59.4C91.1 59.4 92.3 59.2 93.3 58.7C94.3 58.2 95.2 57.4 95.8 56.4C96 56 96.2 55.5 96.4 55C96.5 54.5 96.6 53.9 96.7 53.4C96.8 52.9 96.8 52.4 96.8 51.9C96.8 51.4 96.8 51 96.8 50.7V21.1H102.7V52.4C102.7 54.4 102.3 56.1 101.6 57.6C100.9 59.1 99.9 60.4 98.7 61.4C97.5 62.4 96.1 63.2 94.5 63.7C92.9 64.2 91.2 64.5 89.4 64.5C88.8 64.5 88.1 64.4 87.3 64.3C86.4 64.2 85.5 64 84.6 63.7C83.7 63.4 82.7 62.9 81.8 62.3C80.9 61.7 80 60.9 79.3 59.9C78.8 59.2 78.4 58.5 78.1 57.8C77.8 57 77.6 56.3 77.5 55.6C77.4 54.9 77.3 54.3 77.2 53.6C77.2 53 77.1 52.5 77.1 52L83.4 52.1Z" fill="white"/>
|
||||
<path d="M120.3 21.1V47.6C120.3 48.7 120.4 49.7 120.5 50.6C120.6 51.4 120.8 52.1 120.9 52.7C121.1 53.3 121.3 53.8 121.5 54.2C121.7 54.6 121.9 55 122.2 55.3C122.9 56.2 123.6 56.9 124.5 57.5C125.4 58.1 126.2 58.5 127 58.8C127.9 59.1 128.7 59.3 129.6 59.4C130.4 59.5 131.2 59.5 132 59.5C134.9 59.5 137.1 59 138.7 58C140.3 57 141.4 55.9 142.1 54.5C142.8 53.2 143.3 51.8 143.4 50.5C143.5 49.2 143.6 48.1 143.6 47.3V21.1H149.3V47.5C149.3 48.1 149.3 48.8 149.2 49.7C149.2 50.5 149 51.5 148.8 52.5C148.6 53.5 148.2 54.6 147.8 55.7C147.3 56.8 146.7 57.9 145.8 59C144.7 60.3 143.6 61.4 142.3 62.1C141 62.9 139.8 63.5 138.5 63.9C137.2 64.3 136 64.6 134.9 64.7C133.8 64.8 132.8 64.9 132.1 64.9C131.1 64.9 129.9 64.8 128.6 64.6C127.3 64.4 125.9 64.1 124.5 63.6C123.1 63.1 121.8 62.4 120.4 61.5C119.1 60.6 117.9 59.5 116.9 58C116.6 57.5 116.3 57 116 56.4C115.7 55.8 115.4 55.1 115.2 54.3C115 53.5 114.8 52.5 114.6 51.3C114.5 50.2 114.4 48.8 114.4 47.2V21.1H120.3Z" fill="white"/>
|
||||
<path d="M160.4 21.1H166.3V58.6H186.2V63.9H160.4V21.1V21.1Z" fill="white"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 16 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="186 38 76 76"><path fill="#fff" d="M244 56h-40v40h40V56z"/><path fill="#EA4335" d="M244 114l18-18h-18v18z"/><path fill="#FBBC04" d="M262 56h-18v40h18V56z"/><path fill="#34A853" d="M244 96h-40v18h40V96z"/><path fill="#188038" d="M186 96v12c0 3.315 2.685 6 6 6h12V96h-18z"/><path fill="#1967D2" d="M262 56V44c0-3.315-2.685-6-6-6h-12v18h18z"/><path fill="#4285F4" d="M244 38h-52c-3.315 0 -6 2.685-6 6v52h18V56h40V38z"/><path fill="#4285F4" d="M212.205 87.03c-1.495-1.01-2.53-2.485-3.095-4.435l3.47-1.43c.315 1.2.865 2.13 1.65 2.79.78.66 1.73.985 2.84.985 1.135 0 2.11-.345 2.925-1.035s1.225-1.57 1.225-2.635c0-1.09-.43-1.98-1.29-2.67-.86-.69-1.94-1.035-3.23-1.035h-2.005V74.13h1.8c1.11 0 2.045-.3 2.805-.9.76-.6 1.14-1.42 1.14-2.465 0 -.93-.34-1.67-1.02-2.225-.68-.555-1.54-.835-2.585-.835-1.02 0 -1.83.27-2.43.815a4.784 4.784 0 0 0 -1.31 2.005l-3.435-1.43c.455-1.29 1.29-2.43 2.515-3.415 1.225-.985 2.79-1.48 4.69-1.48 1.405 0 2.67.27 3.79.815 1.12.545 2 1.3 2.635 2.26.635.965.95 2.045.95 3.245 0 1.225-.295 2.26-.885 3.11-.59.85-1.315 1.5-2.175 1.955v.205a6.605 6.605 0 0 1 2.79 2.175c.725.975 1.09 2.14 1.09 3.5 0 1.36-.345 2.575-1.035 3.64s-1.645 1.905-2.855 2.515c-1.215.61-2.58.92-4.095.92-1.755.005-3.375-.5-4.87-1.51zM233.52 69.81l-3.81 2.755-1.905-2.89 6.835-4.93h2.62V88h-3.74V69.81z"/></svg>
|
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 17 KiB |
|
@ -1,59 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
||||
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
|
||||
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
|
||||
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
|
||||
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
|
||||
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
|
||||
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
|
||||
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
|
||||
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
|
||||
]>
|
||||
<svg version="1.1" id="Livello_1"
|
||||
xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 2228.833 2073.333"
|
||||
enable-background="new 0 0 2228.833 2073.333" xml:space="preserve">
|
||||
<metadata>
|
||||
<sfw xmlns="&ns_sfw;">
|
||||
<slices></slices>
|
||||
<sliceSourceBounds bottomLeftOrigin="true" height="2073.333" width="2228.833" x="-1116.333" y="-1012.667">
|
||||
</sliceSourceBounds>
|
||||
</sfw>
|
||||
</metadata>
|
||||
<path fill="#5059C9" d="M1554.637,777.5h575.713c54.391,0,98.483,44.092,98.483,98.483c0,0,0,0,0,0v524.398
|
||||
c0,199.901-162.051,361.952-361.952,361.952h0h-1.711c-199.901,0.028-361.975-162-362.004-361.901c0-0.017,0-0.034,0-0.052V828.971
|
||||
C1503.167,800.544,1526.211,777.5,1554.637,777.5L1554.637,777.5z"/>
|
||||
<circle fill="#5059C9" cx="1943.75" cy="440.583" r="233.25"/>
|
||||
<circle fill="#7B83EB" cx="1218.083" cy="336.917" r="336.917"/>
|
||||
<path fill="#7B83EB" d="M1667.323,777.5H717.01c-53.743,1.33-96.257,45.931-95.01,99.676v598.105
|
||||
c-7.505,322.519,247.657,590.16,570.167,598.053c322.51-7.893,577.671-275.534,570.167-598.053V877.176
|
||||
C1763.579,823.431,1721.066,778.83,1667.323,777.5z"/>
|
||||
<path opacity="0.1" enable-background="new " d="M1244,777.5v838.145c-0.258,38.435-23.549,72.964-59.09,87.598
|
||||
c-11.316,4.787-23.478,7.254-35.765,7.257H667.613c-6.738-17.105-12.958-34.21-18.142-51.833
|
||||
c-18.144-59.477-27.402-121.307-27.472-183.49V877.02c-1.246-53.659,41.198-98.19,94.855-99.52H1244z"/>
|
||||
<path opacity="0.2" enable-background="new " d="M1192.167,777.5v889.978c-0.002,12.287-2.47,24.449-7.257,35.765
|
||||
c-14.634,35.541-49.163,58.833-87.598,59.09H691.975c-8.812-17.105-17.105-34.21-24.362-51.833
|
||||
c-7.257-17.623-12.958-34.21-18.142-51.833c-18.144-59.476-27.402-121.307-27.472-183.49V877.02
|
||||
c-1.246-53.659,41.198-98.19,94.855-99.52H1192.167z"/>
|
||||
<path opacity="0.2" enable-background="new " d="M1192.167,777.5v786.312c-0.395,52.223-42.632,94.46-94.855,94.855h-447.84
|
||||
c-18.144-59.476-27.402-121.307-27.472-183.49V877.02c-1.246-53.659,41.198-98.19,94.855-99.52H1192.167z"/>
|
||||
<path opacity="0.2" enable-background="new " d="M1140.333,777.5v786.312c-0.395,52.223-42.632,94.46-94.855,94.855H649.472
|
||||
c-18.144-59.476-27.402-121.307-27.472-183.49V877.02c-1.246-53.659,41.198-98.19,94.855-99.52H1140.333z"/>
|
||||
<path opacity="0.1" enable-background="new " d="M1244,509.522v163.275c-8.812,0.518-17.105,1.037-25.917,1.037
|
||||
c-8.812,0-17.105-0.518-25.917-1.037c-17.496-1.161-34.848-3.937-51.833-8.293c-104.963-24.857-191.679-98.469-233.25-198.003
|
||||
c-7.153-16.715-12.706-34.071-16.587-51.833h258.648C1201.449,414.866,1243.801,457.217,1244,509.522z"/>
|
||||
<path opacity="0.2" enable-background="new " d="M1192.167,561.355v111.442c-17.496-1.161-34.848-3.937-51.833-8.293
|
||||
c-104.963-24.857-191.679-98.469-233.25-198.003h190.228C1149.616,466.699,1191.968,509.051,1192.167,561.355z"/>
|
||||
<path opacity="0.2" enable-background="new " d="M1192.167,561.355v111.442c-17.496-1.161-34.848-3.937-51.833-8.293
|
||||
c-104.963-24.857-191.679-98.469-233.25-198.003h190.228C1149.616,466.699,1191.968,509.051,1192.167,561.355z"/>
|
||||
<path opacity="0.2" enable-background="new " d="M1140.333,561.355v103.148c-104.963-24.857-191.679-98.469-233.25-198.003
|
||||
h138.395C1097.783,466.699,1140.134,509.051,1140.333,561.355z"/>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="198.099" y1="1683.0726" x2="942.2344" y2="394.2607" gradientTransform="matrix(1 0 0 -1 0 2075.3333)">
|
||||
<stop offset="0" style="stop-color:#5A62C3"/>
|
||||
<stop offset="0.5" style="stop-color:#4D55BD"/>
|
||||
<stop offset="1" style="stop-color:#3940AB"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M95.01,466.5h950.312c52.473,0,95.01,42.538,95.01,95.01v950.312c0,52.473-42.538,95.01-95.01,95.01
|
||||
H95.01c-52.473,0-95.01-42.538-95.01-95.01V561.51C0,509.038,42.538,466.5,95.01,466.5z"/>
|
||||
<path fill="#FFFFFF" d="M820.211,828.193H630.241v517.297H509.211V828.193H320.123V727.844h500.088V828.193z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.5 KiB |
|
@ -1,36 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="17 34 127 113">
|
||||
<defs>
|
||||
<linearGradient id="a" x1="28.286" y1="53.757" x2="70.714" y2="127.243" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#1784d9"/>
|
||||
<stop offset="0.5" stop-color="#107ad5"/>
|
||||
<stop offset="1" stop-color="#0a63c9"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M143.984,93.02a1.813,1.813,0,0,1-.07.52,1.055,1.055,0,0,1-.06.24c.01.01,0,.02-.01.03a.9.9,0,0,1-.079.21,2.1,2.1,0,0,1-.15.3,2.5,2.5,0,0,1-1.059,1.05l-4.636,2.62-.4.23L132.584,101l-1.139.64-21.5,12.16-.419.24-8.193,4.63-1.019.57-1.009.57-.51.29c-.17.09-.349.19-.529.29-.02.01-.03.02-.05.03a4.689,4.689,0,0,1-1.169.43h-.01a5.834,5.834,0,0,1-1.509.19,5.973,5.973,0,0,1-2.7-.62c-.14-.08-.28-.16-.42-.23-.05-.03-.1-.06-.16-.09l-6.414-3.63-.869-.49-.62-.35-.13-.07-.469-.27-.07-.04-.21-.12-.15-.09-.16-.09-.2-.11-.239-.13-.12-.07-.03-.02-.32-.18-.28-.16-.08-.04-.359-.2L63.416,103.8,59.6,101.64,58.46,101l-4.936-2.78L53,97.92l-4.506-2.55a2.546,2.546,0,0,1-1.059-1.05,2.233,2.233,0,0,1-.15-.31l-.21-.99a2.645,2.645,0,0,1,1.329-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13l.529-.3L74.845,75.78,76.224,75l5.306-2.99.359-.21.08-.04.28-.16.32-.18.03-.02.12-.07.239-.13.2-.11.16-.09.15-.08.21-.12.07-.04.469-.27.13-.07.62-.35.869-.5,6.414-3.62c.2-.11.39-.22.58-.32a6.069,6.069,0,0,1,5.385,0c.2.1.389.21.579.32l10.731,6.06,6.674,3.77L137.52,87.83l.4.23,4.636,2.61c.03,0,.05.02.07.02l.02.03A2.633,2.633,0,0,1,143.984,93.02Z" fill="#123b6d"/>
|
||||
<polygon points="110 49 82 49 82 75 110 101 138 101 138 75 110 49" fill="#28a8ea"/>
|
||||
<path d="M110,101v26H82l-.5-.42-.07-.06v-.01l-.09-.08-.18-.15-.34-.29-.03-.02-.44-.38-.01-.01-.11-.09-.05-.04-.05-.05-.59-.5h-.01l-.12-.11-.08-.07-.05-.04-.12-.1-.3-.25-.6-.49L54,103.99l-1-.82V75H82l.6.56.15.14.44.41.31.28.28.26.47.44.13.12.62.58Z" fill="#0364b8"/>
|
||||
<rect x="54" y="101" width="28" height="26" fill="#14447d"/>
|
||||
<rect x="110" y="101" width="28" height="26" fill="#0078d4"/>
|
||||
<rect x="110" y="49" width="28" height="26" fill="#50d9ff"/>
|
||||
<rect x="53" y="49" width="29" height="26" fill="#0078d4"/>
|
||||
<rect x="82" y="75" width="28" height="26" fill="#0078d4"/>
|
||||
<path d="M58.38,34h74.24A5.38,5.38,0,0,1,138,39.38V49a0,0,0,0,1,0,0H53a0,0,0,0,1,0,0V39.38A5.38,5.38,0,0,1,58.38,34Z" fill="#0358a7"/>
|
||||
<path d="M138,93.829,96.942,116.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,92.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M138,94.829,96.942,117.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,93.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M138,95.829,96.942,118.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,94.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M138,96.829,96.942,119.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,95.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M142.641,95.242v0l-.054.029-.013.008-43.8,23.765a6.019,6.019,0,0,1-.587.319h0a6.331,6.331,0,0,1-5.389,0h0a6.138,6.138,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.235,6.235,0,0,0,3.564-1.1,5.686,5.686,0,0,0,2.5-4.671V93.022A2.542,2.542,0,0,1,142.641,95.242Z" fill="#1490df"/>
|
||||
<path d="M100.479,118.163l-1.629.883a6.261,6.261,0,0,1-.587.319h0a6.329,6.329,0,0,1-5.388,0h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1,5.773,5.773,0,0,0,2.339-3.356Z" opacity="0.05"/>
|
||||
<path d="M143.578,143.412,99.439,118.727l-.589.319a6.261,6.261,0,0,1-.587.319h0a6.329,6.329,0,0,1-5.388,0h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1A5.851,5.851,0,0,0,143.578,143.412Z" opacity="0.05"/>
|
||||
<path d="M143.088,144.284,98.406,119.3l-.143.07h0a6.329,6.329,0,0,1-5.388,0h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1A5.943,5.943,0,0,0,143.088,144.284Z" opacity="0.05"/>
|
||||
<path d="M142.444,145.069,97.578,119.977l-.223-.119-.176-.1a6.334,6.334,0,0,1-4.305-.394h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1A6.015,6.015,0,0,0,142.444,145.069Z" opacity="0.05"/>
|
||||
<path d="M141.63,145.76c-.13.09-.26.18-.39.26s-.27.15-.41.22c-.16.08-.32.15-.48.22-.01,0-.02.01-.03.01q-.27.1-.54.18a3.3,3.3,0,0,1-.62.15.7.7,0,0,1-.14.03c-.11.02-.22.03-.34.04a4.632,4.632,0,0,1-.65.04H53.15a6.01,6.01,0,0,1-6.08-5.94V93.02l1.38.77.02.01c.01.01.01.01.02.01L53,96.32,61.42,101,82,112.44l.6.34.15.08.44.25.31.17.28.15.47.27.13.07.62.34,7.44,4.14c.19.12.39.23.59.33l2.48,1.39,1.57.88h.01l6.67,3.73,1.79,1,1.79,1,.75.42,1.04.58Z" fill="#28a8ea"/>
|
||||
<path d="M85,63v59.62a5.337,5.337,0,0,1-.37,1.96,5.272,5.272,0,0,1-.52,1,4.839,4.839,0,0,1-.86,1,5.173,5.173,0,0,1-.51.42,5.462,5.462,0,0,1-1.03.58,5.378,5.378,0,0,1-2.09.42H47v-4h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57H79.62a4.547,4.547,0,0,1,2.38.69A6.374,6.374,0,0,1,85,63Z" opacity="0.05"/>
|
||||
<path d="M84.25,63.1v58.52a5.432,5.432,0,0,1-.86,2.96,4.746,4.746,0,0,1-.84,1,3.379,3.379,0,0,1-.55.45,3.747,3.747,0,0,1-.66.4c-.1.06-.2.1-.3.15a5.292,5.292,0,0,1-2.08.42H47v-3h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57.25H78.87A4.942,4.942,0,0,1,82,58.42,6.149,6.149,0,0,1,84.25,63.1Z" opacity="0.075"/>
|
||||
<path d="M83.5,63.19v57.43a5.45,5.45,0,0,1-1.5,3.82,1.92,1.92,0,0,1-.15.14,4.911,4.911,0,0,1-1.47,1c-.01,0-.02.01-.03.01a5.268,5.268,0,0,1-2.04.41H47v-2h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57.5H78.12A5.21,5.21,0,0,1,82,59.32,5.846,5.846,0,0,1,83.5,63.19Z" opacity="0.1"/>
|
||||
<path d="M82.75,63.28v56.34a5.735,5.735,0,0,1-.75,2.87,4.989,4.989,0,0,1-2.29,2.09c-.12.05-.25.1-.38.14a5.088,5.088,0,0,1-1.67.28H47v-1h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57.75H77.37A5.373,5.373,0,0,1,82,60.51,5.5,5.5,0,0,1,82.75,63.28Z" opacity="0.125"/>
|
||||
<path d="M82,63.38v55.24a5.158,5.158,0,0,1-3.74,5.22A4.731,4.731,0,0,1,77,124H47.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V58H76.62A5.382,5.382,0,0,1,82,63.38Z" opacity="0.2"/>
|
||||
<rect x="17" y="58" width="65" height="65" rx="5.38" fill="url(#a)"/>
|
||||
<path d="M35.041,81.643A14.637,14.637,0,0,1,40.785,75.3a17.366,17.366,0,0,1,9.128-2.287,16.154,16.154,0,0,1,8.444,2.169,14.489,14.489,0,0,1,5.59,6.062,19.581,19.581,0,0,1,1.958,8.916,20.653,20.653,0,0,1-2.017,9.329,14.837,14.837,0,0,1-5.755,6.274,16.788,16.788,0,0,1-8.763,2.228,16.542,16.542,0,0,1-8.632-2.193,14.705,14.705,0,0,1-5.661-6.074A19.091,19.091,0,0,1,33.1,90.913,21.187,21.187,0,0,1,35.041,81.643Zm6.121,14.895a9.5,9.5,0,0,0,3.231,4.175,8.44,8.44,0,0,0,5.048,1.521,8.862,8.862,0,0,0,5.39-1.568,9.107,9.107,0,0,0,3.137-4.187,16.181,16.181,0,0,0,1-5.826,17.723,17.723,0,0,0-.943-5.9A9.345,9.345,0,0,0,55,80.417a8.35,8.35,0,0,0-5.343-1.651A8.718,8.718,0,0,0,44.488,80.3a9.576,9.576,0,0,0-3.3,4.21,16.71,16.71,0,0,0-.024,12.029Z" fill="#fff"/>
|
||||
<rect width="180" height="180" fill="none"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 7.1 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28.87 28.87"><g data-name="Layer 2"><g data-name="Layer 1"><rect width="28.87" height="28.87" fill="#6772e5" rx="6.48" ry="6.48"/><path fill="#fff" fill-rule="evenodd" d="M13.3 11.2c0-.69.57-1 1.49-1a9.84 9.84 0 0 1 4.37 1.13V7.24a11.6 11.6 0 0 0-4.36-.8c-3.56 0-5.94 1.86-5.94 5 0 4.86 6.68 4.07 6.68 6.17 0 .81-.71 1.07-1.68 1.07A11.06 11.06 0 0 1 9 17.25v4.19a12.19 12.19 0 0 0 4.8 1c3.65 0 6.17-1.8 6.17-5 .03-5.21-6.67-4.27-6.67-6.24z"/></g></g></svg>
|
Before Width: | Height: | Size: 509 B |
|
@ -1,4 +0,0 @@
|
|||
<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fillRule="evenodd" clipRule="evenodd" d="M167.928 256.163L64 324V143.835L167.928 76V256.163Z" fill="#4341DC"/>
|
||||
<path fillRule="evenodd" clipRule="evenodd" d="M335.755 256.163L231.827 324V143.835L335.755 76V256.163Z" fill="#00B6B6"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 346 B |
|
@ -1 +0,0 @@
|
|||
<svg height="64" viewBox="0 0 32 32" width="64" xmlns="http://www.w3.org/2000/svg"><clipPath id="a"><path d="m-200-175h1000v562h-1000z"/></clipPath><clipPath id="b"><circle cx="107" cy="106" r="102"/></clipPath><clipPath id="c"><circle cx="107" cy="106" r="100"/></clipPath><clipPath id="d"><circle cx="107" cy="106" r="92"/></clipPath><clipPath id="e"><path clipRule="evenodd" d="m135 94.06 26-19c2.27-1.85 4-1.42 4 2v57.94c0 3.84-2.16 3.4-4 2l-26-19zm-88-16.86v43.2a17.69 17.69 0 0 0 17.77 17.6h63a3.22 3.22 0 0 0 3.23-3.2v-43.2a17.69 17.69 0 0 0 -17.77-17.6h-63a3.22 3.22 0 0 0 -3.23 3.2z"/></clipPath><g clip-path="url(#a)" transform="translate(0 -178)"><path d="m232 61h366v90h-366z" fill="#4a8cff"/></g><g clip-path="url(#a)" transform="matrix(.156863 0 0 .156863 -.784314 -.627496)"><g clip-path="url(#b)"><path d="m0-1h214v214h-214z" fill="#e5e5e4"/></g><g clip-path="url(#c)"><path d="m2 1h210v210h-210z" fill="#fff"/></g><g clip-path="url(#d)"><path d="m10 9h194v194h-194z" fill="#4a8cff"/></g><g clip-path="url(#e)"><path d="m42 69h128v74h-128z" fill="#fff"/></g></g><g clip-path="url(#a)" transform="translate(0 -178)"><path d="m232 19.25h180v38.17h-180z" fill="#90908f"/></g></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -8,8 +8,8 @@ export const metadata = {
|
|||
installed: true,
|
||||
category: "video",
|
||||
// If using static next public folder, can then be referenced from the base URL (/).
|
||||
imageSrc: "/cal-com-icon.svg",
|
||||
logo: "/cal-com-icon.svg",
|
||||
imageSrc: "/api/app-store/_example/icon.svg",
|
||||
logo: "/api/app-store/_example/icon.svg",
|
||||
label: "Example App",
|
||||
publisher: "Cal.com",
|
||||
rating: 5,
|
||||
|
|
1
packages/app-store/applecalendar/README.mdx
Normal file
|
@ -0,0 +1 @@
|
|||
Apple calendar runs both the macOS and iOS mobile operating systems. Offering online cloud backup of calendars using Apple’s iCloud service, it can sync with Google Calendar and Microsoft Exchange Server. Users can schedule events in their day that include time, location, duration, and extra notes.
|
|
@ -1,4 +1,3 @@
|
|||
import { validJson } from "@calcom/lib/jsonUtils";
|
||||
import type { App } from "@calcom/types/App";
|
||||
|
||||
import _package from "./package.json";
|
||||
|
@ -9,11 +8,11 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "apple_calendar",
|
||||
title: "Apple Calendar",
|
||||
imageSrc: "/apps/apple-calendar.svg",
|
||||
imageSrc: "/api/app-store/applecalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
label: "Apple Calendar",
|
||||
logo: "/apps/apple-calendar.svg",
|
||||
logo: "/api/app-store/applecalendar/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
rating: 5,
|
||||
reviews: 69,
|
||||
|
|
24
packages/app-store/applecalendar/static/icon.svg
Normal file
|
@ -0,0 +1,24 @@
|
|||
<svg width="267" height="268" viewBox="0 0 267 268" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M208.2 266.5H58.4C26.6 266.5 0.899994 240.7 0.899994 209V59.3C0.899994 27.5 26.7 1.8 58.4 1.8H208.1C239.9 1.8 265.6 27.6 265.6 59.3V209C265.7 240.8 239.9 266.5 208.2 266.5Z"
|
||||
fill="#FCFCFC" />
|
||||
<path d="M198 111V119.8C175.7 154 161.9 189.5 156.5 226.3H146.6C152.3 189.2 166.3 153.7 188.8 119.8H130.7V111H198Z"
|
||||
fill="#5A5A5A" />
|
||||
<path d="M91.8 111C90.9 114.9 89.3 119.8 85.6 122.8C82 125.8 75 127.3 68.2 127.7V133.9H91.7V226.2H101.4V111H91.8Z"
|
||||
fill="#5A5A5A" />
|
||||
<path
|
||||
d="M206.5 267.4H60.2C27 267.4 0.100006 240.4 0.100006 207.3V61C0.100006 27.8 27.1 0.900002 60.2 0.900002H206.5C239.7 0.900002 266.6 27.9 266.6 61V207.3C266.7 240.4 239.7 267.4 206.5 267.4ZM60.2 2.6C28 2.6 1.8 28.8 1.8 61V207.3C1.8 239.5 28 265.7 60.2 265.7H206.5C238.7 265.7 264.9 239.5 264.9 207.3V61C264.9 28.8 238.7 2.6 206.5 2.6H60.2Z"
|
||||
fill="#D8D8D8" />
|
||||
<path d="M265.8 80.8V60.7C265.8 28 239.3 1.4 206.5 1.4H60.2C27.5 1.4 0.899994 27.9 0.899994 60.7V80.8H265.8Z"
|
||||
fill="#E9574E" />
|
||||
<path
|
||||
d="M266.7 81.7H0.100006V60.7C0.100006 27.5 27.1 0.599998 60.2 0.599998H206.5C239.7 0.599998 266.6 27.6 266.6 60.7V81.7H266.7ZM1.89999 79.9H264.9V60.7C264.9 28.5 238.7 2.3 206.5 2.3H60.2C28 2.3 1.8 28.5 1.8 60.7V79.9H1.89999Z"
|
||||
fill="#E9574E" />
|
||||
<path
|
||||
d="M83.4 52.1C83.4 52.8 83.5 53.7 83.6 54.5C83.7 55.3 83.9 56.1 84.4 56.8C84.8 57.4 85.4 57.9 86.3 58.5C87.2 59.1 88.4 59.4 89.9 59.4C91.1 59.4 92.3 59.2 93.3 58.7C94.3 58.2 95.2 57.4 95.8 56.4C96 56 96.2 55.5 96.4 55C96.5 54.5 96.6 53.9 96.7 53.4C96.8 52.9 96.8 52.4 96.8 51.9C96.8 51.4 96.8 51 96.8 50.7V21.1H102.7V52.4C102.7 54.4 102.3 56.1 101.6 57.6C100.9 59.1 99.9 60.4 98.7 61.4C97.5 62.4 96.1 63.2 94.5 63.7C92.9 64.2 91.2 64.5 89.4 64.5C88.8 64.5 88.1 64.4 87.3 64.3C86.4 64.2 85.5 64 84.6 63.7C83.7 63.4 82.7 62.9 81.8 62.3C80.9 61.7 80 60.9 79.3 59.9C78.8 59.2 78.4 58.5 78.1 57.8C77.8 57 77.6 56.3 77.5 55.6C77.4 54.9 77.3 54.3 77.2 53.6C77.2 53 77.1 52.5 77.1 52L83.4 52.1Z"
|
||||
fill="white" />
|
||||
<path
|
||||
d="M120.3 21.1V47.6C120.3 48.7 120.4 49.7 120.5 50.6C120.6 51.4 120.8 52.1 120.9 52.7C121.1 53.3 121.3 53.8 121.5 54.2C121.7 54.6 121.9 55 122.2 55.3C122.9 56.2 123.6 56.9 124.5 57.5C125.4 58.1 126.2 58.5 127 58.8C127.9 59.1 128.7 59.3 129.6 59.4C130.4 59.5 131.2 59.5 132 59.5C134.9 59.5 137.1 59 138.7 58C140.3 57 141.4 55.9 142.1 54.5C142.8 53.2 143.3 51.8 143.4 50.5C143.5 49.2 143.6 48.1 143.6 47.3V21.1H149.3V47.5C149.3 48.1 149.3 48.8 149.2 49.7C149.2 50.5 149 51.5 148.8 52.5C148.6 53.5 148.2 54.6 147.8 55.7C147.3 56.8 146.7 57.9 145.8 59C144.7 60.3 143.6 61.4 142.3 62.1C141 62.9 139.8 63.5 138.5 63.9C137.2 64.3 136 64.6 134.9 64.7C133.8 64.8 132.8 64.9 132.1 64.9C131.1 64.9 129.9 64.8 128.6 64.6C127.3 64.4 125.9 64.1 124.5 63.6C123.1 63.1 121.8 62.4 120.4 61.5C119.1 60.6 117.9 59.5 116.9 58C116.6 57.5 116.3 57 116 56.4C115.7 55.8 115.4 55.1 115.2 54.3C115 53.5 114.8 52.5 114.6 51.3C114.5 50.2 114.4 48.8 114.4 47.2V21.1H120.3Z"
|
||||
fill="white" />
|
||||
<path d="M160.4 21.1H166.3V58.6H186.2V63.9H160.4V21.1V21.1Z" fill="white" />
|
||||
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -8,11 +8,11 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "caldav_calendar",
|
||||
title: "CalDav Server",
|
||||
imageSrc: "/apps/caldav.svg",
|
||||
imageSrc: "/api/app-store/caldavcalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
label: "CalDav Calendar",
|
||||
logo: "/apps/caldav.svg",
|
||||
logo: "/api/app-store/caldavcalendar/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
rating: 5,
|
||||
reviews: 69,
|
||||
|
|
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
|
@ -7,11 +7,11 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: !!process.env.DAILY_API_KEY,
|
||||
type: "daily_video",
|
||||
imageSrc: "/apps/daily.svg",
|
||||
imageSrc: "/api/app-store/dailyvideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
url: "https://daily.co/",
|
||||
trending: true,
|
||||
logo: "/apps/daily.svg",
|
||||
logo: "/api/app-store/dailyvideo/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
verified: true,
|
||||
rating: 4.3, // TODO: placeholder for now, pull this from TrustPilot or G2
|
||||
|
|
Before Width: | Height: | Size: 806 B After Width: | Height: | Size: 16 KiB |
9
packages/app-store/googlecalendar/README.mdx
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/googlecalendar/GCal1.png
|
||||
- /api/app-store/googlecalendar/GCal2.png
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Google Calendar is a time management and scheduling service developed by Google. Allows users to create and edit events, with options available for type and time. Available to anyone that has a Gmail account on both mobile and web versions.
|
|
@ -9,11 +9,11 @@ export const metadata = {
|
|||
installed: !!(process.env.GOOGLE_API_CREDENTIALS && validJson(process.env.GOOGLE_API_CREDENTIALS)),
|
||||
type: "google_calendar",
|
||||
title: "Google Calendar",
|
||||
imageSrc: "/apps/google-calendar.svg",
|
||||
imageSrc: "/api/app-store/googlecalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
label: "Google Calendar",
|
||||
logo: "/apps/google-calendar.svg",
|
||||
logo: "/api/app-store/googlecalendar/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
rating: 5,
|
||||
reviews: 69,
|
||||
|
|
BIN
packages/app-store/googlecalendar/static/GCal1.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
packages/app-store/googlecalendar/static/GCal2.png
Normal file
After Width: | Height: | Size: 75 KiB |
|
@ -1,6 +1 @@
|
|||
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="56" height="56" rx="12" fill="#292929" />
|
||||
<path
|
||||
d="M18.628 36.781c2.846 0 4.946-1.096 6.183-2.59l-2.38-2.03c-.957 1.05-2.147 1.587-3.733 1.587-3.22 0-5.204-2.427-5.204-5.413 0-2.987 1.984-5.46 5.134-5.46 1.47 0 2.683.513 3.663 1.54l2.31-2.007c-1.47-1.75-3.313-2.567-5.973-2.567-5.04 0-8.517 3.803-8.517 8.493 0 4.667 3.663 8.447 8.517 8.447ZM31.69 36.781c2.17 0 3.267-.91 3.92-2.286v1.983h3.057V24.344H35.54v1.914c-.653-1.307-1.75-2.17-3.85-2.17-3.337 0-5.997 2.87-5.997 6.37s2.66 6.323 5.997 6.323Zm-2.847-6.346c0-1.89 1.354-3.5 3.36-3.5 2.077 0 3.407 1.633 3.407 3.523 0 1.89-1.33 3.477-3.407 3.477-2.006 0-3.36-1.657-3.36-3.5ZM41.472 36.478h3.15V19.444h-3.15v17.034Z"
|
||||
fill="#fff" />
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="186 38 76 76"><path fill="#fff" d="M244 56h-40v40h40V56z"/><path fill="#EA4335" d="M244 114l18-18h-18v18z"/><path fill="#FBBC04" d="M262 56h-18v40h18V56z"/><path fill="#34A853" d="M244 96h-40v18h40V96z"/><path fill="#188038" d="M186 96v12c0 3.315 2.685 6 6 6h12V96h-18z"/><path fill="#1967D2" d="M262 56V44c0-3.315-2.685-6-6-6h-12v18h18z"/><path fill="#4285F4" d="M244 38h-52c-3.315 0 -6 2.685-6 6v52h18V56h40V38z"/><path fill="#4285F4" d="M212.205 87.03c-1.495-1.01-2.53-2.485-3.095-4.435l3.47-1.43c.315 1.2.865 2.13 1.65 2.79.78.66 1.73.985 2.84.985 1.135 0 2.11-.345 2.925-1.035s1.225-1.57 1.225-2.635c0-1.09-.43-1.98-1.29-2.67-.86-.69-1.94-1.035-3.23-1.035h-2.005V74.13h1.8c1.11 0 2.045-.3 2.805-.9.76-.6 1.14-1.42 1.14-2.465 0 -.93-.34-1.67-1.02-2.225-.68-.555-1.54-.835-2.585-.835-1.02 0 -1.83.27-2.43.815a4.784 4.784 0 0 0 -1.31 2.005l-3.435-1.43c.455-1.29 1.29-2.43 2.515-3.415 1.225-.985 2.79-1.48 4.69-1.48 1.405 0 2.67.27 3.79.815 1.12.545 2 1.3 2.635 2.26.635.965.95 2.045.95 3.245 0 1.225-.295 2.26-.885 3.11-.59.85-1.315 1.5-2.175 1.955v.205a6.605 6.605 0 0 1 2.79 2.175c.725.975 1.09 2.14 1.09 3.5 0 1.36-.345 2.575-1.035 3.64s-1.645 1.905-2.855 2.515c-1.215.61-2.58.92-4.095.92-1.755.005-3.375-.5-4.87-1.51zM233.52 69.81l-3.81 2.755-1.905-2.89 6.835-4.93h2.62V88h-3.74V69.81z"/></svg>
|
Before Width: | Height: | Size: 806 B After Width: | Height: | Size: 1.3 KiB |
9
packages/app-store/googlevideo/README.mdx
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/googlevideo/gmeet1.png
|
||||
- /api/app-store/googlevideo/gmeet2.png
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Google Meet is Google's web-based video conferencing platform, designed to compete with major conferencing platforms.
|
BIN
packages/app-store/googlevideo/static/gmeet1.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
packages/app-store/googlevideo/static/gmeet2.png
Normal file
After Width: | Height: | Size: 41 KiB |
|
@ -8,9 +8,9 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: true,
|
||||
type: "huddle01_video",
|
||||
imageSrc: "/apps/huddle.svg",
|
||||
imageSrc: "/api/app-store/huddle01video/icon.svg",
|
||||
variant: "conferencing",
|
||||
logo: "/apps/huddle.svg",
|
||||
logo: "/api/app-store/huddle01video/icon.svg",
|
||||
publisher: "huddle01.com",
|
||||
url: "https://huddle01.com",
|
||||
verified: true,
|
||||
|
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
8
packages/app-store/jitsivideo/README.mdx
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/jitsivideo/jitsi1.jpg
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Jitsi is a free open-source video conferencing software for web and mobile. Make a call, launch on your own servers, integrate into your app, and more.
|
|
@ -7,9 +7,9 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: true,
|
||||
type: "jitsi_video",
|
||||
imageSrc: "/apps/jitsi.svg",
|
||||
imageSrc: "/api/app-store/jitsivideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
logo: "/apps/jitsi.svg",
|
||||
logo: "/api/app-store/jitsivideo/icon.svg",
|
||||
locationType: "integrations:jitsi",
|
||||
publisher: "Cal.com",
|
||||
url: "https://jitsi.org/",
|
||||
|
|
|
@ -1,38 +1,160 @@
|
|||
€<svg height="64" viewBox="0 0 32 32" width="64" xmlns="http://www.w3.org/2000/svg">
|
||||
<clipPath id="a">
|
||||
<path d="m-200-175h1000v562h-1000z" />
|
||||
</clipPath>
|
||||
<clipPath id="b">
|
||||
<circle cx="107" cy="106" r="102" />
|
||||
</clipPath>
|
||||
<clipPath id="c">
|
||||
<circle cx="107" cy="106" r="100" />
|
||||
</clipPath>
|
||||
<clipPath id="d">
|
||||
<circle cx="107" cy="106" r="92" />
|
||||
</clipPath>
|
||||
<clipPath id="e">
|
||||
<path clipRule="evenodd"
|
||||
d="m135 94.06 26-19c2.27-1.85 4-1.42 4 2v57.94c0 3.84-2.16 3.4-4 2l-26-19zm-88-16.86v43.2a17.69 17.69 0 0 0 17.77 17.6h63a3.22 3.22 0 0 0 3.23-3.2v-43.2a17.69 17.69 0 0 0 -17.77-17.6h-63a3.22 3.22 0 0 0 -3.23 3.2z" />
|
||||
</clipPath>
|
||||
<g clip-path="url(#a)" transform="translate(0 -178)">
|
||||
<path d="m232 61h366v90h-366z" fill="#4a8cff" />
|
||||
</g>
|
||||
<g clip-path="url(#a)" transform="matrix(.156863 0 0 .156863 -.784314 -.627496)">
|
||||
<g clip-path="url(#b)">
|
||||
<path d="m0-1h214v214h-214z" fill="#e5e5e4" />
|
||||
</g>
|
||||
<g clip-path="url(#c)">
|
||||
<path d="m2 1h210v210h-210z" fill="#fff" />
|
||||
</g>
|
||||
<g clip-path="url(#d)">
|
||||
<path d="m10 9h194v194h-194z" fill="#4a8cff" />
|
||||
</g>
|
||||
<g clip-path="url(#e)">
|
||||
<path d="m42 69h128v74h-128z" fill="#fff" />
|
||||
</g>
|
||||
</g>
|
||||
<g clip-path="url(#a)" transform="translate(0 -178)">
|
||||
<path d="m232 19.25h180v38.17h-180z" fill="#90908f" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 744.094 1052.362">
|
||||
<defs>
|
||||
<linearGradient xlink:href="#a" id="j" x1="439.904" x2="469.717" y1="455.739" y2="557.748"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="a">
|
||||
<stop offset="0" style="stop-color:#0f3060;stop-opacity:1" />
|
||||
<stop offset=".271" style="stop-color:#0575ce;stop-opacity:1" />
|
||||
<stop offset=".733" style="stop-color:#0575ce;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#0f3060;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#b" id="k" x1="382.802" x2="347.443" y1="585.226" y2="645.024"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="b">
|
||||
<stop offset="0" style="stop-color:#092d61;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#0575ce;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#c" id="l" x1="415.814" x2="436.356" y1="620.098" y2="486.431"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="c">
|
||||
<stop offset="0" style="stop-color:#0f3060;stop-opacity:1" />
|
||||
<stop offset=".457" style="stop-color:#0575ce;stop-opacity:1" />
|
||||
<stop offset=".738" style="stop-color:#0575ce;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#0f3060;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#d" id="m" x1="389.593" x2="308.986" y1="763.302" y2="420.016"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 34.352 723.04)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="d">
|
||||
<stop offset="0" style="stop-color:#ff8000;stop-opacity:1" />
|
||||
<stop offset=".663" style="stop-color:#fff4e1;stop-opacity:1" />
|
||||
<stop offset=".75" style="stop-color:#fff4e1;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#ff8400;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#e" id="n" x1="528.82" x2="458.469" y1="511.718" y2="527.107"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="e">
|
||||
<stop offset="0" style="stop-color:#fff;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#fff;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#f" id="o" x1="197.178" x2="146.542" y1="703.802" y2="785.904"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 34.352 723.04)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="f">
|
||||
<stop offset="0" style="stop-color:#ffc768;stop-opacity:1" />
|
||||
<stop offset=".378" style="stop-color:#ff8400;stop-opacity:1" />
|
||||
<stop offset=".774" style="stop-color:#ff8400;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#ffc768;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#e" id="p" x1="413.632" x2="423.525" y1="484.601" y2="541.833"
|
||||
gradientTransform="matrix(1.0334 0 0 1.01383 -309.91 314.183)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#g" id="q" x1="409.696" x2="467.886" y1="559.364" y2="676.035"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 34.352 723.04)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="g">
|
||||
<stop offset="0" style="stop-color:#ff8000;stop-opacity:1" />
|
||||
<stop offset=".341" style="stop-color:#ffc768;stop-opacity:1" />
|
||||
<stop offset=".712" style="stop-color:#ffc768;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#ff8400;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#h" id="r" x1="522.636" x2="585.933" y1="168.687" y2="161.109"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 34.352 723.04)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="h">
|
||||
<stop offset="0" style="stop-color:#ff8000;stop-opacity:1" />
|
||||
<stop offset=".5" style="stop-color:#fff4e1;stop-opacity:1" />
|
||||
<stop offset=".75" style="stop-color:#fff4e1;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#ff8400;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#g" id="s" x1="481.49" x2="405.411" y1="417.5" y2="316.79"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 34.352 723.04)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#e" id="t" x1="473.092" x2="457.69" y1="499.584" y2="477.6"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#e" id="u" x1="394.341" x2="446.313" y1="501.802" y2="485.378"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#e" id="v" x1="395.813" x2="369.553" y1="590.733" y2="572.169"
|
||||
gradientTransform="translate(-297.23 320.86)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#i" id="w" x1="297.053" x2="310.455" y1="667.162" y2="713.866"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 34.352 723.04)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient id="i">
|
||||
<stop offset="0" style="stop-color:#212a3a;stop-opacity:1" />
|
||||
<stop offset="1" style="stop-color:#404e67;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient xlink:href="#i" id="x" x1="246.304" x2="366.879" y1="690.027" y2="632.16"
|
||||
gradientTransform="matrix(.09308 0 0 .18605 131.942 665.872)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#i" id="y" x1="301.052" x2="367.946" y1="645.899" y2="654.721"
|
||||
gradientTransform="matrix(-.09281 -.00704 .01407 -.18552 186.2 929.708)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#i" id="z" x1="279.817" x2="386.786" y1="688.324" y2="667.635"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 98.31 642.637)" gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient xlink:href="#i" id="A" x1="338.144" x2="266.215" y1="668.301" y2="702.893"
|
||||
gradientTransform="matrix(.24573 0 0 .24573 25.55 660.77)" gradientUnits="userSpaceOnUse" />
|
||||
</defs>
|
||||
<path
|
||||
d="M52.514 963.96c-.598-1.315-1.087-2.498-1.087-2.63 0-.133-2.08-11.075-2.317-13.887-1.035-12.277-2.668-13.453-2.212-24.399.276-6.63-.644-8.892 1.313-14.315 4.031-11.167 6.987-15.56 12.225-18.174 4.25-2.12 8.237-1.832 11.98.865.986.711 4.295 2.95 7.354 4.977 3.058 2.026 6.691 4.483 8.072 5.46 1.381.976 3.685 2.384 5.12 3.13 2.53 1.315 2.624 1.335 3.137.67 1.128-1.458 3.85-5.553 5.321-7.508 7.373-9.79.43-8.702-1.305-9.213-2.728-.803-3.877-1.98-6.427-4.967-5.922-6.94-8.728-14.662-9.143-24.204-.481-11.08.633-20.015 5.498-25.1 2.086-2.18 6.5-5.346 10.535-7.556 3.418-1.87 24.38-5.782 26.219-4.97.919.407-3.638-11.638-1.016-27.298.521-3.111 4.06-12.738 4.434-13.393.923-1.618 16.135-6.824 20.462-9.365 4.835-2.84 15.29-9.68 16.078-14.766 1.731-11.179 2.038-15.956 2.76-16.375 1.074-.625 8.252 14.175 3.393 28.13-.958 2.755-5.532 9.15-7.58 11.824-1.474 1.926 1.728 2.826 3.57 5.607 1.676 2.529 2.777 8.71 2.992 11.914.22 3.271-.815 9.982-1.742 11.299-.376.533-.53 1.057-.344 1.171.184.114 1.434-.035 2.777-.33 1.343-.296 4.254-.767 6.468-1.047 3.943-.497 4.084-.49 6.76.333 4.014 1.234 23.538 5.951 11.08 60.507-4.128 18.075-23.39 41.925-25.811 40.078l-5.964-4.547-6.873 10.19c-3.508 3.603-7.291 7.08-9.522 8.753-3.52 2.64-10.565 6.798-11.516 6.798-.245 0-1.632.57-3.083 1.265-4.195 2.012-10.479 3.661-17.135 4.098-25.771 1.67-15.94-1.442-37.278-11.775-1.683-.815-5.558 3.297-10.227 7.546-4.986 4.536-7.603 7.988-9.58 12.638a625.901 625.901 0 0 1-2.316 5.365c-1.645 3.748-2.998 8.933-3.199 12.258-.098 1.627-.315 3.042-.481 3.145-.167.103-.793-.888-1.39-2.202zm28.332-45.91c3.303-.835 3.665-1.019 7.217-3.677 2.546-1.905 4.124-5.345 4.8-5.646 4.433-1.966-3.307-3.736-6.201-5.688-2.894-1.952-6.658-3.395-9.221-5.353-2.564-1.956-4.784-3.482-4.933-3.39-.15.092-.275 1.405-.279 2.918-.01 4.414-.602 8.842-1.429 10.695-.421.943-.846 2.76-.945 4.04-.228 2.962.462 4.386 2.913 6.02 2.066 1.377 2.924 1.385 8.078.082zm119.706-83.584c-1.076-7.225-.185-17.16-5.815-20.777-12.988-8.345-14.413-.07-15.21 1.759-1.31 3.008-2.118 5.469-1.123 8.776 3.057 10.16 6.967 19.158 8.823 26.38 2.13 8.289 4.478 13.53 4.713 20.03.166 4.614.123 5.099-.556 6.165-.966 1.515-15.553 5.227-22.898 7.391-2.522.743-.288 6.122-.577 7.893-.289 1.77-4.237 11.667-2.967 13.657 12.529 19.633 40.235-40.207 35.61-71.274zm-26.989 48.272c1.96-.471 3.792-1.046 4.072-1.278.28-.231.99-.384 1.58-.34 1.054.08 5.182-1.219 5.5-1.73.089-.145 3.772-2.066 3.035-2.554-.737-.488-15.132-11.07-17.196-12.147-23.77-12.393-36.266-13.246-44.114-11.665-13.445 2.709-25.057 9.526-26.454 11.207-.422.508 21.05-6.66 36.29.871 2.816 1.392 8.63 3.783 13 8.463 3.993 4.275 7.634 8.798 10.5 9.562 3.106.828 9.472.648 13.787-.39zm-28.657-51.097c7.526-1.317 19.186-16.952 18.279-18.416-.123-.198 2.255-4.145 1.869-4.222-14.084-2.808-13.745-16.832-13.948-16.957-.203-.125-20.765 9.71-25.504 11.758-4.02 1.739.575 12.103 3 18.535 1.078 2.862 7.017 6.678 9.407 8.234 2.828 1.84 6.254 1.18 6.897 1.068zm16.22-47.717c4.064-3.203 14.888-19.234 13.74-25.74-4.68-26.505-6.696-10.096-6.997-7.731-.124.98-.478 3.15-.787 4.822a137.775 137.775 0 0 0-.875 5.365c-.172 1.279-.648 3.532-1.058 5.008a267.644 267.644 0 0 0-1.439 5.45c-.381 1.523-1.665 5.273-2.852 8.334-1.188 3.061-2.16 5.638-2.16 5.728 0 .447.825.027 2.428-1.236z"
|
||||
style="fill:url(#j);fill-opacity:1" transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M53.58 963.12c6.352-26.32 12.1-29.27 27.227-39.026-3.328-1.891-11.518-8.16-11.496-11.496.057-9.742 1.667-26.722-9.076-19.665-20.385 13.392-13.009 55.968-6.656 70.187z"
|
||||
style="fill:url(#k);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M75.933 920.723c8.981 6.786 16.92 12.785 22.554 15.967 54.941 2.778 68.66-27.594 69.658-52.493-4.89.224-13.223-.973-17.714-7.74-11.214 3.68-45.166 14.003-45.757 16.322-3.065 12.036-12.175 21.756-28.741 27.944z"
|
||||
style="fill:url(#l);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M171.275 910.581c33.185-24.7 28.914-74.159 29.45-76.691 1.363-6.439-6.65-28.252-16.274-24.25-16.024 6.664 11.277 44.445 7.614 65.166-.763 4.32-13.99 7.503-22.98 8.899-1.037.16-.116 14.095-4.627 20.51-.645.917 6.21 6.818 6.817 6.366z"
|
||||
style="fill:url(#m);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path d="M175.904 907.191c42.492-41.749 20.982-116.278 6.146-94.51 20.377-4.12 23.618 64.267-6.146 94.51z"
|
||||
style="fill:url(#n);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M95.217 907.776c.786-1.06-13.881-6.083-22.746-14.065-.983-.885-1.142 12.912-2.07 18.665-.578 3.575 5.492 7.174 6.88 7.622 1.15.372 14.71-7.869 17.936-12.222z"
|
||||
style="fill:url(#o);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M83.585 868.013c-5.099-25.843 4.18-41.04 41.358-46.378.18.57 41.32-13.256 55.792-13.35-3.923 6.234.043 21.624 4.81 34.277 0 0-34.828 9.087-101.96 25.451z"
|
||||
style="fill:url(#p);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M101.655 863.894c4.412-1.58 17.008-5.39 32.055-.152 10.305 3.588 16.22 12.633 20.668 16.112 10.479 8.195 29.823-.908 33.321-.853 1.438.022-25.966-24.602-46.628-25.848-27.775-1.675-45.111 12.782-39.416 10.74z"
|
||||
style="fill:url(#q);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M169.427 741.435c-.153 8.404-2.797 28.464-11.307 42.173-3.893 6.27 14.52-8.277 16.502-20.78 1.09-6.878-5.069-28.09-5.195-21.393z"
|
||||
style="fill:url(#r);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M141.79 833.107c9.24-4.718 17.657-10.922 22.992-22.443.903-1.95-4.4-.058-8.476-5.844-4.035-5.729-3.083-11.543-6.54-11.078-10.8 1.453-25.2 11.638-25.2 11.638s.828 11.144 3.747 15.673c6.019 9.34 13.478 12.054 13.478 12.054z"
|
||||
style="fill:url(#s);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path d="M156.092 803.781c2.725 9.889 17.873 8.097 14.706-11.152-1.365 1.996-4.776 12.957-14.706 11.152z"
|
||||
style="opacity:.55223843;fill:url(#t);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M140.485 832.283c-5.1-3.469-9.504-7.784-12.325-12.35-2.82-4.565-4.06-27.847.687-33.633 2.608-6.364 11.841-12.515 22.097-15.231-19.495 22.605-13.178 56.867 4.074 53.535.862-.166-12.826 7.73-14.533 7.679z"
|
||||
style="fill:url(#u);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path d="M72.322 893.03c3.81 2.818 20.24 15.535 23.86 13.522-8.41 20.56-30.553 3.143-23.86-13.523z"
|
||||
style="fill:url(#v);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M140.057 777.56c-3.947 2.301-8.693 4.874-9.635 7.2-3.162 6.644-4.347 18.566-3.385 17.882 9.384-6.673 20.25-8.523 24.203-12.097 11.714-10.59 16.262-32.484 13.8-29.238-7.968 10.505-20.91 13.88-24.983 16.254zM78.65 924.573s-11.081-7.664-10.877-10.123c1.697-20.433-1.93-21.625-3.757-21.408-2.208.262-13.682 7.505-15.92 27.958-1.625 14.842 4.24 38.03 5.133 39.284 4.623-12.423 2.82-22.423 25.42-35.71zm121.058-90.522c-.552-15.318-9.774-25.85-16.038-23.383-2.657 1.046-4.441 8.179-3.508 12.601.827 3.923 6.466 19.102 6.872 20.385.958 3.034 7.43 21.63 6.28 30.565-1.009 7.831-23.71 10.54-23.71 10.54s-.381 6.375-1.164 10.683c-.962 5.295-2.87 9.45-2.87 9.45s4.943 4.604 5.143 4.6c.2-.006 31.109-16.714 28.995-75.44zM176.01 881.5c1.598-.447 11.032-2.942 10.526-3.274-3.5-2.296-7.485-5.187-14.157-10.377-37.046-28.812-70.695-4.545-70.032-4.765 6.152-2.046 12.648-3.202 21.672-2.6 7.27.486 18.697 4.17 28.706 16.103 3.724 4.438 7.948 7.45 23.285 4.913zm-16.525-62.54c1.12-.97 5.017-8.314 4.315-8.485-9.83-2.39-10.788-6.74-11.75-11.472-.902-4.433-.762-5.065-2.625-4.45-15.047 4.97-19.209 7.701-21.511 9.612-3.607 2.993-1.077 11.037.333 14.233 1.966 4.456 9.192 12.518 12.554 13.167 4.904.947 16.494-9.1 18.684-12.606zm10.936-27.142c-.815-3.335-3.435-7.63-4.133-7.63-.658 0-7.62 5.386-9.417 7.263-4.081 4.26-2.092 11.98 2.435 14.627 7.662 4.481 13.288-5.371 11.115-14.26zm-5.777-12.756c3.352-3.349 7.808-8.845 8.993-17.198.465-3.274.735-6.154-1.302-12.627-.472-1.5-1.906-5.815-1.96-5.246-1.059 11.223-2.61 23.686-9.936 36.931-2.3 4.158-1.063 3.402 4.205-1.86zm-78.62 66.848c-3.993 16.751 6.59 38.75 15.163 40.005 8.287 1.212 32.045-5.961 44.505-9.426 3.264-.908 5.02-.434-2.201-6.485-11.323-7.697-20.461-8.688-29.578-7.654-10.056 1.142-17.591 4.118-16.886 3.528 4.61-3.86 12.822-10.764 28.688-13.89 6.896-1.359 17.538-1.478 30.386 3.54 15.937 6.224 24.238 15.455 30.975 18.584 2.4 1.114 3.257.596 4.205-2.189 1.588-4.664-8.067-33.789-11.565-42.282-5.338-12.96.89-19.155-.47-18.855-6.604 1.455-12.426 5.699-17.307 10.069-11.93 10.682-19.203 12.957-20.282 12.866-3.407-.29-9.782-6.32-12.099-9.383-1.477-1.954-27.929 3.152-35.73 9.929-.178.155-6.196 4.015-7.803 11.643zM77.55 918.84c8.724-3.66 17.266-11.44 16.527-11.568-4.53-.788-21.234-12.234-21.222-12.115.573 5.907-.714 11.215-1.301 17.07-.245 2.44 3.01 6.224 5.996 6.613zm28.152-25.605c-1.67 3.72-3.412 18.351-27.53 27.74-.7.272 20.211 14.57 21.35 14.62 69.054 3.032 68.468-49.554 67.552-50.88-.133-.192-6.039.014-10.614-2.157-.349-.165-3.452-1.765-5.302-4.174-.627-.817-.725-1.261-3.05-.586-10.763 3.128-42.896 14.657-42.406 15.437zm-21.513-25.65c-12.33-43.086 30.944-45.085 37.805-46.744 5.306-1.283 4.15-1.782 3.03-6.8-1.57-7.046-1.08-13.188.266-19.772 1.273-6.226 1.93-9.374 4.62-12.496 2.168-2.516 14.384-8.27 17.412-9.723 12.905-6.19 17.836-12.993 19.274-18.344 1.014-3.773 2.498-13.071 1.831-19.718-.164-1.636.891.928 6.142 17.242 2.683 8.336 1.362 18.345-7.1 27.382-1.15 1.227-.592 1.47.954 4.023 3.21 5.306 4.985 11.94 4.485 16.767-.41 3.954-2.1 7.693.318 7.403.35-.042 11.028-1.659 18.338 2.987 4.95 3.147 12.003 9.179 10.172 34.374-4.008 55.172-30.965 67.179-31.154 67.185-.456.016-5.5-5.22-5.798-4.604-15.456 31.931-47.35 30.784-65.138 31.12-3.556.067-18.344-12.385-19.59-11.533-15.744 10.759-20.114 13.446-26.184 40.944-.233-.436-8.418-14.956-8.079-44.157.279-23.925 13.35-35.216 19.16-34.565 7.054.79 10.595 4.47 20.53 10.998 1.773 1.165 8.038 4.954 9.464 4.92 3.552-.085 5.975-6.61 6.555-10.836.585-4.261 1.15-3.231-2.176-4.376-4.193-1.443-11.426-9.296-15.137-21.676z"
|
||||
style="fill:#2c3b54;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M106.113 892.834c6.476-3.533 43.234-15.025 43.564-15.746.24-.527-43.116 17.308-52.936 10.697-.592-.398 2.294 1.721 4.902 2.257.184.037.171 6.892-2.3 10.77-.693 1.088 5.267-7.157 6.77-7.978z"
|
||||
style="fill:url(#w);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M166.008 784.186c-4.03 2.813-9.585 6.743-10.721 9.774-.67 1.787-1.123-4.992 3.452-9.03 2.577-2.276 8.093-1.319 7.269-.744z"
|
||||
style="fill:url(#x);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M160.59 806.828c4.57 1.363 8.1-1.428 10.035-7.442.228-.71-.566 5.267-3.406 7.489-2.708 2.118-7.593-.334-6.63-.047z"
|
||||
style="fill:url(#y);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M172.19 813.036c6.475-3.533 13.104-2.992 18.755-2.738 3.751.17-7.066-4.205-19.354-3.521-1.313 1.117-5.213 7.636-10.71 14.237-.825.99 9.805-7.157 11.308-7.978z"
|
||||
style="fill:url(#z);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
<path
|
||||
d="M110.559 827.011c3.802-.783 8.57-2.075 11.727-2.393 2.631-.265 5.929-1.747 8.462.978-1.41-1.934-4.108-5.84-4.948-8.397.765 3.005-2.655 3.43-3.505 3.564-19.118 3.02-30.618 8.169-36.42 17.742 10.99-8.502 23.966-11.346 24.684-11.494z"
|
||||
style="fill:url(#A);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
transform="matrix(4.20707 0 0 4.20707 -152.932 -3059.705)" />
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 19 KiB |
BIN
packages/app-store/jitsivideo/static/jitsi1.jpg
Normal file
After Width: | Height: | Size: 136 KiB |
11
packages/app-store/office365calendar/README.mdx
Normal file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/office365calendar/1.jpg
|
||||
- /api/app-store/office365calendar/2.jpg
|
||||
- /api/app-store/office365calendar/3.jpg
|
||||
- /api/app-store/office365calendar/4.jpg
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Microsoft Office 365 is a suite of apps that helps you stay connected with others and get things done. It includes but is not limited to Microsoft Word, PowerPoint, Excel, Teams, OneNote and OneDrive. Office 365 allows you to work remotely with others on a team and collaborate in an online environment. Both web versions and desktop/mobile applications are available.
|
|
@ -8,11 +8,11 @@ export const metadata = {
|
|||
installed: !!(process.env.MS_GRAPH_CLIENT_ID && process.env.MS_GRAPH_CLIENT_SECRET),
|
||||
type: "office365_calendar",
|
||||
title: "Office 365 / Outlook.com Calendar",
|
||||
imageSrc: "/apps/outlook.svg",
|
||||
imageSrc: "/api/app-store/office365calendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
label: "Example App",
|
||||
logo: "/apps/outlook.svg",
|
||||
logo: "/api/app-store/office365calendar/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
rating: 5,
|
||||
reviews: 69,
|
||||
|
|
BIN
packages/app-store/office365calendar/static/1.jpg
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
packages/app-store/office365calendar/static/2.jpg
Normal file
After Width: | Height: | Size: 174 KiB |
BIN
packages/app-store/office365calendar/static/3.jpg
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
packages/app-store/office365calendar/static/4.jpg
Normal file
After Width: | Height: | Size: 159 KiB |
|
@ -1,6 +1,36 @@
|
|||
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="56" height="56" rx="12" fill="#292929" />
|
||||
<path
|
||||
d="M18.628 36.781c2.846 0 4.946-1.096 6.183-2.59l-2.38-2.03c-.957 1.05-2.147 1.587-3.733 1.587-3.22 0-5.204-2.427-5.204-5.413 0-2.987 1.984-5.46 5.134-5.46 1.47 0 2.683.513 3.663 1.54l2.31-2.007c-1.47-1.75-3.313-2.567-5.973-2.567-5.04 0-8.517 3.803-8.517 8.493 0 4.667 3.663 8.447 8.517 8.447ZM31.69 36.781c2.17 0 3.267-.91 3.92-2.286v1.983h3.057V24.344H35.54v1.914c-.653-1.307-1.75-2.17-3.85-2.17-3.337 0-5.997 2.87-5.997 6.37s2.66 6.323 5.997 6.323Zm-2.847-6.346c0-1.89 1.354-3.5 3.36-3.5 2.077 0 3.407 1.633 3.407 3.523 0 1.89-1.33 3.477-3.407 3.477-2.006 0-3.36-1.657-3.36-3.5ZM41.472 36.478h3.15V19.444h-3.15v17.034Z"
|
||||
fill="#fff" />
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="17 34 127 113">
|
||||
<defs>
|
||||
<linearGradient id="a" x1="28.286" y1="53.757" x2="70.714" y2="127.243" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#1784d9"/>
|
||||
<stop offset="0.5" stop-color="#107ad5"/>
|
||||
<stop offset="1" stop-color="#0a63c9"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M143.984,93.02a1.813,1.813,0,0,1-.07.52,1.055,1.055,0,0,1-.06.24c.01.01,0,.02-.01.03a.9.9,0,0,1-.079.21,2.1,2.1,0,0,1-.15.3,2.5,2.5,0,0,1-1.059,1.05l-4.636,2.62-.4.23L132.584,101l-1.139.64-21.5,12.16-.419.24-8.193,4.63-1.019.57-1.009.57-.51.29c-.17.09-.349.19-.529.29-.02.01-.03.02-.05.03a4.689,4.689,0,0,1-1.169.43h-.01a5.834,5.834,0,0,1-1.509.19,5.973,5.973,0,0,1-2.7-.62c-.14-.08-.28-.16-.42-.23-.05-.03-.1-.06-.16-.09l-6.414-3.63-.869-.49-.62-.35-.13-.07-.469-.27-.07-.04-.21-.12-.15-.09-.16-.09-.2-.11-.239-.13-.12-.07-.03-.02-.32-.18-.28-.16-.08-.04-.359-.2L63.416,103.8,59.6,101.64,58.46,101l-4.936-2.78L53,97.92l-4.506-2.55a2.546,2.546,0,0,1-1.059-1.05,2.233,2.233,0,0,1-.15-.31l-.21-.99a2.645,2.645,0,0,1,1.329-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13l.529-.3L74.845,75.78,76.224,75l5.306-2.99.359-.21.08-.04.28-.16.32-.18.03-.02.12-.07.239-.13.2-.11.16-.09.15-.08.21-.12.07-.04.469-.27.13-.07.62-.35.869-.5,6.414-3.62c.2-.11.39-.22.58-.32a6.069,6.069,0,0,1,5.385,0c.2.1.389.21.579.32l10.731,6.06,6.674,3.77L137.52,87.83l.4.23,4.636,2.61c.03,0,.05.02.07.02l.02.03A2.633,2.633,0,0,1,143.984,93.02Z" fill="#123b6d"/>
|
||||
<polygon points="110 49 82 49 82 75 110 101 138 101 138 75 110 49" fill="#28a8ea"/>
|
||||
<path d="M110,101v26H82l-.5-.42-.07-.06v-.01l-.09-.08-.18-.15-.34-.29-.03-.02-.44-.38-.01-.01-.11-.09-.05-.04-.05-.05-.59-.5h-.01l-.12-.11-.08-.07-.05-.04-.12-.1-.3-.25-.6-.49L54,103.99l-1-.82V75H82l.6.56.15.14.44.41.31.28.28.26.47.44.13.12.62.58Z" fill="#0364b8"/>
|
||||
<rect x="54" y="101" width="28" height="26" fill="#14447d"/>
|
||||
<rect x="110" y="101" width="28" height="26" fill="#0078d4"/>
|
||||
<rect x="110" y="49" width="28" height="26" fill="#50d9ff"/>
|
||||
<rect x="53" y="49" width="29" height="26" fill="#0078d4"/>
|
||||
<rect x="82" y="75" width="28" height="26" fill="#0078d4"/>
|
||||
<path d="M58.38,34h74.24A5.38,5.38,0,0,1,138,39.38V49a0,0,0,0,1,0,0H53a0,0,0,0,1,0,0V39.38A5.38,5.38,0,0,1,58.38,34Z" fill="#0358a7"/>
|
||||
<path d="M138,93.829,96.942,116.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,92.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M138,94.829,96.942,117.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,93.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M138,95.829,96.942,118.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,94.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M138,96.829,96.942,119.108l-.192.111a1.94,1.94,0,0,1-.2.107c-.074.035-.151.066-.227.093l-1.34-.751-.167-.089c-.08-.04-.161-.082-.237-.13l-.1-.062-8.132-4.52-.664-.375-.545-.3-1.2-.675L53,95.318v32.259h85Z" fill="#0a2767" opacity="0.1"/>
|
||||
<path d="M142.641,95.242v0l-.054.029-.013.008-43.8,23.765a6.019,6.019,0,0,1-.587.319h0a6.331,6.331,0,0,1-5.389,0h0a6.138,6.138,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.235,6.235,0,0,0,3.564-1.1,5.686,5.686,0,0,0,2.5-4.671V93.022A2.542,2.542,0,0,1,142.641,95.242Z" fill="#1490df"/>
|
||||
<path d="M100.479,118.163l-1.629.883a6.261,6.261,0,0,1-.587.319h0a6.329,6.329,0,0,1-5.388,0h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1,5.773,5.773,0,0,0,2.339-3.356Z" opacity="0.05"/>
|
||||
<path d="M143.578,143.412,99.439,118.727l-.589.319a6.261,6.261,0,0,1-.587.319h0a6.329,6.329,0,0,1-5.388,0h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1A5.851,5.851,0,0,0,143.578,143.412Z" opacity="0.05"/>
|
||||
<path d="M143.088,144.284,98.406,119.3l-.143.07h0a6.329,6.329,0,0,1-5.388,0h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1A5.943,5.943,0,0,0,143.088,144.284Z" opacity="0.05"/>
|
||||
<path d="M142.444,145.069,97.578,119.977l-.223-.119-.176-.1a6.334,6.334,0,0,1-4.305-.394h0a6.261,6.261,0,0,1-.587-.319l2.061,14.818,43.658,13.047a6.241,6.241,0,0,0,3.565-1.1A6.015,6.015,0,0,0,142.444,145.069Z" opacity="0.05"/>
|
||||
<path d="M141.63,145.76c-.13.09-.26.18-.39.26s-.27.15-.41.22c-.16.08-.32.15-.48.22-.01,0-.02.01-.03.01q-.27.1-.54.18a3.3,3.3,0,0,1-.62.15.7.7,0,0,1-.14.03c-.11.02-.22.03-.34.04a4.632,4.632,0,0,1-.65.04H53.15a6.01,6.01,0,0,1-6.08-5.94V93.02l1.38.77.02.01c.01.01.01.01.02.01L53,96.32,61.42,101,82,112.44l.6.34.15.08.44.25.31.17.28.15.47.27.13.07.62.34,7.44,4.14c.19.12.39.23.59.33l2.48,1.39,1.57.88h.01l6.67,3.73,1.79,1,1.79,1,.75.42,1.04.58Z" fill="#28a8ea"/>
|
||||
<path d="M85,63v59.62a5.337,5.337,0,0,1-.37,1.96,5.272,5.272,0,0,1-.52,1,4.839,4.839,0,0,1-.86,1,5.173,5.173,0,0,1-.51.42,5.462,5.462,0,0,1-1.03.58,5.378,5.378,0,0,1-2.09.42H47v-4h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57H79.62a4.547,4.547,0,0,1,2.38.69A6.374,6.374,0,0,1,85,63Z" opacity="0.05"/>
|
||||
<path d="M84.25,63.1v58.52a5.432,5.432,0,0,1-.86,2.96,4.746,4.746,0,0,1-.84,1,3.379,3.379,0,0,1-.55.45,3.747,3.747,0,0,1-.66.4c-.1.06-.2.1-.3.15a5.292,5.292,0,0,1-2.08.42H47v-3h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57.25H78.87A4.942,4.942,0,0,1,82,58.42,6.149,6.149,0,0,1,84.25,63.1Z" opacity="0.075"/>
|
||||
<path d="M83.5,63.19v57.43a5.45,5.45,0,0,1-1.5,3.82,1.92,1.92,0,0,1-.15.14,4.911,4.911,0,0,1-1.47,1c-.01,0-.02.01-.03.01a5.268,5.268,0,0,1-2.04.41H47v-2h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57.5H78.12A5.21,5.21,0,0,1,82,59.32,5.846,5.846,0,0,1,83.5,63.19Z" opacity="0.1"/>
|
||||
<path d="M82.75,63.28v56.34a5.735,5.735,0,0,1-.75,2.87,4.989,4.989,0,0,1-2.29,2.09c-.12.05-.25.1-.38.14a5.088,5.088,0,0,1-1.67.28H47v-1h.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V57.75H77.37A5.373,5.373,0,0,1,82,60.51,5.5,5.5,0,0,1,82.75,63.28Z" opacity="0.125"/>
|
||||
<path d="M82,63.38v55.24a5.158,5.158,0,0,1-3.74,5.22A4.731,4.731,0,0,1,77,124H47.07V93.02a2.644,2.644,0,0,1,1.33-2.3l.03-.03c.02,0,.04-.02.06-.02L53,88.13V58H76.62A5.382,5.382,0,0,1,82,63.38Z" opacity="0.2"/>
|
||||
<rect x="17" y="58" width="65" height="65" rx="5.38" fill="url(#a)"/>
|
||||
<path d="M35.041,81.643A14.637,14.637,0,0,1,40.785,75.3a17.366,17.366,0,0,1,9.128-2.287,16.154,16.154,0,0,1,8.444,2.169,14.489,14.489,0,0,1,5.59,6.062,19.581,19.581,0,0,1,1.958,8.916,20.653,20.653,0,0,1-2.017,9.329,14.837,14.837,0,0,1-5.755,6.274,16.788,16.788,0,0,1-8.763,2.228,16.542,16.542,0,0,1-8.632-2.193,14.705,14.705,0,0,1-5.661-6.074A19.091,19.091,0,0,1,33.1,90.913,21.187,21.187,0,0,1,35.041,81.643Zm6.121,14.895a9.5,9.5,0,0,0,3.231,4.175,8.44,8.44,0,0,0,5.048,1.521,8.862,8.862,0,0,0,5.39-1.568,9.107,9.107,0,0,0,3.137-4.187,16.181,16.181,0,0,0,1-5.826,17.723,17.723,0,0,0-.943-5.9A9.345,9.345,0,0,0,55,80.417a8.35,8.35,0,0,0-5.343-1.651A8.718,8.718,0,0,0,44.488,80.3a9.576,9.576,0,0,0-3.3,4.21,16.71,16.71,0,0,0-.024,12.029Z" fill="#fff"/>
|
||||
<rect width="180" height="180" fill="none"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 806 B After Width: | Height: | Size: 7.1 KiB |
12
packages/app-store/office365video/README.mdx
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/office365video/teams1.png
|
||||
- /api/app-store/office365video/teams2.png
|
||||
- /api/app-store/office365video/teams3.jpeg
|
||||
- /api/app-store/office365video/teams4.png
|
||||
- /api/app-store/office365video/teams5.png
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Microsoft Teams is a business communication platform and collaborative workspace included in Microsoft 365. It offers workspace chat and video conferencing, file storage, and application integration. Both web versions and desktop/mobile applications are available. NOTE: MUST HAVE A WORK / SCHOOL ACCOUNT
|
|
@ -7,9 +7,9 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: !!(process.env.MS_GRAPH_CLIENT_ID && process.env.MS_GRAPH_CLIENT_SECRET),
|
||||
type: "office365_video",
|
||||
imageSrc: "/apps/msteams.svg",
|
||||
imageSrc: "/api/app-store/office365video/icon.svg",
|
||||
variant: "conferencing",
|
||||
logo: "/apps/msteams.svg",
|
||||
logo: "/api/app-store/office365video/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
url: "https://www.microsoft.com/en-ca/microsoft-teams/group-chat-software",
|
||||
verified: true,
|
||||
|
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
packages/app-store/office365video/static/teams1.png
Normal file
After Width: | Height: | Size: 569 KiB |
BIN
packages/app-store/office365video/static/teams2.png
Normal file
After Width: | Height: | Size: 840 KiB |
BIN
packages/app-store/office365video/static/teams3.jpeg
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
packages/app-store/office365video/static/teams4.png
Normal file
After Width: | Height: | Size: 338 KiB |
BIN
packages/app-store/office365video/static/teams5.png
Normal file
After Width: | Height: | Size: 24 KiB |
12
packages/app-store/stripepayment/README.mdx
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/stripepayment/stripe1.jpg
|
||||
- /api/app-store/stripepayment/stripe2.jpg
|
||||
- /api/app-store/stripepayment/stripe3.jpg
|
||||
- /api/app-store/stripepayment/stripe4.jpg
|
||||
- /api/app-store/stripepayment/stripe5.jpg
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Stripe is the world's leading payment provider. Start charging for your bookings today.
|
|
@ -12,11 +12,11 @@ export const metadata = {
|
|||
),
|
||||
slug: "stripe",
|
||||
category: "payment",
|
||||
logo: "/apps/stripe.svg",
|
||||
logo: "/api/app-store/stripepayment/icon.svg",
|
||||
rating: 4.6,
|
||||
trending: true,
|
||||
reviews: 69,
|
||||
imageSrc: "/apps/stripe.svg",
|
||||
imageSrc: "/api/app-store/stripepayment/icon.svg",
|
||||
label: "Stripe",
|
||||
publisher: "Cal.com",
|
||||
title: "Stripe",
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="56" height="56" rx="12" fill="#292929" />
|
||||
<path
|
||||
d="M18.628 36.781c2.846 0 4.946-1.096 6.183-2.59l-2.38-2.03c-.957 1.05-2.147 1.587-3.733 1.587-3.22 0-5.204-2.427-5.204-5.413 0-2.987 1.984-5.46 5.134-5.46 1.47 0 2.683.513 3.663 1.54l2.31-2.007c-1.47-1.75-3.313-2.567-5.973-2.567-5.04 0-8.517 3.803-8.517 8.493 0 4.667 3.663 8.447 8.517 8.447ZM31.69 36.781c2.17 0 3.267-.91 3.92-2.286v1.983h3.057V24.344H35.54v1.914c-.653-1.307-1.75-2.17-3.85-2.17-3.337 0-5.997 2.87-5.997 6.37s2.66 6.323 5.997 6.323Zm-2.847-6.346c0-1.89 1.354-3.5 3.36-3.5 2.077 0 3.407 1.633 3.407 3.523 0 1.89-1.33 3.477-3.407 3.477-2.006 0-3.36-1.657-3.36-3.5ZM41.472 36.478h3.15V19.444h-3.15v17.034Z"
|
||||
fill="#fff" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28.87 28.87">
|
||||
<g data-name="Layer 2">
|
||||
<g data-name="Layer 1">
|
||||
<rect width="28.87" height="28.87" fill="#6772e5" rx="6.48" ry="6.48" />
|
||||
<path fill="#fff" fill-rule="evenodd"
|
||||
d="M13.3 11.2c0-.69.57-1 1.49-1a9.84 9.84 0 0 1 4.37 1.13V7.24a11.6 11.6 0 0 0-4.36-.8c-3.56 0-5.94 1.86-5.94 5 0 4.86 6.68 4.07 6.68 6.17 0 .81-.71 1.07-1.68 1.07A11.06 11.06 0 0 1 9 17.25v4.19a12.19 12.19 0 0 0 4.8 1c3.65 0 6.17-1.8 6.17-5 .03-5.21-6.67-4.27-6.67-6.24z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 806 B After Width: | Height: | Size: 583 B |
BIN
packages/app-store/stripepayment/static/stripe1.jpg
Normal file
After Width: | Height: | Size: 278 KiB |
BIN
packages/app-store/stripepayment/static/stripe2.jpg
Normal file
After Width: | Height: | Size: 187 KiB |
BIN
packages/app-store/stripepayment/static/stripe3.jpg
Normal file
After Width: | Height: | Size: 267 KiB |
BIN
packages/app-store/stripepayment/static/stripe4.jpg
Normal file
After Width: | Height: | Size: 439 KiB |
BIN
packages/app-store/stripepayment/static/stripe5.jpg
Normal file
After Width: | Height: | Size: 235 KiB |
13
packages/app-store/tandemvideo/README.mdx
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/tandemvideo/tandem1.jpg
|
||||
- /api/app-store/tandemvideo/tandem2.jpg
|
||||
- /api/app-store/tandemvideo/tandem3.jpg
|
||||
- /api/app-store/tandemvideo/tandem4.jpg
|
||||
- /api/app-store/tandemvideo/tandem5.jpg
|
||||
- /api/app-store/tandemvideo/tandem6.jpg
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Tandem is a new virtual office space that allows teams to effortlessly connect as though they are in a physical office, online. Through co-working rooms, available statuses, live real-time video call, and chat options, you can see who’s around, talk and collaborate in one click. It works cross-platform with both desktop and mobile versions.
|
|
@ -8,12 +8,12 @@ export const metadata = {
|
|||
installed: !!(process.env.TANDEM_CLIENT_ID && process.env.TANDEM_CLIENT_SECRET),
|
||||
type: "tandem_video",
|
||||
title: "Tandem Video",
|
||||
imageSrc: "/apps/tandem.svg",
|
||||
imageSrc: "/api/app-store/tandemvideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
label: "",
|
||||
slug: "tandem",
|
||||
category: "video",
|
||||
logo: "/apps/tandem.svg",
|
||||
logo: "/api/app-store/tandemvideo/icon.svg",
|
||||
publisher: "",
|
||||
url: "",
|
||||
verified: true,
|
||||
|
|
BIN
packages/app-store/tandemvideo/static/tandem1.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
packages/app-store/tandemvideo/static/tandem2.jpg
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
packages/app-store/tandemvideo/static/tandem3.jpg
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
packages/app-store/tandemvideo/static/tandem4.jpg
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
packages/app-store/tandemvideo/static/tandem5.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
packages/app-store/tandemvideo/static/tandem6.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
14
packages/app-store/zoomvideo/README.mdx
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/zoomvideo/zoom1.jpg
|
||||
- /api/app-store/zoomvideo/zoom2.png
|
||||
- /api/app-store/zoomvideo/zoom3.png
|
||||
- /api/app-store/zoomvideo/zoom4.png
|
||||
- /api/app-store/zoomvideo/zoom5.jpg
|
||||
- /api/app-store/zoomvideo/zoom6.png
|
||||
- /api/app-store/zoomvideo/zoom7.png
|
||||
---
|
||||
|
||||
<Slider items={items} />
|
||||
|
||||
Zoom is a secure and reliable video platform that supports all of your online communication needs. It can provide everything from one on one meetings, chat, phone, webinars, and large-scale online events. Available with both desktop, web, and mobile versions.
|
|
@ -7,9 +7,9 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: !!(process.env.ZOOM_CLIENT_ID && process.env.ZOOM_CLIENT_SECRET),
|
||||
type: "zoom_video",
|
||||
imageSrc: "/apps/zoom.svg",
|
||||
imageSrc: "/api/app-store/zoomvideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
logo: "/apps/zoom.svg",
|
||||
logo: "/api/app-store/zoomvideo/icon.svg",
|
||||
publisher: "Cal.com",
|
||||
url: "https://zoom.us/",
|
||||
verified: true,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
€<svg height="64" viewBox="0 0 32 32" width="64" xmlns="http://www.w3.org/2000/svg">
|
||||
<svg height="64" viewBox="0 0 32 32" width="64" xmlns="http://www.w3.org/2000/svg">
|
||||
<clipPath id="a">
|
||||
<path d="m-200-175h1000v562h-1000z" />
|
||||
</clipPath>
|
||||
|
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
packages/app-store/zoomvideo/static/zoom1.jpg
Normal file
After Width: | Height: | Size: 149 KiB |
BIN
packages/app-store/zoomvideo/static/zoom2.png
Normal file
After Width: | Height: | Size: 934 KiB |
BIN
packages/app-store/zoomvideo/static/zoom3.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
packages/app-store/zoomvideo/static/zoom4.png
Normal file
After Width: | Height: | Size: 1 MiB |
BIN
packages/app-store/zoomvideo/static/zoom5.jpg
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
packages/app-store/zoomvideo/static/zoom6.png
Normal file
After Width: | Height: | Size: 336 KiB |
BIN
packages/app-store/zoomvideo/static/zoom7.png
Normal file
After Width: | Height: | Size: 557 KiB |