@ai-matrx/meet 0.7.14 → 0.7.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.cjs CHANGED
@@ -3565,9 +3565,10 @@ function createMeetRepository(options) {
3565
3565
  if (response.data === null) throw invalidResponse("meet.meeting", "no such meeting");
3566
3566
  return projectMeeting(response.data);
3567
3567
  },
3568
- async listMeetings({ organizationId, limit = 25, before = null }) {
3569
- requireOrg(organizationId, "meet.listMeetings");
3570
- let query = db.from(TABLES.meetings).select(MEETING_COLUMNS).eq("organization_id", organizationId).order("scheduled_for", { ascending: false }).order("id", { ascending: false }).limit(limit + 1);
3568
+ async listMeetings({ organizationId = null, limit = 25, before = null }) {
3569
+ let query = db.from(TABLES.meetings).select(MEETING_COLUMNS);
3570
+ if (organizationId !== null) query = query.eq("organization_id", organizationId);
3571
+ query = query.order("scheduled_for", { ascending: false }).order("id", { ascending: false }).limit(limit + 1);
3571
3572
  if (before !== null) {
3572
3573
  query = query.or(
3573
3574
  `scheduled_for.lt.${before.scheduledFor},and(scheduled_for.eq.${before.scheduledFor},id.lt.${before.id})`
@@ -6886,17 +6887,17 @@ function useMeetingRecord(meeting) {
6886
6887
  reload: (0, import_react3.useCallback)(() => setNonce((value) => value + 1), [])
6887
6888
  };
6888
6889
  }
6889
- function useMeetings(limit = 25) {
6890
+ function useMeetings(limit = 25, organizationFilter = null) {
6890
6891
  const host = useMeetHost();
6891
6892
  const repository = host?.repository ?? null;
6892
- const organizationId = host?.identity.organizationId ?? null;
6893
+ const organizationId = organizationFilter;
6893
6894
  const [meetings, setMeetings] = (0, import_react3.useState)([]);
6894
6895
  const [hasMore, setHasMore] = (0, import_react3.useState)(false);
6895
6896
  const [loading, setLoading] = (0, import_react3.useState)(true);
6896
6897
  const [failure, setFailure] = (0, import_react3.useState)(null);
6897
6898
  const [nonce, setNonce] = (0, import_react3.useState)(0);
6898
6899
  (0, import_react3.useEffect)(() => {
6899
- if (repository === null || organizationId === null) return void 0;
6900
+ if (repository === null) return void 0;
6900
6901
  let live = true;
6901
6902
  setLoading(true);
6902
6903
  setFailure(null);
@@ -6972,7 +6973,7 @@ function useGuestRecordAccess(meeting) {
6972
6973
  // src/react/components.tsx
6973
6974
  var import_react5 = require("react");
6974
6975
  var import_design_system = require("@ai-matrx/design-system");
6975
- var import_format3 = require("@ai-matrx/kit/format");
6976
+ var import_format4 = require("@ai-matrx/kit/format");
6976
6977
 
6977
6978
  // src/core/after.ts
6978
6979
  var import_format2 = require("@ai-matrx/kit/format");
@@ -7159,12 +7160,7 @@ function recordingOffsetMs(at, recording) {
7159
7160
  return moment - start;
7160
7161
  }
7161
7162
  function clockPosition(offsetMs) {
7162
- const total = Math.max(0, Math.floor(offsetMs / 1e3));
7163
- const h = Math.floor(total / 3600);
7164
- const m = Math.floor(total % 3600 / 60);
7165
- const s = total % 60;
7166
- const ss = String(s).padStart(2, "0");
7167
- return h > 0 ? `${h}:${String(m).padStart(2, "0")}:${ss}` : `${m}:${ss}`;
7163
+ return (0, import_format2.formatDurationMs)(Math.max(0, offsetMs), { style: "clock" });
7168
7164
  }
7169
7165
  function searchTranscript(segments, query, names = {}) {
7170
7166
  const needle = fold(query.trim());
@@ -7421,6 +7417,7 @@ function countLabel(count2, singular, plural = `${singular}s`) {
7421
7417
 
7422
7418
  // src/react/collab.tsx
7423
7419
  var import_react4 = require("react");
7420
+ var import_format3 = require("@ai-matrx/kit/format");
7424
7421
 
7425
7422
  // src/react/icons.tsx
7426
7423
  var import_jsx_runtime2 = require("react/jsx-runtime");
@@ -8253,10 +8250,7 @@ function WhiteboardPanel({ onClose }) {
8253
8250
  ] });
8254
8251
  }
8255
8252
  function clock(ms2) {
8256
- const total = Math.ceil(ms2 / 1e3);
8257
- const minutes = Math.floor(total / 60);
8258
- const seconds = total % 60;
8259
- return `${minutes}:${seconds.toString().padStart(2, "0")}`;
8253
+ return (0, import_format3.formatDurationMs)(Math.ceil(ms2 / 1e3) * 1e3, { style: "clock" });
8260
8254
  }
8261
8255
  function useNow(active) {
8262
8256
  const [now, setNow] = (0, import_react4.useState)(() => Date.now());
@@ -8652,7 +8646,7 @@ function Avatar({
8652
8646
  url,
8653
8647
  size = 40
8654
8648
  }) {
8655
- const tint = (0, import_format3.avatarPaletteIndex)(name);
8649
+ const tint = (0, import_format4.avatarPaletteIndex)(name);
8656
8650
  if (url != null && url.length > 0) {
8657
8651
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
8658
8652
  "img",
@@ -8677,7 +8671,7 @@ function Avatar({
8677
8671
  background: `var(--mx-meet-avatar-${tint})`
8678
8672
  },
8679
8673
  "aria-hidden": "true",
8680
- children: (0, import_format3.getInitials)(name)
8674
+ children: (0, import_format4.getInitials)(name)
8681
8675
  }
8682
8676
  );
8683
8677
  }
@@ -10439,7 +10433,7 @@ function MeetingRoomBody({
10439
10433
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h1", { className: "mx-meet__title", children: snapshot?.meeting?.title ?? "Meeting" }),
10440
10434
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "mx-meet__meta", children: [
10441
10435
  participantSummary(snapshot?.participants ?? []),
10442
- elapsed > 0 ? ` \xB7 ${(0, import_format3.formatDurationMs)(elapsed)}` : ""
10436
+ elapsed > 0 ? ` \xB7 ${(0, import_format4.formatDurationMs)(elapsed)}` : ""
10443
10437
  ] }),
10444
10438
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RecordingIndicator, {}),
10445
10439
  snapshot?.locked === true ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "mx-meet__badge", children: [
@@ -11137,7 +11131,7 @@ function createCallInviteHandler(options) {
11137
11131
  choices: (payload) => {
11138
11132
  if (Date.parse(payload.expires_at) < now()) return [];
11139
11133
  return [
11140
- { id: "join", label: payload.mode === "video" ? "Join video" : "Join call", tone: "primary" },
11134
+ { id: "join", label: payload.mode === "video" ? "Join video" : "Join call", icon: payload.mode === "video" ? "video" : "phone", tone: "primary" },
11141
11135
  { id: "decline", label: "Decline", tone: "neutral" }
11142
11136
  ];
11143
11137
  },