Skip to content

Commit ff0ff0a

Browse files
authored
Merge pull request #456 from ProjectX-Algoitzy/release/1.6
[FEATURE] 데일리 챌린지
2 parents 26c7196 + e0b192e commit ff0ff0a

File tree

5 files changed

+50
-34
lines changed

5 files changed

+50
-34
lines changed

src/APP/user-pages/DailyChallenge/DailyChallenge.dailychallenge.main.jsx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,20 @@ export default function DailyChallenge() {
225225
<Styled.AlgorithmTagIcon onClick={handleTagToggle}/>
226226
<Styled.Tooltip>태그 보기</Styled.Tooltip>
227227
</Styled.IconWithTooltip>
228+
229+
{/* 티어 아이콘 + 레벨 태그 */}
230+
<Styled.TierWithLevel>
231+
<Styled.IconWithTooltip>
232+
<Styled.TierIcon onClick={handleTierToggle} $src={tierSrc}/>
233+
<Styled.Tooltip>레벨 보기</Styled.Tooltip>
234+
</Styled.IconWithTooltip>
228235

229-
{/* 티어 아이콘 */}
230-
<Styled.IconWithTooltip>
231-
<Styled.TierIcon onClick={handleTierToggle} $src={tierSrc}/>
232-
<Styled.Tooltip>레벨 보기</Styled.Tooltip>
233-
</Styled.IconWithTooltip>
236+
{showLevel && challengeData && challengeData.level && (
237+
<Styled.LevelTag>
238+
<Styled.LevelTagText>{formatLevel(challengeData.level)}</Styled.LevelTagText>
239+
</Styled.LevelTag>
240+
)}
241+
</Styled.TierWithLevel>
234242
</Styled.IconContainer>
235243

236244
<Styled.TagContainer $show={showTags || showLevel}>
@@ -241,12 +249,6 @@ export default function DailyChallenge() {
241249
</Styled.AlgorithmTag>
242250
))
243251
) : null}
244-
245-
{showLevel && challengeData && challengeData.level && (
246-
<Styled.LevelTag>
247-
<Styled.LevelTagText>{formatLevel(challengeData.level)}</Styled.LevelTagText>
248-
</Styled.LevelTag>
249-
)}
250252
</Styled.TagContainer>
251253
</Styled.ProblemInfoContainer>
252254
</Styled.TitleContainer>

src/APP/user-pages/DailyChallenge/Styled/DailyChallenge.dailychallenge.background.styles.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import styled, { css } from "styled-components";
44
/* 한 캔버스 전체 래퍼 */
55
export const Wrap = styled.div`
66
position: absolute;
7+
height: 120vw;
78
inset: 0;
89
overflow: hidden;
910
pointer-events: none; /* 배경은 기본 비활성, 코알라만 이벤트 */

src/APP/user-pages/DailyChallenge/Styled/DailyChallenge.dailychallenge.main.styles.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,13 @@ export const ProblemInfoContainer = styled.div`
9797
display: flex;
9898
flex-direction: column;
9999
justify-content: center;
100-
align-items: center;
101100
`
102101

103102
export const IconContainer = styled.div`
104103
width: 100%;
105104
display: flex;
106105
flex-direction: row;
107-
align-items: center;
106+
align-items: flex-start;
108107
justify-content: center;
109108
gap: 1.542rem;
110109
margin-bottom: 0.583rem;
@@ -185,6 +184,7 @@ export const Tooltip = styled.div`
185184
`;
186185

187186
export const IconWithTooltip = styled.div`
187+
width: 3.8rem;
188188
position: relative;
189189
display: inline-flex;
190190
align-items: center;
@@ -307,4 +307,12 @@ export const LevelTagText = styled.div`
307307
font-size: 0.667rem;
308308
font-weight: 500;
309309
color: ${tokens.colors.White};
310+
`;
311+
312+
export const TierWithLevel = styled.div`
313+
display: flex;
314+
flex-direction: column;
315+
align-items: center;
316+
justify-content: center;
317+
gap: 0.5rem;
310318
`;

src/APP/user-pages/Mypage/Mypage.mypage.challenge.tuple.jsx

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
// import React, { useEffect, useContext } from "react";
2-
// import { useNavigate } from "react-router-dom";
1+
import React from "react";
32
import * as itemS from "./Styled/Mypage.mypage.challenge.tuple.styles";
43

54
export default function ChallengeTuple({ item }) {
6-
// const navigate = useNavigate();
7-
85
const formatDate = (createdTime) => {
96
const date = new Date(createdTime);
107
const year = date.getFullYear();
@@ -13,8 +10,9 @@ export default function ChallengeTuple({ item }) {
1310
return `${year}.${month}.${day}`;
1411
};
1512

13+
// content가 너무 길 경우를 대비한 함수 (선택적으로 사용)
1614
const truncateTitle = (name) => {
17-
if (name.length > 30) {
15+
if (name && name.length > 30) {
1816
return name.slice(0, 29) + "...";
1917
}
2018
return name;
@@ -26,24 +24,30 @@ export default function ChallengeTuple({ item }) {
2624

2725
return (
2826
<itemS.TupleContainer data-delete-yn={undefined}>
29-
{/* <itemS.Blank></itemS.Blank> */}
3027
<itemS.TupleStatus>{item.logType}</itemS.TupleStatus>
3128
<itemS.TupleTitleBox>
32-
<itemS.TupleTitle>
33-
{item.problemList?.map((num, idx) => (
34-
<itemS.ProblemBlock key={idx}>
35-
<itemS.ProblemNumber
36-
$index={idx}
37-
onClick={() => moveToDetail(num)}
38-
>
39-
{num}
40-
</itemS.ProblemNumber>
41-
{idx !== item.problemList.length - 1 && (
42-
<itemS.Divider>|</itemS.Divider>
43-
)}
44-
</itemS.ProblemBlock>
45-
))}
46-
</itemS.TupleTitle>
29+
{/* ✅ 수정된 부분: logType에 따라 조건부 렌더링 */}
30+
{item.logType === "사용" ? (
31+
// '사용'일 경우 content를 표시
32+
<itemS.TupleTitle>{truncateTitle(item.content)}</itemS.TupleTitle>
33+
) : (
34+
// '획득'일 경우 기존 problemList를 표시
35+
<itemS.TupleTitle>
36+
{item.problemList?.map((num, idx) => (
37+
<itemS.ProblemBlock key={idx}>
38+
<itemS.ProblemNumber
39+
$index={idx}
40+
onClick={() => moveToDetail(num)}
41+
>
42+
{num}
43+
</itemS.ProblemNumber>
44+
{idx !== item.problemList.length - 1 && (
45+
<itemS.Divider>|</itemS.Divider>
46+
)}
47+
</itemS.ProblemBlock>
48+
))}
49+
</itemS.TupleTitle>
50+
)}
4751
</itemS.TupleTitleBox>
4852
<itemS.TupleDate>{formatDate(item.logDate)}</itemS.TupleDate>
4953
<itemS.TupleView>{item.rewardCount}</itemS.TupleView>

src/APP/user-pages/Mypage/Styled/Mypage.mypage.myboard.tuple.styles.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export const TupleContainer = styled.div`
99
flex-direction: row;
1010
justify-content: center;
1111
align-items: center;
12+
background-color: ${tokens.colors.White};
1213
width: 50rem;
1314
border-bottom: 0.04rem solid ${tokens.colors.B_Grey_3};
1415

0 commit comments

Comments
 (0)