import AppConstants from "../../app/AppConstant"
import { cardRoundBorderStyle } from "../../style/BorderStyle"

@CustomDialog
export struct UnauthorizedPermissionDialog {
  controller: CustomDialogController
  submit?: () => void
  cancel?: () => void

  build() {
    Column() {
      Column() {
        Text("提示信息")
          .fontColor($r('app.color.colorGrey8'))
          .fontSize($r('app.float.text_size_16'))
          .width('95%')
          .height($r('app.float.default_46'))
          .textAlign(TextAlign.Center)

        Divider()
          .width('95%')
          .height($r('app.float.default_1'))
          .backgroundColor($r('app.color.colorGrey2'))

        Text("由于您拒绝了应用的权限，应用无法正常运行，请前往设置页面授权！")
          .fontColor($r('app.color.colorYellow8'))
          .fontSize($r('app.float.text_size_16'))
          .fontWeight(FontWeight.Bold)
          .width('95%')
          .textAlign(TextAlign.Center)
          .margin({
            top: $r('app.float.default_10'),
            bottom: $r('app.float.default_10'),
            left: $r('app.float.default_12'),
            right: $r('app.float.default_12')
          })

        Row() {
          Button("设置", { type: ButtonType.Normal })
            .borderRadius(8)
            .width($r('app.float.default_72'))
            .height($r('app.float.default_40'))
            .fontColor($r('app.color.white'))
            .fontSize($r('app.float.text_size_14'))
            .backgroundColor($r('app.color.bull'))
            .onClick(() => {
              if (this.submit) {
                this.submit()
              }
            })

          Button("退出APP", { type: ButtonType.Normal })
            .borderRadius(8)
            .width($r('app.float.default_72'))
            .height($r('app.float.default_40'))
            .fontColor($r('app.color.white'))
            .margin({ left: $r('app.float.default_20') })
            .fontSize($r('app.float.text_size_14'))
            .backgroundColor($r('app.color.bull'))
            .onClick(() => {
              if (this.cancel) {
                this.cancel()
              }
            })

        }
        .alignItems(VerticalAlign.Center)
        .width(AppConstants.PERCENTAGE_MAX)
      }

    }
    .width('95%')
    .backgroundColor($r('app.color.white'))
    .padding({ bottom: $r('app.float.default_12') })
    .border(cardRoundBorderStyle)
  }
}