<template>
  <div :class="prefixCls" class="relative h-[100%]" :style="{ backgroundImage: 'url(' + localImage + ')' ,backgroundSize:'cover'}">
    <div class="relative mx-auto h-full flex"  style=" margin: 0 auto;">
      <div
        class="relative flex-1 p-30px   lt-sm:p-10px overflow-x-hidden overflow-y-auto"
        :class="`${prefixCls}__right`">     
        <!-- 右边的登录界面 -->
        <Transition appear enter-active-class="animate__animated animate__bounceInRight">
          <div
            :class="newClass"
            class="pos-relative z-2 m-auto h-[calc(100%-60px)] w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px"
          >
            <div class="bg-#fff dark:bg-[var(--login-bg-color)] b-rounded-20px px-20px">
              <!-- 账号登录 -->
              <LoginForm class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" />
            </div>

            
          </div>
        </Transition>
      </div>
    </div>
            <div class="tags">
              <div class="module cockpit">
               <img :src="jsc"/>
                驾驶舱
              </div>
              <div class="module iot">
                <img :src="wlzt"/>
                物联中台
              </div>
              <div class="module data-center">
                <img :src="sjzt"/>
                数据中台
              </div>
              <div class="module report">
                <img :src="znbb"/>
                智能报表
              </div>
              <div class="module digital-twin">
                <img :src="szls"/>
                数字孪生
              </div>
            </div>
  </div>
</template>
<script lang="ts" setup>
import { useDesign } from '@/hooks/web/useDesign'
import { useAppStore } from '@/store/modules/app'
import { ThemeSwitch } from '@/layout/components/ThemeSwitch'
import { LocaleDropdown } from '@/layout/components/LocaleDropdown'
import { useWindowSize } from '@vueuse/core'
import { LoginForm } from './components'
import * as loginAnimation from '@/assets/json/login_left.json'
import jsc from '@/assets/imgs/jsc.png'
import sjzt from '@/assets/imgs/sjzt.png'
import szls from '@/assets/imgs/szls.png'
import wlzt from '@/assets/imgs/wlzt.png'
import znbb from '@/assets/imgs/znbb.png'

// import { useRoute } from 'vue-router';
import localImage from '@/assets/imgs/background.jpg'

defineOptions({ name: 'Login' })

const { t } = useI18n()
const appStore = useAppStore()
const { getPrefixCls } = useDesign()
const prefixCls = getPrefixCls('login')
const windowSize = useWindowSize()
const loginAnimationData = ref(loginAnimation['default'])

const leftStyle = computed(() => {
  const winW = windowSize.width.value
  const leftW = winW / 2

  const logo = {
    height: leftW / 16.5 + 'px',
    mt: leftW / 31.9 + 'px'
  }

  const lottieMagn = leftW / 435
  const lottie = {
    boxHeight: leftW / 2.39 + 'px',
    height: 335 * lottieMagn,
    width: 434 * lottieMagn,
    left: -(leftW / 38) + 'px',
    top: -(leftW / 5.3) + 'px'
  }

  const bottomText = {
    width: leftW / 1.54 + 'px',
    height: leftW / 8.68 + 'px',
    left: -(leftW / 31.54) + 'px',
    linkMT: leftW / 23.87 + 'px',
    textMt: leftW / 16.2 + 'px'
  }

  return { lottie, bottomText, logo }
})

const newClass = computed(() => {
  const mobile = appStore.getMobile ? 'is-mobile' : ''
  const toggle =  appStore.getFullscreen ? 'is-toggle' : ''
  return toggle ? toggle : mobile
})

// const route = useRoute();
// console.log(route.query)
</script>

<style lang="scss" scoped>
$prefix-cls: #{$namespace}-login;

.#{$prefix-cls} {
  overflow: auto;
}

.is-mobile {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(2.5, 1.8);
}

.is-toggle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.7, 0.6);
}
.tags{
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   grid-template-rows: auto auto;
   gap: 20px;

   width: 1000px;
   position:absolute;
   left:50%;
   transform:translateX(-50%);
   bottom:20px;
  .module {
      border-radius: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      color: #fff;
      font-size: 26px;
      font-weight: 600;
      padding: 20px;
      text-align: center;
  }
  .module img {
      width: 80px;
      height: 80px;
      margin-bottom: 16px;
      object-fit: contain;
  }
  .module.iot,
  .module.data-center,
  .module.report,
  .module.digital-twin {
     flex-direction: row;
      gap: 50px; /* 图标和文字之间的间距 */
    img{
      margin:0
    }
  }
  /* 驾驶舱：深蓝色渐变 */
  .module.cockpit {
      grid-row: 1 / 3;
      img {
          width: 140px;
          height: 140px;
      }
      background: linear-gradient(180deg, rgba(109, 147, 245, 0.75), rgba(7,38,111, 0.75));
  }
  /* 物联中台：中蓝色渐变 */
  .module.iot {
      background: linear-gradient(180deg, rgba(130, 156, 223, 0.75), rgba(7,38,111, 0.75));
  }
  /* 数据中台：青绿色渐变 */
  .module.data-center {
      background: linear-gradient(180deg, rgba(46, 192, 182, 0.75), rgba(40, 180, 170, 0.75));
  }
  /* 智能报表：绿色渐变 */
  .module.report {
      background: linear-gradient(180deg, rgba(77, 212, 122, 0.75), rgba(60, 180, 100, 0.75));
  }
  /* 数字孪生：浅蓝色渐变 */
  .module.digital-twin {
      background: linear-gradient(180deg, rgba(111, 181, 235, 0.75), rgba(60, 140, 200, 0.75));
  }
}
</style>
