 02dbb88e6b
			
		
	
	
		02dbb88e6b
		
			
		
	
	
	
	
		
			
			* patch applied * patch applied * We shouldn't pollute global css * Build fixes * Updates typings * WIP extracting zoom to package * Revert "Upgrades next to 12.1 (#1895)" (#1903) This reverts commitede0e98e1f. * Tweak/gitignore prisma zod (#1905) * Extracts ignored createEventTypeBaseInput * Adds postinstall script * Revert "Tweak/gitignore prisma zod (#1905)" (#1906) This reverts commit15bfeb30d7. * Eslint fixes (#1898) * Eslint fixes * Docs build fixes * Upgrade to next 12.1 (#1904) * Upgrades next to 12.1 * Fixes build * Updaters e2e test pipelines Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> * Fix URL by removing slash and backslash (#1733) * Fix URl by removing slash and backslash * Implement slugify * Add data type * Fixing folder structure * Solve zod-utils conflict * Build fixes (#1929) * Build fixes * Fixes type error * WIP * Conflict fixes * Removes unused file * TODO * WIP * Type fixes * Linting * WIP * Moved App definition to types * WIP * WIP * WIP * WIP WIP * Renamed zoomvideo app * Import fix * Daily.co app (#2022) * Daily.co app * Update packages/app-store/dailyvideo/lib/VideoApiAdapter.ts Co-authored-by: Omar López <zomars@me.com> * Update packages/app-store/dailyvideo/lib/VideoApiAdapter.ts Co-authored-by: Omar López <zomars@me.com> * Missing deps for newly added contants to lib Co-authored-by: Omar López <zomars@me.com> * WIP * WIP * WIP * Daily fixes * Updated type info * Slack Oauth integration - api route ideas * Adds getLocationOptions * Type fixes * Adds location option for daily video * Revert "Slack Oauth integration - api route ideas" This reverts commit 35ffa78e929339c4badb98cdab4e4b953ecc7cca. * Slack Oauth + verify sig * Slack Oauth + verify sig Implementing connect slack with workspace OAuth Implemented the ability for slack to send requests on events (commands etc) - This only works if slacks signature matches with our signature * Revert "Slack Oauth + verify sig" This reverts commit ee95795e0f0ae6d06be4e0a423afb8c315d9af7d. * WIP - Signature verifiaction failure * Huddle01 migration to app store (#2038) * Jitsi Video App migration * Removing uneeded dependencies * Missed unused reference * Missing dependency `@calcom/lib` is needed in the `locationOption.ts` file * Huddle01 migration to app store * WIP: PostData for creating event * Optimising Query Vital as we only have 3 seconds max to return the response to slack. * Jitsi Video App migration (#2027) * Jitsi Video App migration * Removing uneeded dependencies * Missed unused reference * Missing dependency `@calcom/lib` is needed in the `locationOption.ts` file Co-authored-by: Omar López <zomars@me.com> * Monorepo/app store MS Teams Integration (#2080) * Create teamsvideo package * Remove zoom specific refrences * Add teams video files * Rename to office365_video * Add call back to add crednetial type office365_teams * Rename to office_video to match type * Add MS Teams as a location option * Rename files * Add teams reponse interface and create meeting * Comment out Daily imports * Add check for Teams integration * Add token checking functions * Change template to create event rather than meeting * Add comment to test between create link and event * Add teams URL to booking * Ask for just onlineMeeting permission * Add MS Teams logo * Add message to have an enterprise account * Remove comments * Comment back hasDailyIntegration * Comment back daily credentials * Update link to MS Graph section of README * Move API calls to package Co-authored-by: Omar López <zomars@me.com> * Re-adds missing module for transpiling * Adding connect button if there is on user * Adds email as required field for app store metadata * WIP: migrates tandem to app store * Cleanup * Migrates tandem api routes to app store * Fixes tandem api handlers * Big WIP WIP * Show todays bookings. * No booking message to json * Transition into modals Better UX for submitting forms. * Create Bookings - Working * Fixing /today to show today and not all upcoming * Fixing message * Build fixes * WIP * Fixes annoying circular dependency bug I've spent a whole day on this.... * Location option cleanup * Type fixes * Update EventManager.ts * Update CalendarManager.ts * Merge branch 'monorepo/app-store' into sean-monorepo-slack-oauth * Moves CalendarService back to lib * Moves apple calendar to App Store * Cleanup * Booking Success * Merge branch 'main' into sean-monorepo-slack-oauth * Restored moved file * Delete TeamRole.tsx * Undoing unrelated changes * Cleanup * Cleanup * Updates website * Delete .env.example * Update yarn.lock * Adds instructions to README * Build fixes * Uses generic app store api handler * Adds install button and cleanup * Updates .env.example * Update README.md * Renames slackapp to slackmessaing * Update InstallAppButton.tsx * Delete locationOption.ts * Type fixes * Build fixes * Links + Fixing connection issue * fixed merge conflict * fixed merge conflict * Type fixes * Update index.ts Co-authored-by: zomars <zomars@me.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Juan Esteban Nieto Cifuentes <89233604+Jenietoc@users.noreply.github.com> Co-authored-by: Leo Giovanetti <hello@leog.me> Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Peer Richelsen <peer@cal.com>
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { Credential } from "@prisma/client";
 | |
| import { Bits, Blocks, Elements, Modal, setIfTruthy } from "slack-block-builder";
 | |
| 
 | |
| const CreateEventModal = (
 | |
|   data:
 | |
|     | (Credential & {
 | |
|         user: {
 | |
|           username: string | null;
 | |
|           eventTypes: {
 | |
|             id: number;
 | |
|             title: string;
 | |
|           }[];
 | |
|         } | null;
 | |
|       })
 | |
|     | null,
 | |
|   invalidInput: boolean = false
 | |
| ) => {
 | |
|   return Modal({ title: "Create Booking", submit: "Create", callbackId: "cal.event.create" })
 | |
|     .blocks(
 | |
|       Blocks.Section({ text: `Hey there, *${data?.user?.username}!*` }),
 | |
|       Blocks.Divider(),
 | |
|       Blocks.Input({ label: "Your Name", blockId: "eventName" }).element(
 | |
|         Elements.TextInput({ placeholder: "Event Name" }).actionId("event_name")
 | |
|       ),
 | |
|       Blocks.Input({ label: "Which event would you like to create?", blockId: "eventType" }).element(
 | |
|         Elements.StaticSelect({ placeholder: "Which event would you like to create?" })
 | |
|           .actionId("create.event.type")
 | |
|           .options(
 | |
|             data?.user?.eventTypes.map((item: any) =>
 | |
|               Bits.Option({ text: item.title ?? "No Name", value: item.id.toString() })
 | |
|             )
 | |
|           )
 | |
|       ), // This doesnt need to reach out to the server when the user changes the selection
 | |
|       Blocks.Input({
 | |
|         label: "Who would you like to invite to your event?",
 | |
|         blockId: "selectedUsers",
 | |
|       }).element(
 | |
|         Elements.UserMultiSelect({ placeholder: "Who would you like to invite to your event?" }).actionId(
 | |
|           "invite_users"
 | |
|         )
 | |
|       ),
 | |
|       Blocks.Input({ label: "When would this event be?", blockId: "eventDate" }).element(
 | |
|         Elements.DatePicker({ placeholder: "Select Date" }).actionId("event_date")
 | |
|       ),
 | |
|       Blocks.Input({ label: "What time would you like to start?", blockId: "eventTime" }).element(
 | |
|         Elements.TimePicker({ placeholder: "Select Time" }).actionId("event_start_time")
 | |
|       ), // TODO: We could in future validate if the time is in the future or if busy at point - Didnt see much point as this gets validated when you submit. Could be better UX
 | |
|       setIfTruthy(invalidInput, [Blocks.Section({ text: "Please fill in all the fields" })])
 | |
|     )
 | |
|     .buildToObject();
 | |
| };
 | |
| 
 | |
| export default CreateEventModal;
 |