-
-
- {roomData?.roomId}
-
-
-
-
-
-
-
-
- Meeting Id, Click to copy invitation
-
-
-
+ {roomData?.roomId && (
+
+
copy(`${BASE_URL}/${roomData.roomId}`)}
+ className="text-2xl md:text-3xl lg:text-4xl font-semibold text-white cursor-pointer"
+ >
+ {roomData.roomId}
+
+
+
+
+ {copied ? (
+
+ Copied
+
+ ) : (
+
+ )}
+
+
+
+ Meeting Invite, Click to copy
+
+
+
+ )}
Setup your audio and video before joining
diff --git a/src/hooks/use-copy.ts b/src/hooks/use-copy.ts
new file mode 100644
index 0000000..a7b4d07
--- /dev/null
+++ b/src/hooks/use-copy.ts
@@ -0,0 +1,13 @@
+import { useState } from 'react';
+
+export const useCopyToClipboard = () => {
+ const [copied, setCopied] = useState(false);
+
+ const copy = async (text: string) => {
+ await navigator.clipboard.writeText(text);
+ setCopied(true);
+ setTimeout(() => setCopied(false), 2000);
+ };
+
+ return { copied, copy };
+};
diff --git a/src/lib/constants.ts b/src/lib/constants.ts
index e2fb405..8ab207b 100644
--- a/src/lib/constants.ts
+++ b/src/lib/constants.ts
@@ -1,7 +1,7 @@
import type { MediaDeviceType } from '@/types';
import { MediaPermissionsErrorType } from 'mic-check';
export const HEARTBEAT_INTERVAL = 45000;
-
+export const BASE_URL = window.location.origin;
export const APP_NAME = 'Mitsi';
export const DEVICE_ERRORS = {