瀏覽代碼

yeah i will fix this later

Matthew Trejo 1 月之前
父節點
當前提交
a4cc62cdb6
共有 4 個文件被更改,包括 29 次插入3 次删除
  1. 9 0
      .claude/settings.local.json
  2. 12 0
      package-lock.json
  3. 1 0
      package.json
  4. 7 3
      src/app/appointments/[id]/meet/page.tsx

+ 9 - 0
.claude/settings.local.json

@@ -0,0 +1,9 @@
+{
+  "permissions": {
+    "allow": [
+      "Bash(npm run build:*)"
+    ],
+    "deny": [],
+    "ask": []
+  }
+}

+ 12 - 0
package-lock.json

@@ -61,6 +61,7 @@
       },
       "devDependencies": {
         "@eslint/eslintrc": "^3",
+        "@types/jsonwebtoken": "^9.0.10",
         "@types/node": "^20.19.8",
         "@types/react": "^19",
         "@types/react-dom": "^19",
@@ -4293,6 +4294,17 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@types/jsonwebtoken": {
+      "version": "9.0.10",
+      "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz",
+      "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/ms": "*",
+        "@types/node": "*"
+      }
+    },
     "node_modules/@types/mdast": {
       "version": "4.0.4",
       "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",

+ 1 - 0
package.json

@@ -76,6 +76,7 @@
   },
   "devDependencies": {
     "@eslint/eslintrc": "^3",
+    "@types/jsonwebtoken": "^9.0.10",
     "@types/node": "^20.19.8",
     "@types/react": "^19",
     "@types/react-dom": "^19",

+ 7 - 3
src/app/appointments/[id]/meet/page.tsx

@@ -19,7 +19,6 @@ import RecordsModal from "@/components/records/RecordsModal";
 import type { Record as MedicalRecord } from "@/components/records/types";
 import type { Appointment } from "@/types/appointments";
 import { canJoinMeeting, getAppointmentTimeStatus } from "@/utils/appointments";
-import { config } from "@/lib/config";
 
 interface JitsiMeetExternalAPI {
   dispose: () => void;
@@ -47,7 +46,7 @@ export default function MeetPage() {
   const [accessDenied, setAccessDenied] = useState(false);
   const [denialReason, setDenialReason] = useState("");
   const [jitsiToken, setJitsiToken] = useState<string | null>(null);
-  const [jitsiDomain, setJitsiDomain] = useState<string>(config.jitsi.domain);
+  const [jitsiDomain, setJitsiDomain] = useState<string>("");
   const [jitsiRoomName, setJitsiRoomName] = useState<string>("");
   const [useJWT, setUseJWT] = useState<boolean>(false);
 
@@ -82,12 +81,17 @@ export default function MeetPage() {
           if (tokenResponse.ok) {
             const tokenData = await tokenResponse.json();
             setJitsiToken(tokenData.token || null);
-            setJitsiDomain(tokenData.domain || config.jitsi.domain);
+            setJitsiDomain(tokenData.domain || "");
             setJitsiRoomName(tokenData.roomName || `appointment-${params.id}`);
             setUseJWT(tokenData.useJWT || false);
           } else {
             console.warn("No se pudo obtener JWT token, usando configuración por defecto");
             setJitsiRoomName(`appointment-${params.id}`);
+            // Si falla, intentar obtener el dominio del response aunque sea error
+            const errorData = await tokenResponse.json().catch(() => ({}));
+            if (errorData.domain) {
+              setJitsiDomain(errorData.domain);
+            }
           }
         } else {
           setAccessDenied(true);