feat(app-store): add facetime app to app-store (#7174)
* feat(app-store): add facetime app to app-store Add the facetime app to the app-store allowing for facetime web links and facetime app link schemes. fixes #6965 * Update packages/app-store/facetime/config.json * Remove unneeded files and make app follow the new app rules * fix(app-store): update facetime app config Update the regex and placeholder for the facetime app to reflect the decisions to only accept https://facetime.apple.com links. This was decided as it means that all participants can join a meeting even in the event that they don't have an Apple device. --------- Co-authored-by: Peer Richelsen <peer@cal.com> Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>7198-cal-1112-wrong-link-in-enterprise-upgrade-screen
parent
af018f0e8b
commit
3c7fc85b34
|
@ -13,6 +13,7 @@ import routing_forms_config_json from "./ee/routing-forms/config.json";
|
|||
import { metadata as exchange2013calendar__metadata_ts } from "./exchange2013calendar/_metadata";
|
||||
import { metadata as exchange2016calendar__metadata_ts } from "./exchange2016calendar/_metadata";
|
||||
import exchangecalendar_config_json from "./exchangecalendar/config.json";
|
||||
import facetime_config_json from "./facetime/config.json";
|
||||
import fathom_config_json from "./fathom/config.json";
|
||||
import ga4_config_json from "./ga4/config.json";
|
||||
import { metadata as giphy__metadata_ts } from "./giphy/_metadata";
|
||||
|
@ -68,6 +69,7 @@ export const appStoreMetadata = {
|
|||
exchange2013calendar: exchange2013calendar__metadata_ts,
|
||||
exchange2016calendar: exchange2016calendar__metadata_ts,
|
||||
exchangecalendar: exchangecalendar_config_json,
|
||||
facetime: facetime_config_json,
|
||||
fathom: fathom_config_json,
|
||||
ga4: ga4_config_json,
|
||||
giphy: giphy__metadata_ts,
|
||||
|
|
|
@ -13,6 +13,7 @@ export const apiHandlers = {
|
|||
exchange2013calendar: import("./exchange2013calendar/api"),
|
||||
exchange2016calendar: import("./exchange2016calendar/api"),
|
||||
exchangecalendar: import("./exchangecalendar/api"),
|
||||
facetime: import("./facetime/api"),
|
||||
fathom: import("./fathom/api"),
|
||||
ga4: import("./ga4/api"),
|
||||
giphy: import("./giphy/api"),
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
items:
|
||||
- /api/app-store/facetime/facetime1.png
|
||||
- /api/app-store/facetime/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.
|
|
@ -0,0 +1,16 @@
|
|||
import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
|
||||
|
||||
import { createDefaultInstallation } from "../../_utils/installation";
|
||||
import appConfig from "../config.json";
|
||||
|
||||
const handler: AppDeclarativeHandler = {
|
||||
appType: appConfig.type,
|
||||
variant: appConfig.variant,
|
||||
slug: appConfig.slug,
|
||||
supportsMultipleInstalls: false,
|
||||
handlerType: "add",
|
||||
createCredential: ({ appType, user, slug }) =>
|
||||
createDefaultInstallation({ appType, userId: user.id, slug, key: {} }),
|
||||
};
|
||||
|
||||
export default handler;
|
|
@ -0,0 +1 @@
|
|||
export { default as add } from "./add";
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"/*": "Don't modify slug - If required, do it using cli edit command",
|
||||
"name": "Facetime",
|
||||
"title": "Facetime",
|
||||
"slug": "facetime",
|
||||
"type": "facetime_video",
|
||||
"imageSrc": "/api/app-store/facetime/icon.svg",
|
||||
"logo": "/api/app-store/facetime/icon.svg",
|
||||
"url": "https://cal.com/apps/facetime",
|
||||
"variant": "conferencing",
|
||||
"categories": ["video"],
|
||||
"publisher": "Mythie",
|
||||
"email": "help@cal.com",
|
||||
"description": "Facetime makes it super simple for collaborating teams to jump on a video call.",
|
||||
"__createdUsingCli": true,
|
||||
"appData": {
|
||||
"location": {
|
||||
"linkType": "static",
|
||||
"type": "integrations:facetime_video",
|
||||
"label": "Facetime",
|
||||
"organizerInputPlaceholder": "https://facetime.apple.com/join... link copied from the FaceTime app",
|
||||
"urlRegExp": "^https?:\\/\\/facetime\\.apple\\.com\\/join.+$"
|
||||
}
|
||||
},
|
||||
"isTemplate": false
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
export * as api from "./api";
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"$schema": "https://json.schemastore.org/package.json",
|
||||
"private": true,
|
||||
"name": "@calcom/facetime",
|
||||
"version": "0.0.0",
|
||||
"main": "./index.ts",
|
||||
"description": "Facetime makes it super simple for collaborating teams to jump on a video call.",
|
||||
"dependencies": {
|
||||
"@calcom/lib": "*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@calcom/types": "*"
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 510 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
|
@ -0,0 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 600 600">
|
||||
<linearGradient id="a" x1="-137.5424" x2="-133.9618" y1="785.878" y2="197.7213" gradientTransform="matrix(1 0 0 -1 435.7924 798.4074)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#5df777"/>
|
||||
<stop offset="1" stop-color="#0abc28"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#a)" d="M137.7 0h324.6C538.6 0 600 61.4 600 137.7v324.6c0 76.3-61.4 137.7-137.7 137.7H137.7C61.4 600 0 538.6 0 462.3V137.7C0 61.4 61.4 0 137.7 0z"/>
|
||||
<path fill="#fff" d="M91.5 227.3v146.1c0 31.9 25.9 57.7 57.7 57.7H325c31.9 0 57.7-25.9 57.7-57.7V227.3c0-31.9-25.9-57.7-57.7-57.7H149.3c-31.9-.1-57.8 25.8-57.8 57.7zm379.3-39.1-66.2 54.6c-5.9 4.9-9.3 12.1-9.3 19.7v75.6c0 7.6 3.3 14.7 9.1 19.6l66.2 55.6c15.1 12.6 38 1.9 38-17.7V206c.1-19.5-22.7-30.3-37.8-17.8z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 851 B |
|
@ -0,0 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 600 600">
|
||||
<linearGradient id="a" x1="-137.5424" x2="-133.9618" y1="785.878" y2="197.7213" gradientTransform="matrix(1 0 0 -1 435.7924 798.4074)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#5df777"/>
|
||||
<stop offset="1" stop-color="#0abc28"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#a)" d="M137.7 0h324.6C538.6 0 600 61.4 600 137.7v324.6c0 76.3-61.4 137.7-137.7 137.7H137.7C61.4 600 0 538.6 0 462.3V137.7C0 61.4 61.4 0 137.7 0z"/>
|
||||
<path fill="#fff" d="M91.5 227.3v146.1c0 31.9 25.9 57.7 57.7 57.7H325c31.9 0 57.7-25.9 57.7-57.7V227.3c0-31.9-25.9-57.7-57.7-57.7H149.3c-31.9-.1-57.8 25.8-57.8 57.7zm379.3-39.1-66.2 54.6c-5.9 4.9-9.3 12.1-9.3 19.7v75.6c0 7.6 3.3 14.7 9.1 19.6l66.2 55.6c15.1 12.6 38 1.9 38-17.7V206c.1-19.5-22.7-30.3-37.8-17.8z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 851 B |
|
@ -6,6 +6,7 @@ import * as dailyvideo from "./dailyvideo";
|
|||
import * as exchange2013calendar from "./exchange2013calendar";
|
||||
import * as exchange2016calendar from "./exchange2016calendar";
|
||||
import * as exchangecalendar from "./exchangecalendar";
|
||||
import * as facetime from "./facetime";
|
||||
import * as giphy from "./giphy";
|
||||
import * as googlecalendar from "./googlecalendar";
|
||||
import * as googlevideo from "./googlevideo";
|
||||
|
@ -52,6 +53,7 @@ const appStore = {
|
|||
exchange2013calendar,
|
||||
exchange2016calendar,
|
||||
exchangecalendar,
|
||||
facetime,
|
||||
};
|
||||
|
||||
export default appStore;
|
||||
|
|
|
@ -197,5 +197,12 @@
|
|||
"slug": "basic",
|
||||
"type": "basic_other",
|
||||
"isTemplate": true
|
||||
},
|
||||
{
|
||||
"dirName": "facetime",
|
||||
"categories": ["video"],
|
||||
"slug": "facetime",
|
||||
"type": "facetime_video",
|
||||
"isTemplate": false
|
||||
}
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue