diff --git a/package.json b/package.json index 88d130d..9c04918 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devprotocol/huddle01-clubs-plugin", - "version": "0.1.4", + "version": "0.1.5", "type": "module", "description": "Repository for using Clubs-Huddle01 Plugin", "main": "dist/index.js", diff --git a/src/ApiHandler.ts b/src/ApiHandler.ts index 7563d78..d31c2c7 100644 --- a/src/ApiHandler.ts +++ b/src/ApiHandler.ts @@ -6,6 +6,9 @@ export type MeetingRequestJson = Readonly<{ description: string muteOnEntry: boolean videoOnEntry: boolean + startTime: string + expiryTime: string + tokenGated: boolean }> const API_KEY = process.env.HUDDLE_API_KEY @@ -14,23 +17,55 @@ export const meetingHandler = async ({ request, }: Readonly<{ request: Request }>) => { // eslint-disable-next-line functional/no-expression-statements - const { hostWallets, roomType, description, muteOnEntry, videoOnEntry } = - (await request.json()) as MeetingRequestJson + const { + hostWallets, + roomType, + description, + muteOnEntry, + videoOnEntry, + startTime, + expiryTime, + tokenGated, + } = (await request.json()) as MeetingRequestJson // eslint-disable-next-line functional/no-expression-statements - console.log(hostWallets, roomType, description, muteOnEntry, videoOnEntry) + console.log( + hostWallets, + roomType, + description, + muteOnEntry, + videoOnEntry, + startTime, + expiryTime, + tokenGated, + ) + const requestBody = tokenGated + ? { + title: 'Club-Huddle-Plugin:Token Gated Meeting Room', + tokenType: 'ERC721', + chain: 'POLYGON', + contractAddress: ['0x89904De861CDEd2567695271A511B3556659FfA2'], + roomType, + description, + muteOnEntry, + videoOnEntry, + hostWallets, + startTime, + expiryTime, + } + : { + title: 'Club-Huddle-Plugin:Meeting Room', + roomType, + description, + muteOnEntry, + videoOnEntry, + hostWallets, + startTime, + expiryTime, + } + const response = await axios.post( 'https://api.huddle01.com/api/v1/create-iframe-room', - { - title: 'Token Gated', - tokenType: 'ERC721', - chain: 'POLYGON', - contractAddress: ['0x89904De861CDEd2567695271A511B3556659FfA2'], - roomType: roomType, - description: description, - muteOnEntry: muteOnEntry, - videoOnEntry: videoOnEntry, - hostWallets: hostWallets, - }, + requestBody, { headers: { 'Content-Type': 'application/json', diff --git a/src/components/Button.vue b/src/components/Button.vue index 60f6bf1..688fddd 100644 --- a/src/components/Button.vue +++ b/src/components/Button.vue @@ -30,6 +30,6 @@ onClickToolbar('onRemoveMeetEvent', () => { type="button" @click="onClickImage" > - + diff --git a/src/components/Icons/VideoCamera.vue b/src/components/Icons/VideoCamera.vue index 07fc847..e9d74b9 100644 --- a/src/components/Icons/VideoCamera.vue +++ b/src/components/Icons/VideoCamera.vue @@ -1,13 +1,16 @@ diff --git a/src/components/Meeting/Form.vue b/src/components/Meeting/Form.vue index 3c1e9d4..80c8f30 100644 --- a/src/components/Meeting/Form.vue +++ b/src/components/Meeting/Form.vue @@ -1,5 +1,5 @@