// 写一个简单的欢迎界面
import React, { useEffect, useState } from 'react';
import { Card, Statistic, Row, Col, Divider, Button } from 'antd';
import { LikeOutlined, HeartOutlined, EyeOutlined } from '@ant-design/icons';
import { getUserInfo } from '@/services/session';
import styles from './index.module.css'; // 假设我们创建了一个CSS模块文件
import './css/stars-style.css'
import { Flex } from 'antd';
import { Typography } from "@mui/material";
import { useRequest } from '@umijs/max';
import { getPlanetList, updatePlanet, getUserPlanet, getPlanetInfo, PlanetEntity } from '@/services/planets/api';
import {generatePassKey} from '../../services/bt/index'

const Welcome: React.FC = () => {
  //  获取用户信息
  // const { data: userInfo, loading } = useRequest(async () => {
  //   return { data: await getUserInfo() };
  // });

  const { data: userInfo, loading } = useRequest(async () => {
    const userRes = await getUserInfo();
    // 假设 userId 为字符串类型，需要将其转换为数字类型，同时处理可能的 undefined 情况
    const userId = userRes.user.userId ? parseInt(userRes.user.userId, 10) : 1;
    const UserplanetRes = await getUserPlanet({ userId });
    const planetId = UserplanetRes.planetId || 1;
    const planetRes = await getPlanetInfo({ planetId });

    return {
      data: {
        ...userRes.user,
        planet: planetRes
      }
    };
  });

  if (loading) {
    return <div>loading...</div>;
  }

  const currentUser = userInfo;

  console.log(currentUser)
  return (
    <div>
      <div className="origin">
        <div className="control">
          <div className="galaxy">
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
            <div className="star"></div>
          </div>
        </div>
      </div>
      <div className="main">
        <div>

          {/* 第一排：悬浮搜索框 */}
            <div style={{ display: 'flex', alignItems: 'center' }}>
            <div className={styles.searchBarContainer}>
              <input type="text" placeholder="Search for everything..." className={styles.searchInput} />
            </div>
            <Button
              type="primary"
              style={{ marginLeft: 16 }}
              onClick={async () => {
              try {
                const res = await generatePassKey();
                if (res && res.code === 0 && res.data && res.data.passkey) {
                window.alert(`邀请码: ${res.data.passkey}`);
                } else {
                window.alert('邀请码生成失败');
                }
              } catch (e) {
                window.alert('邀请码生成失败');
              }
              }}
            >
              邀请他人
            </Button>
            </div>
          <div style={{ display: "flex", marginTop: '40px' }}>
            <div className={styles.leftBox}>
              <div className={styles.textContent}>
                <Typography
                  variant="h4"
                  sx={{
                    color: "#fff",
                    fontWeight: 600,
                    mb: 2,
                    letterSpacing: 2,
                    textShadow: "0 2px 16px #0ea5e9",
                  }}
                >
                  Welcome Back!
                </Typography>

                <h2 className={styles.titlebox}>{currentUser?.nickName}，整点什么？</h2>
                <Button style={{ width: "100px" }} size='small' type="primary" onClick={() => window.location.href = '/relation'}>我的形象</Button>
              </div>
              <div className={styles.gitAnimation}>
                <img
                  src={`/images/planets/${userInfo?.planet?.filename}.gif`}
                  alt="用户形象"
                  style={{
                    width: 150,
                    height: 150,
                    borderRadius: '50%',
                    border: '2px solid #4a4a7a',
                    boxShadow: '0 0 15px #6a5acd'
                  }}
                />
              </div>
            </div>

            {/* 新增右侧统计卡片（使用Ant Design组件） */}
            <Card className={styles.rightCard} title="种子统计" bordered={false}>
              <Row gutter={16}>
                <Col span={8}>
                  <Statistic title="总种子数" value={128} />
                </Col>
                <Col span={8}>
                  <Statistic title="活跃种子" value={42} />
                </Col>
                <Col span={8}>
                  <Statistic title="完成种子" value={86} />
                </Col>
              </Row>
              <Divider />
            </Card>
            <Card className={styles.rightCard2} >

              <Flex className={styles.buttonGroup}>
                <div style={{
                  fontSize: '16px',
                  color: '#a8b2d1',
                  letterSpacing: '1px'
                }}>来看看星球的
                </div>
                <div style={{
                  fontSize: '23px',
                  color: '#0abde3',
                  letterSpacing: '1px',
                  fontWeight: 'bold',
                }}>
                  种子
                </div>
                <Button type="primary" onClick={() => window.location.href = '/torrent-upload'}>新建种子</Button>
                <Button onClick={() => window.location.href = '/torrent-list-my'}>我的种子</Button>
              </Flex>
            </Card>

            <Card className={styles.rightCard2} >

              <Flex className={styles.buttonGroup}>
                <div style={{
                  fontSize: '16px',
                  color: '#a8b2d1',
                  letterSpacing: '1px'
                }}>现在看看星球
                </div>
                <div style={{
                  fontSize: '23px',
                  color: '#e1b12c',
                  letterSpacing: '1px',
                  fontWeight: 'bold',
                }}>
                  动态
                </div>
                <Button color="orange" variant="solid" onClick={() => window.location.href = '/user-center'}>立即创作</Button>
                <Button onClick={() => window.location.href = '/user-center'}>我的创作</Button>
              </Flex>
            </Card>

          </div>

          <div className={styles.homeContainer}>

            {/* 第二排：左侧欢迎信息和右侧通知公告 */}
            <div className={styles.secondRow}>
              {/* 左侧框 */}
              {/* 中间框：最新热点 */}
              <div className={styles.middleBox}>
                <div className={styles.hotSpot}>
                  <h3 className={styles.hotTitle}>排行榜动态</h3>
                  <ul className={styles.hotList}>
                    {Array.from({ length: 5 }, (_, i) => (
                      <li key={i} className={styles.hotItem}>
                        <span className={styles.hotItemNumber}>{`${i + 1}`}</span>
                        <span className={styles.hotItemText}>综合榜{`${i + 1}`}</span>
                      </li>
                    ))}
                  </ul>
                </div>
              </div>

              {/* 右侧框：通知公告（轮播样式） */}
              <div className={styles.rightBox}>
                <div className={styles.carouselContainer}>
                  {/* 轮播内容，这里用几个div模拟 */}
                  <div className={styles.carouselItem}>通知公告 1</div>
                  <div className={styles.carouselItem}>通知公告 2</div>
                  <div className={styles.carouselItem}>通知公告 3</div>
                </div>
              </div>
            </div>
            {/* 第三排：帖子卡片 */}
            <div className={styles.thirdRow}>
              {Array.from({ length: 16 }, (_, i) => (
                <div className={styles.postCard} key={i}>
                  <div className={styles.cardContent}>
                    <h3 className={styles.postTitle}>模拟帖子标题{`${i + 1}`}（这是一个可能会很长的标题测试单行缩略效果）</h3>
                    <img src="/images/post-cover.jpg" alt="帖子封面" className={styles.cardImage} />
                    <div className={styles.infoWrapper}>
                      <p className={styles.postAuthor}>作者：用户{`${i + 1}`}</p>
                      <div className={styles.tagsContainer}>
                        {['技术', '生活', '分享'].map((tag, idx) => (
                          <span className={styles.tag} key={idx}>{tag}</span>
                        ))}
                      </div>
                      <div className={styles.statsContainer}>
                        <span className={styles.statItem}><LikeOutlined /> {Math.floor(Math.random() * 1000)}</span>
                        <span className={styles.statItem}><HeartOutlined /> {Math.floor(Math.random() * 500)}</span>
                        <span className={styles.statItem}><EyeOutlined /> {Math.floor(Math.random() * 5000)}</span>
                      </div>
                    </div>
                  </div>
                </div>
              ))}
            </div>
          </div>
        </div>
      </div>
    </div>
  );
};

export default Welcome;
