chore/AppStore: Remove deprecated imageSrc and make the paths relative in logo (#8479)
* Remove depreated imageSrc and make the paths relative in logo * Do logo replacement at a single place * Make logo relative at other places * Fix campfire page not working in dev environment
This commit is contained in:
parent
543466f1b9
commit
51695ee79d
|
@ -6,6 +6,7 @@ import path from "path";
|
|||
import { z } from "zod";
|
||||
|
||||
import { getAppWithMetadata } from "@calcom/app-store/_appRegistry";
|
||||
import { getAppAssetFullPath } from "@calcom/app-store/getAppAssetFullPath";
|
||||
import prisma from "@calcom/prisma";
|
||||
|
||||
import type { inferSSRProps } from "@lib/types/inferSSRProps";
|
||||
|
@ -108,9 +109,11 @@ export const getStaticProps = async (ctx: GetStaticPropsContext) => {
|
|||
const { content, data } = sourceSchema.parse({ content: result.content, data: result.data });
|
||||
if (data.items) {
|
||||
data.items = data.items.map((item) => {
|
||||
if (typeof item === "string" && !item.includes("/api/app-store")) {
|
||||
// Make relative paths absolute
|
||||
return `/api/app-store/${appDirname}/${item}`;
|
||||
if (typeof item === "string") {
|
||||
return getAppAssetFullPath(item, {
|
||||
dirName: singleApp.dirName,
|
||||
isTemplate: singleApp.isTemplate,
|
||||
});
|
||||
}
|
||||
return item;
|
||||
});
|
||||
|
|
|
@ -11,10 +11,6 @@ export async function getAppWithMetadata(app: { dirName: string }) {
|
|||
// Let's not leak api keys to the front end
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const { key, ...metadata } = appMetadata;
|
||||
if (metadata.logo && !metadata.logo.includes("/api/app-store/")) {
|
||||
const appDirName = `${metadata.isTemplate ? "templates" : ""}/${app.dirName}`;
|
||||
metadata.logo = `/api/app-store/${appDirName}/${metadata.logo}`;
|
||||
}
|
||||
return metadata;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/amie/1.jpg
|
||||
- /api/app-store/amie/2.jpg
|
||||
- /api/app-store/amie/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
<iframe class="w-full aspect-video -mx-2" width="560" height="315" src="https://www.youtube.com/embed/OGe1NYKhZE8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Amie",
|
||||
"slug": "amie",
|
||||
"type": "amie_other",
|
||||
"imageSrc": "/api/app-store/amie/icon.svg",
|
||||
"logo": "/api/app-store/amie/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/amie",
|
||||
"variant": "other",
|
||||
"categories": ["calendar"],
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import type { AppMeta } from "@calcom/types/App";
|
||||
|
||||
import { appStoreMetadata as rawAppStoreMetadata } from "./apps.metadata.generated";
|
||||
import { getAppAssetFullPath } from "./getAppAssetFullPath";
|
||||
|
||||
type RawAppStoreMetaData = typeof rawAppStoreMetadata;
|
||||
type AppStoreMetaData = {
|
||||
|
@ -8,12 +9,19 @@ type AppStoreMetaData = {
|
|||
};
|
||||
|
||||
export const appStoreMetadata = {} as AppStoreMetaData;
|
||||
|
||||
for (const [key, value] of Object.entries(rawAppStoreMetadata)) {
|
||||
appStoreMetadata[key as keyof typeof appStoreMetadata] = {
|
||||
const dirName = "dirName" in value ? value.dirName : value.slug;
|
||||
if (!dirName) {
|
||||
throw new Error(`Couldn't derive dirName for app ${key}`);
|
||||
}
|
||||
const metadata = (appStoreMetadata[key as keyof typeof appStoreMetadata] = {
|
||||
appData: null,
|
||||
dirName: "dirName" in value ? value.dirName : value.slug,
|
||||
dirName,
|
||||
__template: "",
|
||||
...value,
|
||||
} as AppStoreMetaData[keyof AppStoreMetaData];
|
||||
} as AppStoreMetaData[keyof AppStoreMetaData]);
|
||||
metadata.logo = getAppAssetFullPath(metadata.logo, {
|
||||
dirName,
|
||||
isTemplate: metadata.isTemplate,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/applecalendar/1.jpg
|
||||
- 1.jpg
|
||||
---
|
||||
|
||||
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.
|
||||
|
|
|
@ -8,11 +8,10 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "apple_calendar",
|
||||
title: "Apple Calendar",
|
||||
imageSrc: "/api/app-store/applecalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
categories: ["calendar"],
|
||||
category: "calendar",
|
||||
logo: "/api/app-store/applecalendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "apple-calendar",
|
||||
url: "https://cal.com/",
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/around/1.jpg
|
||||
- /api/app-store/around/2.jpg
|
||||
- /api/app-store/around/3.jpg
|
||||
- /api/app-store/around/4.jpg
|
||||
- /api/app-store/around/5.jpg
|
||||
- /api/app-store/around/6.jpg
|
||||
- /api/app-store/around/7.jpg
|
||||
- /api/app-store/around/8.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
- 4.jpg
|
||||
- 5.jpg
|
||||
- 6.jpg
|
||||
- 7.jpg
|
||||
- 8.jpg
|
||||
---
|
||||
|
||||
Discover radically unique video calls designed to help hybrid-remote teams create, collaborate and celebrate together.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"title": "Around",
|
||||
"slug": "around",
|
||||
"type": "around_video",
|
||||
"logo": "/api/app-store/around/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/around",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/caldavcalendar/1.jpg
|
||||
- 1.jpg
|
||||
---
|
||||
|
||||
Caldav is a protocol that allows different clients/servers to access scheduling information on remote servers as well as schedule meetings with other users on the same server or other servers. It extends WebDAV specification and uses iCalendar format for the data.
|
||||
|
|
|
@ -8,15 +8,15 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "caldav_calendar",
|
||||
title: "CalDav (Beta)",
|
||||
imageSrc: "/api/app-store/caldavcalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
categories: ["calendar"],
|
||||
logo: "/api/app-store/caldavcalendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "caldav-calendar",
|
||||
url: "https://cal.com/",
|
||||
email: "ali@cal.com",
|
||||
dirName: "caldavcalendar",
|
||||
} as AppMeta;
|
||||
|
||||
export default metadata;
|
||||
|
|
|
@ -8,11 +8,10 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "caldav_calendar",
|
||||
title: "CalDav (Beta)",
|
||||
imageSrc: "/api/app-store/caldavcalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
categories: ["calendar"],
|
||||
logo: "/api/app-store/caldavcalendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "caldav-calendar",
|
||||
url: "https://cal.com/",
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/campfire/1.jpg
|
||||
- /api/app-store/campfire/2.jpg
|
||||
- /api/app-store/campfire/3.jpg
|
||||
- /api/app-store/campfire/4.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
- 4.jpg
|
||||
---
|
||||
|
||||
<iframe class="w-full aspect-video -mx-2" width="560" height="315" src="https://player.vimeo.com/video/683733529?app_id=122963&h=025a2fae94&referrer=https%3A%2F%2Fwww.campfire.to%2F" />
|
||||
<iframe class="w-full aspect-video -mx-2" width="560" height="315" src="https://player.vimeo.com/video/683733529?app_id=122963&h=025a2fae94&referrer=https%3A%2F%2Fwww.campfire.to%2F" ></iframe>
|
||||
|
||||
## Feel connected with your remote team
|
||||
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Campfire",
|
||||
"slug": "campfire",
|
||||
"type": "campfire_video",
|
||||
"imageSrc": "/api/app-store/campfire/icon.svg",
|
||||
"logo": "/api/app-store/campfire/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/campfire",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/closecom/1.jpg
|
||||
- /api/app-store/closecom/2.jpg
|
||||
- /api/app-store/closecom/3.jpg
|
||||
- /api/app-store/closecom/4.jpg
|
||||
- /api/app-store/closecom/5.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
- 4.jpg
|
||||
- 5.jpg
|
||||
---
|
||||
|
||||
- Close is a modern CRM with build-in sales communication tools for email, phone, SMS, and meetings.
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
"title": "Close.com",
|
||||
"slug": "closecom",
|
||||
"type": "closecom_other_calendar",
|
||||
"imageSrc": "/api/app-store/closecom/icon.svg",
|
||||
"logo": "/api/app-store/closecom/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/closecom",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
"name": "Cron",
|
||||
"slug": "cron",
|
||||
"type": "cron_other",
|
||||
"imageSrc": "logo.png",
|
||||
"logo": "logo.png",
|
||||
"url": "https://cal.com/apps/cron",
|
||||
"variant": "other",
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/dailyvideo/1.jpg
|
||||
- /api/app-store/dailyvideo/2.jpg
|
||||
- /api/app-store/dailyvideo/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
- **Recordings require a team plan**
|
||||
|
|
|
@ -7,11 +7,10 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: !!process.env.DAILY_API_KEY,
|
||||
type: "daily_video",
|
||||
imageSrc: "/api/app-store/dailyvideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
url: "https://daily.co",
|
||||
categories: ["video"],
|
||||
logo: "/api/app-store/dailyvideo/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
category: "video",
|
||||
slug: "daily-video",
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Discord",
|
||||
"slug": "discord",
|
||||
"type": "discord_video",
|
||||
"imageSrc": "/api/app-store/discord/icon.svg",
|
||||
"logo": "/api/app-store/discord/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://discord.com/",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -8,12 +8,11 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "exchange2013_calendar",
|
||||
title: "Microsoft Exchange 2013 Calendar",
|
||||
imageSrc: "/api/app-store/exchange2013calendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
categories: ["calendar"],
|
||||
label: "Exchange Calendar",
|
||||
logo: "/api/app-store/exchange2013calendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "exchange2013-calendar",
|
||||
url: "https://cal.com/",
|
||||
|
|
|
@ -8,12 +8,11 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "exchange2016_calendar",
|
||||
title: "Microsoft Exchange 2016 Calendar",
|
||||
imageSrc: "/api/app-store/exchange2016calendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
categories: ["calendar"],
|
||||
label: "Exchange Calendar",
|
||||
logo: "/api/app-store/exchange2016calendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "exchange2016-calendar",
|
||||
url: "https://cal.com/",
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
"title": "Microsoft Exchange",
|
||||
"name": "Microsoft Exchange",
|
||||
"slug": "exchange",
|
||||
"dirName": "exchangecalendar",
|
||||
"type": "exchange_calendar",
|
||||
"imageSrc": "/api/app-store/exchangecalendar/icon.svg",
|
||||
"logo": "/api/app-store/exchangecalendar/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/exchange",
|
||||
"variant": "calendar",
|
||||
"categories": ["calendar"],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/facetime/facetime1.png
|
||||
- /api/app-store/facetime/facetime2.png
|
||||
- facetime1.png
|
||||
- facetime2.png
|
||||
---
|
||||
|
||||
With FaceTime, it’s easy to stay in touch. You can make audio and video calls with up to 32 people, share your screen, enjoy films and music together, and more.
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
"title": "Facetime",
|
||||
"slug": "facetime",
|
||||
"type": "facetime_video",
|
||||
"imageSrc": "/api/app-store/facetime/icon.svg",
|
||||
"logo": "/api/app-store/facetime/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/facetime",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/fathom/1.jpg
|
||||
- 1.jpg
|
||||
---
|
||||
|
||||
Fathom Analytics provides simple, privacy-focused website analytics. We're a GDPR-compliant, Google Analytics alternative.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Fathom",
|
||||
"slug": "fathom",
|
||||
"type": "fathom_analytics",
|
||||
"imageSrc": "/api/app-store/fathom/icon.svg",
|
||||
"logo": "/api/app-store/fathom/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/fathom",
|
||||
"variant": "analytics",
|
||||
"categories": ["analytics"],
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
description: Google Analytics is a web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand.
|
||||
items:
|
||||
- /api/app-store/ga4/1.jpeg
|
||||
- /api/app-store/ga4/2.jpeg
|
||||
- /api/app-store/ga4/3.jpeg
|
||||
- /api/app-store/ga4/4.jpeg
|
||||
- /api/app-store/ga4/5.jpeg
|
||||
- 1.jpeg
|
||||
- 2.jpeg
|
||||
- 3.jpeg
|
||||
- 4.jpeg
|
||||
- 5.jpeg
|
||||
---
|
||||
|
||||
Google Analytics is a web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Google Analytics",
|
||||
"slug": "ga4",
|
||||
"type": "ga4_analytics",
|
||||
"imageSrc": "/api/app-store/ga4/icon.svg",
|
||||
"logo": "/api/app-store/ga4/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://marketingplatform.google.com",
|
||||
"variant": "analytics",
|
||||
"categories": ["analytics"],
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
import type { App } from "@calcom/types/App";
|
||||
|
||||
export function getAppAssetFullPath(assetPath: string, metadata: Pick<App, "dirName" | "isTemplate">) {
|
||||
const appDirName = `${metadata.isTemplate ? "templates/" : ""}${metadata.dirName}`;
|
||||
let assetFullPath = assetPath;
|
||||
if (!assetPath.startsWith("/app-store/") && !/^https?/.test(assetPath)) {
|
||||
assetFullPath = `/app-store/${appDirName}/${assetPath}`;
|
||||
}
|
||||
return assetFullPath;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/giphy/GIPHY1.png
|
||||
- /api/app-store/giphy/GIPHY2.png
|
||||
- GIPHY1.png
|
||||
- GIPHY2.png
|
||||
---
|
||||
|
||||
An online database and search engine that allows users to search for and share short looping videos with no sound that resemble animated GIF files. GIPHY is your top source for the best & newest GIFs & Animated Stickers online. Find everything from funny GIFs, reaction GIFs, unique GIFs and more to add to your custom booking page. Located under advanced settings in each event type.
|
||||
|
|
|
@ -7,9 +7,7 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: true,
|
||||
categories: ["other"],
|
||||
// If using static next public folder, can then be referenced from the base URL (/).
|
||||
imageSrc: "/api/app-store/giphy/icon.svg",
|
||||
logo: "/api/app-store/giphy/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "giphy",
|
||||
title: "Giphy",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/googlecalendar/GCal1.png
|
||||
- /api/app-store/googlecalendar/GCal2.png
|
||||
- GCal1.png
|
||||
- GCal2.png
|
||||
---
|
||||
|
||||
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.
|
||||
|
|
|
@ -12,7 +12,7 @@ export const metadata = {
|
|||
variant: "calendar",
|
||||
category: "calendar",
|
||||
categories: ["calendar"],
|
||||
logo: "/api/app-store/googlecalendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "google-calendar",
|
||||
url: "https://cal.com/",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/googlevideo/gmeet1.png
|
||||
- /api/app-store/googlevideo/gmeet2.png
|
||||
- gmeet1.png
|
||||
- gmeet2.png
|
||||
---
|
||||
|
||||
Google Meet is Google's web-based video conferencing platform, designed to compete with major conferencing platforms.
|
||||
|
|
|
@ -12,9 +12,8 @@ export const metadata = {
|
|||
categories: ["video"],
|
||||
type: "google_video",
|
||||
title: "Google Meet",
|
||||
imageSrc: "/api/app-store/googlevideo/logo.webp",
|
||||
variant: "conferencing",
|
||||
logo: "/api/app-store/googlevideo/logo.webp",
|
||||
logo: "logo.webp",
|
||||
publisher: "Cal.com",
|
||||
url: "https://cal.com/",
|
||||
isGlobal: false,
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
"name": "Google Tag Manager",
|
||||
"slug": "gtm",
|
||||
"type": "gtm_analytics",
|
||||
"imageSrc": "icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://tagmanager.google.com",
|
||||
"variant": "analytics",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/hubspot/hubspot01.webp
|
||||
- hubspot01.webp
|
||||
---
|
||||
|
||||
HubSpot is a cloud-based CRM designed to help align sales and marketing teams, foster sales enablement, boost ROI and optimize your inbound marketing strategy to generate more, qualified leads.
|
||||
|
|
|
@ -7,9 +7,8 @@ export const metadata = {
|
|||
installed: !!process.env.HUBSPOT_CLIENT_ID,
|
||||
description: _package.description,
|
||||
type: "hubspot_other_calendar",
|
||||
imageSrc: "/api/app-store/hubspot/icon.svg",
|
||||
variant: "other_calendar",
|
||||
logo: "/api/app-store/hubspot/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
url: "https://hubspot.com/",
|
||||
categories: ["other"],
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/huddle01video/1.png
|
||||
- /api/app-store/huddle01video/2.png
|
||||
- /api/app-store/huddle01video/3.png
|
||||
- /api/app-store/huddle01video/4.png
|
||||
- /api/app-store/huddle01video/5.png
|
||||
- /api/app-store/huddle01video/6.png
|
||||
- 1.png
|
||||
- 2.png
|
||||
- 3.png
|
||||
- 4.png
|
||||
- 5.png
|
||||
- 6.png
|
||||
---
|
||||
|
||||
Huddle01 is a new video conferencing software native to Web3 and is comparable to a decentralized version of Zoom. It supports conversations for NFT communities, DAOs, Builders and also has features such as token gating, NFTs as avatars, Web3 Login + ENS and recording over IPFS.
|
||||
|
|
|
@ -8,10 +8,9 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: true,
|
||||
type: "huddle01_video",
|
||||
imageSrc: "/api/app-store/huddle01video/icon.svg",
|
||||
variant: "conferencing",
|
||||
categories: ["video", "web3"],
|
||||
logo: "/api/app-store/huddle01video/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "huddle01.com",
|
||||
url: "https://huddle01.com",
|
||||
category: "web3",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/jitsivideo/jitsi1.jpg
|
||||
- jitsi1.jpg
|
||||
---
|
||||
|
||||
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,10 +7,9 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
installed: true,
|
||||
type: "jitsi_video",
|
||||
imageSrc: "/api/app-store/jitsivideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
categories: ["video"],
|
||||
logo: "/api/app-store/jitsivideo/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
url: "https://jitsi.org/",
|
||||
slug: "jitsi",
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/larkcalendar/1.png
|
||||
- /api/app-store/larkcalendar/2.png
|
||||
- /api/app-store/larkcalendar/3.png
|
||||
- /api/app-store/larkcalendar/4.png
|
||||
- 1.png
|
||||
- 2.png
|
||||
- 3.png
|
||||
- 4.png
|
||||
---
|
||||
|
||||
<iframe class="w-full aspect-video" width="560" height="315" src="https://www.youtube.com/embed/ciqbZ466XSQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
|
|
@ -8,10 +8,9 @@ export const metadata = {
|
|||
installed: true,
|
||||
type: "lark_calendar",
|
||||
title: "Lark Calendar",
|
||||
imageSrc: "/api/app-store/larkcalendar/icon.svg",
|
||||
variant: "calendar",
|
||||
categories: ["calendar"],
|
||||
logo: "/api/app-store/larkcalendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Lark",
|
||||
slug: "lark-calendar",
|
||||
url: "https://larksuite.com/",
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/n8n/1.png
|
||||
- /api/app-store/n8n/2.png
|
||||
- /api/app-store/n8n/3.png
|
||||
- 1.png
|
||||
- 2.png
|
||||
- 3.png
|
||||
- https://docs.n8n.io/_images/integrations/builtin/credentials/cal/getting-api-key.gif
|
||||
---
|
||||
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "n8n",
|
||||
"slug": "n8n",
|
||||
"type": "n8n_automation",
|
||||
"imageSrc": "/api/app-store/n8n/icon.svg",
|
||||
"logo": "/api/app-store/n8n/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/n8n",
|
||||
"variant": "automation",
|
||||
"categories": ["automation"],
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
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
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
- 4.jpg
|
||||
---
|
||||
|
||||
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.
|
||||
|
|
|
@ -7,13 +7,13 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
type: "office365_calendar",
|
||||
title: "Outlook Calendar",
|
||||
imageSrc: "/api/app-store/office365calendar/icon.svg",
|
||||
variant: "calendar",
|
||||
category: "calendar",
|
||||
categories: ["calendar"],
|
||||
logo: "/api/app-store/office365calendar/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "office365-calendar",
|
||||
dirName: "office365calendar",
|
||||
url: "https://cal.com/",
|
||||
email: "help@cal.com",
|
||||
} as AppMeta;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
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
|
||||
- teams1.png
|
||||
- teams2.png
|
||||
- teams3.jpeg
|
||||
- teams4.png
|
||||
- teams5.png
|
||||
---
|
||||
|
||||
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
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
"name": "Microsoft 365/Teams (Requires work/school account)",
|
||||
"description": "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",
|
||||
"type": "office365_video",
|
||||
"imageSrc": "/api/app-store/office365video/icon.svg",
|
||||
"variant": "conferencing",
|
||||
"logo": "/api/app-store/office365video/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"publisher": "Cal.com",
|
||||
"url": "https://www.microsoft.com/en-ca/microsoft-teams/group-chat-software",
|
||||
"verified": true,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/ping/1.png
|
||||
- /api/app-store/ping/2.png
|
||||
- /api/app-store/ping/3.png
|
||||
- 1.png
|
||||
- 2.png
|
||||
- 3.png
|
||||
---
|
||||
|
||||
Ping.gg makes high quality video collaborations easier than ever. Think "Zoom for streamers and creators". Join a call in 3 clicks, manage audio and video like a pro, and copy-paste your guests straight into OBS
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
"title": "Ping.gg",
|
||||
"slug": "ping",
|
||||
"type": "ping_video",
|
||||
"imageSrc": "/api/app-store/ping/icon.svg",
|
||||
"logo": "/api/app-store/ping/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://ping.gg",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
description: Connect APIs, remarkably fast. Stop writing boilerplate code, struggling with authentication and managing infrastructure. Start connecting APIs with code-level control when you need it — and no code when you don't
|
||||
items:
|
||||
- /api/app-store/pipedream/1.png
|
||||
- /api/app-store/pipedream/2.png
|
||||
- /api/app-store/pipedream/3.png
|
||||
- /api/app-store/pipedream/4.png
|
||||
- /api/app-store/pipedream/5.png
|
||||
- 1.png
|
||||
- 2.png
|
||||
- 3.png
|
||||
- 4.png
|
||||
- 5.png
|
||||
---
|
||||
|
||||
Connect APIs, remarkably fast. Stop writing boilerplate code, struggling with authentication and managing infrastructure. Start connecting APIs with code-level control when you need it — and no code when you don't
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Pipedream",
|
||||
"slug": "pipedream",
|
||||
"type": "pipedream_automation",
|
||||
"imageSrc": "/api/app-store/pipedream/icon.svg",
|
||||
"logo": "/api/app-store/pipedream/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://pipedream.com/apps/cal-com",
|
||||
"variant": "automation",
|
||||
"categories": ["automation"],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/plausible/1.jpg
|
||||
- 1.jpg
|
||||
---
|
||||
|
||||
Simple, privacy-friendly Google Analytics alternative.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Plausible",
|
||||
"slug": "plausible",
|
||||
"type": "plausible_analytics",
|
||||
"imageSrc": "/api/app-store/plausible/icon.svg",
|
||||
"logo": "/api/app-store/plausible/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/plausible",
|
||||
"variant": "analytics",
|
||||
"categories": ["analytics"],
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "QR Code",
|
||||
"slug": "qr_code",
|
||||
"type": "qr_code_other",
|
||||
"imageSrc": "/api/app-store/qr_code/icon.svg",
|
||||
"logo": "/api/app-store/qr_code/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/qr_code",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/rainbow/1.jpg
|
||||
- /api/app-store/rainbow/2.jpg
|
||||
- /api/app-store/rainbow/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
Token gate bookings based on NFTs, DAO tokens, and ERC-20 tokens. Rainbow supports dozens of trusted Ethereum wallet apps to verify token ownership. Available blockchains are Ethereum mainnet, Arbitrum, Optimism, and Polygon mainnet.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Rainbow",
|
||||
"slug": "rainbow",
|
||||
"type": "rainbow_web3",
|
||||
"imageSrc": "/api/app-store/rainbow/icon.svg",
|
||||
"logo": "/api/app-store/rainbow/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/rainbow",
|
||||
"variant": "web3",
|
||||
"categories": ["web3"],
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/raycast/1.png
|
||||
- /api/app-store/raycast/2.png
|
||||
- /api/app-store/raycast/3.png
|
||||
- /api/app-store/raycast/4.png
|
||||
- 1.png
|
||||
- 2.png
|
||||
- 3.png
|
||||
- 4.png
|
||||
---
|
||||
|
||||
Quickly share your Cal.com meeting links with Raycast. Requires Raycast.com to be installed. You can create an API token in your Developer Cal.com Settings.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Raycast",
|
||||
"slug": "raycast",
|
||||
"type": "raycast_other",
|
||||
"imageSrc": "/api/app-store/raycast/icon.svg",
|
||||
"logo": "/api/app-store/raycast/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/raycast",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/riverside/riverside1.png
|
||||
- riverside1.png
|
||||
---
|
||||
|
||||
Your online recording studio. The easiest way to record podcasts and videos in studio quality from anywhere. All from the browser.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Riverside",
|
||||
"slug": "riverside",
|
||||
"type": "riverside_video",
|
||||
"imageSrc": "/api/app-store/riverside/icon-dark.svg",
|
||||
"logo": "/api/app-store/riverside/icon-dark.svg",
|
||||
"logo": "icon-dark.svg",
|
||||
"url": "https://cal.com/apps/riverside",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/routing-forms/1.jpg
|
||||
- /api/app-store/routing-forms/2.jpg
|
||||
- /api/app-store/routing-forms/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
It would allow a booker to connect with the right person or choose the right event, faster. It would work by taking inputs from the booker and using that data to route to the correct booker/event as configured by Cal user
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
"title": "Routing Forms",
|
||||
"slug": "routing-forms",
|
||||
"type": "routing-forms_other",
|
||||
"imageSrc": "/api/app-store/routing-forms/icon-dark.svg",
|
||||
"logo": "/api/app-store/routing-forms/icon-dark.svg",
|
||||
"logo": "icon-dark.svg",
|
||||
"url": "https://cal.com/apps/routing-forms",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Salesforce (Sales Cloud) is a cloud-based application designed to help your salespeople sell smarter and faster by centralizing customer information, logging their interactions with your company, and automating many of the tasks salespeople do every day.
|
||||
items:
|
||||
- /api/app-store/salesforce/1.png
|
||||
- 1.png
|
||||
---
|
||||
|
||||
Salesforce (Sales Cloud) is a cloud-based application designed to help your salespeople sell smarter and faster by centralizing customer information, logging their interactions with your company, and automating many of the tasks salespeople do every day.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Salesforce",
|
||||
"slug": "salesforce",
|
||||
"type": "salesforce_other_calendar",
|
||||
"imageSrc": "/api/app-store/salesforce/icon.png",
|
||||
"logo": "/api/app-store/salesforce/icon.png",
|
||||
"logo": "icon.png",
|
||||
"url": "https://cal.com/apps/salesforce",
|
||||
"variant": "other_calendar",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: SendGrid delivers your transactional and marketing emails through the world's largest cloud-based email delivery platform.
|
||||
items:
|
||||
- /api/app-store/sendgrid/1.png
|
||||
- 1.png
|
||||
---
|
||||
|
||||
SendGrid delivers your transactional and marketing emails through the world's largest cloud-based email delivery platform.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Sendgrid",
|
||||
"slug": "sendgrid",
|
||||
"type": "sendgrid_other_calendar",
|
||||
"imageSrc": "/api/app-store/sendgrid/logo.png",
|
||||
"logo": "/api/app-store/sendgrid/logo.png",
|
||||
"logo": "logo.png",
|
||||
"url": "https://cal.com/apps/sendgrid",
|
||||
"variant": "other_calendar",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
description: Schedule a chat with your guests or have a Signal Video call.
|
||||
items:
|
||||
- /api/app-store/signal/1.jpg
|
||||
- /api/app-store/signal/2.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
---
|
||||
|
||||
Schedule a chat with your guests or have a Signal Video call.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Signal",
|
||||
"slug": "signal",
|
||||
"type": "signal_video",
|
||||
"imageSrc": "/api/app-store/signal/icon.svg",
|
||||
"logo": "/api/app-store/signal/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/signal",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
description: Video meetings made for music. Create your own virtual music classroom, easily.
|
||||
items:
|
||||
- /api/app-store/sirius_video/1.jpg
|
||||
- /api/app-store/sirius_video/2.jpg
|
||||
- /api/app-store/sirius_video/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
Video meetings made for music. Create your own virtual music classroom, easily.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Sirius Video",
|
||||
"slug": "sirius_video",
|
||||
"type": "sirius_video_video",
|
||||
"imageSrc": "/api/app-store/sirius_video/icon-dark.svg",
|
||||
"logo": "/api/app-store/sirius_video/icon-dark.svg",
|
||||
"logo": "icon-dark.svg",
|
||||
"url": "https://cal.com/apps/sirius_video",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
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
|
||||
- stripe1.jpg
|
||||
- stripe2.jpg
|
||||
- stripe3.jpg
|
||||
- stripe4.jpg
|
||||
- stripe5.jpg
|
||||
---
|
||||
|
||||
Stripe provides payment infrastructure for everyone from startups to Fortune 500 companies. They provide payment processing software as well as application programming interfaces (APIs) for mobile applications as well as e-commerce websites processing payments from (but not limited to) credit cards, debit cards, digital wallets, Google Pay, Apple Pay, Bank Transfers, Alipay and WeChat.
|
||||
|
|
|
@ -13,8 +13,7 @@ export const metadata = {
|
|||
slug: "stripe",
|
||||
category: "payment",
|
||||
categories: ["payment"],
|
||||
logo: "/api/app-store/stripepayment/icon.svg",
|
||||
imageSrc: "/api/app-store/stripepayment/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
title: "Stripe",
|
||||
type: "stripe_payment",
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
"title": "Sylaps",
|
||||
"slug": "sylapsvideo",
|
||||
"type": "sylaps_video",
|
||||
"imageSrc": "icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/sylaps",
|
||||
"variant": "conferencing",
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
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
|
||||
- tandem1.jpg
|
||||
- tandem2.jpg
|
||||
- tandem3.jpg
|
||||
- tandem4.jpg
|
||||
- tandem5.jpg
|
||||
- tandem6.jpg
|
||||
---
|
||||
|
||||
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.
|
||||
|
|
|
@ -7,12 +7,11 @@ export const metadata = {
|
|||
description: _package.description,
|
||||
type: "tandem_video",
|
||||
title: "Tandem Video",
|
||||
imageSrc: "/api/app-store/tandemvideo/icon.svg",
|
||||
variant: "conferencing",
|
||||
categories: ["video"],
|
||||
slug: "tandem",
|
||||
category: "video",
|
||||
logo: "/api/app-store/tandemvideo/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "",
|
||||
url: "",
|
||||
isGlobal: false,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/telegram/1.jpg
|
||||
- /api/app-store/telegram/2.jpg
|
||||
- /api/app-store/telegram/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
Schedule a chat with your guests or have a Telegram Video call.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Telegram",
|
||||
"slug": "telegram",
|
||||
"type": "telegram_video",
|
||||
"imageSrc": "/api/app-store/telegram/icon.svg",
|
||||
"logo": "/api/app-store/telegram/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/telegram",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
description: Adds a link to copy Typeform Redirect URL to integrate with Routing Forms.
|
||||
items:
|
||||
- iframe: { src: https://www.youtube.com/embed/vcV-N2gLPZc }
|
||||
- /api/app-store/typeform/copy-typeform-redirect-url.png
|
||||
- /api/app-store/typeform/how-it-looks-in-typeform.png
|
||||
- copy-typeform-redirect-url.png
|
||||
- how-it-looks-in-typeform.png
|
||||
---
|
||||
|
||||
<!-- Feel free to edit description or add other frontmatter. Frontmatter would be available in the components here as variables by same name -->
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"name": "Typeform",
|
||||
"slug": "typeform",
|
||||
"type": "typeform_other",
|
||||
"logo": "/api/app-store/typeform/icon-dark.svg",
|
||||
"logo": "icon-dark.svg",
|
||||
"url": "https://cal.com/apps/typeform",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -19,10 +19,7 @@ type LocationOption = {
|
|||
|
||||
const ALL_APPS_MAP = Object.keys(appStoreMetadata).reduce((store, key) => {
|
||||
const metadata = appStoreMetadata[key as keyof typeof appStoreMetadata] as AppMeta;
|
||||
if (metadata.logo && !metadata.logo.includes("/")) {
|
||||
const appDirName = `${metadata.isTemplate ? "templates" : ""}/${metadata.slug}`;
|
||||
metadata.logo = `/api/app-store/${appDirName}/${metadata.logo}`;
|
||||
}
|
||||
|
||||
store[key] = metadata;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
description: The world's fastest calendar, beautifully designed for a remote world
|
||||
items:
|
||||
- /api/app-store/vimcal/1.gif
|
||||
- /api/app-store/vimcal/2.gif
|
||||
- /api/app-store/vimcal/3.gif
|
||||
- /api/app-store/vimcal/4.gif
|
||||
- 1.gif
|
||||
- 2.gif
|
||||
- 3.gif
|
||||
- 4.gif
|
||||
---
|
||||
|
||||
The world's fastest calendar, beautifully designed for a remote world
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Vimcal",
|
||||
"slug": "vimcal",
|
||||
"type": "vimcal_other",
|
||||
"imageSrc": "/api/app-store/vimcal/icon.svg",
|
||||
"logo": "/api/app-store/vimcal/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/vimcal",
|
||||
"variant": "other",
|
||||
"categories": ["calendar"],
|
||||
|
|
|
@ -8,9 +8,7 @@ export const metadata = {
|
|||
installed: true,
|
||||
category: "other",
|
||||
categories: ["other"],
|
||||
// If using static next public folder, can then be referenced from the base URL (/).
|
||||
imageSrc: "/api/app-store/vital/icon.svg",
|
||||
logo: "/api/app-store/vital/icon.svg",
|
||||
logo: "icon.svg",
|
||||
label: "Vital",
|
||||
publisher: "Vital",
|
||||
slug: "vital-automation",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/weather_in_your_calendar/1.jpeg
|
||||
- /api/app-store/weather_in_your_calendar/2.jpeg
|
||||
- 1.jpeg
|
||||
- 2.jpeg
|
||||
---
|
||||
|
||||
You can now get the weather forecast directly into your calendar. This local weather calendar uses emojis ⛅️ 🌧️ ☀️ 🌨️ to display a 16 days forecast from OpenWeatherMap. Enter your city, adjust according to your preferences and subscribe to your calendar.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Weather in your Calendar",
|
||||
"slug": "weather_in_your_calendar",
|
||||
"type": "weather_in_your_calendar_other",
|
||||
"imageSrc": "/api/app-store/weather_in_your_calendar/icon.gif",
|
||||
"logo": "/api/app-store/weather_in_your_calendar/icon.gif",
|
||||
"logo": "icon.gif",
|
||||
"url": "https://weather-in-calendar.com",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/whatsapp/1.jpg
|
||||
- /api/app-store/whatsapp/2.jpg
|
||||
- /api/app-store/whatsapp/3.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
---
|
||||
|
||||
Schedule a chat with your guests or have a WhatsApp Video call.
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "WhatsApp",
|
||||
"slug": "whatsapp",
|
||||
"type": "whatsapp_video",
|
||||
"imageSrc": "/api/app-store/whatsapp/icon.svg",
|
||||
"logo": "/api/app-store/whatsapp/icon.svg",
|
||||
"logo": "icon.svg",
|
||||
"url": "https://cal.com/apps/whatsapp",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/whereby/whereby1.webp
|
||||
- /api/app-store/whereby/whereby2.webp
|
||||
- whereby1.webp
|
||||
- whereby2.webp
|
||||
---
|
||||
|
||||
Whereby's the easiest way to connect over video – with no app or software download required. Connect with anyone, anywhere with zero hassle.
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
"title": "Whereby",
|
||||
"slug": "whereby",
|
||||
"type": "whereby_video",
|
||||
"imageSrc": "/api/app-store/whereby/icon-dark.svg",
|
||||
"logo": "/api/app-store/whereby/icon-dark.svg",
|
||||
"logo": "icon-dark.svg",
|
||||
"url": "https://cal.com/apps/whereby",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/wipemycalother/1.jpg
|
||||
- 1.jpg
|
||||
---
|
||||
|
||||
<iframe class="w-full aspect-video" width="560" height="315" src="https://www.youtube.com/embed/lPO6SAjkKrQ?start=235" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
|
|
@ -9,8 +9,7 @@ export const metadata = {
|
|||
category: "other",
|
||||
categories: ["other"],
|
||||
// If using static next public folder, can then be referenced from the base URL (/).
|
||||
imageSrc: "/api/app-store/wipemycalother/icon-dark.svg",
|
||||
logo: "/api/app-store/wipemycalother/icon-dark.svg",
|
||||
logo: "icon-dark.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "wipe-my-cal",
|
||||
title: "Wipe my cal",
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
"name": "Wordpress",
|
||||
"slug": "wordpress",
|
||||
"type": "wordpress_other",
|
||||
"imageSrc": "/api/app-store/wordpress/icon-dark.svg",
|
||||
"logo": "/api/app-store/wordpress/icon-dark.svg",
|
||||
"logo": "icon-dark.svg",
|
||||
"url": "https://github.com/calcom/wp-plugin",
|
||||
"variant": "other",
|
||||
"categories": ["other"],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/zapier/1.jpg
|
||||
- /api/app-store/zapier/2.jpg
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
---
|
||||
|
||||
Workflow automation for everyone. Use the Cal.com Zapier app to automate your workflows when a booking is created, rescheduled, cancelled or when a meeting ended.<br /><br />**After Installation:** Have you lost your API key? You can always generate a new key on the <a href="/apps/zapier/setup">**<ins>Zapier Setup Page</ins>**</a>
|
||||
|
|
|
@ -8,8 +8,7 @@ export const metadata = {
|
|||
installed: true,
|
||||
category: "automation",
|
||||
categories: ["automation"],
|
||||
imageSrc: "/api/app-store/zapier/icon.svg",
|
||||
logo: "/api/app-store/zapier/icon.svg",
|
||||
logo: "icon.svg",
|
||||
publisher: "Cal.com",
|
||||
slug: "zapier",
|
||||
title: "Zapier",
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
"name": "ZohoCRM",
|
||||
"slug": "zohocrm",
|
||||
"type": "zohocrm_other_calendar",
|
||||
"imageSrc": "icon.png",
|
||||
"logo": "icon.png",
|
||||
"url": "https://cal.com/apps/zohocrm",
|
||||
"variant": "other",
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
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
|
||||
- zoom1.jpg
|
||||
- zoom2.png
|
||||
- zoom3.png
|
||||
- zoom4.png
|
||||
- zoom5.jpg
|
||||
- zoom6.png
|
||||
- zoom7.png
|
||||
---
|
||||
|
||||
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.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user