From 17cfb1ce81e00259d64f5f0936f3c94b75d92ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=9D=B0?= Date: Tue, 30 Sep 2025 15:36:39 +0800 Subject: [PATCH] feat: entry debug --- .../NTRPEvaluatePopup/index.module.scss | 45 +++++- src/components/NTRPEvaluatePopup/index.tsx | 33 +++- .../NTRPPopupGuide/index.module.scss | 143 ++++++++++++++++++ src/components/NTRPPopupGuide/index.tsx | 20 ++- src/components/NTRPTestEntryCard/index.tsx | 2 +- src/game_pages/detail/index.tsx | 6 +- 6 files changed, 229 insertions(+), 20 deletions(-) diff --git a/src/components/NTRPEvaluatePopup/index.module.scss b/src/components/NTRPEvaluatePopup/index.module.scss index f03bdcd..c574c29 100644 --- a/src/components/NTRPEvaluatePopup/index.module.scss +++ b/src/components/NTRPEvaluatePopup/index.module.scss @@ -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; + } + } } diff --git a/src/components/NTRPEvaluatePopup/index.tsx b/src/components/NTRPEvaluatePopup/index.tsx index 0437181..5bcf54c 100644 --- a/src/components/NTRPEvaluatePopup/index.tsx +++ b/src/components/NTRPEvaluatePopup/index.tsx @@ -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(); + const [guideShow, setGuideShow] = useState(() => props.showGuide); useImperativeHandle(ref, () => ({ show: () => setVisible(true), @@ -90,21 +92,38 @@ const NTRPEvaluatePopup = (props: NTRPEvaluatePopupProps, ref) => { ? showCondition(scene, ntrp) : displayCondition === "always"; + function handleClose() { + setVisible(false); + } + return ( <> setVisible(false)} + onClose={handleClose} showHeader={false} hideFooter enableDragToClose={false} > - {showGuide ? ( - + {guideShow ? ( + { + setGuideShow(false); + }} + /> ) : ( - - + + + 选择 NTRP 自评水平 + + + + + + + )} diff --git a/src/components/NTRPPopupGuide/index.module.scss b/src/components/NTRPPopupGuide/index.module.scss index a277b5d..a4c8401 100644 --- a/src/components/NTRPPopupGuide/index.module.scss +++ b/src/components/NTRPPopupGuide/index.module.scss @@ -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; diff --git a/src/components/NTRPPopupGuide/index.tsx b/src/components/NTRPPopupGuide/index.tsx index 229b538..7623915 100644 --- a/src/components/NTRPPopupGuide/index.tsx +++ b/src/components/NTRPPopupGuide/index.tsx @@ -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 ( - - - - - + + + + + void; skipGuide: () => void }) { /> - + 快速测一测✏️ @@ -59,13 +60,16 @@ function NtrpPopupGuide(props: { close: () => void; skipGuide: () => void }) { - - diff --git a/src/components/NTRPTestEntryCard/index.tsx b/src/components/NTRPTestEntryCard/index.tsx index a0ad075..c1875dc 100644 --- a/src/components/NTRPTestEntryCard/index.tsx +++ b/src/components/NTRPTestEntryCard/index.tsx @@ -13,7 +13,7 @@ function NTRPTestEntryCard(props) { // fetchUserInfo() // }, []) const { type } = props; - return type !== "list" ? ( + return type === "list" ? ( diff --git a/src/game_pages/detail/index.tsx b/src/game_pages/detail/index.tsx index d73eab5..d1183e0 100644 --- a/src/game_pages/detail/index.tsx +++ b/src/game_pages/detail/index.tsx @@ -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} > ¥{displayPrice} 立即加入