From e1fdb12d83ee2e8cca657e7c9154bd5efe8de987 Mon Sep 17 00:00:00 2001 From: mota Date: Thu, 30 Oct 2025 20:47:34 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=95=84=20=EC=98=81?= =?UTF-8?q?=EC=97=AD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cursor/.prompt/profilearea.md | 16 +++++++ public/erd.svg | 2 +- src/app/page.tsx | 88 ++++++++++++++++++++++++---------- 3 files changed, 81 insertions(+), 25 deletions(-) create mode 100644 .cursor/.prompt/profilearea.md diff --git a/.cursor/.prompt/profilearea.md b/.cursor/.prompt/profilearea.md new file mode 100644 index 0000000..9fb77d3 --- /dev/null +++ b/.cursor/.prompt/profilearea.md @@ -0,0 +1,16 @@ +## 프로필영역상세 디자인 작업 +1. 프로필 영역의 xpading: 25, ypadding: 34 +2. 프로필 영역은 수직 방향으로 3열로 나뉘고 각 간격 32px +3. 첫번째열은 프로필 사진 영역으로 높이가 120px이며 프로필 사진과 등급아이콘이 수평으로 들어가고 프로필사진은 120x120 px 등급은 62x62px 둘 사이 간격은 8px 수평방향 중앙에 배치 + +4. 두번째영역은 닉네임, 정보 영역으로 높이가 120px이며 내부에는 닉네임, 레벨, 등급, 포인트가 수직으로 배치 + 4-1. 닉네임과 레벨 수직간격은 20px 레벨과 등급, 등급과 포인트의 수직 간격은 12px + 4-2. 닉네임영역은 폰트 컬러 5c5c5c 폰트사이즈 18px + 4-3. 레벨,등급,포인트 라벨은 가로 사이즈 64px 좌측에 16px*16px아이콘이 배치되며(임시로 사각형 svg 아이콘 생성해서 넣기) 8px간격으로 우측에 텍스트 좌측정렬 컬러 8c8c8c이고 폰트사이즈 12px + 4-4. 라벨의 우측 정보는 라벨과 수평으로 24px 간격에 배치되며 닉네임과 컬러같고, 폰트사이즈 16px + +5. 세번째 열은 버튼 영역이며 수직으로 4개의 버튼이들어가며 모두 300px*32px 라운드는 full 텍스트 는 좌측부터 100px 위치에 배치되며 가장 왼쪽에 돋보기 아이콘 폰트는 12px, 텍스트컬러는 흰색 + 5-1. 첫번째 버튼은 내 정보 페이지 + 5-2. 두번째 버튼은 포인트 히스토리 + 5-3. 세번째 버튼은 내가 쓴 게시글 버튼 가장 우측에 개수 표현 개수는 흰배경에 풀라운드 width 47 height 18px 텍스트 컬러 707070 텍스트 사이즈 10px + 5-4. 네번째 버튼은 내가 쓴 게시글 버튼 가장 우측에 개수 표현 개수는 흰배경에 풀라운드 width 47 height 18px 텍스트 컬러 707070 텍스트 사이즈 10px \ No newline at end of file diff --git a/public/erd.svg b/public/erd.svg index c0563d1..c467a3d 100644 --- a/public/erd.svg +++ b/public/erd.svg @@ -1 +1 @@ -

enum:status

enum:type

enum:readLevel

enum:writeLevel

category

enum:role

board

user

enum:status

board

author

enum:status

enum:authLevel

enum:resource

enum:action

role

user

role

post

author

post

tag

enum:type

post

enum:type

post

user

post

user

post

enum:targetType

reporter

post

comment

sender

receiver

blocker

blocked

enum:referenceType

user

enum:appliesTo

enum:type

user

enum:targetType

actor

enum:targetType

createdByUser

user

createdByUser

user

user

coupon

user

BoardStatus

active

active

hidden

hidden

archived

archived

BoardType

general

general

special

special

AccessLevel

public

public

member

member

moderator

moderator

admin

admin

PostStatus

published

published

hidden

hidden

deleted

deleted

AttachmentType

image

image

file

file

BoardModRole

MODERATOR

MODERATOR

MANAGER

MANAGER

UserStatus

active

active

suspended

suspended

withdrawn

withdrawn

AuthLevel

USER

USER

MOD

MOD

ADMIN

ADMIN

ReactionType

RECOMMEND

RECOMMEND

REPORT

REPORT

SanctionType

SUSPEND

SUSPEND

BAN

BAN

DOWNGRADE

DOWNGRADE

TargetType

POST

POST

COMMENT

COMMENT

USER

USER

BOARD

BOARD

SYSTEM

SYSTEM

Resource

BOARD

BOARD

POST

POST

COMMENT

COMMENT

USER

USER

ADMIN

ADMIN

Action

READ

READ

CREATE

CREATE

UPDATE

UPDATE

DELETE

DELETE

MODERATE

MODERATE

ADMINISTER

ADMINISTER

board_categories

String

id

🗝️

String

name

String

slug

Int

sortOrder

String

status

DateTime

createdAt

DateTime

updatedAt

boards

String

id

🗝️

String

name

String

slug

String

description

Int

sortOrder

BoardStatus

status

BoardType

type

Boolean

requiresApproval

Boolean

allowAnonymousPost

Boolean

allowSecretComment

Boolean

isAdultOnly

Json

requiredTags

Json

requiredFields

AccessLevel

readLevel

AccessLevel

writeLevel

DateTime

createdAt

DateTime

updatedAt

board_moderators

String

id

🗝️

BoardModRole

role

DateTime

createdAt

posts

String

id

🗝️

String

title

String

content

PostStatus

status

Boolean

isAnonymous

Boolean

isPinned

Int

pinnedOrder

DateTime

createdAt

DateTime

updatedAt

DateTime

lastActivityAt

users

String

userId

🗝️

String

nickname

String

passwordHash

String

name

DateTime

birth

String

phone

Int

rank

UserStatus

status

AuthLevel

authLevel

String

profileImage

DateTime

lastLoginAt

Boolean

isAdultVerified

Int

loginFailCount

DateTime

agreementTermsAt

DateTime

createdAt

DateTime

updatedAt

roles

String

roleId

🗝️

String

name

String

description

DateTime

createdAt

role_permissions

String

id

🗝️

Resource

resource

Action

action

Boolean

allowed

DateTime

createdAt

user_roles

String

id

🗝️

DateTime

createdAt

comments

String

id

🗝️

String

content

Boolean

isAnonymous

Boolean

isSecret

String

secretPasswordHash

DateTime

createdAt

DateTime

updatedAt

tags

String

tagId

🗝️

String

name

String

slug

DateTime

createdAt

post_tags

String

id

🗝️

attachments

String

id

🗝️

String

url

AttachmentType

type

Int

size

Int

width

Int

height

Int

sortOrder

DateTime

createdAt

reactions

String

id

🗝️

String

clientHash

ReactionType

type

DateTime

createdAt

post_view_logs

String

id

🗝️

String

ip

String

userAgent

DateTime

createdAt

post_stats

Int

views

Int

recommendCount

Int

reportCount

Int

commentsCount

reports

String

id

🗝️

TargetType

targetType

String

reason

String

status

DateTime

createdAt

messages

String

id

🗝️

String

body

DateTime

readAt

DateTime

createdAt

blocks

String

id

🗝️

DateTime

createdAt

point_transactions

String

id

🗝️

Int

amount

String

reason

TargetType

referenceType

String

referenceId

DateTime

createdAt

level_thresholds

String

id

🗝️

Int

level

Int

minPoints

banned_keywords

String

id

🗝️

String

pattern

TargetType

appliesTo

Int

severity

Boolean

active

DateTime

createdAt

sanctions

String

id

🗝️

SanctionType

type

String

reason

DateTime

startAt

DateTime

endAt

String

createdBy

audit_logs

String

id

🗝️

String

action

TargetType

targetType

String

targetId

Json

meta

DateTime

createdAt

admin_notifications

String

id

🗝️

String

type

String

message

TargetType

targetType

String

targetId

DateTime

createdAt

DateTime

readAt

login_sessions

String

id

🗝️

String

device

String

ip

String

userAgent

DateTime

createdAt

DateTime

lastSeenAt

ip_blocks

String

id

🗝️

String

ip

String

reason

Boolean

active

DateTime

createdAt

nickname_changes

String

id

🗝️

String

oldNickname

String

newNickname

DateTime

changedAt

password_reset_tokens

String

id

🗝️

String

token

DateTime

expiresAt

DateTime

usedAt

DateTime

createdAt

coupons

String

id

🗝️

String

code

String

title

String

description

Int

stock

Int

maxPerUser

DateTime

expiresAt

Boolean

active

DateTime

createdAt

coupon_redemptions

String

id

🗝️

DateTime

createdAt

partners

String

id

🗝️

String

name

String

category

Float

latitude

Float

longitude

String

address

DateTime

createdAt

DateTime

updatedAt

banners

String

id

🗝️

String

title

String

imageUrl

String

linkUrl

Boolean

active

Int

sortOrder

DateTime

startAt

DateTime

endAt

DateTime

createdAt

DateTime

updatedAt

partner_inquiries

String

id

🗝️

String

name

String

contact

String

category

String

message

String

status

DateTime

createdAt

DateTime

approvedAt

partner_requests

String

id

🗝️

String

name

String

category

Float

latitude

Float

longitude

String

address

String

contact

String

status

DateTime

createdAt

DateTime

approvedAt

\ No newline at end of file +

enum:status

enum:type

enum:readLevel

enum:writeLevel

category

enum:role

board

user

enum:status

board

author

enum:status

enum:authLevel

enum:resource

enum:action

role

user

role

post

author

post

tag

enum:type

post

enum:type

post

user

post

user

post

enum:targetType

reporter

post

comment

sender

receiver

blocker

blocked

enum:referenceType

user

enum:appliesTo

enum:type

user

enum:targetType

actor

enum:targetType

createdByUser

user

createdByUser

user

user

coupon

user

BoardStatus

active

active

hidden

hidden

archived

archived

BoardType

general

general

special

special

AccessLevel

public

public

member

member

moderator

moderator

admin

admin

PostStatus

published

published

hidden

hidden

deleted

deleted

AttachmentType

image

image

file

file

BoardModRole

MODERATOR

MODERATOR

MANAGER

MANAGER

UserStatus

active

active

suspended

suspended

withdrawn

withdrawn

AuthLevel

USER

USER

MOD

MOD

ADMIN

ADMIN

ReactionType

RECOMMEND

RECOMMEND

REPORT

REPORT

SanctionType

SUSPEND

SUSPEND

BAN

BAN

DOWNGRADE

DOWNGRADE

TargetType

POST

POST

COMMENT

COMMENT

USER

USER

BOARD

BOARD

SYSTEM

SYSTEM

Resource

BOARD

BOARD

POST

POST

COMMENT

COMMENT

USER

USER

ADMIN

ADMIN

Action

READ

READ

CREATE

CREATE

UPDATE

UPDATE

DELETE

DELETE

MODERATE

MODERATE

ADMINISTER

ADMINISTER

board_categories

String

id

🗝️

String

name

String

slug

Int

sortOrder

String

status

DateTime

createdAt

DateTime

updatedAt

boards

String

id

🗝️

String

name

String

slug

String

description

Int

sortOrder

BoardStatus

status

BoardType

type

Boolean

requiresApproval

Boolean

allowAnonymousPost

Boolean

allowSecretComment

Boolean

isAdultOnly

Json

requiredTags

Json

requiredFields

AccessLevel

readLevel

AccessLevel

writeLevel

DateTime

createdAt

DateTime

updatedAt

board_moderators

String

id

🗝️

BoardModRole

role

DateTime

createdAt

posts

String

id

🗝️

String

title

String

content

PostStatus

status

Boolean

isAnonymous

Boolean

isPinned

Int

pinnedOrder

DateTime

createdAt

DateTime

updatedAt

DateTime

lastActivityAt

users

String

userId

🗝️

String

nickname

String

passwordHash

String

name

DateTime

birth

String

phone

Int

rank

UserStatus

status

AuthLevel

authLevel

String

profileImage

DateTime

lastLoginAt

Boolean

isAdultVerified

Int

loginFailCount

DateTime

agreementTermsAt

DateTime

createdAt

DateTime

updatedAt

roles

String

roleId

🗝️

String

name

String

description

DateTime

createdAt

role_permissions

String

id

🗝️

Resource

resource

Action

action

Boolean

allowed

DateTime

createdAt

user_roles

String

id

🗝️

DateTime

createdAt

comments

String

id

🗝️

String

content

Boolean

isAnonymous

Boolean

isSecret

String

secretPasswordHash

DateTime

createdAt

DateTime

updatedAt

tags

String

tagId

🗝️

String

name

String

slug

DateTime

createdAt

post_tags

String

id

🗝️

attachments

String

id

🗝️

String

url

AttachmentType

type

Int

size

Int

width

Int

height

Int

sortOrder

DateTime

createdAt

reactions

String

id

🗝️

String

clientHash

ReactionType

type

DateTime

createdAt

post_view_logs

String

id

🗝️

String

ip

String

userAgent

DateTime

createdAt

post_stats

Int

views

Int

recommendCount

Int

reportCount

Int

commentsCount

reports

String

id

🗝️

TargetType

targetType

String

reason

String

status

DateTime

createdAt

messages

String

id

🗝️

String

body

DateTime

readAt

DateTime

createdAt

blocks

String

id

🗝️

DateTime

createdAt

point_transactions

String

id

🗝️

Int

amount

String

reason

TargetType

referenceType

String

referenceId

DateTime

createdAt

level_thresholds

String

id

🗝️

Int

level

Int

minPoints

banned_keywords

String

id

🗝️

String

pattern

TargetType

appliesTo

Int

severity

Boolean

active

DateTime

createdAt

sanctions

String

id

🗝️

SanctionType

type

String

reason

DateTime

startAt

DateTime

endAt

String

createdBy

audit_logs

String

id

🗝️

String

action

TargetType

targetType

String

targetId

Json

meta

DateTime

createdAt

admin_notifications

String

id

🗝️

String

type

String

message

TargetType

targetType

String

targetId

DateTime

createdAt

DateTime

readAt

login_sessions

String

id

🗝️

String

device

String

ip

String

userAgent

DateTime

createdAt

DateTime

lastSeenAt

ip_blocks

String

id

🗝️

String

ip

String

reason

Boolean

active

DateTime

createdAt

nickname_changes

String

id

🗝️

String

oldNickname

String

newNickname

DateTime

changedAt

password_reset_tokens

String

id

🗝️

String

token

DateTime

expiresAt

DateTime

usedAt

DateTime

createdAt

coupons

String

id

🗝️

String

code

String

title

String

description

Int

stock

Int

maxPerUser

DateTime

expiresAt

Boolean

active

DateTime

createdAt

coupon_redemptions

String

id

🗝️

DateTime

createdAt

partners

String

id

🗝️

String

name

String

category

Float

latitude

Float

longitude

String

address

DateTime

createdAt

DateTime

updatedAt

banners

String

id

🗝️

String

title

String

imageUrl

String

linkUrl

Boolean

active

Int

sortOrder

DateTime

startAt

DateTime

endAt

DateTime

createdAt

DateTime

updatedAt

partner_inquiries

String

id

🗝️

String

name

String

contact

String

category

String

message

String

status

DateTime

createdAt

DateTime

approvedAt

partner_requests

String

id

🗝️

String

name

String

category

Float

latitude

Float

longitude

String

address

String

contact

String

status

DateTime

createdAt

DateTime

approvedAt

\ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index 8d24db6..8de20ed 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -29,37 +29,77 @@ export default async function Home({ searchParams }: { searchParams: Promise<{ s return ; })()} - {/* 2행: 최소 높이(모바일), md+에서 고정 높이 620px로 내부 스크롤 */} -
-
-
- {/* 1행: 프로필 사진 영역 */} -
- 프로필 + {/* 2행: 고정 높이 610px */} +
+
+
+
+
+ 프로필 +
+ Lv +
+
- {/* 2행: 정보 영역 (4행 그리드) */} -
-
홍길동
-
레벨 : Lv. 79
-
등급 : Iron
-
포인트 : 1,600,000
+
+
홍길동
+
+
+
+ + 레벨 +
+
Lv. 79
+
+
+
+ + 등급 +
+
Iron
+
+
+
+ + 포인트 +
+
1,600,000
+
+
- {/* 3행: 버튼들 영역 (4개 버튼, 세로) */} -
- - - - +
+ + + +
-
+