// import { Component } from '@angular/core';
// import {
//   IonHeader,
//   IonToolbar,
//   IonTitle,
//   IonContent,
//   IonCard,
//   IonCardContent,
//   IonGrid,
//   IonRow,
//   IonCol,
//   IonAvatar,
//   IonButton,
// } from '@ionic/angular/standalone';
// import { CloudUser } from 'src/lib/cyxncloud';
// interface User {
//   avatar: string;
//   username: string;
//   age: number | null;
//   sex: string;
//   email: string;
//   phoneNumber: string;
//   fans: number;
//   likes: number;
// }

// @Component({
//   selector: 'app-tab4',
//   templateUrl: 'tab4.page.html',
//   styleUrls: ['tab4.page.scss'],
//   standalone: true,
//   imports: [
//     IonHeader,
//     IonToolbar,
//     IonTitle,
//     IonContent,
//     IonCard,
//     IonGrid,
//     IonRow,
//     IonCol,
//     IonAvatar,
//     IonCardContent,
//     IonButton,
//   ],
// })
// export class Tab4Page {
//   is_login: boolean = false;
//   currentUser: CloudUser | null = null;
//   user: User = {
//     username: '请登录',
//     avatar: 'https://ionicframework.com/docs/img/demos/avatar.svg',
//     age: 0,
//     sex: '-',
//     email: '-',
//     phoneNumber: '-',
//     fans: 0,
//     likes: 0,
//   };
//   constructor() {
//     let userCache = localStorage.getItem('userData');
//     if (userCache) {
//       let userData = JSON.parse(userCache);
//       this.user.avatar = userData.avatar;
//       this.user.username = userData.username;
//       this.user.age = userData.age;
//       this.user.sex = userData.sex;
//       this.user.email = userData.email;
//       this.user.phoneNumber = userData.phoneNumber;
//       this.user.fans = userData.fans;
//       this.user.likes = userData.likes;

//       let is_loginCache = localStorage.getItem('is_login');
//       this.is_login = is_loginCache === 'true' ? true : false;
//     }
//   }
//   async login() {
//     this.is_login = true;
//     let user = new CloudUser();
//     this.currentUser = await user.login('cyx', 'cyx123456');
//     if (this.currentUser) {
//       this.user.avatar = this.currentUser.data.avatar;
//       this.user.username = this.currentUser.data.username;
//       this.user.age = this.currentUser.data.age;
//       this.user.sex = this.currentUser.data.sex;
//       this.user.email = this.currentUser.data.email;
//       this.user.phoneNumber = this.currentUser.data.phoneNumber;
//       this.user.fans = this.currentUser.data.fans;
//       this.user.likes = this.currentUser.data.likes;
//       localStorage.setItem('userData', JSON.stringify(this.currentUser.data));
//       localStorage.setItem('is_login', 'true');
//     }
//   }
//   async logout() {
//     this.is_login = false;
//     let user = new CloudUser();
//     let flag = await user.logout();
//     localStorage.removeItem('user');
//     localStorage.removeItem('is_login');
//   }
//   register() {}
//   updateUser() {}
  
// }


import { Component, OnInit } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonContent, IonHeader, IonTitle, IonToolbar, 
  IonButton, IonLabel, IonItem, IonList, IonBackButton,
   IonButtons, IonIcon, IonItemDivider, IonAvatar, IonThumbnail,
    IonItemOptions, IonItemOption, IonItemSliding, IonInput,
     IonCheckbox, IonRadio, IonToggle, IonRadioGroup, IonSearchbar
     , IonSegment, IonSegmentButton, IonDatetime, ModalController,
      IonCardContent, IonCardSubtitle, IonCardTitle, IonCardHeader
      ,IonCard } from '@ionic/angular/standalone';
import { RouterModule } from '@angular/router';
import { addIcons } from 'ionicons';
import { add } from 'ionicons/icons';
// import {FmodeChatCompletion} from "fmode-ng"
import { CloudUser } from 'src/lib/ncloud';
import { openUserLoginModal } from 'src/lib/user/modal-user-login/modal-user-login.component';
import { openUserEditModal } from 'src/lib/user/modal-user-edit/modal-user-edit.component';

addIcons({ add })
@Component({
  selector: 'app-me',
  templateUrl: './tab4.page.html',
  styleUrls: ['./tab4.page.scss'],
  standalone: true,
  imports: [IonContent, IonHeader, IonTitle, 
    IonToolbar, CommonModule, FormsModule, 
    IonButton, RouterModule, IonLabel, IonLabel,
     IonList, IonItem,  IonBackButton, IonButtons,
      IonIcon, IonItemDivider, IonAvatar, IonThumbnail, 
      IonItemOptions, IonItemSliding, IonItemOption,
       IonItemOptions, IonInput, IonCheckbox, IonRadio,
        IonToggle, IonRadioGroup, IonSearchbar,
         IonSegment, IonSegmentButton, IonDatetime,
         IonCardContent,IonCardSubtitle,IonCardTitle,
         IonCardHeader,IonCardSubtitle,IonCard]
})
export class Tab4Page implements OnInit {

  currentUser:CloudUser|undefined
  constructor(private modalCtrl:ModalController) {
    this.currentUser = new CloudUser();
  }
  ngOnInit() {
    throw new Error('Method not implemented.');
  }
  // async login(){
  //   // 弹出登录窗口
  //   let user = await openUserLoginModal(this.modalCtrl);
  //   if(user?.id){
  //     this.currentUser = user
  //   }
  // }
  // async signup(){
  //   // 弹出注册窗口
  //   let user = await openUserLoginModal(this.modalCtrl,"signup");
  //   if(user?.id){
  //     this.currentUser = user
  //   }
  // }
  // logout(){
  //   this.currentUser?.logout();
  // }

  async login() {
        let user = await openUserLoginModal(this.modalCtrl);
        if (user?.id) {
          this.currentUser = user
        }
        window.location.reload();  // 登录后刷新页面
        // this.loadPlanList()
        // this.loadCoachList()
        // this.loadPlanUser()
      }
      async signup() {
        // 弹出注册窗口
        let user = await openUserLoginModal(this.modalCtrl, "signup");
        if (user?.id) {
          this.currentUser = user
        }
    
      }
      async logout() {
        await this.currentUser?.logout();
        window.location.reload();  // 登录后刷新页面
        // this.loadPlanList()
        // this.loadCoachList()
        // this.loadPlanUser()
      }
    
      editUser() {
        openUserEditModal(this.modalCtrl)
      }

  // editUser(){
  //   openUserEditModal(this.modalCtrl)
  // }




























    // let bodyJson = {
    //   "token": `Bearer ${token}`,
    //   "messages": messageList,
    //   "model": "fmode-4.5-128k",
    //   "temperature": 0.5,
    //   "presence_penalty": 0,
    //   "frequency_penalty": 0,
    //   "top_p": 1,
    //   "stream": true
    // };

    // let response = await fetch("https://test.fmode.cn/api/apig/aigc/gpt/v1/chat/completions", {
    //   "headers": {
    //     "accept": "text/event-stream",
    //   },
    //   "body": JSON.stringify(bodyJson),
    //   "method": "POST",
    //   "mode": "cors",
    //   "credentials": "omit"
    // });
    // let reader = response.body?.getReader()
    // if (!reader) {
    //   throw new Error("Failed to get the response reader.");
    // }

    // let decoder = new TextDecoder();
    // let buffer = "";

    // while (true) {
    //   let { done, value } = await reader.read();
    //   if (done) {
    //     break;
    //   }
    //   let data = decoder.decode(value);
    //   let messages = data.split("\n");
    //   console.log(messages);

    //   for (let i = 0; i < messages.length - 1; i++) {
    //     let message = messages[i];
    //     console.log(message);
    //     let dataStr: string = message.split("data: ")[1]
    //     if (dataStr && dataStr.startsWith("{")) {
    //       try {
    //         let json = JSON.parse(dataStr);
    //         let content = json.choices[0].delta.content
    //         this.gptre = this.gptre + content
    //       } catch (err) { }
    //     }


    //   }
    // }


  }
