diff --git a/packages/app-store/amie/README.mdx b/packages/app-store/amie/README.mdx new file mode 100644 index 0000000000..c2c1986343 --- /dev/null +++ b/packages/app-store/amie/README.mdx @@ -0,0 +1,18 @@ +--- +items: + - /api/app-store/amie/1.jpg + - /api/app-store/amie/2.jpg + - /api/app-store/amie/3.jpg +--- + + + +## The joyful productivity app + +- Use your calendar as a todo list +- Color your calendar to organize +- Instantly know if someone is available +- Track what you listened to when +- Send scheduling links guests love +- Always know what your team is up to + diff --git a/packages/app-store/amie/_metadata.ts b/packages/app-store/amie/_metadata.ts new file mode 100644 index 0000000000..9c7f2aa320 --- /dev/null +++ b/packages/app-store/amie/_metadata.ts @@ -0,0 +1,10 @@ +import type { AppMeta } from "@calcom/types/App"; + +import config from "./config.json"; + +export const metadata = { + category: "other", + ...config, +} as AppMeta; + +export default metadata; diff --git a/packages/app-store/amie/api/add.ts b/packages/app-store/amie/api/add.ts new file mode 100644 index 0000000000..3304d3dd57 --- /dev/null +++ b/packages/app-store/amie/api/add.ts @@ -0,0 +1,21 @@ +import { AppDeclarativeHandler } from "@calcom/types/AppHandler"; + +import { createDefaultInstallation } from "../../_utils/installation"; +import appConfig from "../config.json"; + +const handler: AppDeclarativeHandler = { + // Instead of passing appType and slug from here, api/integrations/[..args] should be able to derive and pass these directly to createCredential + appType: appConfig.type, + variant: appConfig.variant, + slug: appConfig.slug, + supportsMultipleInstalls: false, + handlerType: "add", + redirect: { + newTab: true, + url: "https://amie.so/signup", + }, + createCredential: ({ appType, user, slug }) => + createDefaultInstallation({ appType, userId: user.id, slug, key: {} }), +}; + +export default handler; diff --git a/packages/app-store/amie/api/index.ts b/packages/app-store/amie/api/index.ts new file mode 100644 index 0000000000..4c0d2ead01 --- /dev/null +++ b/packages/app-store/amie/api/index.ts @@ -0,0 +1 @@ +export { default as add } from "./add"; diff --git a/packages/app-store/amie/components/.gitkeep b/packages/app-store/amie/components/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/app-store/amie/config.json b/packages/app-store/amie/config.json new file mode 100644 index 0000000000..cc7ffcd8fd --- /dev/null +++ b/packages/app-store/amie/config.json @@ -0,0 +1,16 @@ +{ + "/*": "Don't modify slug - If required, do it using cli edit command", + "name": "Amie", + "slug": "amie", + "type": "amie_other", + "imageSrc": "/api/app-store/amie/icon.svg", + "logo": "/api/app-store/amie/icon.svg", + "url": "https://cal.com/apps/amie", + "variant": "other", + "categories": ["calendar"], + "publisher": "Cal.com, Inc.", + "email": "support@cal.com", + "description": "The joyful productivity app\r\r", + "extendsFeature": "User", + "__createdUsingCli": true +} diff --git a/packages/app-store/amie/index.ts b/packages/app-store/amie/index.ts new file mode 100644 index 0000000000..5d372ceda3 --- /dev/null +++ b/packages/app-store/amie/index.ts @@ -0,0 +1,2 @@ +export * as api from "./api"; +export { metadata } from "./_metadata"; diff --git a/packages/app-store/amie/package.json b/packages/app-store/amie/package.json new file mode 100644 index 0000000000..4f950e2bc6 --- /dev/null +++ b/packages/app-store/amie/package.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "private": true, + "name": "@calcom/amie", + "version": "0.0.0", + "main": "./index.ts", + "description": "The joyful productivity app\r\r", + "dependencies": { + "@calcom/lib": "*" + }, + "devDependencies": { + "@calcom/types": "*" + } +} diff --git a/packages/app-store/amie/static/1.jpg b/packages/app-store/amie/static/1.jpg new file mode 100644 index 0000000000..f38986d45f Binary files /dev/null and b/packages/app-store/amie/static/1.jpg differ diff --git a/packages/app-store/amie/static/2.jpg b/packages/app-store/amie/static/2.jpg new file mode 100644 index 0000000000..75ce96d380 Binary files /dev/null and b/packages/app-store/amie/static/2.jpg differ diff --git a/packages/app-store/amie/static/3.jpg b/packages/app-store/amie/static/3.jpg new file mode 100644 index 0000000000..7608bdaa24 Binary files /dev/null and b/packages/app-store/amie/static/3.jpg differ diff --git a/packages/app-store/amie/static/icon.svg b/packages/app-store/amie/static/icon.svg new file mode 100644 index 0000000000..b5d986daaa --- /dev/null +++ b/packages/app-store/amie/static/icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts index d11dd7f1db..0ecf92fdb0 100644 --- a/packages/app-store/apps.metadata.generated.ts +++ b/packages/app-store/apps.metadata.generated.ts @@ -2,6 +2,7 @@ This file is autogenerated using the command `yarn app-store:build --watch`. Don't modify this file manually. **/ +import { metadata as amie_meta } from "./amie/_metadata"; import { metadata as applecalendar_meta } from "./applecalendar/_metadata"; import { metadata as around_meta } from "./around/_metadata"; import { metadata as caldavcalendar_meta } from "./caldavcalendar/_metadata"; @@ -50,6 +51,7 @@ import { metadata as zapier_meta } from "./zapier/_metadata"; import { metadata as zoomvideo_meta } from "./zoomvideo/_metadata"; export const appStoreMetadata = { + amie: amie_meta, applecalendar: applecalendar_meta, around: around_meta, caldavcalendar: caldavcalendar_meta, diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts index a0b3ddfa99..d3f7e05c01 100644 --- a/packages/app-store/apps.server.generated.ts +++ b/packages/app-store/apps.server.generated.ts @@ -3,6 +3,7 @@ Don't modify this file manually. **/ export const apiHandlers = { + amie: import("./amie/api"), applecalendar: import("./applecalendar/api"), around: import("./around/api"), caldavcalendar: import("./caldavcalendar/api"), diff --git a/packages/prisma/seed-app-store.config.json b/packages/prisma/seed-app-store.config.json index 2c24a3f852..01f313ddc3 100644 --- a/packages/prisma/seed-app-store.config.json +++ b/packages/prisma/seed-app-store.config.json @@ -149,5 +149,11 @@ "categories": ["calendar"], "slug": "vimcal", "type": "vimcal_other" + }, + { + "dirName": "amie", + "categories": ["calendar"], + "slug": "amie", + "type": "amie_other" } ]