Skip to content

Commit 255bedc

Browse files
authored
Merge pull request #235 from DevKor-github/dev
Deploy: 배포
2 parents 14f3d96 + c1453c5 commit 255bedc

24 files changed

Lines changed: 621 additions & 224 deletions

File tree

package.json

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"re:gen:api": "node ./scripts/re-create-api-json.js"
1616
},
1717
"dependencies": {
18-
"@amplitude/analytics-browser": "^2.11.6",
18+
"@amplitude/analytics-browser": "^2.17.6",
1919
"@hookform/resolvers": "^3.3.4",
2020
"@radix-ui/react-checkbox": "^1.0.4",
2121
"@radix-ui/react-dialog": "^1.1.1",
@@ -24,49 +24,50 @@
2424
"@radix-ui/react-menubar": "^1.1.1",
2525
"@radix-ui/react-popover": "^1.1.1",
2626
"@radix-ui/react-slot": "^1.1.1",
27-
"@tanstack/react-query": "^5.64.2",
28-
"@tanstack/react-query-devtools": "^5.51.23",
27+
"@tanstack/react-query": "^5.79.2",
28+
"@tanstack/react-query-devtools": "^5.79.2",
2929
"@vanilla-extract/css": "^1.17.0",
3030
"@vanilla-extract/recipes": "^0.5.5",
31-
"axios": "^1.6.8",
32-
"country-flag-icons": "^1.5.13",
31+
"axios": "^1.9.0",
32+
"clsx": "^2.1.1",
33+
"country-flag-icons": "^1.5.19",
3334
"date-fns": "^3.6.0",
3435
"embla-carousel-autoplay": "^8.2.0",
3536
"embla-carousel-react": "^8.1.8",
36-
"es-toolkit": "^1.27.0",
37+
"es-toolkit": "^1.38.0",
3738
"framer-motion": "^11.3.24",
3839
"heic2any": "^0.0.4",
3940
"html2canvas": "^1.4.1",
4041
"iso-3166-1-ts": "^0.2.2",
4142
"jotai": "^2.8.0",
4243
"lucide-react": "^0.441.0",
4344
"qs": "^6.13.0",
44-
"react": "^18.2.0",
45+
"react": "^18.3.1",
4546
"react-day-picker": "^8.10.1",
46-
"react-dom": "^18.2.0",
47+
"react-dom": "^18.3.1",
4748
"react-error-boundary": "^5.0.0",
48-
"react-helmet-async": "^2.0.4",
49+
"react-helmet-async": "^2.0.5",
4950
"react-hook-form": "^7.51.4",
5051
"react-icons": "^5.5.0",
5152
"react-image-file-resizer": "^0.4.8",
52-
"react-router-dom": "^6.22.3",
53+
"react-router-dom": "^6.30.1",
5354
"react-select": "^5.8.0",
5455
"react-textarea-autosize": "^8.5.3",
55-
"sonner": "^1.5.0",
56-
"ts-pattern": "^5.3.1",
57-
"zod": "^3.23.8"
56+
"sonner": "^1.7.4",
57+
"ts-pattern": "^5.7.1",
58+
"zod": "^3.25.49"
5859
},
5960
"devDependencies": {
6061
"@openapitools/openapi-generator-cli": "^2.16.3",
6162
"@pandacss/dev": "^0.37.2",
6263
"@tanstack/eslint-plugin-query": "^5.51.15",
63-
"@types/qs": "^6.9.16",
64-
"@types/react": "^18.2.66",
65-
"@types/react-dom": "^18.2.22",
64+
"@types/qs": "^6.14.0",
65+
"@types/react": "^18.3.23",
66+
"@types/react-dom": "^18.3.7",
6667
"@typescript-eslint/eslint-plugin": "^7.2.0",
6768
"@typescript-eslint/parser": "^7.2.0",
6869
"@vanilla-extract/vite-plugin": "^4.0.19",
69-
"@vitejs/plugin-react-swc": "^3.5.0",
70+
"@vitejs/plugin-react-swc": "^3.10.0",
7071
"eslint": "^8.57.0",
7172
"eslint-config-prettier": "^9.1.0",
7273
"eslint-import-resolver-typescript": "^3.6.1",
@@ -75,8 +76,8 @@
7576
"eslint-plugin-react-hooks": "^4.6.0",
7677
"eslint-plugin-react-refresh": "^0.4.6",
7778
"prettier": "^3.2.5",
78-
"typescript": "^5.2.2",
79-
"vite": "^5.2.0",
79+
"typescript": "^5.8.3",
80+
"vite": "^5.4.19",
8081
"vite-tsconfig-paths": "^4.3.2"
8182
},
8283
"packageManager": "yarn@4.6.0"

packages/api/ku-key/.openapi-generator/FILES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ models/get-friend-response-dto.ts
7676
models/get-hot-club-response-dto.ts
7777
models/get-my-comment-list-response-dto.ts
7878
models/get-notice-response-dto.ts
79+
models/get-nullable-timetable-response-dto.ts
7980
models/get-point-history-response-dto.ts
8081
models/get-post-list-response-dto.ts
8182
models/get-post-list-with-board-response-dto.ts

packages/api/ku-key/api/banner-api.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,14 @@ const bannerIdDeleteAxiosParamCreator = async (
9595
* @summary 배너 이미지 생성
9696
* @param {any} image 배너 이미지 파일
9797
* @param {string} title 배너 제목
98+
* @param {string} [link] 링크
9899
* @param {*} [options] Override http request option.
99100
* @throws {RequiredError}
100101
*/
101102
const bannerPostAxiosParamCreator = async (
102103
image: any,
103104
title: string,
105+
link?: string,
104106
options: AxiosRequestConfig = {},
105107
configuration?: Configuration,
106108
): Promise<RequestArgs> => {
@@ -125,6 +127,10 @@ const bannerPostAxiosParamCreator = async (
125127
localVarFormParams.append('title', title as any)
126128
}
127129

130+
if (link !== undefined) {
131+
localVarFormParams.append('link', link as any)
132+
}
133+
128134
localVarHeaderParameter['Content-Type'] = 'multipart/form-data'
129135

130136
setSearchParams(localVarUrlObj, localVarQueryParameter)
@@ -175,16 +181,18 @@ const bannerIdDeleteFp = async (
175181
* @summary 배너 이미지 생성
176182
* @param {any} image 배너 이미지 파일
177183
* @param {string} title 배너 제목
184+
* @param {string} [link] 링크
178185
* @param {*} [options] Override http request option.
179186
* @throws {RequiredError}
180187
*/
181188
const bannerPostFp = async (
182189
image: any,
183190
title: string,
191+
link?: string,
184192
options?: AxiosRequestConfig,
185193
configuration?: Configuration,
186194
): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BannerDto>> => {
187-
const localVarAxiosArgs = await bannerPostAxiosParamCreator(image, title, options, configuration)
195+
const localVarAxiosArgs = await bannerPostAxiosParamCreator(image, title, link, options, configuration)
188196
return createRequestFunction(localVarAxiosArgs, globalAxios, configuration)
189197
}
190198

@@ -246,6 +254,7 @@ export const bannerIdDelete = ({
246254
export type BannerPostRequestParams = {
247255
image: any
248256
title: string
257+
link?: string
249258
options?: any
250259
}
251260

@@ -254,6 +263,7 @@ export type BannerPostRequestParams = {
254263
* @summary 배너 이미지 생성
255264
* @param {any} image 배너 이미지 파일
256265
* @param {string} title 배너 제목
266+
* @param {string} [link] 링크
257267
* @param {*} [options] Override http request option.
258268
* @throws {RequiredError}
259269
*/
@@ -267,7 +277,7 @@ export const bannerPost = ({
267277
axios?: AxiosInstance
268278
}) => {
269279
return (params: BannerPostRequestParams): AxiosPromise<BannerDto> => {
270-
return bannerPostFp(params.image, params.title, params.options, configuration).then(request =>
280+
return bannerPostFp(params.image, params.title, params.link, params.options, configuration).then(request =>
271281
request(axios, basePath),
272282
)
273283
}

packages/api/ku-key/api/friendship-api.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ import { DeleteFriendshipResponseDto } from '../models'
2525
// @ts-ignore
2626
import { GetFriendResponseDto } from '../models'
2727
// @ts-ignore
28-
import { GetReceivedFriendshipRequestCountDto } from '../models'
28+
import { GetNullableTimetableResponseDto } from '../models'
2929
// @ts-ignore
30-
import { GetTimetableByTimetableIdDto } from '../models'
30+
import { GetReceivedFriendshipRequestCountDto } from '../models'
3131
// @ts-ignore
3232
import { GetWaitingFriendResponseDto } from '../models'
3333
// @ts-ignore
@@ -455,7 +455,7 @@ const friendshipFriendTimetableGetFp = async (
455455
semester: string,
456456
options?: AxiosRequestConfig,
457457
configuration?: Configuration,
458-
): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetTimetableByTimetableIdDto>>> => {
458+
): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetNullableTimetableResponseDto>> => {
459459
const localVarAxiosArgs = await friendshipFriendTimetableGetAxiosParamCreator(
460460
username,
461461
year,
@@ -652,7 +652,7 @@ export const friendshipFriendTimetableGet = ({
652652
basePath?: string
653653
axios?: AxiosInstance
654654
}) => {
655-
return (params: FriendshipFriendTimetableGetRequestParams): AxiosPromise<Array<GetTimetableByTimetableIdDto>> => {
655+
return (params: FriendshipFriendTimetableGetRequestParams): AxiosPromise<GetNullableTimetableResponseDto> => {
656656
return friendshipFriendTimetableGetFp(
657657
params.username,
658658
params.year,

packages/api/ku-key/api/timetable-api.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { CreateTimetableCourseResponseDto } from '../models'
2929
// @ts-ignore
3030
import { CreateTimetableDto } from '../models'
3131
// @ts-ignore
32-
import { GetTimetableByTimetableIdDto } from '../models'
32+
import { GetNullableTimetableResponseDto } from '../models'
3333
// @ts-ignore
3434
import { GetTimetableByUserIdResponseDto } from '../models'
3535
// @ts-ignore
@@ -606,7 +606,7 @@ const timetableTimetableIdGetFp = async (
606606
timetableId: number,
607607
options?: AxiosRequestConfig,
608608
configuration?: Configuration,
609-
): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTimetableByTimetableIdDto>> => {
609+
): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetNullableTimetableResponseDto>> => {
610610
const localVarAxiosArgs = await timetableTimetableIdGetAxiosParamCreator(timetableId, options, configuration)
611611
return createRequestFunction(localVarAxiosArgs, globalAxios, configuration)
612612
}
@@ -901,7 +901,7 @@ export const timetableTimetableIdGet = ({
901901
basePath?: string
902902
axios?: AxiosInstance
903903
}) => {
904-
return (params: TimetableTimetableIdGetRequestParams): AxiosPromise<GetTimetableByTimetableIdDto> => {
904+
return (params: TimetableTimetableIdGetRequestParams): AxiosPromise<GetNullableTimetableResponseDto> => {
905905
return timetableTimetableIdGetFp(params.timetableId, params.options, configuration).then(request =>
906906
request(axios, basePath),
907907
)

packages/api/ku-key/models/banner-dto.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,10 @@ export interface BannerDto {
3636
* @memberof BannerDto
3737
*/
3838
title: string
39+
/**
40+
* 배너 링크
41+
* @type {string}
42+
* @memberof BannerDto
43+
*/
44+
link: string | null
3945
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/* tslint:disable */
2+
/* eslint-disable */
3+
/**
4+
* KU-KEY API
5+
* API for KU-KEY service
6+
*
7+
* The version of the OpenAPI document: 1.0
8+
*
9+
*
10+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11+
* https://openapi-generator.tech
12+
* Do not edit the class manually.
13+
*/
14+
15+
import { GetTimetableByTimetableIdDto } from './get-timetable-by-timetable-id-dto'
16+
17+
/**
18+
*
19+
* @export
20+
* @interface GetNullableTimetableResponseDto
21+
*/
22+
export interface GetNullableTimetableResponseDto {
23+
/**
24+
* 특정 시간표 정보
25+
* @type {GetTimetableByTimetableIdDto}
26+
* @memberof GetNullableTimetableResponseDto
27+
*/
28+
timetable: GetTimetableByTimetableIdDto | null
29+
}

packages/api/ku-key/models/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export * from './get-friend-response-dto'
5050
export * from './get-hot-club-response-dto'
5151
export * from './get-my-comment-list-response-dto'
5252
export * from './get-notice-response-dto'
53+
export * from './get-nullable-timetable-response-dto'
5354
export * from './get-point-history-response-dto'
5455
export * from './get-post-list-response-dto'
5556
export * from './get-post-list-with-board-response-dto'

scripts/re-create-api-json.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ async function removeOperationId(filePath) {
3737
}
3838

3939
// 스크립트 실행
40-
await removeOperationId('https://15.164.27.130.nip.io/api-json')
40+
await removeOperationId('https://dev.api.ku-key.devkor.club/api-json')
4141
await execShellCommand(`yarn prettier --w "scripts/__generated__/ku-key-api.json"`)

src/components/ui/profile/index.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,19 @@ const bgConfig: Record<CharacterType, string> = {
1616
interface ProfileProps extends Pick<User, 'isAnonymous' | 'isDeleted' | 'character'> {
1717
onlyTitle: boolean
1818
bgWhite?: boolean
19+
size?: number
1920
}
2021

21-
const Profile = ({ isAnonymous, isDeleted, character, onlyTitle, bgWhite }: ProfileProps) => {
22+
const Profile = ({ isAnonymous, isDeleted, character, onlyTitle, bgWhite, size = 20 }: ProfileProps) => {
2223
const profileImg = characterConfig[character.type][character.level ?? 1]
2324
const bgColor = bgConfig[character.type]
25+
26+
const w = size ?? (onlyTitle ? 15 : 20)
2427
return (
2528
<img
2629
src={isDeleted ? Characters.CharacterDeleted : isAnonymous ? Characters.CharacterDefault : profileImg}
2730
alt="Profile"
28-
className={css({ w: onlyTitle ? 15 : 20, h: onlyTitle ? 15 : 20, rounded: 'full' })}
31+
className={css({ w, h: w, rounded: 'full' })}
2932
style={{ backgroundColor: bgWhite ? 'white' : bgColor }}
3033
/>
3134
)

0 commit comments

Comments
 (0)