Fix TypeScript build errors
- Remove unused imports in invites.ts - Fix InviteManagement component (remove unused props, unneeded code) - Fix BandPage.tsx (remove currentMemberId, remove UserSearch for now) - Remove unused imports in types/invite.ts Build errors resolved: - TS6133: unused variables - TS2304: missing variables - TS2307: module not found Note: UserSearch temporarily disabled - needs backend support for listing non-members Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -42,6 +42,6 @@ export const createInvite = (
|
||||
*/
|
||||
export const listNonMemberUsers = (bandId: string, search?: string) => {
|
||||
// TODO: Implement this backend endpoint if needed
|
||||
// For now, can use existing member search with filter
|
||||
// For now, just return empty - the invite flow works with tokens
|
||||
return Promise.resolve([] as { id: string; display_name: string; email: string }[]);
|
||||
};
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
import { listInvites, revokeInvite } from "../api/invites";
|
||||
import { BandInviteList, BandInviteListItem } from "../types/invite";
|
||||
import { BandInviteListItem } from "../types/invite";
|
||||
|
||||
interface InviteManagementProps {
|
||||
bandId: string;
|
||||
currentMemberId: string;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -14,7 +13,7 @@ interface InviteManagementProps {
|
||||
* - Revoke invites
|
||||
* - Show invite status
|
||||
*/
|
||||
export function InviteManagement({ bandId, currentMemberId }: InviteManagementProps) {
|
||||
export function InviteManagement({ bandId }: InviteManagementProps) {
|
||||
const [isRefreshing, setIsRefreshing] = useState(false);
|
||||
|
||||
// Fetch invites
|
||||
@@ -65,13 +64,7 @@ export function InviteManagement({ bandId, currentMemberId }: InviteManagementPr
|
||||
}
|
||||
};
|
||||
|
||||
// Tell user to refresh if needed
|
||||
useEffect(() => {
|
||||
if (isRefreshing) {
|
||||
const timer = setTimeout(() => refetch(), 1000);
|
||||
return () => clearTimeout(timer);
|
||||
}
|
||||
}, [isRefreshing, refetch]);
|
||||
|
||||
|
||||
/**
|
||||
* Copy invite token to clipboard
|
||||
|
||||
@@ -4,7 +4,6 @@ import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
|
||||
import { getBand } from "../api/bands";
|
||||
import { api } from "../api/client";
|
||||
import { InviteManagement } from "../components/InviteManagement";
|
||||
import { UserSearch } from "../components/UserSearch";
|
||||
|
||||
interface SongSummary {
|
||||
id: string;
|
||||
@@ -292,17 +291,7 @@ export function BandPage() {
|
||||
</button>
|
||||
|
||||
{/* Search for users to invite (new feature) */}
|
||||
<UserSearch
|
||||
onSelect={(user, bandId) => {
|
||||
// Directly invite the user (backend needs to handle this)
|
||||
console.log(`Inviting ${user.display_name} to ${bandId}`);
|
||||
// For now, we'll just log - the backend can handle email if needed
|
||||
alert(`Would invite ${user.display_name} (${user.email}) to this band!`);
|
||||
}}
|
||||
bandId={bandId!}
|
||||
currentMemberId={currentMemberId}
|
||||
excludedIds={members?.map(m => m.id) || []}
|
||||
/>
|
||||
{/* Temporarily hide user search until backend supports it */}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
@@ -353,9 +342,7 @@ export function BandPage() {
|
||||
</div>
|
||||
|
||||
{/* Admin: Invite Management Section (new feature) */}
|
||||
{amAdmin && (
|
||||
<InviteManagement bandId={bandId!} currentMemberId={currentMemberId} />
|
||||
)}
|
||||
{amAdmin && <InviteManagement bandId={bandId!} />}
|
||||
</div>
|
||||
|
||||
{/* Recordings header */}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Member } from "./member";
|
||||
|
||||
|
||||
/**
|
||||
* Individual invite item for listing
|
||||
|
||||
Reference in New Issue
Block a user