Skip to content

Commit 5208326

Browse files
committed
Fix paid subscribers to prioritize real data over dummy data
- Only use dummy data when no real subscribers exist - Keep existing real subscribers during errors - Initialize with empty array instead of dummy profiles
1 parent 9c4149d commit 5208326

1 file changed

Lines changed: 23 additions & 10 deletions

File tree

src/hooks/usePaidSubscribers.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ const dummyProfiles: SubscriberProfile[] = [
5959
const PLACEHOLDER_AVATAR_URL = 'http://localhost:3000/placeholder-avatar.png';
6060

6161
const usePaidSubscribers = (pageSize = 20) => {
62-
const [subscribers, setSubscribers] = useState<SubscriberProfile[]>(dummyProfiles);
62+
const [subscribers, setSubscribers] = useState<SubscriberProfile[]>([]);
6363
const [loading, setLoading] = useState(false);
6464
const [error, setError] = useState<string | null>(null);
6565
const [hasMore, setHasMore] = useState(false);
6666
const [currentPage, setCurrentPage] = useState(1);
67-
const [useDummyData, setUseDummyData] = useState(true);
67+
const [useDummyData, setUseDummyData] = useState(false);
6868

6969
const isMounted = useRef(true);
7070
const handleLogout = useHandleLogout();
@@ -198,21 +198,34 @@ const usePaidSubscribers = (pageSize = 20) => {
198198
}
199199
}
200200

201-
// Fallback logic if no backend data
201+
// Fallback logic if no backend data - only use dummy data when truly no data available
202202
if (isMounted.current) {
203-
console.log('[usePaidSubscribers] No backend data found, using dummy data');
204-
setUseDummyData(true);
205-
setSubscribers(dummyProfiles);
203+
console.log('[usePaidSubscribers] No backend data found');
204+
// Only use dummy data if we have absolutely nothing and no existing real subscribers
205+
if (subscribers.length === 0 && !subscribers.some(s => !s.pubkey.startsWith('dummy-'))) {
206+
console.log('[usePaidSubscribers] No existing subscribers, using dummy data as fallback');
207+
setUseDummyData(true);
208+
setSubscribers(dummyProfiles);
209+
} else {
210+
console.log('[usePaidSubscribers] Keeping existing subscribers data or have real subscribers');
211+
setUseDummyData(false);
212+
}
206213
setHasMore(false);
207-
console.log('[usePaidSubscribers] Fallback to dummy data complete');
208214
}
209215
} catch (err) {
210216
const errorMessage = err instanceof Error ? err.message : 'Failed to fetch subscribers';
211217
setError(errorMessage);
212218
console.error(`[usePaidSubscribers] Error fetching subscribers:`, err);
213-
console.log(`[usePaidSubscribers] ${errorMessage}, using dummy data`);
214-
setUseDummyData(true);
215-
setSubscribers(dummyProfiles);
219+
220+
// Only use dummy data if we don't have any real subscribers
221+
if (subscribers.length === 0 || subscribers.every(s => s.pubkey.startsWith('dummy-'))) {
222+
console.log(`[usePaidSubscribers] ${errorMessage}, using dummy data`);
223+
setUseDummyData(true);
224+
setSubscribers(dummyProfiles);
225+
} else {
226+
console.log(`[usePaidSubscribers] ${errorMessage}, keeping existing real subscribers`);
227+
setUseDummyData(false);
228+
}
216229
setHasMore(false);
217230
} finally {
218231
if (isMounted.current) {

0 commit comments

Comments
 (0)