feat: entry debug

This commit is contained in:
2025-09-30 15:36:39 +08:00
parent 003df3005f
commit 17cfb1ce81
6 changed files with 229 additions and 20 deletions

View File

@@ -7,6 +7,49 @@
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 20px;
// padding: 20px;
box-sizing: border-box;
.entryCard {
width: 100%;
box-sizing: border-box;
padding: 0 20px;
}
}
.header {
height: 72px;
width: 100%;
padding: 16px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
color: #000;
text-align: center;
font-family: "PingFang SC";
font-size: 22px;
font-style: normal;
font-weight: 600;
line-height: 28px;
.closeBtn {
display: flex;
width: 40px;
height: 40px;
justify-content: center;
align-items: center;
gap: 6px;
flex-shrink: 0;
border-radius: 999px;
border: 1px solid rgba(0, 0, 0, 0.06);
background: #fff;
box-shadow: 0 4px 36px 0 rgba(0, 0, 0, 0.06);
.closeIcon {
width: 24px;
height: 24px;
flex-shrink: 0;
}
}
}

View File

@@ -5,14 +5,15 @@ import React, {
forwardRef,
memo,
} from "react";
import { Button, Input, View, Text } from "@tarojs/components";
import { Button, Input, View, Text, Image } from "@tarojs/components";
import Taro from "@tarojs/taro";
import CommonPopup from "../CommonPopup";
import { getCurrentFullPath } from "@/utils";
import evaluateService from "@/services/evaluateService";
import NTRPTestEntryCard from "../NTRPTestEntryCard";
import NtrpPopupGuide from "../NTRPPopupGuide";
import style from "./index.module.scss";
import CloseIcon from "@/static/ntrp/ntrp_popup_close.svg";
import styles from "./index.module.scss";
export enum EvaluateType {
EDIT = "edit",
@@ -56,6 +57,7 @@ const NTRPEvaluatePopup = (props: NTRPEvaluatePopupProps, ref) => {
} = props;
const [visible, setVisible] = useState(true);
const [ntrp, setNtrp] = useState<undefined | string>();
const [guideShow, setGuideShow] = useState(() => props.showGuide);
useImperativeHandle(ref, () => ({
show: () => setVisible(true),
@@ -90,22 +92,39 @@ const NTRPEvaluatePopup = (props: NTRPEvaluatePopupProps, ref) => {
? showCondition(scene, ntrp)
: displayCondition === "always";
function handleClose() {
setVisible(false);
}
return (
<>
<CommonPopup
title="NTRP评估"
visible={visible}
onClose={() => setVisible(false)}
onClose={handleClose}
showHeader={false}
hideFooter
enableDragToClose={false}
>
{showGuide ? (
<NtrpPopupGuide />
{guideShow ? (
<NtrpPopupGuide
close={handleClose}
skipGuide={() => {
setGuideShow(false);
}}
/>
) : (
<View className={style.container}>
<View className={styles.container}>
<View className={styles.header}>
<Text> NTRP </Text>
<View className={styles.closeBtn} onClick={handleClose}>
<Image className={styles.closeIcon} src={CloseIcon} />
</View>
</View>
<View className={styles.entryCard}>
<NTRPTestEntryCard />
</View>
</View>
)}
</CommonPopup>
{showEntry ? props.children : ""}

View File

@@ -1,3 +1,144 @@
.container {
width: 100%;
height: 540px;
border-radius: 20px 20px 0 0;
background: linear-gradient(180deg, #bfffef 0%, #f2fffc 100%), #fafafa;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
.top {
width: 100%;
padding: 0 24px;
box-sizing: border-box;
margin-bottom: auto;
}
.bottom {
width: 100%;
padding: 0 10px 40px;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
.jump,
.direct {
width: 100%;
height: 50px;
border-radius: 16px;
border: 1px solid rgba(0, 0, 0, 0.06);
overflow: hidden;
.button {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
background: #fff;
color: #000;
font-feature-settings: "liga" off, "clig" off;
font-family: "PingFang SC";
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: normal;
&.primary {
color: #fff;
background: #000;
.jumpIcon {
width: 20px;
height: 20px;
}
}
}
}
}
}
.header {
height: 72px;
width: 100%;
padding: 16px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: flex-end;
.closeBtn {
display: flex;
width: 40px;
height: 40px;
justify-content: center;
align-items: center;
gap: 6px;
flex-shrink: 0;
border-radius: 999px;
border: 1px solid rgba(0, 0, 0, 0.06);
background: #fff;
box-shadow: 0 4px 36px 0 rgba(0, 0, 0, 0.06);
.closeIcon {
width: 24px;
height: 24px;
flex-shrink: 0;
}
}
}
.guideMsg {
padding-bottom: 20px;
.title {
color: #2a4d44;
font-family: "Noto Sans SC";
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 48px;
.colorTip {
color: #00e5ad;
font-family: "Noto Sans SC";
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 48px;
}
.strongTip {
color: #00e5ad;
font-family: "Noto Sans SC";
font-size: 32px;
font-style: normal;
font-weight: 900;
line-height: 48px;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-position: from-font;
}
}
}
.desc {
color: #2a4d44;
font-family: "Noto Sans SC";
font-size: 16px;
font-style: normal;
font-weight: 900;
line-height: 28px;
}
@mixin commonAvatarStyle($multiple: 1) {
.avatar {
flex: 0 0 auto;
@@ -52,6 +193,8 @@
}
.avatarWrap {
width: 100%;
padding-bottom: 20px;
display: flex;
align-items: center;
justify-content: flex-start;

View File

@@ -1,6 +1,7 @@
import React from "react";
import { View, Text, Button, Image } from "@tarojs/components";
import Taro from "@tarojs/taro";
import classnames from "classnames";
import { useUserInfo } from "@/store/userStore";
import ArrwoRight from "@/static/ntrp/ntrp_arrow_right.svg";
import CloseIcon from "@/static/ntrp/ntrp_popup_close.svg";
@@ -18,12 +19,12 @@ function NtrpPopupGuide(props: { close: () => void; skipGuide: () => void }) {
}
return (
<View className={styles.container}>
<View className={styles.top}>
<View className={styles.header}>
<View className={styles.closeBtn} onClick={close}>
<Image className={styles.closeIcon} src={CloseIcon} />
</View>
</View>
<View className={styles.top}>
<View className={styles.avatarWrap}>
<View className={styles.avatar}>
<Image
@@ -41,7 +42,7 @@ function NtrpPopupGuide(props: { close: () => void; skipGuide: () => void }) {
/>
</View>
</View>
<View>
<View className={styles.guideMsg}>
<View className={styles.title}>
<Text></Text>
</View>
@@ -59,13 +60,16 @@ function NtrpPopupGuide(props: { close: () => void; skipGuide: () => void }) {
</View>
<View className={styles.bottom}>
<View className={styles.jump}>
<Button onClick={handleTest}>
<Button
className={classnames(styles.button, styles.primary)}
onClick={handleTest}
>
<Text></Text>
<Image className={styles.jumpIcon} src={ArrwoRight} />
</Button>
</View>
<View className={styles.direct}>
<Button onClick={skipGuide}>
<Button className={classnames(styles.button)} onClick={skipGuide}>
<Text></Text>
</Button>
</View>

View File

@@ -13,7 +13,7 @@ function NTRPTestEntryCard(props) {
// fetchUserInfo()
// }, [])
const { type } = props;
return type !== "list" ? (
return type === "list" ? (
<View className={styles.higher}>
<View className={styles.desc}>
<View>

View File

@@ -313,8 +313,8 @@ function StickyButton(props) {
return;
}
const displayPrice = is_organizer ? 0 : price;
// user_action_status.can_assess = true;
// user_action_status.can_join = false;
user_action_status.can_assess = true;
user_action_status.can_join = false;
// console.log(user_action_status, "user_action");
const {
can_assess,
@@ -391,7 +391,7 @@ function StickyButton(props) {
types={[EvaluateType.EDIT, EvaluateType.EVALUATE]}
scene={SceneType.DETAIL}
displayCondition={DisplayConditionType.AUTO}
showGuide
showGuide={false}
>
<Text>¥{displayPrice} </Text>
</NTRPEvaluatePopup>