/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License")
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import router from '@ohos.router'
import { NavigationItem } from '../models/NavigationItem'

@Entry
@Component
struct NativeTestPage {
  // Native测试示例列表
  data: NavigationItem[] = [
    {
      title: 'layoutConstraintTest',
      page: 'pages/nativeTest/layoutConstraintTest'
    },
    {
      title: 'alignRuleOptionExample',
      page: 'pages/nativeTest/alignRuleOptionExample'
    },
    {
      title:'guidelineOptionExample',
      page: 'pages/nativeTest/guidelineOptionExample'
    },
    {
      title:'barrierOptionExample',
      page: 'pages/nativeTest/barrierOptionExample'
    },
    {
      title:'listChildrenMainSizeExample',
      page: 'pages/nativeTest/listChildrenMainSizeExample'
    },
    {
      title:'itemAlignmentExample',
      page: 'pages/nativeTest/itemAlignmentExample'
    },
    {
      title:'relativeLayoutChainExample',
      page: 'pages/nativeTest/relativeLayoutChainExample'
    },
    {
      title:'positionEdgesExample',
      page: 'pages/nativeTest/positionEdgesExample'
    },
    {
      title:'pixelRoundExample',
      page: 'pages/nativeTest/pixelRoundExample'
    }
  ]

  build() {
    Column() {
      Column() {
        List({ space: '8vp' }) {
          ForEach(this.data, (item: NavigationItem) => {
            ListItem() {
              Button(item.title)
                .width('100%')
                .onClick(() => {
                  // 跳转到指定的Native测试页面
                  router.pushUrl({ url: item.page })
                })
            }
            .width('100%')
            .padding({ left: '8vp', right: '8vp' })
          }, (item: NavigationItem) => item.title)
        }
        .scrollBar(BarState.Off)
      }
      .width(250)
      .height(200)
      .backgroundColor($r('sys.color.background_primary'))
      .justifyContent(FlexAlign.Center)
      .flexGrow(1)
    }
    .height('100%')
    .width('100%')
  }
}