|
|
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from 'react'
|
|
|
import styles from './index.module.scss'
|
|
|
import { useSelector } from 'react-redux'
|
|
|
import { RootState } from '@/store'
|
|
|
-
|
|
|
+import Zback from '@/components/Zback'
|
|
|
|
|
|
function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
const [currentTab, setCurrentTab] = useState('tab0')
|
|
|
@@ -26,15 +26,11 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
useEffect(() => {
|
|
|
if (selectedGeshi !== 0) {
|
|
|
setIsShowTabBar(false)
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
setIsShowTabBar(true)
|
|
|
}
|
|
|
-
|
|
|
}, [selectedGeshi])
|
|
|
|
|
|
-
|
|
|
-
|
|
|
const handleTabClick = (tab: string) => {
|
|
|
if (tab === currentTab) {
|
|
|
setCurrentTab('tab0')
|
|
|
@@ -47,12 +43,12 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
|
|
|
return (
|
|
|
<div className={styles.sang}>
|
|
|
- <div className='back' onClick={() => setShowTab(0)}>
|
|
|
- <img src={require('@/assets/img/btn_back.png')} alt='' />
|
|
|
- </div>
|
|
|
+ <Zback clickFu={() => setShowTab(0)} />
|
|
|
+
|
|
|
<div
|
|
|
- className={`main ${isShowHidContent ? 'mainAc' : currentTab === 'tab0' ? '' : 'mainShow_' + currentTab
|
|
|
- }`}
|
|
|
+ className={`main ${
|
|
|
+ isShowHidContent ? 'mainAc' : currentTab === 'tab0' ? '' : 'mainShow_' + currentTab
|
|
|
+ }`}
|
|
|
>
|
|
|
<div className={`lHidding ${isShowHidContentRight ? 'showRight' : ''}`}>
|
|
|
<div className='lHidding_left'>
|
|
|
@@ -60,12 +56,17 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
<div className='imgBox'>
|
|
|
<div className='pic' ref={picRef} />
|
|
|
</div>
|
|
|
- <div className='txt' dangerouslySetInnerHTML={{ __html: myData.sangzangLeftInfo2[0].from }} >
|
|
|
- </div>
|
|
|
+ <div
|
|
|
+ className='txt'
|
|
|
+ dangerouslySetInnerHTML={{ __html: myData.sangzangLeftInfo2[0].from }}
|
|
|
+ ></div>
|
|
|
<div className='title'>{myData.sangzangLeftInfo2[0].name}</div>
|
|
|
<div className='time'>{myData.sangzangLeftInfo2[0].txt}</div>
|
|
|
</div>
|
|
|
- <div className='detail_info2' onClick={() => setIsShowHidContentRight(!isShowHidContentRight)}>
|
|
|
+ <div
|
|
|
+ className='detail_info2'
|
|
|
+ onClick={() => setIsShowHidContentRight(!isShowHidContentRight)}
|
|
|
+ >
|
|
|
<div className='title_info2'>{myData.sangzangStatic.leftInfoName}</div>
|
|
|
<div className='txt_info2'>{myData.sangzangStatic.txt}</div>
|
|
|
</div>
|
|
|
@@ -77,8 +78,10 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
<img src={require('@/assets/img/A6_sangzang_zoomin.png')} alt='' />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div className='txt' dangerouslySetInnerHTML={{ __html: myData.sangzangLeftInfo2[1].from }} >
|
|
|
- </div>
|
|
|
+ <div
|
|
|
+ className='txt'
|
|
|
+ dangerouslySetInnerHTML={{ __html: myData.sangzangLeftInfo2[1].from }}
|
|
|
+ ></div>
|
|
|
<div className='title'>{myData.sangzangLeftInfo2[1].name}</div>
|
|
|
<div className='time'>{myData.sangzangLeftInfo2[1].txt}</div>
|
|
|
</div>
|
|
|
@@ -94,21 +97,35 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className='left'>
|
|
|
- <div className='pic' style={{
|
|
|
- background: `url(${require(`@/assets/img/A6_sangzang_left_${currentTab}.png`)}) no-repeat center/contain`
|
|
|
- }} />
|
|
|
+ <div
|
|
|
+ className='pic'
|
|
|
+ style={{
|
|
|
+ background: `url(${require(`@/assets/img/A6_sangzang_left_${currentTab}.png`)}) no-repeat center/contain`
|
|
|
+ }}
|
|
|
+ />
|
|
|
<div className='operate'>
|
|
|
- <div className='beiwen1' onClick={() => setSelectedGeshi(1)}>程氏颂文</div>
|
|
|
- <div className='beiwen2' onClick={() => setSelectedGeshi(2)}>程哲生卒</div>
|
|
|
- <div className='beiwen3' onClick={() => setSelectedGeshi(3)}>先祖功绩</div>
|
|
|
+ <div className='beiwen1' onClick={() => setSelectedGeshi(1)}>
|
|
|
+ 程氏颂文
|
|
|
+ </div>
|
|
|
+ <div className='beiwen2' onClick={() => setSelectedGeshi(2)}>
|
|
|
+ 程哲生卒
|
|
|
+ </div>
|
|
|
+ <div className='beiwen3' onClick={() => setSelectedGeshi(3)}>
|
|
|
+ 先祖功绩
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className='right'>
|
|
|
<div className={`content`}>
|
|
|
- <div className='title myFont'>{myData.sangzangStatic.rightInfoName}</div>
|
|
|
- <div className='text' dangerouslySetInnerHTML={{ __html: myData.sangzangData[Number(currentTab.split('tab')[1])].txt }} />
|
|
|
- <div className="btn" onClick={() => setIsShowHidContent(true)}>
|
|
|
- <img src={require('@/assets/img/A6_sangzang_btn2.png')} alt="" />
|
|
|
+ <div className='title songFont'>{myData.sangzangStatic.rightInfoName}</div>
|
|
|
+ <div
|
|
|
+ className='text'
|
|
|
+ dangerouslySetInnerHTML={{
|
|
|
+ __html: myData.sangzangData[Number(currentTab.split('tab')[1])].txt
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <div className='btn songFont' onClick={() => setIsShowHidContent(true)}>
|
|
|
+ <img src={require('@/assets/img/A6_sangzang_btn2.png')} alt='' />
|
|
|
传统造像碑文
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -116,7 +133,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
</div>
|
|
|
<div className={`A6_tabBar ${!isShowTabBar ? 'A6_tabBar_hide' : ''}`}>
|
|
|
<div
|
|
|
- className={`tab ${currentTab === 'tab1' ? 'tab_active' : ''}`}
|
|
|
+ className={`tab songFont ${currentTab === 'tab1' ? 'tab_active' : ''}`}
|
|
|
onClick={() => handleTabClick('tab1')}
|
|
|
>
|
|
|
墓志
|
|
|
@@ -124,7 +141,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
格式
|
|
|
</div>
|
|
|
<div
|
|
|
- className={`tab ${currentTab === 'tab2' ? 'tab_active' : ''}`}
|
|
|
+ className={`tab songFont ${currentTab === 'tab2' ? 'tab_active' : ''}`}
|
|
|
onClick={() => handleTabClick('tab2')}
|
|
|
>
|
|
|
攀附
|
|
|
@@ -132,7 +149,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
之风
|
|
|
</div>
|
|
|
<div
|
|
|
- className={`tab ${currentTab === 'tab3' ? 'tab_active' : ''}`}
|
|
|
+ className={`tab songFont ${currentTab === 'tab3' ? 'tab_active' : ''}`}
|
|
|
onClick={() => handleTabClick('tab3')}
|
|
|
>
|
|
|
立碑
|
|
|
@@ -140,7 +157,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
动机
|
|
|
</div>
|
|
|
<div
|
|
|
- className={`tab ${currentTab === 'tab4' ? 'tab_active' : ''}`}
|
|
|
+ className={`tab songFont ${currentTab === 'tab4' ? 'tab_active' : ''}`}
|
|
|
onClick={() => handleTabClick('tab4')}
|
|
|
>
|
|
|
刻写
|
|
|
@@ -154,53 +171,89 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
|
|
|
<div className='back' onClick={() => setSelectedGeshi(0)}>
|
|
|
<img src={require('@/assets/img/btn_back.png')} alt='' />
|
|
|
</div>
|
|
|
- <div className="geshi_left">
|
|
|
- <div className="pic" style={{
|
|
|
- background: `url(${require(`@/assets/img/A6_sangzang_geshi${selectedGeshi === 0 ? '1' : selectedGeshi}.png`)}) no-repeat center/contain`
|
|
|
- }} />
|
|
|
+ <div className='geshi_left'>
|
|
|
+ <div
|
|
|
+ className='pic'
|
|
|
+ style={{
|
|
|
+ background: `url(${require(`@/assets/img/A6_sangzang_geshi${
|
|
|
+ selectedGeshi === 0 ? '1' : selectedGeshi
|
|
|
+ }.png`)}) no-repeat center/contain`
|
|
|
+ }}
|
|
|
+ />
|
|
|
</div>
|
|
|
- <div className="geshi_right">
|
|
|
- <div className="top">
|
|
|
+ <div className='geshi_right'>
|
|
|
+ <div className='top'>
|
|
|
{myData.mzgeshi.map((item, index) => (
|
|
|
- <div key={item.key} className={`tab${index}`} onClick={(e) => {
|
|
|
- e.stopPropagation()
|
|
|
- setSelectedGeshi(item.key)
|
|
|
- }}>
|
|
|
+ <div
|
|
|
+ key={item.key}
|
|
|
+ className={`tab${index}`}
|
|
|
+ onClick={e => {
|
|
|
+ e.stopPropagation()
|
|
|
+ setSelectedGeshi(item.key)
|
|
|
+ }}
|
|
|
+ >
|
|
|
<img
|
|
|
- src={require(`@/assets/img/btn_ModalTxt_bg${selectedGeshi === item.key ? '_ac' : ''
|
|
|
- }.png`)}
|
|
|
+ src={require(`@/assets/img/btn_ModalTxt_bg${
|
|
|
+ selectedGeshi === item.key ? '_ac' : ''
|
|
|
+ }.png`)}
|
|
|
alt=''
|
|
|
/>
|
|
|
<div className={`tabNub ${selectedGeshi === item.key ? 'tabNubAc' : ''}`}>
|
|
|
{item.sonTxt}
|
|
|
</div>
|
|
|
- <div
|
|
|
- className={`txt ${selectedGeshi !== item.key ? 'txtAc' : ''}`}
|
|
|
-
|
|
|
- >
|
|
|
+ <div className={`txt ${selectedGeshi !== item.key ? 'txtAc' : ''}`}>
|
|
|
{item.name}
|
|
|
</div>
|
|
|
</div>
|
|
|
))}
|
|
|
-
|
|
|
</div>
|
|
|
- <div className="content" dangerouslySetInnerHTML={{ __html: selectedGeshi !== 0 ? myData.mzgeshi[selectedGeshi - 1].txt : '' }}></div>
|
|
|
+ <div
|
|
|
+ className='content'
|
|
|
+ dangerouslySetInnerHTML={{
|
|
|
+ __html: selectedGeshi !== 0 ? myData.mzgeshi[selectedGeshi - 1].txt : ''
|
|
|
+ }}
|
|
|
+ ></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
{/* 墓志文 */}
|
|
|
- <div className={`mzwHot ${isShowMzwHot ? 'mzwHot_show' : ''}`} >
|
|
|
- <div className="mzwHotL"><div className="mPic" style={{
|
|
|
- background: `url(${require(`@/assets/img/A6_sangzang_${(currentTab !== 'tab1' && currentTab !== 'tab2') ? 'yp2' : currentTab}.png`)}) no-repeat center/contain`
|
|
|
- }}></div></div>
|
|
|
- <div className="mzwHotR">
|
|
|
- <div className="mtitle">{myData.mzw[(currentTab !== 'tab1' && currentTab !== 'tab2') ? 0 : Number(currentTab.split('tab')[1])].title}</div>
|
|
|
- <div className="mtext" dangerouslySetInnerHTML={{ __html: myData.mzw[(currentTab !== 'tab1' && currentTab !== 'tab2') ? 0 : Number(currentTab.split('tab')[1])].txt }}></div>
|
|
|
+ <div className={`mzwHot ${isShowMzwHot ? 'mzwHot_show' : ''}`}>
|
|
|
+ <div className='mzwHotL'>
|
|
|
+ <div
|
|
|
+ className='mPic'
|
|
|
+ style={{
|
|
|
+ background: `url(${require(`@/assets/img/A6_sangzang_${
|
|
|
+ currentTab !== 'tab1' && currentTab !== 'tab2' ? 'yp2' : currentTab
|
|
|
+ }.png`)}) no-repeat center/contain`
|
|
|
+ }}
|
|
|
+ ></div>
|
|
|
+ </div>
|
|
|
+ <div className='mzwHotR'>
|
|
|
+ <div className='mtitle'>
|
|
|
+ {
|
|
|
+ myData.mzw[
|
|
|
+ currentTab !== 'tab1' && currentTab !== 'tab2'
|
|
|
+ ? 0
|
|
|
+ : Number(currentTab.split('tab')[1])
|
|
|
+ ].title
|
|
|
+ }
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ className='mtext'
|
|
|
+ dangerouslySetInnerHTML={{
|
|
|
+ __html:
|
|
|
+ myData.mzw[
|
|
|
+ currentTab !== 'tab1' && currentTab !== 'tab2'
|
|
|
+ ? 0
|
|
|
+ : Number(currentTab.split('tab')[1])
|
|
|
+ ].txt
|
|
|
+ }}
|
|
|
+ ></div>
|
|
|
+ </div>
|
|
|
+ <div className='mzwclose' onClick={() => setIsShowMzwHot(false)}>
|
|
|
+ <img src={require('@/assets/img/closeWithTxt.png')} alt='' />
|
|
|
</div>
|
|
|
- <div className="mzwclose" onClick={() => setIsShowMzwHot(false)}><img src={require('@/assets/img/closeWithTxt.png')} alt="" /></div>
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
</div>
|
|
|
)
|
|
|
}
|