Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
f56bf4e
feat: 타임라인 생성 모달 UI 구현
jjjsun Jun 24, 2026
bd2d26f
fix: 코드래빗 수정사항 반영
jjjsun Jun 24, 2026
59546eb
Merge branch 'develop' into feature/#263
jjjsun Jun 24, 2026
7e67514
feat: 타임라인 페이지 조립 완료
jjjsun Jun 25, 2026
13b76ee
style: 타임라인 생성 버튼 색상 진하게 수정 및 LeftIcon색상통일
jjjsun Jun 25, 2026
10c087e
fix: TimelineBar DropdownMenu 자동 위아래 적용되도록 여유공간추가, 타임라인 캔버스 높이 길게 수정
jjjsun Jun 25, 2026
7df803f
style: 디자인 수정
jjjsun Jun 25, 2026
6602934
Merge branch 'develop' into feature/#265
jjjsun Jun 25, 2026
372b156
fix: 코드래빗 수정사항 반영
jjjsun Jun 25, 2026
8b8c11a
Merge branch 'feature/#265' of https://github.com/WhereYouAd/WhereYou…
jjjsun Jun 25, 2026
8df5cc2
Merge branch 'develop' into feature/#263
jjjsun Jun 25, 2026
71ba502
fix: Kebab아이콘이 타 Timelinebar에 가려지는 문제 해결
jjjsun Jun 25, 2026
ca89da4
style: 랜딩 피처 버튼 그라데이션 적용
Seojegyeong Jun 26, 2026
8e78baa
refactor: LandingGuide 이용가이드 섹션 개선
Seojegyeong Jun 26, 2026
4c1d03d
Merge pull request #264 from WhereYouAd/feature/#263
jjjsun Jun 26, 2026
ff9742e
Merge branch 'develop' into feature/#265
jjjsun Jun 26, 2026
a83179a
Merge pull request #266 from WhereYouAd/feature/#265
jjjsun Jun 27, 2026
ca52bb4
style: 플랫폼 카드 shadow 제거
Seojegyeong Jun 27, 2026
7e438bd
refactor: 랜딩 컴포넌트 접근성 및 코드 품질 개선
Seojegyeong Jun 27, 2026
82a4900
refactor: WorkspaceSwitcher useCoreMutation 적용
YermIm Jun 29, 2026
be491cc
refactor: useCampaignGroup useCoreQuery/useCoreMutation 적용
YermIm Jun 29, 2026
ccf96de
Merge pull request #273 from WhereYouAd/refactor/#230
Seojegyeong Jul 1, 2026
8c1942d
style: GuideTimeline 임의값 클래스를 Tailwind 표준 유틸리티로 교체
Seojegyeong Jul 1, 2026
fa47eb1
refactor: LandingFAQ 아코디언을 정적 리스트로 변경
Seojegyeong Jul 2, 2026
0459c5a
style: 이용 가이드 목업 크기 통일 및 상태 표시 개선
Seojegyeong Jul 2, 2026
40d2267
feat: 이용 가이드 섹션에 스크롤 진행 인디케이터 추가
Seojegyeong Jul 2, 2026
c6cbfca
style: 히어로 서브카피 문구 변경
Seojegyeong Jul 2, 2026
de05196
feat: 헤더 스크롤 연동 글래스모피즘 및 히어로 섹션 풀스크린 전환
Seojegyeong Jul 2, 2026
1b51802
style: 헤더 네비게이션 호버 필 효과 및 회원가입 버튼 스타일 통일
Seojegyeong Jul 2, 2026
a5ff2e4
refactor: 랜딩 페이지에서 멀티 디바이스 섹션 제거
Seojegyeong Jul 2, 2026
8364099
feat: 랜딩 푸터 다단 구조로 리디자인 및 CTA 배너 추가
Seojegyeong Jul 2, 2026
0d224dd
chore: 미사용 에셋 및 dead component 제거
Seojegyeong Jul 2, 2026
187522d
refactor: 랜딩 헤더 회원가입 버튼 리디자인 및 코드 정리
Seojegyeong Jul 2, 2026
c9b2a95
feat: Query Key 추가
jjjsun Jul 2, 2026
2cb650e
feat: 타임라인 API함수 생성
jjjsun Jul 2, 2026
6e533b8
feat: 전역 에러 페이지 및 컴포넌트 레벨 ErrorBoundary 추가
Seojegyeong Jul 2, 2026
82daa50
fix: 에러·404 페이지 뷰포트 중앙 정렬 및 클래스 통일
Seojegyeong Jul 2, 2026
78b8cff
Merge pull request #279 from WhereYouAd/feature/#278
Seojegyeong Jul 2, 2026
bfc15a3
Merge remote-tracking branch 'origin/develop' into feature/#274
Seojegyeong Jul 3, 2026
659eac6
feat: MetricErrorFallback, ChartErrorFallback 스토리북 추가
Seojegyeong Jul 3, 2026
a1ec648
refactor: ErrorBoundary를 섹션 내부로 이동하여 카드 구조 유지
Seojegyeong Jul 3, 2026
3864c83
fix: pnpm-lock.yaml에 react-error-boundary 추가
Seojegyeong Jul 3, 2026
42ea258
refactor: useCampaignGroup useCoreQuery/useCoreMutation 적용
YermIm Jul 3, 2026
ae8e171
Merge pull request #275 from WhereYouAd/refactor/#268
YermIm Jul 3, 2026
762dfbc
refactor: 중복 애니메이션/레이아웃을 ErrorLayout으로 추출하고 resetKeys 추가
Seojegyeong Jul 3, 2026
b1b3328
refactor: 접근성·타입 안전성·ErrorBoundary 로깅 개선
Seojegyeong Jul 3, 2026
b96ad33
refactor: onError console.error 제거 (React가 자동으로 콘솔 출력)
Seojegyeong Jul 3, 2026
b38d110
feat: 타임라인 기간 보여줄 util함수구현
jjjsun Jul 3, 2026
7465e37
feat: 타임라인 바 칸수 유틸함수, 패널 KPI 함수 만들기
jjjsun Jul 3, 2026
a3825ab
feat: formatDot 날자간 구별을 -에서 .으로 수정
jjjsun Jul 4, 2026
3ec0887
Merge pull request #280 from WhereYouAd/feature/#274
Seojegyeong Jul 4, 2026
08a2880
feat: 타임라인 커스텀 훅 생성
jjjsun Jul 4, 2026
2333a7b
feat: 타임라인 스켈레톤 UI
jjjsun Jul 4, 2026
1508d3d
feat: 타임라인 생성 모달 mock 제출을 createTimeline mutation으로 교체
jjjsun Jul 4, 2026
d788c08
feat: 타임라인 페이지 mock 제거 및 목록 API 연동
jjjsun Jul 4, 2026
ab90779
fix: Storybook Chromatic 빌드 VITE_API_BASE_URL 미설정 오류 수정
jjjsun Jul 4, 2026
d7a1063
fix: 다른 바 클릭시 이전 타임라인 요약 데이터 노출되지 않도록 수정
jjjsun Jul 4, 2026
268e0a0
fix: 타임라인 에러 UI 접근성 및 error 타입 캐스팅 제거, 오타수정
jjjsun Jul 4, 2026
b612e60
fix: 타임라인 empty 상태를 전체 목록/현재 기간 기준으로 분리
jjjsun Jul 4, 2026
bd4c78b
fix: 이전 동일 기간 대비를 작년 동기간 대비로 타임라인 기간설정 값 변경
jjjsun Jul 5, 2026
f88347c
fix: lint에러 수정
jjjsun Jul 5, 2026
c19861f
Merge branch 'develop' into feature/#271
jjjsun Jul 5, 2026
f1e4798
feat: 타임라인 수정/삭제/요약AI 요청 API 함수 추가
jjjsun Jul 5, 2026
e510b97
feat: 네이버 연동 apiKey/secretKey AES 암호화 적용
YermIm Jul 5, 2026
2c620fd
feat: 네이버 재연동 PATCH 및 useCoreMutation 패턴 적용
YermIm Jul 5, 2026
0e51f7b
Merge pull request #281 from WhereYouAd/feature/#271
jjjsun Jul 6, 2026
868376b
feat: OAuth 연동 완료 복귀 처리 훅 추가
YermIm Jul 6, 2026
76e7ccc
feat: 타임라인 수정/삭제/AI요약 훅 생성
jjjsun Jul 6, 2026
4555b2a
feat: useTimelineDetail에 query options 파라미터 추가
jjjsun Jul 6, 2026
8717b5e
feat: 타임라인 생성 모달 edit 모드 지원
jjjsun Jul 6, 2026
688cd33
feat: 타임라인 성과 패널 AI 요약 mock 데이터 제거, props 연동
jjjsun Jul 6, 2026
9992a51
feat: 타임라인 수정/삭제/AI 요약 UI 연동
jjjsun Jul 6, 2026
0476c70
chore: 타임라인 title과 설명을 수정버전/생성버전 다르게 보이도록 수정
jjjsun Jul 6, 2026
22e3c92
fix: 수정 모달 로딩 전 열릴때 튀는 현상 방지
jjjsun Jul 6, 2026
5357e42
fix: 코드래빗 수정사항 반영
jjjsun Jul 6, 2026
dc408c2
feat: Meta OAuth 연동 완료 복귀 처리
YermIm Jul 6, 2026
2b1154e
feat: 플랫폼 연동 해제 API 및 확인 모달 연동
YermIm Jul 6, 2026
5fd364a
fix: 네이버 연동 해제 후 재연동 시 PATCH 사용
YermIm Jul 6, 2026
574e52c
Merge pull request #283 from WhereYouAd/feature/#282
jjjsun Jul 7, 2026
991e70a
feat: 타임라인 상세조회 API 응답에 comparisonPeriodType 반영 및 수정 prefilling
jjjsun Jul 7, 2026
9408454
Merge pull request #286 from WhereYouAd/feature/#285
jjjsun Jul 8, 2026
61e55d1
fix: 리뷰 반영
YermIm Jul 9, 2026
97afd1b
Merge pull request #284 from WhereYouAd/feature/#267
YermIm Jul 9, 2026
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
11 changes: 11 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
import type { StorybookConfig } from "@storybook/react-vite";
import type { InlineConfig } from "vite";

const config: StorybookConfig = {
stories: ["../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
addons: ["@storybook/addon-essentials"],
framework: "@storybook/react-vite",
async viteFinal(viteConfig: InlineConfig) {
viteConfig.define = {
...(viteConfig.define ?? {}),
"import.meta.env.VITE_API_BASE_URL": JSON.stringify(
"http://localhost:8080",
),
};
return viteConfig;
},
};

export default config;
16 changes: 13 additions & 3 deletions .storybook/preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,23 @@ import "../src/index.css";

import { MemoryRouter } from "react-router-dom";
import type { Preview } from "@storybook/react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";

const queryClient = new QueryClient({
defaultOptions: {
queries: { retry: false },
mutations: { retry: false },
},
});

const preview: Preview = {
decorators: [
(Story) => (
<MemoryRouter>
<Story />
</MemoryRouter>
<QueryClientProvider client={queryClient}>
<MemoryRouter>
<Story />
</MemoryRouter>
</QueryClientProvider>
),
],
parameters: {
Expand Down
88 changes: 88 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@
"@tanstack/react-query": "^5.90.17",
"apexcharts": "^5.7.0",
"axios": "^1.13.4",
"crypto-js": "^4.2.0",
"framer-motion": "^12.38.0",
"react": "^19.2.0",
"react-apexcharts": "^2.0.1",
"react-dom": "^19.2.0",
"react-error-boundary": "^6.1.2",
"react-hook-form": "^7.71.1",
"react-markdown": "^10.1.0",
"react-remove-scroll": "^2.7.2",
Expand All @@ -45,6 +47,7 @@
"@storybook/react-vite": "8.6.17",
"@storybook/test": "8.6.17",
"@tailwindcss/forms": "^0.5.11",
"@types/crypto-js": "^4.2.2",
"@types/node": "^24.10.1",
"@types/react": "^19.2.5",
"@types/react-dom": "^19.2.3",
Expand Down
28 changes: 28 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 24 additions & 1 deletion src/api/integration/naver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,37 @@ import type {
INaverCredentialsRequest,
} from "@/types/integration/naver";

import { encryptAesCbcBase64 } from "@/utils/integration/encryptAesCbcBase64";

import { axiosInstance } from "@/lib/axiosInstance";

/** 폼 입력(평문) → API body(키만 암호화) */
function toNaverEncryptedBody(
body: INaverCredentialsRequest,
): INaverCredentialsRequest {
return {
customerId: body.customerId.trim(),
apiKey: encryptAesCbcBase64(body.apiKey.trim()),
secretKey: encryptAesCbcBase64(body.secretKey.trim()),
};
}

export async function connectNaverAccount(
orgId: number,
body: INaverCredentialsRequest,
): Promise<void> {
await axiosInstance.post<ICommonResponse<INaverConnectResponseData>>(
`/api/platform/${orgId}/accounts/naver`,
body,
toNaverEncryptedBody(body),
);
}

export async function updateNaverAccount(
orgId: number,
body: INaverCredentialsRequest,
): Promise<void> {
await axiosInstance.patch(
`/api/platform/${orgId}/accounts/naver`,
toNaverEncryptedBody(body),
);
}
7 changes: 7 additions & 0 deletions src/api/integration/platformAccounts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,10 @@ export const getPlatformAccounts = async (
>(`/api/platform/${orgId}/accounts`);
return data.data;
};

export async function disconnectPlatformAccount(
orgId: number,
accountId: number,
): Promise<void> {
await axiosInstance.delete(`/api/platform/${orgId}/accounts/${accountId}`);
}
Loading
Loading