import React, { useEffect, useCallback } from 'react';
import { useNavigate, useSearchParams } from 'react-router-dom';
import { LiveList, useLoginState } from 'tuikit-atomicx-react';
import type { LiveInfo } from 'tuikit-atomicx-react';
import { UIKitProvider, MessageBox } from '@tencentcloud/uikit-base-component-react';
import styles from './LiveListView.module.scss';
const LiveListView: React.FC = () => {
const navigate = useNavigate();
const [searchParams] = useSearchParams();
const { loginUserInfo, login, setSelfInfo } = useLoginState();
const handleLiveRoomClick = (liveInfo: LiveInfo) => {
if (loginUserInfo?.userId === liveInfo.liveOwner?.userId) {
MessageBox.alert({
title: 'Warning',
content: 'Cannot view your own live room',
});
return;
}
if (liveInfo?.liveId) {
}
};
const initLogin = useCallback(async () => {
try {
await login({
SDKAppID: 0,
userID: '',
userSig: '',
});
await setSelfInfo({
userName: '',
avatarUrl: '',
});
} catch (error) {
console.error('Login failed:', error);
}
}, [login, setSelfInfo]);
useEffect(() => {
async function init() {
await initLogin();
}
if (!loginUserInfo?.userId) {
init();
} else {
console.log('[LiveList]User already logged in:', loginUserInfo.userId);
}
}, [initLogin, loginUserInfo?.userId]);
return (
<UIKitProvider theme="dark">
<div className={styles.liveList}>
{}
<LiveList columnCount={5} onLiveRoomClick={handleLiveRoomClick} />
</div>
</UIKitProvider>
);
};
export default LiveListView;