
import { Main } from '../views/Main'
import { DueTime } from '../views/DueTime'
import { Note } from '../views/Note';
import { Time } from '../views/Time';
import { About } from '../views/About';
import { YTAvoid } from '../utils/YTAvoid';

@Entry
@Component

struct Index {
  @State currentIndex: number = 0
  @StorageProp(YTAvoid.SAFE_TOP_KEY)
  top:number=0
  @StorageProp(YTAvoid.SAFE_BOTTOM_KEY)
  bottom:number=0

  private controller: TabsController = new TabsController();

  @Builder TabBuilder(title: string, targetIndex: number, selectedImg: Resource, normalImg: Resource) {
    Column() {
      Image(this.currentIndex === targetIndex ? selectedImg : normalImg)
        .size({ width: 25, height: 25 })
      Text(title)
        .fontColor(this.currentIndex === targetIndex ? '#756860' : '#A2A4B1')
        .fontSize(12)
    }
    .width('100%')
    .height(50)
    .backgroundColor(Color.White)
    .justifyContent(FlexAlign.Center)
    .onClick(() => {
      this.currentIndex = targetIndex
      this.controller.changeIndex(targetIndex)
    })
  }
  build() {
    Column() {
      Tabs({ barPosition: BarPosition.End, controller: this.controller }) {
        TabContent() {
          Main()
        }.tabBar(this.TabBuilder("清单", 0, $r('app.media.c_book'), $r('app.media.book')))
        TabContent() {
          DueTime()
        }.tabBar(this.TabBuilder("截止时间", 1, $r('app.media.timeselect'), $r('app.media.timeunselect')))
        TabContent() {
          Note()
        }.tabBar(this.TabBuilder("笔记", 2, $r('app.media.notesel'), $r('app.media.note')))
        TabContent() {
          Time()
        }.tabBar(this.TabBuilder("时间轴", 3, $r('app.media.timeselect'), $r('app.media.timeunselect')))
        TabContent() {
          About()
        }.tabBar(this.TabBuilder("关于", 4, $r('app.media.c_my'), $r('app.media.my')))
      }.onChange((index: number) => {
        this.currentIndex = index
      })
      .scrollable(false)
    }.width('100%')
    .height('100%')
    .backgroundImage($r('app.media.backimg'))
    .backgroundImageSize({width:'100%',height:'100%'})
    .backgroundColor('#fff')
    .padding({bottom: this.bottom,top:this.top})

  }

}
