diff --git a/src/components/NumberInterval/NumberInterval.scss b/src/components/NumberInterval/NumberInterval.scss index 25f922d..bce28cc 100644 --- a/src/components/NumberInterval/NumberInterval.scss +++ b/src/components/NumberInterval/NumberInterval.scss @@ -13,12 +13,27 @@ align-items: center; position: relative; justify-content: space-between; + padding-bottom: 12px; + &:last-child{ + padding-bottom: 0; + } .control-label { font-size: 13px; color: theme.$primary-color; white-space: nowrap; padding-right: 10px; } + .participant-control-checkbox-wrapper{ + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + font-size: 12px; + .participant-control-checkbox { + width: 18px; + height: 18px; + } + } .control-buttons { display: flex; diff --git a/src/components/NumberInterval/NumberInterval.tsx b/src/components/NumberInterval/NumberInterval.tsx index e5bec97..a74bcb1 100644 --- a/src/components/NumberInterval/NumberInterval.tsx +++ b/src/components/NumberInterval/NumberInterval.tsx @@ -54,12 +54,14 @@ const NumberInterval: React.FC = ({ + handleChange({ min: minParticipants, max: maxParticipants, is_participate: checked })} /> 我也参与此球局 + ) diff --git a/src/components/PublishMenu/PublishMenu.tsx b/src/components/PublishMenu/PublishMenu.tsx index 3bc956b..c71f868 100644 --- a/src/components/PublishMenu/PublishMenu.tsx +++ b/src/components/PublishMenu/PublishMenu.tsx @@ -89,23 +89,23 @@ const PublishMenu: React.FC = () => { - {/* handleMenuItemClick('ai')} > - 智能导入球局信息 + 智能发布球局 - 识别文本,快速导入球局信息 + 识别文本/图片,快速导入球局信息 - */} + )} diff --git a/src/config/images.js b/src/config/images.js index 87333d5..920240f 100644 --- a/src/config/images.js +++ b/src/config/images.js @@ -57,6 +57,7 @@ export default { ICON_LIST_SEARCH_SUGGESTION: require('@/static/search/icon-search-suggestion.svg'), ICON_LIST_INPUT_LOGO: require('@/static/list/icon-input-logo.svg'), ICON_IMPORTANT_BTN: require('@/static/publishBall/icon-important-btn.svg'), + ICON_IMPORTANT_BLACK: require('@/static/publishBall/icon-important-black.svg'), ICON_ARROW_RIGHT_WHITE: require('@/static/publishBall/icon-arrow-right-white.svg'), ICON_ARROW_RIGHT_BLACK: require('@/static/publishBall/icon-arrow-right-black.svg'), ICON_EXAMINATION: require('@/static/userInfo/examination.svg'), @@ -64,4 +65,5 @@ export default { ICON_COPY: require('@/static/publishBall/icon-copy.svg'), ICON_UPLOAD_IMG: require('@/static/publishBall/icon-upload-img.svg'), ICON_UPLOAD_SUCCESS: require('@/static/publishBall/icon-upload-success.svg'), + ICON_CLOSE: require('@/static/publishBall/icon-close.svg'), } diff --git a/src/publish_pages/publishBall/components/AiImportPopup/AiImportPopup.tsx b/src/publish_pages/publishBall/components/AiImportPopup/AiImportPopup.tsx index f9f1aa9..6b8a29b 100644 --- a/src/publish_pages/publishBall/components/AiImportPopup/AiImportPopup.tsx +++ b/src/publish_pages/publishBall/components/AiImportPopup/AiImportPopup.tsx @@ -203,11 +203,11 @@ const AiImportPopup: React.FC = ({ {/* 头部 */} - + 智能导入球局信息 - × + diff --git a/src/publish_pages/publishBall/components/AiImportPopup/index.module.scss b/src/publish_pages/publishBall/components/AiImportPopup/index.module.scss index 912bbf2..ba930d0 100644 --- a/src/publish_pages/publishBall/components/AiImportPopup/index.module.scss +++ b/src/publish_pages/publishBall/components/AiImportPopup/index.module.scss @@ -24,12 +24,12 @@ gap: 8px; .lightningIcon { - width: 16px; - height: 16px; + width: 24px; + height: 24px; } .title { - font-size: 16px; + font-size: 22px; font-weight: 600; color: #1f2329; } diff --git a/src/publish_pages/publishBall/index.tsx b/src/publish_pages/publishBall/index.tsx index f3a53aa..c18c9e3 100644 --- a/src/publish_pages/publishBall/index.tsx +++ b/src/publish_pages/publishBall/index.tsx @@ -42,7 +42,7 @@ const defaultFormData: PublishBallFormData = { players: { min: 1, max: 1, - is_participate: true + organizer_joined: true }, skill_level: [1.0, 5.0], descriptionInfo: { @@ -262,7 +262,7 @@ const PublishBall: React.FC = () => { return } const { activityInfo, descriptionInfo, timeRange, players, skill_level, image_list, wechat, ...rest } = formData[0]; - const { min, max, is_participate } = players; + const { min, max, organizer_joined } = players; const options = { ...rest, ...activityInfo, @@ -270,7 +270,7 @@ const PublishBall: React.FC = () => { ...timeRange, max_players: max, min_players: min, - is_participate: is_participate, + organizer_joined, skill_level_min: skill_level[0], skill_level_max: skill_level[1], image_list: image_list.map(item => item.url), @@ -311,7 +311,7 @@ const PublishBall: React.FC = () => { } const options = formData.map((item) => { const { activityInfo, descriptionInfo, timeRange, players, skill_level, ...rest } = item; - const { min, max, is_participate } = players; + const { min, max, organizer_joined } = players; return { ...rest, ...activityInfo, @@ -319,7 +319,7 @@ const PublishBall: React.FC = () => { ...timeRange, max_players: max, min_players: min, - is_participate: is_participate, + organizer_joined, skill_level_min: skill_level[0], skill_level_max: skill_level[1], image_list: item.image_list.map(img => img.url) @@ -390,7 +390,7 @@ const PublishBall: React.FC = () => { ...(description_tag ? { description_tag } : {}), }, ...(skill_level_max && skill_level_min ? { skill_level: [skill_level_min, skill_level_max] } : {}), - ...(max_players && min_players ? { players: { min: min_players, max: max_players, is_participate: true } } : {}), + ...(max_players && min_players ? { players: { min: min_players, max: max_players, organizer_joined: true } } : {}), wechat: { ...defaultFormData.wechat, default_wechat_contact: userPhone } } } diff --git a/src/publish_pages/publishBall/publishForm.tsx b/src/publish_pages/publishBall/publishForm.tsx index a69f3b9..b5f2592 100644 --- a/src/publish_pages/publishBall/publishForm.tsx +++ b/src/publish_pages/publishBall/publishForm.tsx @@ -128,14 +128,14 @@ const PublishForm: React.FC<{ return ''; } - const getPlayersText = (players: [number, number] | any) => { + const getPlayersText = (players: { min: number, max: number, is_participate: boolean } | any) => { // 检查 players 是否为数组 - if (!Array.isArray(players) || players.length !== 2) { + if (!players.min || !players.max) { console.warn('getPlayersText: players 不是有效的数组格式:', players); return '未设置'; } - const [min, max] = players; + const { min, max } = players; // 检查 min 和 max 是否为有效数字 if (typeof min !== 'number' || typeof max !== 'number') { @@ -188,8 +188,7 @@ const PublishForm: React.FC<{ return <> - 活动开始前2小时未达到最低人数,活动自动取消;活动 - 结束后,报名者累计到达最低人数时,一旦到达期即有序。 + 活动开始前2小时未达到最低人数,活动自动取消;活动结束后,报名者累计到达最低人数时,一旦到达期即有序。 diff --git a/src/static/publishBall/icon-important-black.svg b/src/static/publishBall/icon-important-black.svg new file mode 100644 index 0000000..680e224 --- /dev/null +++ b/src/static/publishBall/icon-important-black.svg @@ -0,0 +1,3 @@ + + +