Footer
사이트 맨 아래의 바닥 — 브랜드 · 사이트맵(탐색 영역)과 정책 링크 · 안내 글 · 저작권(안내 영역)을 블록으로 골라 조립한다. 지금은 groo-home(hangroo.io) 맨 아래 하나이고, 나중에 SSO 로그인 · 가입 아래와 설명서 · 문서 사이트의 바닥이 같은 블록을 쓴다. Desk · HR 의 제품 화면에는 두지 않는다 — 정책 링크는 설정 목록의 줄(List)이다.
구조는 당근 SEED Footer(디자인 문서 · registry block footer-01 ~ footer-04 · qvism-preset footer recipe — Apache-2.0)를 따른다 — 정해진 한 덩어리가 아니라 "제품마다 필요한 구성을 골라 조립하는 조합 예시" 이고, 필수 블록 없이 위 → 아래 순서만 있다. SEED 에는 rootage 가 없어 수치는 블록 코드(틀 1040 · 40 / 32 · 영역 사이 40 · 열 최소 100 …)와 Footer.LinkText 레시피에서 가져왔다. groo-home 의 짜임(7B — SEED footer-04 를 줄인 것) · 1280 미만 좌우 24 · 위 선 · 저작권 형식(9A)은 groo 가 정했다(2026-10-15 사용자 결정 — 마무리 7B · 8A · 9A). 값은 groo 토큰이고, SEED 와 다른 자리는 맨 아래 "SEED 와 다른 점" 에 적었다. groo 에 처음 두는 부품이다.
수치 원본은 footer.yaml이다. 수치 표 자리([표: …])와 그림 자리([그림: …])는 사이트가 그 파일로 그린다 — GitHub 에서는 그 파일 · 그림 코드로 가는 링크로 보인다.
직접 골라 보기
블록(브랜드 · 사이트맵 · 선 · 정책 링크 · 안내 글 · 저작권 · 자리만 있는 사업자 정보 · 연락처 · 소셜)과 폭을 고르면 스펙대로 그린 바닥과 그 코드가 바뀐다. 폭을 줄이면 사이트맵 열이 줄을 바꾸고 저작권 · 소셜이 위아래로 놓인다. 링크에 올리고 Tab 으로 옮겨 볼 수 있다.
1280px 로 그렸다 — 좌우 32, 틀 최대 1040. 링크에 올리고 Tab 으로 옮겨 보세요.
import { Footer, FooterBottom, FooterBrand, FooterColumn, FooterCopyright, FooterDivider, FooterInfo, FooterLink, FooterLinks, FooterNav, FooterSitemap, FooterText } from "@/components/ui/footer"
<Footer>
<FooterNav>
<FooterBrand name="그루" description="People + Forest. 사람(People)이 모여 숲(Forest)처럼 자라나는 조직 생태계를 설계합니다." />
<FooterSitemap>
<FooterColumn title="서비스">
<FooterLink href="https://ieum.hangroo.io">HR</FooterLink>
<FooterLink href="https://damda.hangroo.io">Desk</FooterLink>
<FooterLink href="https://damda.hangroo.io/guide/">Desk 설명서</FooterLink>
</FooterColumn>
<FooterColumn title="계정">
<FooterLink href="https://sso.hangroo.io">로그인</FooterLink>
<FooterLink href="https://sso.hangroo.io">회원가입</FooterLink>
</FooterColumn>
</FooterSitemap>
</FooterNav>
<FooterDivider />
<FooterInfo>
<FooterLinks>
<FooterLink href="https://sso.hangroo.io/privacy" external>개인정보 처리방침</FooterLink>
</FooterLinks>
<FooterText>화면의 숫자와 이름은 소개용 예시입니다. 사진: Unsplash.</FooterText>
<FooterBottom>
<FooterCopyright owner="그루" />
</FooterBottom>
</FooterInfo>
</Footer>Anatomy
| 부위 | 설명 |
|---|---|
| ⓐ Brand | 브랜드 — 글자 로고 "그루" + 소개 한 줄. |
| ⓑ Country | 국가 선택 — 나라 링크 목록. groo 는 두지 않는다(한국어 사이트 하나). |
| ⓒ Sitemap | 사이트맵 — 열 제목 + 링크 목록의 열들. <nav aria-label="사이트 지도">. |
| ⓓ Divider | 선 — 탐색 영역과 안내 영역을 함께 쓸 때만. |
| ⓔ Policy Links | 정책 링크 줄 — 개인정보 처리방침 ↗. |
| ⓕ Business Info · Contact | 사업자 정보 · 연락처 — " | " 로 이은 글. 값이 생기면. |
| ⓖ Copyright | 저작권 — "© 2026 그루", 안내 영역의 마지막. |
| ⓗ Social Links | 소셜 링크 — 아이콘 버튼, 저작권 줄의 끝. 값이 생기면. |
블록 순서는 SEED 그대로다 — 탐색 영역(ⓐ ⓑ ⓒ) · 선(ⓓ) · 안내 영역(ⓔ ⓕ ⓖ ⓗ). 필수 블록은 없고, 자리에 맞는 블록만 고른다. 블록을 빼도 순서는 바꾸지 않는다.
부위
| 부위 | 설명 |
|---|---|
root | 바닥 — <footer>(contentinfo). 가운데 정렬된 틀 안에 탐색 영역 · 선 · 안내 영역을 세로로 |
topLine | 바닥 위 선 — 페이지 본문과 가른다. 화면 폭 전체 |
navigation | 탐색 영역 — 브랜드 · 국가 선택 · 사이트맵을 한 줄에, 넘치면 줄을 바꾼다 |
brand | 브랜드 묶음 — 이름 + 소개 한 줄 |
brandName | 브랜드 이름 — 글자 로고 "그루" |
brandIntro | 브랜드 소개 — 한 줄(넘치면 줄을 바꾼다) |
country | 국가 선택 — 나라 링크 목록. 지금 쓰는 자리 없음(groo 는 한국어 사이트 하나) |
sitemap | 사이트맵 — <nav aria-label="사이트 지도">. 열을 가로로, 넘치면 줄을 바꾼다 |
column | 사이트맵 열 — 열 제목 + 링크 목록 |
columnTitle | 열 제목 — "서비스" · "계정" |
columnLinks | 열의 링크 목록 |
divider | 선 — 탐색 영역과 안내 영역을 함께 쓸 때만 |
info | 안내 영역 — 정책 링크 · 사업자 정보 · 연락처 · 저작권 줄을 세로로 |
policy | 정책 링크 줄 — 처리방침 · 약관. 넘치면 줄을 바꾼다 |
infoText | 안내 글 — 사업자 정보 · 연락처 · 안내 문구. " | " 로 잇고, 묶음이 바뀌면 줄을 바꾼다 |
bottom | 저작권 줄 — 저작권(앞) + 소셜 링크(끝) |
copyright | 저작권 — "© 2026 그루" |
social | 소셜 링크 묶음 — 아이콘만 있는 ghost 버튼. 값이 생기면 |
link | 링크(Footer Link Text) — 밑줄 없이 색으로 올림 · 누름을 알린다 |
linkIcon | 링크 뒤 아이콘 — 새 탭 · 사이트 밖으로 나가는 링크만 ↗(lucide arrow-up-right) |
focusRing | 링크의 키보드 포커스 링 |
Properties
틀
<footer> 는 최대 1040(layout-max-content)의 가운데 틀이다 — 위아래 40, 좌우 32(1280 미만 24 — groo 화면 가장자리), 영역 사이 40. 바닥 위에는 화면 폭 전체로 1px stroke-neutral-subtle 선을 그어 본문과 가른다. 바탕은 페이지 바탕 그대로다.
틀
| 속성 | 값 | 비고 |
|---|---|---|
| 최대 너비 | layout-max-content 1040px | 1040 — 콘텐츠 레이아웃의 기본 최대 폭(SEED footer 블록 maxWidth 1040과 같다) |
| 좌우 바깥 여백 | auto | 가운데 정렬 |
| 상하 여백 | spacing-x10 40px | 위아래 40 — SEED x10 |
| 간격 | spacing-x10 40px | 탐색 영역 ↔ 선 ↔ 안내 영역 40 — SEED footer-04 VStack x10 |
| 배경 | transparent | 페이지 바탕 그대로 |
| 랜드마크 | contentinfo | <footer> — article · section 안에 두지 않는다(그러면 랜드마크가 아니다). 한 페이지에 하나 |
위 선
| 속성 | 값 | 비고 |
|---|---|---|
| 높이 | 1px | |
| 배경 | color-stroke-neutral-subtle #EDEFF3 · 다크 #353B4D | 본문과 바닥을 가른다 — 화면 폭 전체(틀 1040 밖까지). SEED 블록에는 없다 |
폭
| width | 좌우 여백 | bottom 세로 맞춤 | bottom 쌓는 방향 | 설명 |
|---|---|---|---|---|
wide (기본) | spacing-x8 32px — 좌우 32 — SEED x8 | — | row — 저작권 · 소셜이 한 줄 양 끝 | 1280 이상 — 좌우 32, 저작권 · 소셜이 한 줄 양 끝(기본) |
narrow | spacing-global-gutter 24px — 좌우 24 — groo 화면 가장자리 규칙(SEED 블록은 늘 32) | flex-start | column — 소셜은 저작권 아래 — 왼쪽 정렬(SEED "모바일에서 위아래") | 1280 미만 — 좌우 24, 소셜은 저작권 아래 |
탐색 영역
브랜드와 사이트맵이 한 줄에 놓이고(사이 32) 넘치면 사이트맵이 아래로 내려간다. 브랜드는 글자 로고 "그루"(20 / 27 · 700 fg-neutral) 아래 8 에 소개 한 줄(13 / 18 fg-neutral-subtle · 최대 340)이다. 사이트맵은 열을 가로로 놓고(사이 32 · 넘치면 줄을 바꾼다) 열마다 제목(13 / 18 · 500 fg-neutral-muted) 아래 16 에 링크를 16 사이로 쌓는다(16 / 22 · 500 fg-neutral — 링크 large). 열은 최소 100 이다. 링크가 없는 글은 열에 넣지 않는다(지금 홈의 "HR 기능" 열 — 7B 에서 걷었다).
탐색 영역
| 속성 | 값 | 비고 |
|---|---|---|
| 간격 | spacing-x8 32px | 브랜드 ↔ 사이트맵 32 · 줄을 바꾸면 위아래도 32 — SEED footer-04 |
| 줄바꿈(넘칠 때) | wrap | 넘치면 사이트맵이 브랜드 아래로 |
브랜드
| 속성 | 값 | 비고 |
|---|---|---|
| 늘고 줄기 | 1 1 240px | 남은 폭을 차지하고, 240 아래로 줄면 사이트맵이 아래로 내려간다 |
| 최소 너비 | 120px | SEED footer-04 로고 · 국가 묶음 최소 120 |
| 간격 | spacing-x2 8px | 이름 ↔ 소개 8 |
브랜드 이름
| 속성 | 값 | 비고 |
|---|---|---|
| 글자 | text-t7 20px / 27px | 20 / 27 — 글자 로고(groo 는 로고 그림이 없다) |
| 굵기 | 700 | SEED 굵기 가운데 가장 굵은 bold |
| 글자·아이콘 | color-fg-neutral #1A1F2E · 다크 #F5F6FA | 흰 면 16.41 · 다크 13.42. groo-home 은 제 파랑(--blue)을 쓴다(8A) |
브랜드 소개
| 속성 | 값 | 비고 |
|---|---|---|
| 글자 | text-t3 13px / 18px | 13 / 18 |
| 굵기 | 400 | |
| 글자·아이콘 | color-fg-neutral-subtle #62697A · 다크 #A2A8B7 | 흰 면 5.50 · 다크 6.09 |
| 최대 너비 | 340px | 한 줄이 너무 길지 않게 — 넘치면 줄을 바꾼다(자르지 않는다) |
사이트맵
| 속성 | 값 | 비고 |
|---|---|---|
| 간격 | spacing-x8 32px | 열 사이 32 · 넘치면 줄을 바꾼다 — SEED footer-04 |
| 줄바꿈(넘칠 때) | wrap | |
| 이름 | 사이트 지도 | <nav aria-label="사이트 지도"> — 위 머리의 주 메뉴 nav 와 이름으로 갈린다 |
열
| 속성 | 값 | 비고 |
|---|---|---|
| 최소 너비 | 100px | SEED LinkColumn minWidth 100 |
| 간격 | spacing-x4 16px | 열 제목 ↔ 링크 16 |
열 제목
| 속성 | 값 | 비고 |
|---|---|---|
| 글자 | text-t3 13px / 18px | 13 / 18 |
| 굵기 | 500 | SEED t3Medium |
| 글자·아이콘 | color-fg-neutral-muted #535866 · 다크 #B7BDCC | 흰 면 7.11 · 다크 7.70 |
| 요소 | 글(머리말 아님) | 열 제목은 목록의 이름이다 — 링크 목록을 aria-labelledby 로 잇는다 |
열의 링크
| 속성 | 값 | 비고 |
|---|---|---|
| 간격 | spacing-x4 16px | 링크 사이 16 — SEED VStack x4 |
국가 선택
| 속성 | 값 | 비고 |
|---|---|---|
| 간격 | spacing-x3 12px | 나라 링크 사이 12 · 늘 세로 목록(SEED) — 지금 쓰는 자리 없음 |
안내 영역
정책 링크 줄(링크 medium 사이 24 · 줄을 바꾸면 8) · 안내 글(13 / 18 fg-neutral-subtle) · 저작권 줄을 16 사이로 쌓는다. 저작권(14 / 19 · 500 fg-neutral-muted)은 늘 마지막이고, 소셜 링크는 그 줄의 끝(1280 미만은 저작권 아래)이다. 사업자 정보 · 연락처는 안내 글 모양으로 항목을 " | " 로 잇고 묶음이 바뀌면 줄을 바꾼다 — 지금 groo 에는 그 값이 어디에도 없어 블록만 두고 비워 둔다(아래 Guidelines).
안내 영역
| 속성 | 값 | 비고 |
|---|---|---|
| 간격 | spacing-x4 16px | 정책 줄 ↔ 안내 글 ↔ 저작권 줄 16 — SEED x4 |
정책 링크 줄
| 속성 | 값 | 비고 |
|---|---|---|
| 칸 간격 | spacing-x6 24px | 링크 사이 24 — SEED HStack x6 |
| 줄 간격 | spacing-x2 8px | 줄을 바꾸면 위아래 8 — 비교 페이지 그림(SEED 는 위아래도 24) |
| 줄바꿈(넘칠 때) | wrap |
안내 글 · 사업자 정보 · 연락처
| 속성 | 값 | 비고 |
|---|---|---|
| 글자 | text-t3 13px / 18px | 13 / 18 — SEED t3Regular |
| 굵기 | 400 | |
| 글자·아이콘 | color-fg-neutral-subtle #62697A · 다크 #A2A8B7 | 흰 면 5.50 · 다크 6.09 |
| 잇는 글 | | | 사업자 정보 · 연락처는 항목을 " | " 로 잇고, 묶음이 바뀌면 줄을 바꾼다(SEED <br>). 안내 문구는 문장 그대로 |
저작권 줄
| 속성 | 값 | 비고 |
|---|---|---|
| 가로 맞춤 | space-between | 저작권 앞 · 소셜 끝 — SEED HStack |
| 세로 맞춤 | center | |
| 간격 | spacing-x4 16px | 줄을 바꾸면 16 — SEED wrap x4 |
| 줄바꿈(넘칠 때) | wrap |
저작권
| 속성 | 값 | 비고 |
|---|---|---|
| 글자 | text-t4 14px / 19px | 14 / 19 — SEED t4Medium |
| 굵기 | 500 | |
| 글자·아이콘 | color-fg-neutral-muted #535866 · 다크 #B7BDCC | 흰 면 7.11 · 다크 7.70 |
| 글 | © {해} 그루 | SEED 형식(사용자 결정 9A) — 해는 그리는 때(빌드 · 화면)의 해. 네 곳(홈 · SSO 로그인 · HR 문서 · Desk 설명서) 한 벌 |
| 자리 | 안내 영역의 마지막 | SEED — 저작권은 맨 끝 |
소셜 링크
| 속성 | 값 | 비고 |
|---|---|---|
| 간격 | spacing-x6 24px | 아이콘 버튼 사이 24 — SEED HStack x6 |
| 버튼 | Button ghost · large · iconOnly | 48(groo large) · 아이콘 24 · 이름 필수("그루 인스타그램") · 바깥 여백만큼 끝을 맞춘다(SEED bleedX asPadding). 지금 값이 없다 — 생기면 이 자리 |
선
| 속성 | 값 | 비고 |
|---|---|---|
| 높이 | 1px | |
| 배경 | color-stroke-neutral-subtle #EDEFF3 · 다크 #353B4D | 선은 이 색 하나(Divider 2026-10-03) — 틀 안 폭. 장식(role 없음) |
Link
링크는 SEED Footer.LinkText 의 두 크기다 — large(사이트맵 — 16 / 22 · 500 fg-neutral, 올리면 · 누르면 fg-neutral-subtle)와 medium(정책 · 국가 — 14 / 19 · 500 fg-neutral-muted, 올리면 · 누르면 fg-neutral). 밑줄은 없고 색으로만 알린다. 새 탭으로 여는 링크(처리방침처럼 읽고 돌아오는 문서 · 다른 사이트)만 뒤에 ↗(14 · 12)를 둔다 — 같은 탭으로 가는 서비스 링크에는 두지 않는다.
링크 크기
| linkSize | link 글자·아이콘 | link 글자 | link 굵기 | linkIcon 크기 | 설명 |
|---|---|---|---|---|---|
medium (기본) | color-fg-neutral-muted #535866 · 다크 #B7BDCC — 흰 면 7.11 · 다크 7.70 | text-t4 14px / 19px — 14 / 19 — 정책 · 국가 링크 | 500 | 12px — SEED medium suffixIcon 12 | 정책 링크 · 국가 링크 — 14 / 19 · 500 fg-neutral-muted(기본) |
large | color-fg-neutral #1A1F2E · 다크 #F5F6FA — 흰 면 16.41 · 다크 13.42 | text-t5 16px / 22px — 16 / 22 — 사이트맵 링크 | 500 | 14px — SEED large suffixIcon 14 | 사이트맵 링크 — 16 / 22 · 500 fg-neutral |
링크 공통
| 속성 | 값 | 비고 |
|---|---|---|
| 보이기 | inline-flex | 글 + 뒤 아이콘 |
| 간격 | spacing-x1 4px | 글 ↔ ↗ 4 — SEED Footer.LinkText |
| 밑줄 | none | 밑줄 없음 — 올림 · 누름은 색으로(SEED) |
| 커서 | pointer | |
| 전환 대상 | color | |
| 전환 시간 | motion-duration-color-transition 150ms | |
| 전환 곡선 | motion-ease-easing cubic-bezier(0.35, 0, 0.35, 1) | |
| 새 탭 | 사이트 밖으로 나가는 링크만 | target=_blank + rel=noopener + 보이지 않는 "(새 탭)" — 같은 사이트 안 링크는 같은 탭 |
↗
| 속성 | 값 | 비고 |
|---|---|---|
| 보이기 | 새 탭 링크만 | ↗(lucide arrow-up-right) — 사이트 밖 · 새 탭으로 여는 링크에만. 장식(aria-hidden) — 뜻은 "(새 탭)" 글이 알린다 |
| 색 | currentColor | 링크 글자색을 따른다 |
State
| 상태 | 모습 |
|---|---|
enabled | 사이트맵 링크 fg-neutral · 정책 링크 fg-neutral-muted, 밑줄 없음 |
hovered | 웹 — 사이트맵 링크는 옅게(fg-neutral-subtle), 정책 링크는 짙게(fg-neutral) |
focused | 키보드 포커스에만 링크 둘레 링 2px · 띄움 2px · 모서리 4 |
pressed | 올림과 같은 색 |
상태 — 사이트맵 링크
| 상태 | link 글자·아이콘 | link 글자 | link 굵기 |
|---|---|---|---|
enabled 기본 | color-fg-neutral #1A1F2E · 다크 #F5F6FA — 흰 면 16.41 · 다크 13.42 | text-t5 16px / 22px — 16 / 22 — 사이트맵 링크 | 500 |
hovered 웹 — 링크 글자색이 바뀐다(밑줄 없음) | color-fg-neutral-subtle #62697A · 다크 #A2A8B7 — 옅어진다 — 5.50 · 6.09(SEED engaged) | text-t5 16px / 22px — 16 / 22 — 사이트맵 링크 | 500 |
pressed 누르는 동안 — 올림과 같은 색 | color-fg-neutral-subtle #62697A · 다크 #A2A8B7 | text-t5 16px / 22px — 16 / 22 — 사이트맵 링크 | 500 |
상태 — 정책 링크
| 상태 | link 글자·아이콘 | link 글자 | link 굵기 |
|---|---|---|---|
enabled 기본 | color-fg-neutral-muted #535866 · 다크 #B7BDCC — 흰 면 7.11 · 다크 7.70 | text-t4 14px / 19px — 14 / 19 — 정책 · 국가 링크 | 500 |
hovered 웹 — 링크 글자색이 바뀐다(밑줄 없음) | color-fg-neutral #1A1F2E · 다크 #F5F6FA — 짙어진다 — 16.41 · 13.42(SEED engaged) | text-t4 14px / 19px — 14 / 19 — 정책 · 국가 링크 | 500 |
pressed 누르는 동안 — 올림과 같은 색 | color-fg-neutral #1A1F2E · 다크 #F5F6FA | text-t4 14px / 19px — 14 / 19 — 정책 · 국가 링크 | 500 |
모션
| 전환 | 시간 | 곡선 | 대상 | 비고 |
|---|---|---|---|---|
링크 — 글자색 | motion-duration-color-transition 150ms | motion-ease-easing cubic-bezier(0.35, 0, 0.35, 1) | color | 올림 · 누름 — SEED Footer.LinkText 의 color-transition |
Guidelines
쓰는 자리
| 자리 | 블록 |
|---|---|
| groo-home 맨 아래(지금) | 브랜드 · 사이트맵(서비스 · 계정) | 선 | 개인정보 처리방침 ↗ · 안내 글 · 저작권 — 7B |
| SSO 로그인 · 가입 아래(나중) | 정책 링크 + 저작권 한 줄 — 그 차례에 정한다 |
| Desk 설명서 · HR 문서 사이트의 바닥(나중) | 정책 링크 + 저작권 — 저작권은 지금 바꾼다(아래 "저작권 한 벌") |
| Desk · HR 제품 화면 · 앱 | 두지 않는다 — 처리방침 · 설명서는 설정 목록의 줄 |
값이 없는 블록은 비워 둔다
사업자 정보 · 연락처 · 소셜 링크는 블록만 있다 — groo 의 상호 · 사업자 등록번호 · 대표자 · 주소 · 전화 · 문의 메일 · 공개 소셜 채널은 아직 어느 레포에도 없다(개인정보 처리방침의 보호책임자도 "미지정"). 값을 지어내 넣지 않는다 — 그림 · 예시도 "(상호) | 사업자 등록번호 000-00-00000" 처럼 자리표시임이 드러나게만 쓴다. 값이 생기면 안내 글 아래(사업자 정보 → 연락처), 소셜은 저작권 줄 끝에 넣는다.
저작권 한 벌
저작권은 "© {해} 그루" 하나다(SEED 형식, 사용자 결정 9A) — 해는 그리는 때(빌드 · 화면)의 해라 낡지 않는다. 홈 · SSO 로그인 · HR 문서 · Desk 설명서 네 곳이 같은 줄을 쓴다. "All rights reserved." · "Copyright" 를 덧붙이지 않고, 사이트 이름("그루 담다 사용자 설명서")을 저작권 자리에 쓰지 않는다.
새 탭 링크만 ↗ · 밑줄 없이
↗ 는 새 탭으로 여는 링크에만 둔다 — 처리방침 같은 문서 · 다른 사이트 · 소셜. 같은 탭으로 가는 서비스 링크(HR · Desk · 로그인)에는 두지 않는다. 새 탭 링크는 보이지 않는 "(새 탭)" 을 붙여 읽는다. 링크에 밑줄을 긋지 않는다 — 올림 · 누름은 색으로 알린다(SEED).
groo-home 은 짜임만 따른다
groo-home 은 "groo-design 을 따르지 않는다 — 그룹 소개 페이지라 일부러 다른 인상을 낸다"(홈 CLAUDE.md:9-10). 그래서 홈은 이 스펙의 짜임 · 간격 · 글 크기만 쓰고 색 · 글꼴은 홈 것(Noto Sans KR · --ink · --ink2 · --ink3 · --line · 브랜드 글자는 --blue)을 쓴다(사용자 결정 8A). 짝은 fg-neutral → --ink · fg-neutral-muted → --ink2 · fg-neutral-subtle → --ink3 · stroke-neutral-subtle → --line 이다. 다만 안내 글 색 --ink3(#8B95A1 — 흰 바탕 3.04)은 13px 글에 4.5 가 모자라 4.5 이상으로 짙게 한다(질문에서 약속). groo 토큰 · Pretendard 를 홈에 그대로 들이는 안(8B)과 스펙만 두고 홈을 그대로 두는 안(8C)은 고르지 않았다.
글
열 제목은 묶음 이름 명사로("서비스" · "계정"), 링크는 가는 곳의 이름으로("HR" · "Desk 설명서" · "로그인"). 정책 링크는 문서 제목 그대로("개인정보 처리방침"). 저작권은 "© {해} 그루". 안내 글은 그 페이지가 알려야 할 사실만 한 문장씩(홈 — "화면의 숫자와 이름은 소개용 예시입니다. 사진: Unsplash.").
코드
레시피 recipes/shadcn/components/ui/footer.tsx 를 쓴다(웹 — 설명서 · 문서 사이트 · SSO 가 쓴다. groo-home 은 빌드 없는 정적 페이지라 같은 짜임을 HTML 로 옮긴다). 아래 미리보기는 스펙 값으로 그린 모습이다.
Footer—<footer>틀(최대 1040 · 위아래 40 · 좌우 32 · 1280 미만 24 · 영역 사이 40).topLine(기본true— 위 선).FooterNav— 탐색 영역 줄(사이 32 · 줄바꿈).FooterBrand—name(필수) ·description.FooterSitemap—<nav>,aria-label기본"사이트 지도".FooterColumn—title(필수 — 링크 목록의 이름으로 잇는다), 안의FooterLink는large.FooterDivider— 선.FooterInfo— 안내 영역(사이 16).FooterLinks— 정책 링크 줄(사이 24 · 줄을 바꾸면 8).FooterText— 안내 글 · 사업자 정보 · 연락처(13 / 18fg-neutral-subtle).FooterBottom— 저작권 줄(저작권 앞 · 소셜 끝 · 1280 미만 위아래).FooterCopyright—owner(필수) ·year(기본 그리는 때의 해) → "© 2026 그루".FooterSocial— 소셜 버튼 묶음(사이 24 — 안에는 Buttonghost·large·iconOnly+ 이름).FooterLink—href(필수) ·size("large"·"medium"— 기본은 놓인 자리: 열 안large, 그 밖medium) ·external(새 탭 ·rel="noopener"· ↗ · 보이지 않는 "(새 탭)").
groo-home — 7B 짜임
import {
Footer,
FooterBottom,
FooterBrand,
FooterColumn,
FooterCopyright,
FooterDivider,
FooterInfo,
FooterLink,
FooterLinks,
FooterNav,
FooterSitemap,
FooterText,
} from "@/components/ui/footer"
<Footer>
<FooterNav>
<FooterBrand
name="그루"
description="People + Forest. 사람(People)이 모여 숲(Forest)처럼 자라나는 조직 생태계를 설계합니다."
/>
<FooterSitemap>
<FooterColumn title="서비스">
<FooterLink href="https://ieum.hangroo.io">HR</FooterLink>
<FooterLink href="https://damda.hangroo.io">Desk</FooterLink>
<FooterLink href="https://damda.hangroo.io/guide/">Desk 설명서</FooterLink>
</FooterColumn>
<FooterColumn title="계정">
<FooterLink href="https://sso.hangroo.io">로그인</FooterLink>
<FooterLink href="https://sso.hangroo.io">회원가입</FooterLink>
</FooterColumn>
</FooterSitemap>
</FooterNav>
<FooterDivider />
<FooterInfo>
<FooterLinks>
{/* 읽고 돌아오는 문서 — 새 탭 + ↗ */}
<FooterLink href="https://sso.hangroo.io/privacy" external>
개인정보 처리방침
</FooterLink>
</FooterLinks>
<FooterText>화면의 숫자와 이름은 소개용 예시입니다. 사진: Unsplash.</FooterText>
{/* 사업자 정보 · 연락처 · 소셜은 값이 생기면 이 자리에 — 지어내지 않는다 */}
<FooterBottom>
<FooterCopyright owner="그루" />
</FooterBottom>
</FooterInfo>
</Footer>Behavior
| 인터랙션 | 동작 |
|---|---|
링크 누르기 · Enter | 같은 탭으로 간다. external 이면 새 탭(rel="noopener") |
| 링크에 마우스 올리기 | 글자색만 바뀐다(밑줄 없음) |
Tab | 위 → 아래, 줄 안에서는 앞 → 끝 — 브랜드(링크가 아니면 건너뜀) · 사이트맵 열 차례 · 정책 링크 · 소셜 |
| 폭이 줄면 | 사이트맵이 브랜드 아래로, 열이 줄을 바꾼다(열 최소 100). 1280 미만은 좌우 24 · 소셜이 저작권 아래 |
| 저작권의 해 | 그리는 때(정적 페이지는 빌드 · 스크립트, 앱 · 사이트는 화면)의 해 |
| 모션 줄이기 | 바뀌는 것 없음 — 색 전환만 있다 |
Accessibility
| 기준 | 검증 |
|---|---|
| WCAG 1.4.3 Color contrast(글자 ≥ 4.5:1) | 사이트맵 링크 · 브랜드 이름 fg-neutral 흰 면 16.41 · 다크 13.42, 열 제목 · 정책 링크 · 저작권 fg-neutral-muted 7.11 · 7.70, 소개 · 안내 글 · 사이트맵 링크 올림 fg-neutral-subtle 5.50 · 6.09 ✓. groo-home 의 --ink3(3.04)은 4.5 이상으로 짙게 한다(Migration notes) |
| WCAG 1.4.1 Use of color | 링크는 밑줄 없이 색으로 — 바닥의 링크는 문장 속이 아니라 따로 놓인 목록 · 줄이라 위치로 링크임을 안다(SEED). 키보드 포커스는 링으로 ✓ |
| WCAG 1.4.11 Non-text contrast(≥ 3:1) | 선 · 위 선(1.15 · 1.30)은 장식 — 영역은 간격 · 글이 가른다. 키보드 포커스 링 Desk 8.38 · 6.10 · HR 8.17 · 6.07 ✓ |
| WCAG 1.3.1 Info and Relationships | <footer>(contentinfo — 한 페이지에 하나, article · section 안에 두지 않는다) · 사이트맵 <nav aria-label="사이트 지도"> · 열의 링크 목록은 열 제목을 이름으로(aria-labelledby) ✓ |
| WCAG 2.4.4 Link purpose | 링크 글이 가는 곳 그대로 — 새 탭 링크는 "(새 탭)" 을 함께 읽는다(↗ 는 aria-hidden) ✓ |
| WCAG 2.4.7 Focus visible | 키보드 포커스에 링크 둘레 링 2px · 띄움 2px ✓ |
| WCAG 2.5.8 Target Size — Minimum(AA ≥ 24×24) | 사이트맵 링크 22 · 정책 링크 19 — 이웃 링크와 16 · 24 떨어져 24 원이 겹치지 않는다(간격 예외) ✓. 소셜 버튼 48 ✓ |
| WCAG 2.5.5 Target Size — Enhanced(AAA ≥ 44×44) | 글 링크 22 · 19 ⚠ — SEED 와 같다(바닥의 글 링크는 글 높이 그대로). 소셜 버튼 48 ✓ |
| WCAG 3.2.3 Consistent navigation | 같은 사이트의 모든 페이지에 같은 바닥 · 같은 순서 ✓ |
| Reduced motion | 색 전환만 — 바뀌는 것 없음 |
Do / Don't
✅ Do
- 블록을 SEED 순서대로 — 탐색 영역 · 선 · 안내 영역, 저작권은 마지막.
- 정책 링크(처리방침)는 로그인 전에도 닿는 바닥에 둔다.
- 새 탭으로 여는 링크에만 ↗ + "(새 탭)".
- 저작권은 "© {해} 그루" 한 벌 — 해는 그리는 때의 해.
- 값이 없는 블록은 비워 두고, 그림은 자리표시임이 드러나게.
❌ Don't
- 링크가 아닌 글 목록을 사이트맵 열로 두기(눌리는 것처럼 보인다).
- 사업자 정보 · 연락처 · 소셜 값을 지어내 넣기.
- 모든 링크에 ↗ · 링크에 밑줄.
- 해를 박아 두기("© 2025") · "All rights reserved." · 사이트 이름을 저작권 자리에.
- 제품 화면(Desk · HR · 앱)에 바닥을 두기.
Specification
footer.yaml 의 규칙을 하나도 빼지 않고 조건마다 그린다 — 웹이 Footer 를 만들 때 이 값을 그대로 쓴다. 조건이 없는 Base 가 모든 조합에 걸리고, 뒤의 규칙이 앞의 같은 값을 덮는다. 상태는 enabled 에서 바뀌는 값만 적었다.
Base
| 부위 | 상태 | 속성 | 값 |
|---|---|---|---|
root | enabled | 최대 너비maxWidth | $layout-max-content1040 — 콘텐츠 레이아웃의 기본 최대 폭(SEED footer 블록 maxWidth 1040과 같다) |
| 상하 여백paddingY | spacing-x1040px위아래 40 — SEED x10 | ||
| 좌우 바깥 여백marginX | auto가운데 정렬 | ||
| 간격gap | spacing-x1040px탐색 영역 ↔ 선 ↔ 안내 영역 40 — SEED footer-04 VStack x10 | ||
| 배경background | transparent페이지 바탕 그대로 | ||
| 랜드마크landmark | contentinfo<footer> — article · section 안에 두지 않는다(그러면 랜드마크가 아니다). 한 페이지에 하나 | ||
topLine | enabled | 높이height | 1px |
| 배경background | stroke-neutral-subtle#EDEFF3다크 #353B4D본문과 바닥을 가른다 — 화면 폭 전체(틀 1040 밖까지). SEED 블록에는 없다 | ||
navigation | enabled | 간격gap | spacing-x832px브랜드 ↔ 사이트맵 32 · 줄을 바꾸면 위아래도 32 — SEED footer-04 |
| 줄바꿈(넘칠 때)wrap | wrap넘치면 사이트맵이 브랜드 아래로 | ||
brand | enabled | 최소 너비minWidth | 120pxSEED footer-04 로고 · 국가 묶음 최소 120 |
| 간격gap | spacing-x28px이름 ↔ 소개 8 | ||
| 늘고 줄기flex | 1 1 240px남은 폭을 차지하고, 240 아래로 줄면 사이트맵이 아래로 내려간다 | ||
brandName | enabled | 글자·아이콘foreground | fg-neutral#1A1F2E다크 #F5F6FA흰 면 16.41 · 다크 13.42. groo-home 은 제 파랑(--blue)을 쓴다(8A) |
| 글자typography | text-t720px / 27px20 / 27 — 글자 로고(groo 는 로고 그림이 없다) | ||
| 굵기fontWeight | 700SEED 굵기 가운데 가장 굵은 bold | ||
brandIntro | enabled | 최대 너비maxWidth | 340px한 줄이 너무 길지 않게 — 넘치면 줄을 바꾼다(자르지 않는다) |
| 글자·아이콘foreground | fg-neutral-subtle#62697A다크 #A2A8B7흰 면 5.50 · 다크 6.09 | ||
| 글자typography | text-t313px / 18px13 / 18 | ||
| 굵기fontWeight | 400 | ||
country | enabled | 간격gap | spacing-x312px나라 링크 사이 12 · 늘 세로 목록(SEED) — 지금 쓰는 자리 없음 |
sitemap | enabled | 간격gap | spacing-x832px열 사이 32 · 넘치면 줄을 바꾼다 — SEED footer-04 |
| 이름name | 사이트 지도<nav aria-label="사이트 지도"> — 위 머리의 주 메뉴 nav 와 이름으로 갈린다 | ||
| 줄바꿈(넘칠 때)wrap | wrap | ||
column | enabled | 최소 너비minWidth | 100pxSEED LinkColumn minWidth 100 |
| 간격gap | spacing-x416px열 제목 ↔ 링크 16 | ||
columnTitle | enabled | 글자·아이콘foreground | fg-neutral-muted#535866다크 #B7BDCC흰 면 7.11 · 다크 7.70 |
| 글자typography | text-t313px / 18px13 / 18 | ||
| 굵기fontWeight | 500SEED t3Medium | ||
| 요소element | 글(머리말 아님)열 제목은 목록의 이름이다 — 링크 목록을 aria-labelledby 로 잇는다 | ||
columnLinks | enabled | 간격gap | spacing-x416px링크 사이 16 — SEED VStack x4 |
divider | enabled | 높이height | 1px |
| 배경background | stroke-neutral-subtle#EDEFF3다크 #353B4D선은 이 색 하나(Divider 2026-10-03) — 틀 안 폭. 장식(role 없음) | ||
info | enabled | 간격gap | spacing-x416px정책 줄 ↔ 안내 글 ↔ 저작권 줄 16 — SEED x4 |
policy | enabled | 줄 간격rowGap | spacing-x28px줄을 바꾸면 위아래 8 — 비교 페이지 그림(SEED 는 위아래도 24) |
| 칸 간격columnGap | spacing-x624px링크 사이 24 — SEED HStack x6 | ||
| 줄바꿈(넘칠 때)wrap | wrap | ||
infoText | enabled | 글자·아이콘foreground | fg-neutral-subtle#62697A다크 #A2A8B7흰 면 5.50 · 다크 6.09 |
| 글자typography | text-t313px / 18px13 / 18 — SEED t3Regular | ||
| 굵기fontWeight | 400 | ||
| 잇는 글separator | |사업자 정보 · 연락처는 항목을 " | " 로 잇고, 묶음이 바뀌면 줄을 바꾼다(SEED <br>). 안내 문구는 문장 그대로 | ||
bottom | enabled | 간격gap | spacing-x416px줄을 바꾸면 16 — SEED wrap x4 |
| 세로 맞춤alignItems | center | ||
| 가로 맞춤justifyContent | space-between저작권 앞 · 소셜 끝 — SEED HStack | ||
| 줄바꿈(넘칠 때)wrap | wrap | ||
copyright | enabled | 글자·아이콘foreground | fg-neutral-muted#535866다크 #B7BDCC흰 면 7.11 · 다크 7.70 |
| 글자typography | text-t414px / 19px14 / 19 — SEED t4Medium | ||
| 굵기fontWeight | 500 | ||
| 자리position | 안내 영역의 마지막SEED — 저작권은 맨 끝 | ||
| 글text | © {해} 그루SEED 형식(사용자 결정 9A) — 해는 그리는 때(빌드 · 화면)의 해. 네 곳(홈 · SSO 로그인 · HR 문서 · Desk 설명서) 한 벌 | ||
social | enabled | 간격gap | spacing-x624px아이콘 버튼 사이 24 — SEED HStack x6 |
| 버튼button | Button ghost · large · iconOnly48(groo large) · 아이콘 24 · 이름 필수("그루 인스타그램") · 바깥 여백만큼 끝을 맞춘다(SEED bleedX asPadding). 지금 값이 없다 — 생기면 이 자리 | ||
link | enabled | 간격gap | spacing-x14px글 ↔ ↗ 4 — SEED Footer.LinkText |
| 밑줄textDecoration | none밑줄 없음 — 올림 · 누름은 색으로(SEED) | ||
| 커서cursor | pointer | ||
| 전환 대상transitionProperty | color | ||
| 전환 시간transitionDuration | motion-duration-color-transition150ms | ||
| 전환 곡선transitionEasing | motion-ease-easingcubic-bezier(0.35, 0, 0.35, 1) | ||
| 보이기display | inline-flex글 + 뒤 아이콘 | ||
| 새 탭newTab | 사이트 밖으로 나가는 링크만target=_blank + rel=noopener + 보이지 않는 "(새 탭)" — 같은 사이트 안 링크는 같은 탭 | ||
linkIcon | enabled | 색color | currentColor링크 글자색을 따른다 |
| 보이기display | 새 탭 링크만↗(lucide arrow-up-right) — 사이트 밖 · 새 탭으로 여는 링크에만. 장식(aria-hidden) — 뜻은 "(새 탭)" 글이 알린다 | ||
focusRing | enabled | 링 두께width | 2px키보드로 옮길 때만 |
| 모서리radius | radius-r14px글 둘레 4 | ||
| 링 색color | stroke-focus-ringDesk#0147AD다크 #7AA9F6HR#075B3C다크 #2ABE84 | ||
| 링 간격offset | 2px |
width=wide
| 부위 | 상태 | 속성 | 값 |
|---|---|---|---|
root | enabled | 좌우 여백paddingX | spacing-x832px좌우 32 — SEED x8 |
bottom | enabled | 쌓는 방향direction | row저작권 · 소셜이 한 줄 양 끝 |
width=narrow
| 부위 | 상태 | 속성 | 값 |
|---|---|---|---|
root | enabled | 좌우 여백paddingX | spacing-global-gutter24px좌우 24 — groo 화면 가장자리 규칙(SEED 블록은 늘 32) |
bottom | enabled | 세로 맞춤alignItems | flex-start |
| 쌓는 방향direction | column소셜은 저작권 아래 — 왼쪽 정렬(SEED "모바일에서 위아래") |
linkSize=large
| 부위 | 상태 | 속성 | 값 |
|---|---|---|---|
link | enabled | 글자·아이콘foreground | fg-neutral#1A1F2E다크 #F5F6FA흰 면 16.41 · 다크 13.42 |
| 글자typography | text-t516px / 22px16 / 22 — 사이트맵 링크 | ||
| 굵기fontWeight | 500 | ||
linkIcon | enabled | 크기size | 14pxSEED large suffixIcon 14 |
link | hovered | 글자·아이콘foreground | fg-neutral-subtle#62697A다크 #A2A8B7옅어진다 — 5.50 · 6.09(SEED engaged) |
link | pressed | 글자·아이콘foreground | fg-neutral-subtle#62697A다크 #A2A8B7 |
linkSize=medium
| 부위 | 상태 | 속성 | 값 |
|---|---|---|---|
link | enabled | 글자·아이콘foreground | fg-neutral-muted#535866다크 #B7BDCC흰 면 7.11 · 다크 7.70 |
| 글자typography | text-t414px / 19px14 / 19 — 정책 · 국가 링크 | ||
| 굵기fontWeight | 500 | ||
linkIcon | enabled | 크기size | 12pxSEED medium suffixIcon 12 |
link | hovered | 글자·아이콘foreground | fg-neutral#1A1F2E다크 #F5F6FA짙어진다 — 16.41 · 13.42(SEED engaged) |
link | pressed | 글자·아이콘foreground | fg-neutral#1A1F2E다크 #F5F6FA |
SEED 와 다른 점
- 1280 미만 좌우 24(
spacing-global-gutter— groo 화면 가장자리 규칙). SEED 블록은 늘 32 다. - 위 선 — 바닥 위에 화면 폭 1px
stroke-neutral-subtle로 본문과 가른다. SEED 블록에는 없다(비교 페이지가 그린 모양). - 선은
stroke-neutral-subtle하나(Divider 2026-10-03) — SEED 블록은 stroke.neutral(muted 쪽). - 브랜드는 글자 로고("그루" 20 / 27 · 700) + 소개 한 줄 — SEED 는 로고 그림(57 × 32) + 국가 링크. 국가 선택은 두지 않는다.
- 정책 링크 줄의 위아래 사이 8 — SEED 는 가로 · 세로 모두 24(비교 페이지 그림을 따랐다).
- 저작권 "© {해} 그루" — SEED 블록은 ⓒ(동그라미 c)를 쓴다. groo 는 SEED 문서의 © 다.
- 새 탭 링크만 ↗ + "(새 탭)" · 링크의 키보드 포커스 링(v106)을 적는다 — SEED 는 "외부 이동 링크에 ↗" 만 적었다.
- 국가 선택 · 사업자 정보 · 연락처 · 소셜의 수치는 SEED 그대로 두되 값은 비워 둔다.
Migration notes
2026-10-15 — SEED Footer 로 새로 둔다
사용자가 마무리 비교 페이지에서 정했다 — SEED 짜임(7B — footer-04 를 줄여 브랜드 + 사이트맵 서비스 · 계정 | 선 | 개인정보 처리방침 ↗ · 안내 글 · © 2026 그루, "HR 기능" 열 · 도메인 줄을 걷고, 사업자 · 연락처 · 소셜은 값이 생기면), 홈에 이번에 넣는다(8A — 짜임 · 간격 · 글 크기는 스펙, 색 · 글꼴은 홈 그대로 Noto Sans KR, 안내 글 --ink3 은 4.5 이상으로 짙게), "© 2026 그루"(9A — SEED 형식, 해는 그 해, 네 곳 모두). 그리고 "따라오는 것" — 블록 순서는 SEED 그대로 · <footer>(contentinfo) · 사이트맵은 <nav aria-label="사이트 지도"> · 링크 밑줄 없음(올림 · 누름은 색) · 새 탭으로 나가는 링크만 ↗ · 사업자 정보 · 연락처 · 소셜은 지어내지 않는다. 지금 그대로(7A) · 최소(7C) · groo 토큰 그대로(8B) · 스펙만(8C) · 해 없이(9B) · 제각각(9C)은 고르지 않았다.
제품은 각 레포에서 옮긴다(2026-10-15 조사 — 각 레포 origin/main 을 코드로 읽었다). 홈은 코디네이터가 이번에 고친다.
- groo-home 바닥 —
index.html:327-333(CSS:110-116· 반응형:127·:129). 지금은 4열 격자(1.4fr 1fr 1fr 1fr→ 960 이하 2열 → 560 이하 1열) — 브랜드(<b>"그루" 17 ·--blue+ "People + Forest." 소개) · "서비스"(HR · Desk · Desk 가이드) · "계정"(로그인 · 회원가입 — 둘 다https://sso.hangroo.io) · "HR 기능" — 링크 없는 글 넷(일정관리 · 휴가관리 · 전자결재 · 권한 관리) ·.fine(도메인 넷 · "화면의 숫자와 이름은 소개용 예시입니다. 사진: Unsplash." · "© 그루" — 위border-top). 글 13 · 제목 14, 작은 글은 모두--ink3(#8B95A1 — 흰 바탕 3.04). 7B 짜임으로 — "HR 기능" 열과 도메인 줄을 걷고, "Desk 가이드" 는 "Desk 설명서" 로, 처리방침 링크를 더하고, 저작권은 "© {해} 그루"(정적 페이지라 스크립트 한 줄 또는 빌드 때). 색 · 글꼴은 홈 것 —--ink3은 4.5 이상으로 짙게. - 개인정보 처리방침 — 공개 진입점이 없다 — 문서는 SSO 의 공개 라우트 하나뿐이다(
https://sso.hangroo.io/privacy— sso-frontsrc/pages/privacy/ui/PrivacyPolicyPage.tsx,src/app/router/routes.tsx:44-46). 링크는 Desk 웹 · 앱 설정 안쪽(로그인 뒤)에만 있다(desk-frontsrc/pages/settings/ui/SettingsPage.tsx:233-239· desk-applib/features/settings/presentation/settings_screen.dart:134-137) — SSO 로그인 · 가입 · 홈 · HR 웹 어디에도 없다. 홈 바닥이 첫 공개 진입점이 된다(새 탭 ↗). 처리방침의 보호책임자는 "미지정"(PrivacyPolicyPage.tsx:17-21)이다. 이용약관 · 운영정책 문서는 어느 레포에도 없다 — 생기면 정책 링크 줄에 더한다. - 저작권 네 벌 → 한 벌(9A) — 홈 "© 그루"(
index.html:332) · SSO 로그인 "Copyright © 그루. All Rights Reserved."(sso-frontsrc/pages/login/ui/LoginPage.tsx:125-128) · HR 문서 VitePress "© 2025 그루. All rights reserved."(groo-ieum-docs.vitepress/config.ts:241-244— 해가 2025 에 멈춰 있다) · Desk 설명서 Docusaurus "그루 담다 사용자 설명서"(porest-desk-guidedocusaurus.config.ts:87-91— 저작권이 아니다. 이름은 위 막대 "그루 담다 가이드" 에 있다). 네 곳 모두 "© {해} 그루" — VitePress · Docusaurus 는 설정 파일에서 빌드 때의 해를 넣는다. Desk · HR 제품 화면에는 저작권 줄이 없다(그대로 둔다). - 나중 — SSO 로그인 · 가입 아래와 문서 사이트 바닥 — 로그인 아래는 "비밀번호 찾기 | 회원가입" + 저작권이고(
LoginPage.tsx:114-128), 가입 화면(RegisterPage.tsx)에는 저작권 · 정책 링크가 없다. 설명서 바닥은 링크 0(links: []), HR 문서 바닥은 "Where People Grow into a Forest" + GitHub 링크 하나(config.ts:237-239— 공개 소셜 채널이 아니라 개발 레포)다. 정책 링크 + 저작권 줄로 맞추는 것은 그 차례에 정한다. - 사업자 · 운영자 정보 — 값이 없다 — groo-home · desk · hr · sso · 설명서 · 문서 · 앱 · 백엔드 어디에도 상호 · 사업자 등록번호 · 대표자 · 주소 · 통신판매업 신고번호 · 전화 · 문의 메일이 없다(처리방침도 "운영 주체 확정 후 채운다"). 처리방침이 Desk 의 유료 구독을 말하므로(
PrivacyPolicyPage.tsx:149) 표시가 필요해질 수 있다 — 값은 사용자만 정한다.
Floating Action Button
화면 위에 떠 있는 그 화면의 주 동작 하나 — 오른쪽 아래의 브랜드 원 56 에 흰 아이콘 24. 폰(768 미만)의 탭 바가 없는 화면(할 일 · 더치페이)에 둔다. 탭 바가 있는 화면의 추가는 Bottom Navigation 가운데 + 가, 데스크톱의 주 동작은 화면 머리의 Button 이 맡는다.
Help Bubble
트리거를 누르면 옆에 뜨는 짙은 도움말 말풍선 — 화면에 늘 두기에는 길고, 몰라도 일은 할 수 있는 설명(규정 · 계산 방법 · 기능 안내). 마우스를 올리면 뜨는 짧은 설명은 같은 모양의 Tooltip 이고, 화면 안에 늘 보여야 하는 안내는 Callout(그 차례에), 버튼 · 입력이 있는 내용은 Popover 다.