Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
5f8ea4a
style: 기록간 간격 32px → 40px으로 수정
ljh130334 Aug 20, 2025
6cfa619
fix: 기록장 툴팁 메시지 수정
ljh130334 Aug 20, 2025
274caf0
fix: 스크롤 안보이게 수정
ljh130334 Aug 20, 2025
6508d00
fix: 글 수정 페이지에서 책 표지 불러오기 문제 해결 - 책 정보 로딩 로직 수정
ljh130334 Aug 20, 2025
12a9928
fix: 글 작성 및 수정 시 버튼 위의 ‘작성중’/'수정중' 글씨 삭제
ljh130334 Aug 20, 2025
db837d4
style: 더보기 바텀시트 아래 여백 수정
ljh130334 Aug 20, 2025
e513656
fix: 진행도 표시에 소수점 내림 처리 적용
ljh130334 Aug 20, 2025
43c99a2
fix: 기록장 뒤로가기 시 모임 메인페이지로 이동하도록 수정
ljh130334 Aug 20, 2025
250c0d4
style: min-height: 100vh 설정
ljh130334 Aug 20, 2025
9622a6f
refactor: 페이지 전체 dim 오버레이 추가 후 필터를 최상단 z-index로 설정
ljh130334 Aug 20, 2025
6462d16
fix: 총평 버튼 비활성화된 상태에서 클릭 방지 처리
ljh130334 Aug 20, 2025
b0d7334
fix: 기록 숨기기/기록 보이기 개발용 버튼 제거
ljh130334 Aug 20, 2025
180c42f
fix: 바텀시트 width 화면 크기에 맞춰 수정
ljh130334 Aug 20, 2025
c869941
fix: dim 영역 클릭 시 모달 닫히도록 수정
ljh130334 Aug 20, 2025
bb15de0
fix: 모임 생성 시 생성 중 버튼 텍스트 제거
ljh130334 Aug 20, 2025
28baad1
fix: 가이드텍스트 typo 수정
ljh130334 Aug 20, 2025
0baa26f
fix: 오늘의 한마디 자정 기준으로 작성 카운트 리셋
ljh130334 Aug 20, 2025
60f9b5e
fix: 페이지 로딩 시 가장 하단 메시지가 보이도록 수정
ljh130334 Aug 20, 2025
b055dc3
fix: 첫 번째 한마디 작성 시에만 성공 메시지 뜨도록 수정
ljh130334 Aug 20, 2025
a5bbdf8
fix: isError prop 추가 후 적용
ljh130334 Aug 20, 2025
04a0ec1
fix: 책 컴포넌트에 저자+'저' 형태로 수정
ljh130334 Aug 20, 2025
2986f6d
fix: 책 상세정보 페이지 라우팅 경로 수정
ljh130334 Aug 20, 2025
7dd01a1
fix: 장르 태그의 색상을 장르에 맞게 매핑
ljh130334 Aug 20, 2025
8180ee8
fix: 좌우 20px 패딩 유지로 수정
ljh130334 Aug 20, 2025
52d4ae5
fix: 기록 수정 버튼 네비게이션 코드 제거
ljh130334 Aug 20, 2025
83f6524
fix: 내 기록 길게 눌러서 더보기 메뉴 표시하도록 수정
ljh130334 Aug 20, 2025
e610e8e
fix: 블라인드 처리 된 기록에 상효작용 불가능하도록 수정
ljh130334 Aug 20, 2025
5da1c7c
fix: 블라인드 처리 시스템 수정
ljh130334 Aug 20, 2025
137c4d0
style: 커서 색 수정 및 입력박스 확장하도록 수정
ljh130334 Aug 20, 2025
da75273
refactor: 입력 검증 로직 개선
ljh130334 Aug 20, 2025
2c7655c
fix: 팝업 제대로 동작하도록 수정
ljh130334 Aug 20, 2025
3a15bb9
feat: 핀하기 기능 구현 및 일부 스타일링 수정
ljh130334 Aug 20, 2025
43b9e06
feat: 툴팁 구현
ljh130334 Aug 20, 2025
3d0c8b7
fix: conflict 해결
ljh130334 Aug 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/assets/memory/record-x.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ export const Overlay = styled.div<{ isOpen: boolean }>`

export const BottomSheet = styled.div<{ isOpen: boolean }>`
width: 100%;
max-width: 540px;
min-width: 360px;
max-width: 767px;
min-width: 320px;
background: ${colors.darkgrey.main};
border-radius: 20px 20px 0 0;
display: flex;
Expand Down
50 changes: 13 additions & 37 deletions src/components/common/Modal/MoreMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,9 @@ import styled from '@emotion/styled';
import { colors, typography } from '@/styles/global/global';
import type { MoreMenuProps } from '@/stores/usePopupStore';

const MoreMenu = ({
onEdit,
onDelete,
onClose,
onReport,
onPin,
isWriter,
type,
}: MoreMenuProps) => {
const MoreMenu = ({ onEdit, onDelete, onClose, onReport, isWriter, type }: MoreMenuProps) => {
return (
<Overlay onClick={onClose}>
<Overlay onClick={() => onClose?.()}>
{type === 'post' ? (
// post 타입: 기존 로직 유지
<>
Expand All @@ -25,11 +17,6 @@ const MoreMenu = ({
<Button variant="delete" onClick={onDelete}>
삭제하기
</Button>
{onPin && (
<Button variant="pin" onClick={onPin}>
피드에 핀하기
</Button>
)}
</RecordContainer>
</>
) : (
Expand Down Expand Up @@ -70,21 +57,16 @@ const Overlay = styled.div`
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
min-width: 320px;
max-width: 767px;
margin: 0 auto;
align-items: flex-end;
width: 100vw;
height: 100vh;
background-color: rgba(18, 18, 18, 0.1);
backdrop-filter: blur(2.5px);
z-index: 1200;
`;

const ReportContainer = styled.div`
position: fixed;
left: 0;
right: 0;
bottom: 0;

position: relative;
display: flex;
flex-direction: column;
min-width: 320px;
Expand All @@ -94,16 +76,11 @@ const ReportContainer = styled.div`
padding: 20px;
border-radius: 12px 12px 0px 0px;
background-color: ${colors.darkgrey.main};
z-index: 1201;
`;

// 3개 버튼을 위한 컨테이너 (핀하기 포함)
const RecordContainer = styled.div`
position: fixed;
left: 0;
right: 0;
bottom: 0;

position: relative;
display: flex;
flex-direction: column;
min-width: 320px;
Expand All @@ -112,7 +89,6 @@ const RecordContainer = styled.div`
padding: 20px;
border-radius: 12px 12px 0px 0px;
background-color: ${colors.darkgrey.main};
z-index: 1201;
`;

const Button = styled.div<{ variant: 'edit' | 'delete' | 'report' | 'pin' }>`
Expand Down Expand Up @@ -142,30 +118,30 @@ const Button = styled.div<{ variant: 'edit' | 'delete' | 'report' | 'pin' }>`
if (variant === 'pin') {
return `
&:first-of-type {
padding: 8px 12px 16px 12px;
padding: 13px 12px 21px 12px;
}

&:nth-of-type(2) {
padding: 8px 12px 16px 12px;
padding: 13px 12px 21px 12px;
}

&:last-of-type {
padding: 16px 12px 8px 12px;
padding: 21px 12px 13px 12px;
border-bottom: none;
}
`;
}
return `
&:first-of-type {
padding: 8px 12px 16px 12px;
padding: 13px 12px 21px 12px;
}

&:nth-of-type(2) {
padding: 8px 12px 16px 12px;
padding: 13px 12px 21px 12px;
}

&:last-of-type {
padding: 16px 12px 8px 12px;
padding: 21px 12px 13px 12px;
border-bottom: none;
}
`;
Expand Down
7 changes: 4 additions & 3 deletions src/components/common/Modal/Snackbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { colors, typography } from '@/styles/global/global';
import type { SnackbarProps } from '@/stores/usePopupStore';
import { useEffect, useState } from 'react';

const Snackbar = ({ message, actionText, variant, onActionClick, onClose }: SnackbarProps) => {
const Snackbar = ({ message, actionText, variant, isError, onActionClick, onClose }: SnackbarProps) => {
const [visible, setVisible] = useState(false);

useEffect(() => {
Expand All @@ -20,7 +20,7 @@ const Snackbar = ({ message, actionText, variant, onActionClick, onClose }: Snac

return (
<Container variant={variant} visible={visible}>
<Discription>{message}</Discription>
<Discription isError={isError}>{message}</Discription>
{variant === 'bottom' && actionText && <Button onClick={onActionClick}>{actionText}</Button>}
</Container>
);
Expand Down Expand Up @@ -52,9 +52,10 @@ const Container = styled.div<{ variant: 'top' | 'bottom'; visible: boolean }>`
transition: transform 2s cubic-bezier(0.16, 1, 0.3, 1);
`;

const Discription = styled.div`
const Discription = styled.div<{ isError?: boolean }>`
font-size: ${typography.fontSize.xs};
font-weight: ${typography.fontWeight.medium};
color: ${({ isError }) => isError ? colors.red : colors.white};
`;

const Button = styled.div`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,16 @@ export const DateRangeContainer = styled.div`
width: 100%;
`;

export const DateGroup = styled.div`
export const DateGroup = styled.div<{ alignItems?: 'start' | 'end' | 'center' }>`
display: flex;
align-items: center;
gap: 2px;
flex: 1;
justify-content: center;
justify-content: ${({ alignItems = 'center' }) => {
if (alignItems === 'start') return 'flex-start';
if (alignItems === 'end') return 'flex-end';
return 'center';
}};
`;

export const WheelContainer = styled.div`
Expand Down Expand Up @@ -89,11 +93,11 @@ export const WheelItem = styled.div<{ isSelected: boolean }>`
}
`;

export const DateUnitText = styled.div`
export const DateUnitText = styled.div<{ isLast?: boolean }>`
color: ${semanticColors.text.primary};
font-size: ${typography.fontSize.xs};
font-weight: ${typography.fontWeight.regular};
margin-right: 6px;
margin-right: ${({ isLast }) => (isLast ? '0px' : '6px')};
`;

export const SeparatorText = styled.div`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ const ActivityPeriodSection = ({
<DatePickerContainer>
<DateRangeContainer>
{/* 시작일 */}
<DateGroup>
<DateGroup alignItems="end">
<DateWheel
values={years}
selectedValue={startDate.year}
Expand All @@ -212,13 +212,13 @@ const ActivityPeriodSection = ({
onChange={handleStartDayChange}
width={24}
/>
<DateUnitText>일</DateUnitText>
<DateUnitText isLast>일</DateUnitText>
</DateGroup>

<SeparatorText>~</SeparatorText>

{/* 종료일 */}
<DateGroup>
<DateGroup alignItems="start">
<DateWheel
values={years}
selectedValue={endDate.year}
Expand All @@ -241,7 +241,7 @@ const ActivityPeriodSection = ({
onChange={handleEndDayChange}
width={24}
/>
<DateUnitText>일</DateUnitText>
<DateUnitText isLast>일</DateUnitText>
</DateGroup>
</DateRangeContainer>

Expand Down
6 changes: 3 additions & 3 deletions src/components/creategroup/RoomInfoSection.styled.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import styled from '@emotion/styled';
import { typography, semanticColors } from '../../styles/global/global';
import { typography, semanticColors, colors } from '../../styles/global/global';

export const TextAreaBox = styled.div`
position: relative;
Expand All @@ -13,7 +13,7 @@ export const TextArea = styled.textarea`
border: none;
outline: none;
color: ${semanticColors.text.primary};
font-size: ${typography.fontSize.base};
font-size: ${typography.fontSize.sm};
width: 100%;
resize: none;
font-family: ${typography.fontFamily.primary};
Expand All @@ -22,7 +22,7 @@ export const TextArea = styled.textarea`
margin: 0;

&::placeholder {
color: ${semanticColors.text.primary};
color: ${colors.grey[300]};
font-size: ${typography.fontSize.sm};
}
`;
Expand Down
4 changes: 2 additions & 2 deletions src/components/creategroup/RoomInfoSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const RoomInfoSection = ({
<SectionTitle>방 제목</SectionTitle>
<TextAreaBox>
<TextArea
placeholder="방 제목을 입력합니다."
placeholder="방 제목을 입력해주세요."
value={roomTitle}
onChange={e => onRoomTitleChange(e.target.value)}
maxLength={15}
Expand All @@ -36,7 +36,7 @@ const RoomInfoSection = ({
<SectionTitle>한 줄 소개</SectionTitle>
<TextAreaBox>
<TextArea
placeholder="방에 대한 소개 입력입니다."
placeholder="방에 대한 짧은 소개글을 작성해주세요."
value={roomDescription}
onChange={e => onRoomDescriptionChange(e.target.value)}
maxLength={75}
Expand Down
6 changes: 4 additions & 2 deletions src/components/createpost/PostContentSection.styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,19 @@ export const TextAreaBox = styled.div`
flex-direction: column;
`;

export const TextArea = styled.textarea`
export const TextArea = styled.textarea<{ readOnly?: boolean }>`
width: 100%;
min-height: 100px;
background-color: ${semanticColors.background.primary};
background-color: ${props => props.readOnly ? '#f5f5f5' : semanticColors.background.primary};
color: ${semanticColors.text.secondary};
font-size: ${typography.fontSize.sm};
font-weight: ${typography.fontWeight.regular};
font-family: ${typography.fontFamily.primary};
resize: none;
outline: none;
border: none;
overflow: hidden;
cursor: ${props => props.readOnly ? 'not-allowed' : 'text'};

&::placeholder {
color: ${semanticColors.text.ghost};
Expand Down
4 changes: 0 additions & 4 deletions src/components/createpost/PostContentSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ const PostContentSection = ({ content, onContentChange, readOnly = false }: Post
maxLength={maxLength}
rows={4}
readOnly={readOnly}
style={{
backgroundColor: readOnly ? '#f5f5f5' : 'transparent',
cursor: readOnly ? 'not-allowed' : 'text'
}}
/>
<CharacterCount>
{content.length} / {maxLength}
Expand Down
2 changes: 1 addition & 1 deletion src/components/group/CommentSection.styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { colors, typography } from '@/styles/global/global';
export const CommentSection = styled.section`
display: flex;
flex-direction: column;
width: 90%;
width: calc(100% - 40px);
gap: 12px;
background: ${colors.darkgrey.dark};
margin: 20px 20px 0 20px;
Expand Down
4 changes: 2 additions & 2 deletions src/components/group/GroupBookSection.styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ export const GroupBookSection = styled.section`
display: flex;
align-items: center;
justify-content: space-between;
width: 90%;
width: calc(100% - 40px);
background: ${colors.darkgrey.dark};
margin: 0 20px 0 20px;
margin: 0 20px;
padding: 10px 12px;
border-radius: 12px;
cursor: pointer;
Expand Down
2 changes: 1 addition & 1 deletion src/components/group/GroupBookSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const GroupBookSection = ({ title, author, onClick }: GroupBookSectionProps) =>
<StyledGroupBookSection onClick={onClick}>
<BookTitle>{title}</BookTitle>
<RightSection>
<BookAuthor>{author}</BookAuthor>
<BookAuthor>{author}</BookAuthor>
<ChevronIcon src={rightChevron} alt="책 이동 버튼" />
</RightSection>
</StyledGroupBookSection>
Expand Down
2 changes: 1 addition & 1 deletion src/components/group/HotTopicSection.styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { colors, typography } from '@/styles/global/global';
export const HotTopicSection = styled.section`
display: flex;
flex-direction: column;
width: 90%;
width: calc(100% - 40px);
gap: 12px;
background: ${colors.darkgrey.dark};
margin: 20px 20px 80px 20px;
Expand Down
2 changes: 1 addition & 1 deletion src/components/group/MyGroupCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const MyGroupCard = forwardRef<HTMLDivElement, MyGroupCardProps>((props,
<div>
<ProgressText>
{isMine ? '내 진행도' : `${group.userName}님의 진행도`}{' '}
<Percent>{group.progress}%</Percent>
<Percent>{Math.floor(group.progress || 0)}%</Percent>
</ProgressText>
<Bar>
<Fill width={group.progress || 0} />
Expand Down
2 changes: 1 addition & 1 deletion src/components/group/RecordSection.styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { colors, semanticColors, typography } from '@/styles/global/global';
export const RecordSection = styled.section`
display: flex;
flex-direction: column;
width: 90%;
width: calc(100% - 40px);
gap: 12px;
background: ${colors.darkgrey.dark};
margin: 20px 20px 0 20px;
Expand Down
2 changes: 1 addition & 1 deletion src/components/group/RecordSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const RecordSection = ({ currentPage, progress, onClick }: RecordSectionProps) =
<RecordSectionContent>
<CurrentPage>현재 페이지 {currentPage}</CurrentPage>
<div style={{ display: 'flex', alignItems: 'baseline' }}>
<ProgressText>{progress}</ProgressText>
<ProgressText>{Math.floor(progress)}</ProgressText>
<PercentText>%</PercentText>
</div>
<ProgressBar>
Expand Down
Loading