diff --git a/apps/web/pages/apps/[slug]/index.tsx b/apps/web/pages/apps/[slug]/index.tsx index adc35ee727..c961f547e2 100644 --- a/apps/web/pages/apps/[slug]/index.tsx +++ b/apps/web/pages/apps/[slug]/index.tsx @@ -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; }); diff --git a/packages/app-store/_appRegistry.ts b/packages/app-store/_appRegistry.ts index 7b76150770..b8b979d3cf 100644 --- a/packages/app-store/_appRegistry.ts +++ b/packages/app-store/_appRegistry.ts @@ -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; } diff --git a/packages/app-store/amie/DESCRIPTION.md b/packages/app-store/amie/DESCRIPTION.md index 011c2862b2..7ff45b2441 100644 --- a/packages/app-store/amie/DESCRIPTION.md +++ b/packages/app-store/amie/DESCRIPTION.md @@ -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 --- diff --git a/packages/app-store/amie/config.json b/packages/app-store/amie/config.json index b83e145802..cd7c7d06b9 100644 --- a/packages/app-store/amie/config.json +++ b/packages/app-store/amie/config.json @@ -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"], diff --git a/packages/app-store/appStoreMetaData.ts b/packages/app-store/appStoreMetaData.ts index 2b7ba7f5be..9410aa54d2 100644 --- a/packages/app-store/appStoreMetaData.ts +++ b/packages/app-store/appStoreMetaData.ts @@ -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, + }); } diff --git a/packages/app-store/applecalendar/DESCRIPTION.md b/packages/app-store/applecalendar/DESCRIPTION.md index 1c099aa437..f6aeb217b3 100644 --- a/packages/app-store/applecalendar/DESCRIPTION.md +++ b/packages/app-store/applecalendar/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/applecalendar/_metadata.ts b/packages/app-store/applecalendar/_metadata.ts index 040610b547..1b468204a3 100644 --- a/packages/app-store/applecalendar/_metadata.ts +++ b/packages/app-store/applecalendar/_metadata.ts @@ -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/", diff --git a/packages/app-store/around/DESCRIPTION.md b/packages/app-store/around/DESCRIPTION.md index c03182bf88..b3be801ef9 100644 --- a/packages/app-store/around/DESCRIPTION.md +++ b/packages/app-store/around/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/around/config.json b/packages/app-store/around/config.json index e695ea9590..f678b8f317 100644 --- a/packages/app-store/around/config.json +++ b/packages/app-store/around/config.json @@ -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"], diff --git a/packages/app-store/caldavcalendar/DESCRIPTION.md b/packages/app-store/caldavcalendar/DESCRIPTION.md index 39f9e1c4cd..eac279edb7 100644 --- a/packages/app-store/caldavcalendar/DESCRIPTION.md +++ b/packages/app-store/caldavcalendar/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/caldavcalendar/_metadata.ts b/packages/app-store/caldavcalendar/_metadata.ts index 0f922c88c8..e342f74fb2 100644 --- a/packages/app-store/caldavcalendar/_metadata.ts +++ b/packages/app-store/caldavcalendar/_metadata.ts @@ -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; diff --git a/packages/app-store/caldavcalendar/index.ts b/packages/app-store/caldavcalendar/index.ts index 3ddb10e2a6..6520415a87 100644 --- a/packages/app-store/caldavcalendar/index.ts +++ b/packages/app-store/caldavcalendar/index.ts @@ -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/", diff --git a/packages/app-store/campfire/DESCRIPTION.md b/packages/app-store/campfire/DESCRIPTION.md index f69dd985ac..fd2d5ec7ea 100644 --- a/packages/app-store/campfire/DESCRIPTION.md +++ b/packages/app-store/campfire/DESCRIPTION.md @@ -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 --- - ## Feel connected with your remote team diff --git a/packages/app-store/campfire/config.json b/packages/app-store/campfire/config.json index 74e3ef32ce..54b32fa9a8 100644 --- a/packages/app-store/campfire/config.json +++ b/packages/app-store/campfire/config.json @@ -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"], diff --git a/packages/app-store/closecom/DESCRIPTION.md b/packages/app-store/closecom/DESCRIPTION.md index c1839449e1..c43c69d6bb 100644 --- a/packages/app-store/closecom/DESCRIPTION.md +++ b/packages/app-store/closecom/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/closecom/config.json b/packages/app-store/closecom/config.json index 169a365efb..dba31259e2 100644 --- a/packages/app-store/closecom/config.json +++ b/packages/app-store/closecom/config.json @@ -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"], diff --git a/packages/app-store/cron/config.json b/packages/app-store/cron/config.json index 433dc1b734..955e73e41b 100644 --- a/packages/app-store/cron/config.json +++ b/packages/app-store/cron/config.json @@ -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", diff --git a/packages/app-store/dailyvideo/DESCRIPTION.md b/packages/app-store/dailyvideo/DESCRIPTION.md index 05a0ee7968..60770a48d3 100644 --- a/packages/app-store/dailyvideo/DESCRIPTION.md +++ b/packages/app-store/dailyvideo/DESCRIPTION.md @@ -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** diff --git a/packages/app-store/dailyvideo/_metadata.ts b/packages/app-store/dailyvideo/_metadata.ts index 19a90acf29..7af67924a3 100644 --- a/packages/app-store/dailyvideo/_metadata.ts +++ b/packages/app-store/dailyvideo/_metadata.ts @@ -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", diff --git a/packages/app-store/discord/config.json b/packages/app-store/discord/config.json index 0e3931a684..682593c46b 100644 --- a/packages/app-store/discord/config.json +++ b/packages/app-store/discord/config.json @@ -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"], diff --git a/packages/app-store/exchange2013calendar/_metadata.ts b/packages/app-store/exchange2013calendar/_metadata.ts index 9ed4a3e108..3d7c0734af 100644 --- a/packages/app-store/exchange2013calendar/_metadata.ts +++ b/packages/app-store/exchange2013calendar/_metadata.ts @@ -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/", diff --git a/packages/app-store/exchange2016calendar/_metadata.ts b/packages/app-store/exchange2016calendar/_metadata.ts index a0e50eeba5..138b5e5442 100644 --- a/packages/app-store/exchange2016calendar/_metadata.ts +++ b/packages/app-store/exchange2016calendar/_metadata.ts @@ -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/", diff --git a/packages/app-store/exchangecalendar/config.json b/packages/app-store/exchangecalendar/config.json index 934899c856..d49c3e4de5 100644 --- a/packages/app-store/exchangecalendar/config.json +++ b/packages/app-store/exchangecalendar/config.json @@ -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"], diff --git a/packages/app-store/facetime/DESCRIPTION.md b/packages/app-store/facetime/DESCRIPTION.md index 6dbf65a2d2..ab2e873c43 100644 --- a/packages/app-store/facetime/DESCRIPTION.md +++ b/packages/app-store/facetime/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/facetime/config.json b/packages/app-store/facetime/config.json index d652a24519..671999675c 100644 --- a/packages/app-store/facetime/config.json +++ b/packages/app-store/facetime/config.json @@ -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"], diff --git a/packages/app-store/fathom/DESCRIPTION.md b/packages/app-store/fathom/DESCRIPTION.md index 3e16d4a3db..3c9100d054 100644 --- a/packages/app-store/fathom/DESCRIPTION.md +++ b/packages/app-store/fathom/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/fathom/config.json b/packages/app-store/fathom/config.json index 435053f0f9..cf60fdfea1 100644 --- a/packages/app-store/fathom/config.json +++ b/packages/app-store/fathom/config.json @@ -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"], diff --git a/packages/app-store/ga4/DESCRIPTION.md b/packages/app-store/ga4/DESCRIPTION.md index a2d034ac15..ece4528ab3 100644 --- a/packages/app-store/ga4/DESCRIPTION.md +++ b/packages/app-store/ga4/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/ga4/config.json b/packages/app-store/ga4/config.json index 1e8d2bc78b..b0bdb496d5 100644 --- a/packages/app-store/ga4/config.json +++ b/packages/app-store/ga4/config.json @@ -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"], diff --git a/packages/app-store/getAppAssetFullPath.ts b/packages/app-store/getAppAssetFullPath.ts new file mode 100644 index 0000000000..5f1a98afec --- /dev/null +++ b/packages/app-store/getAppAssetFullPath.ts @@ -0,0 +1,10 @@ +import type { App } from "@calcom/types/App"; + +export function getAppAssetFullPath(assetPath: string, metadata: Pick) { + 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; +} diff --git a/packages/app-store/giphy/DESCRIPTION.md b/packages/app-store/giphy/DESCRIPTION.md index d06290ee24..8a652c93bd 100644 --- a/packages/app-store/giphy/DESCRIPTION.md +++ b/packages/app-store/giphy/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/giphy/_metadata.ts b/packages/app-store/giphy/_metadata.ts index ff99e7e1ad..050f4ab234 100644 --- a/packages/app-store/giphy/_metadata.ts +++ b/packages/app-store/giphy/_metadata.ts @@ -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", diff --git a/packages/app-store/googlecalendar/DESCRIPTION.md b/packages/app-store/googlecalendar/DESCRIPTION.md index 4723093520..d7e903b593 100644 --- a/packages/app-store/googlecalendar/DESCRIPTION.md +++ b/packages/app-store/googlecalendar/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/googlecalendar/_metadata.ts b/packages/app-store/googlecalendar/_metadata.ts index d17a4fc05f..dbdb831035 100644 --- a/packages/app-store/googlecalendar/_metadata.ts +++ b/packages/app-store/googlecalendar/_metadata.ts @@ -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/", diff --git a/packages/app-store/googlevideo/DESCRIPTION.md b/packages/app-store/googlevideo/DESCRIPTION.md index b0abb0e118..bec0b02fa5 100644 --- a/packages/app-store/googlevideo/DESCRIPTION.md +++ b/packages/app-store/googlevideo/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/googlevideo/_metadata.ts b/packages/app-store/googlevideo/_metadata.ts index 4e5d68232c..69f296fd49 100644 --- a/packages/app-store/googlevideo/_metadata.ts +++ b/packages/app-store/googlevideo/_metadata.ts @@ -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, diff --git a/packages/app-store/gtm/config.json b/packages/app-store/gtm/config.json index 8560bf05fc..c691e6f7ef 100644 --- a/packages/app-store/gtm/config.json +++ b/packages/app-store/gtm/config.json @@ -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", diff --git a/packages/app-store/hubspot/DESCRIPTION.md b/packages/app-store/hubspot/DESCRIPTION.md index a1e911fac1..12c3d18c1e 100644 --- a/packages/app-store/hubspot/DESCRIPTION.md +++ b/packages/app-store/hubspot/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/hubspot/_metadata.ts b/packages/app-store/hubspot/_metadata.ts index 5989134667..2f27976d4a 100644 --- a/packages/app-store/hubspot/_metadata.ts +++ b/packages/app-store/hubspot/_metadata.ts @@ -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"], diff --git a/packages/app-store/huddle01video/DESCRIPTION.md b/packages/app-store/huddle01video/DESCRIPTION.md index ea51ab64a8..bc4d1aa798 100644 --- a/packages/app-store/huddle01video/DESCRIPTION.md +++ b/packages/app-store/huddle01video/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/huddle01video/_metadata.ts b/packages/app-store/huddle01video/_metadata.ts index 59a1530fc5..1b8399b4bc 100644 --- a/packages/app-store/huddle01video/_metadata.ts +++ b/packages/app-store/huddle01video/_metadata.ts @@ -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", diff --git a/packages/app-store/jitsivideo/DESCRIPTION.md b/packages/app-store/jitsivideo/DESCRIPTION.md index 3e3869302b..ee6231b3bb 100644 --- a/packages/app-store/jitsivideo/DESCRIPTION.md +++ b/packages/app-store/jitsivideo/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/jitsivideo/_metadata.ts b/packages/app-store/jitsivideo/_metadata.ts index a47c0add14..1e08501c04 100644 --- a/packages/app-store/jitsivideo/_metadata.ts +++ b/packages/app-store/jitsivideo/_metadata.ts @@ -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", diff --git a/packages/app-store/larkcalendar/DESCRIPTION.md b/packages/app-store/larkcalendar/DESCRIPTION.md index 46c310275d..d0a7a8785d 100644 --- a/packages/app-store/larkcalendar/DESCRIPTION.md +++ b/packages/app-store/larkcalendar/DESCRIPTION.md @@ -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 --- diff --git a/packages/app-store/larkcalendar/_metadata.ts b/packages/app-store/larkcalendar/_metadata.ts index 3f4ee077ed..050e2ed7d8 100644 --- a/packages/app-store/larkcalendar/_metadata.ts +++ b/packages/app-store/larkcalendar/_metadata.ts @@ -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/", diff --git a/packages/app-store/n8n/DESCRIPTION.md b/packages/app-store/n8n/DESCRIPTION.md index a10f1ba537..fe467ed651 100644 --- a/packages/app-store/n8n/DESCRIPTION.md +++ b/packages/app-store/n8n/DESCRIPTION.md @@ -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 --- diff --git a/packages/app-store/n8n/config.json b/packages/app-store/n8n/config.json index 5f929129d7..6fbee1ccfd 100644 --- a/packages/app-store/n8n/config.json +++ b/packages/app-store/n8n/config.json @@ -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"], diff --git a/packages/app-store/office365calendar/DESCRIPTION.md b/packages/app-store/office365calendar/DESCRIPTION.md index 3cb2959012..08425303af 100644 --- a/packages/app-store/office365calendar/DESCRIPTION.md +++ b/packages/app-store/office365calendar/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/office365calendar/_metadata.ts b/packages/app-store/office365calendar/_metadata.ts index 9ef8774e3d..6389322c54 100644 --- a/packages/app-store/office365calendar/_metadata.ts +++ b/packages/app-store/office365calendar/_metadata.ts @@ -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; diff --git a/packages/app-store/office365video/DESCRIPTION.md b/packages/app-store/office365video/DESCRIPTION.md index cb880bdf98..1c06d3ab8e 100644 --- a/packages/app-store/office365video/DESCRIPTION.md +++ b/packages/app-store/office365video/DESCRIPTION.md @@ -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 diff --git a/packages/app-store/office365video/config.json b/packages/app-store/office365video/config.json index 6f0ba838e3..7e7c1d39ca 100644 --- a/packages/app-store/office365video/config.json +++ b/packages/app-store/office365video/config.json @@ -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, diff --git a/packages/app-store/ping/DESCRIPTION.md b/packages/app-store/ping/DESCRIPTION.md index 5048413745..a35949a7ab 100644 --- a/packages/app-store/ping/DESCRIPTION.md +++ b/packages/app-store/ping/DESCRIPTION.md @@ -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 diff --git a/packages/app-store/ping/config.json b/packages/app-store/ping/config.json index a199ec7896..65902d169f 100644 --- a/packages/app-store/ping/config.json +++ b/packages/app-store/ping/config.json @@ -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"], diff --git a/packages/app-store/pipedream/DESCRIPTION.md b/packages/app-store/pipedream/DESCRIPTION.md index f67ef0996b..6ceb82886d 100644 --- a/packages/app-store/pipedream/DESCRIPTION.md +++ b/packages/app-store/pipedream/DESCRIPTION.md @@ -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 diff --git a/packages/app-store/pipedream/config.json b/packages/app-store/pipedream/config.json index a696fa49d1..37fa14a103 100644 --- a/packages/app-store/pipedream/config.json +++ b/packages/app-store/pipedream/config.json @@ -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"], diff --git a/packages/app-store/plausible/DESCRIPTION.md b/packages/app-store/plausible/DESCRIPTION.md index b69e4ce790..969505ea11 100644 --- a/packages/app-store/plausible/DESCRIPTION.md +++ b/packages/app-store/plausible/DESCRIPTION.md @@ -1,6 +1,6 @@ --- items: - - /api/app-store/plausible/1.jpg + - 1.jpg --- Simple, privacy-friendly Google Analytics alternative. diff --git a/packages/app-store/plausible/config.json b/packages/app-store/plausible/config.json index e46024e0f1..5e41e7eb08 100644 --- a/packages/app-store/plausible/config.json +++ b/packages/app-store/plausible/config.json @@ -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"], diff --git a/packages/app-store/qr_code/config.json b/packages/app-store/qr_code/config.json index 1237f6e180..27d32efdba 100644 --- a/packages/app-store/qr_code/config.json +++ b/packages/app-store/qr_code/config.json @@ -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"], diff --git a/packages/app-store/rainbow/DESCRIPTION.md b/packages/app-store/rainbow/DESCRIPTION.md index cde42e0c27..280c348bed 100644 --- a/packages/app-store/rainbow/DESCRIPTION.md +++ b/packages/app-store/rainbow/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/rainbow/config.json b/packages/app-store/rainbow/config.json index e103185e3b..c02784d3d2 100644 --- a/packages/app-store/rainbow/config.json +++ b/packages/app-store/rainbow/config.json @@ -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"], diff --git a/packages/app-store/raycast/DESCRIPTION.md b/packages/app-store/raycast/DESCRIPTION.md index a53617800c..db35b56d2b 100644 --- a/packages/app-store/raycast/DESCRIPTION.md +++ b/packages/app-store/raycast/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/raycast/config.json b/packages/app-store/raycast/config.json index 2a4205df77..7cf2906ee3 100644 --- a/packages/app-store/raycast/config.json +++ b/packages/app-store/raycast/config.json @@ -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"], diff --git a/packages/app-store/riverside/DESCRIPTION.md b/packages/app-store/riverside/DESCRIPTION.md index aaa4e29f03..09f1d23a9a 100644 --- a/packages/app-store/riverside/DESCRIPTION.md +++ b/packages/app-store/riverside/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/riverside/config.json b/packages/app-store/riverside/config.json index 957242e2cf..f32a84d95b 100644 --- a/packages/app-store/riverside/config.json +++ b/packages/app-store/riverside/config.json @@ -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"], diff --git a/packages/app-store/routing-forms/DESCRIPTION.md b/packages/app-store/routing-forms/DESCRIPTION.md index 4970fa3f01..6084b58176 100644 --- a/packages/app-store/routing-forms/DESCRIPTION.md +++ b/packages/app-store/routing-forms/DESCRIPTION.md @@ -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 diff --git a/packages/app-store/routing-forms/config.json b/packages/app-store/routing-forms/config.json index 01335feb13..a5dbf1fb39 100644 --- a/packages/app-store/routing-forms/config.json +++ b/packages/app-store/routing-forms/config.json @@ -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"], diff --git a/packages/app-store/salesforce/DESCRIPTION.md b/packages/app-store/salesforce/DESCRIPTION.md index 661e418310..618966cb39 100644 --- a/packages/app-store/salesforce/DESCRIPTION.md +++ b/packages/app-store/salesforce/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/salesforce/config.json b/packages/app-store/salesforce/config.json index 855f1166df..31a93fc0f5 100644 --- a/packages/app-store/salesforce/config.json +++ b/packages/app-store/salesforce/config.json @@ -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"], diff --git a/packages/app-store/sendgrid/DESCRIPTION.md b/packages/app-store/sendgrid/DESCRIPTION.md index c434583c32..6358c2dfb6 100644 --- a/packages/app-store/sendgrid/DESCRIPTION.md +++ b/packages/app-store/sendgrid/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/sendgrid/config.json b/packages/app-store/sendgrid/config.json index 3dc3936858..a224a85480 100644 --- a/packages/app-store/sendgrid/config.json +++ b/packages/app-store/sendgrid/config.json @@ -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"], diff --git a/packages/app-store/signal/DESCRIPTION.md b/packages/app-store/signal/DESCRIPTION.md index 4a9026d2ab..c76f5b09b7 100644 --- a/packages/app-store/signal/DESCRIPTION.md +++ b/packages/app-store/signal/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/signal/config.json b/packages/app-store/signal/config.json index 4b1cdd2621..087dab979e 100644 --- a/packages/app-store/signal/config.json +++ b/packages/app-store/signal/config.json @@ -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"], diff --git a/packages/app-store/sirius_video/DESCRIPTION.md b/packages/app-store/sirius_video/DESCRIPTION.md index e03b1ffad3..36399b2e97 100644 --- a/packages/app-store/sirius_video/DESCRIPTION.md +++ b/packages/app-store/sirius_video/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/sirius_video/config.json b/packages/app-store/sirius_video/config.json index 120add1178..4a4ef0c734 100644 --- a/packages/app-store/sirius_video/config.json +++ b/packages/app-store/sirius_video/config.json @@ -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"], diff --git a/packages/app-store/stripepayment/DESCRIPTION.md b/packages/app-store/stripepayment/DESCRIPTION.md index 8a30ef11a3..90744b9ab7 100644 --- a/packages/app-store/stripepayment/DESCRIPTION.md +++ b/packages/app-store/stripepayment/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/stripepayment/_metadata.ts b/packages/app-store/stripepayment/_metadata.ts index 56b63a5ecf..26bd34023d 100644 --- a/packages/app-store/stripepayment/_metadata.ts +++ b/packages/app-store/stripepayment/_metadata.ts @@ -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", diff --git a/packages/app-store/sylapsvideo/config.json b/packages/app-store/sylapsvideo/config.json index 4e0f836aed..e225795664 100644 --- a/packages/app-store/sylapsvideo/config.json +++ b/packages/app-store/sylapsvideo/config.json @@ -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", diff --git a/packages/app-store/tandemvideo/DESCRIPTION.md b/packages/app-store/tandemvideo/DESCRIPTION.md index 57a2496663..02e76e2e49 100644 --- a/packages/app-store/tandemvideo/DESCRIPTION.md +++ b/packages/app-store/tandemvideo/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/tandemvideo/_metadata.ts b/packages/app-store/tandemvideo/_metadata.ts index 42d484b3a9..592a96c832 100644 --- a/packages/app-store/tandemvideo/_metadata.ts +++ b/packages/app-store/tandemvideo/_metadata.ts @@ -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, diff --git a/packages/app-store/telegram/DESCRIPTION.md b/packages/app-store/telegram/DESCRIPTION.md index 3b5bed8492..89ec750b62 100644 --- a/packages/app-store/telegram/DESCRIPTION.md +++ b/packages/app-store/telegram/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/telegram/config.json b/packages/app-store/telegram/config.json index e36861cf10..f30ce1e7a7 100644 --- a/packages/app-store/telegram/config.json +++ b/packages/app-store/telegram/config.json @@ -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"], diff --git a/packages/app-store/typeform/DESCRIPTION.md b/packages/app-store/typeform/DESCRIPTION.md index 611805bf88..c86c37777f 100644 --- a/packages/app-store/typeform/DESCRIPTION.md +++ b/packages/app-store/typeform/DESCRIPTION.md @@ -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 --- diff --git a/packages/app-store/typeform/config.json b/packages/app-store/typeform/config.json index 878d9c1dff..4dd2467ad4 100644 --- a/packages/app-store/typeform/config.json +++ b/packages/app-store/typeform/config.json @@ -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"], diff --git a/packages/app-store/utils.ts b/packages/app-store/utils.ts index 9b488d77b4..13fc9aa106 100644 --- a/packages/app-store/utils.ts +++ b/packages/app-store/utils.ts @@ -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 diff --git a/packages/app-store/vimcal/DESCRIPTION.md b/packages/app-store/vimcal/DESCRIPTION.md index a030749cee..904334627b 100644 --- a/packages/app-store/vimcal/DESCRIPTION.md +++ b/packages/app-store/vimcal/DESCRIPTION.md @@ -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 diff --git a/packages/app-store/vimcal/config.json b/packages/app-store/vimcal/config.json index be6ae60f88..96c9d9ac7b 100644 --- a/packages/app-store/vimcal/config.json +++ b/packages/app-store/vimcal/config.json @@ -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"], diff --git a/packages/app-store/vital/_metadata.ts b/packages/app-store/vital/_metadata.ts index dbbec335d3..b1b48d2323 100644 --- a/packages/app-store/vital/_metadata.ts +++ b/packages/app-store/vital/_metadata.ts @@ -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", diff --git a/packages/app-store/weather_in_your_calendar/DESCRIPTION.md b/packages/app-store/weather_in_your_calendar/DESCRIPTION.md index 369ce84541..103c4af8bd 100644 --- a/packages/app-store/weather_in_your_calendar/DESCRIPTION.md +++ b/packages/app-store/weather_in_your_calendar/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/weather_in_your_calendar/config.json b/packages/app-store/weather_in_your_calendar/config.json index 4dbbc81f48..d5c58c7a1e 100644 --- a/packages/app-store/weather_in_your_calendar/config.json +++ b/packages/app-store/weather_in_your_calendar/config.json @@ -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"], diff --git a/packages/app-store/whatsapp/DESCRIPTION.md b/packages/app-store/whatsapp/DESCRIPTION.md index 88ee147287..2be3a36d86 100644 --- a/packages/app-store/whatsapp/DESCRIPTION.md +++ b/packages/app-store/whatsapp/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/whatsapp/config.json b/packages/app-store/whatsapp/config.json index 6ce34f58e5..7ac388cfd7 100644 --- a/packages/app-store/whatsapp/config.json +++ b/packages/app-store/whatsapp/config.json @@ -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"], diff --git a/packages/app-store/whereby/DESCRIPTION.md b/packages/app-store/whereby/DESCRIPTION.md index 5477309ffc..83e5a0f673 100644 --- a/packages/app-store/whereby/DESCRIPTION.md +++ b/packages/app-store/whereby/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/whereby/config.json b/packages/app-store/whereby/config.json index 959ae5ae8a..6607fada11 100644 --- a/packages/app-store/whereby/config.json +++ b/packages/app-store/whereby/config.json @@ -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"], diff --git a/packages/app-store/wipemycalother/DESCRIPTION.md b/packages/app-store/wipemycalother/DESCRIPTION.md index c3ca9dd669..0fda815978 100644 --- a/packages/app-store/wipemycalother/DESCRIPTION.md +++ b/packages/app-store/wipemycalother/DESCRIPTION.md @@ -1,6 +1,6 @@ --- items: - - /api/app-store/wipemycalother/1.jpg + - 1.jpg --- diff --git a/packages/app-store/wipemycalother/_metadata.ts b/packages/app-store/wipemycalother/_metadata.ts index 7b90892398..0e06bb5623 100644 --- a/packages/app-store/wipemycalother/_metadata.ts +++ b/packages/app-store/wipemycalother/_metadata.ts @@ -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", diff --git a/packages/app-store/wordpress/config.json b/packages/app-store/wordpress/config.json index fd93647e00..260e7411a0 100644 --- a/packages/app-store/wordpress/config.json +++ b/packages/app-store/wordpress/config.json @@ -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"], diff --git a/packages/app-store/zapier/DESCRIPTION.md b/packages/app-store/zapier/DESCRIPTION.md index 785dc7359c..3b72a1c123 100644 --- a/packages/app-store/zapier/DESCRIPTION.md +++ b/packages/app-store/zapier/DESCRIPTION.md @@ -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.

**After Installation:** Have you lost your API key? You can always generate a new key on the **Zapier Setup Page** diff --git a/packages/app-store/zapier/_metadata.ts b/packages/app-store/zapier/_metadata.ts index df2d6685ce..26b50fb9d2 100644 --- a/packages/app-store/zapier/_metadata.ts +++ b/packages/app-store/zapier/_metadata.ts @@ -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", diff --git a/packages/app-store/zohocrm/config.json b/packages/app-store/zohocrm/config.json index 47b58439af..d369cbf03e 100644 --- a/packages/app-store/zohocrm/config.json +++ b/packages/app-store/zohocrm/config.json @@ -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", diff --git a/packages/app-store/zoomvideo/DESCRIPTION.md b/packages/app-store/zoomvideo/DESCRIPTION.md index 9d5bb6e301..9e27b4c7e3 100644 --- a/packages/app-store/zoomvideo/DESCRIPTION.md +++ b/packages/app-store/zoomvideo/DESCRIPTION.md @@ -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. diff --git a/packages/app-store/zoomvideo/_metadata.ts b/packages/app-store/zoomvideo/_metadata.ts index 8819c88e67..15956ccb6c 100644 --- a/packages/app-store/zoomvideo/_metadata.ts +++ b/packages/app-store/zoomvideo/_metadata.ts @@ -8,9 +8,8 @@ export const metadata = { description: _package.description, type: "zoom_video", categories: ["video"], - imageSrc: "/api/app-store/zoomvideo/icon.svg", variant: "conferencing", - logo: "/api/app-store/zoomvideo/icon.svg", + logo: "icon.svg", publisher: "Cal.com", url: "https://zoom.us/", category: "video", diff --git a/packages/types/App.d.ts b/packages/types/App.d.ts index c5f36726e4..6697345596 100644 --- a/packages/types/App.d.ts +++ b/packages/types/App.d.ts @@ -68,11 +68,6 @@ export interface App { name: string; /** A brief description, usually found in the app's package.json */ description: string; - /** - * @deprecated logo is used instead - * The icon to display in /apps/installed - */ - imageSrc?: string; /** TODO determine if we should use this instead of category */ variant: | "calendar" diff --git a/packages/ui/components/apps/_storybookData.ts b/packages/ui/components/apps/_storybookData.ts index d0af1640db..e0e2b5e301 100644 --- a/packages/ui/components/apps/_storybookData.ts +++ b/packages/ui/components/apps/_storybookData.ts @@ -7,7 +7,6 @@ export const _SBApps: App[] = [ installed: true, type: "google_calendar", title: "Google Calendar", - imageSrc: "/api/app-store/googlecalendar/icon.svg", variant: "calendar", category: "calendar", categories: ["calendar"], @@ -23,7 +22,6 @@ export const _SBApps: App[] = [ description: "Zoom Video", type: "zoom_video", categories: ["video"], - imageSrc: "/api/app-store/zoomvideo/icon.svg", variant: "conferencing", logo: "/api/app-store/zoomvideo/icon.svg", publisher: "Cal.com",