Skip to content

이용약관 화면 구현 #786

Closed
Closed

Description

@koongmai

작업 유형

enhancement — 신규 기능·기존 기능 개선

주 담당 모듈

setting — 설정

개요

설정에서 실제 게시된 이용약관을 확인할 수 있어야 한다. 게시 원문·버전 관리·외부 문서 제공 여부가 확정되기 전 별도 스크롤 화면과 문자열 복제를 구현 계획으로 두지 않는다.

현재 범위

  • 실제 게시 약관 원문, 버전 관리 및 앱 내/외부 제공 계약을 확인한다.
  • 온보딩 TermsDetailScreen과 콘텐츠를 재사용할 수 있는지 대조한다.
  • 확정 근거와 중복 없는 진입 방식을 기록한 뒤 필요한 구현 범위를 정한다.

참고

Activity

  1. self-assigned this
    on Aug 12, 2026
  2. 1hyok commented on Aug 27, 2026

    @1hyok
    Collaborator

    Figma 시안

  3. added
    enhancementNew feature or request
    and removed on Aug 28, 2026
  4. changed the title [-]feat(setting): 이용약관 화면 구현[/-] [+]이용약관 화면 구현[/+] on Aug 28, 2026
  5. assigned and unassigned on Sep 6, 2026
  6. 1hyok commented on Sep 13, 2026

    @1hyok
    Collaborator

    실측: 정본 시안은 4327:65279 이고, 온보딩 문자열이 그 원문을 이미 담고 있다

    현재 범위 2번("온보딩 TermsDetailScreen 과 콘텐츠를 재사용할 수 있는지 대조")을 Figma REST 로 직접 떠서 대조했습니다.

    어느 프레임이 정본인가

    • 정본은 이용약관 4327:65279 입니다. 조상 체인이 설정 4327:99449 → 정리 Screen Design 4327:43064 입니다.
    • 위 코멘트가 링크한 3814:18898 은 back up 페이지 34:116 아래(최종 이용자 프로토타입 화면 34:959)라 정본이 아닙니다.
    • 같은 내용의 복제본이 3. 최종 페이지 4163:19264 에도 4163:20587 로 있습니다.
    • 세 프레임의 TEXT 노드는 각각 15개이고 문자열이 전부 같습니다(전수 비교, 차이 0건). 어느 것을 보든 원문은 같습니다.

    온보딩 문자열과의 대조

    정본 프레임의 본문/제목 13개를 feature/onboarding/presentation/src/main/res/values/strings.xml 의 onboarding_terms_detail_* 13개와 맞춰 봤습니다. 정규화는 두 가지만 했습니다. 시안의 불릿은 문자가 아니라 리스트 서식(lineTypes: UNORDERED)이라 리소스의 • 문자와 같게 봤고, 시안 인트로의 U+2028 을 개행으로 봤습니다.

    13개 중 11개가 글자까지 일치합니다. 남은 2건은 이렇습니다.

    항목 문자열 리소스 시안 4327:65279
    section_3 마지막 줄 애프터노트는 사용자의 기록을 안전하게 보관합니다. 애프터노트는 사용자의 기록을 안전하게 보 (4327:65290 의 characters 가 여기서 끊깁니다)
    section_4_title 4. 계정 및 데이터 관리 계정 및 데이터 관리 (4327:65292, 번호가 characters 가 아니라 ORDERED 리스트 서식입니다. 나머지 다섯 제목은 번호가 characters 안에 있습니다)

    재사용 가능 여부

    온보딩 TermsDetailScreen 이 읽는 문자열 리소스가 정본 시안의 원문을 이미 담고 있습니다. 시안 쪽이 더 가진 문구는 없고, 오히려 한 곳은 시안의 텍스트가 단어 중간에서 끊겨 있습니다. 콘텐츠 재사용을 막는 차이는 대조에서 나오지 않았습니다.

    여전히 미확정인 것

    현재 범위 1번의 세 가지는 그대로 열려 있습니다.

    • 게시할 승인 원문과 그 버전
    • 앱 내 표시인지 외부 문서 링크인지
    • 원문 버전 관리 주체

    셋 다 2026-09-12 에 Figma 핀 노드 34:959 의 댓글로 이미 올라가 있고 답변 전입니다. 여기서 다시 묻지 않고 기록만 남깁니다.

  7. 1hyok commented on Sep 13, 2026

    @1hyok
    Collaborator

    실측: 콘텐츠는 재사용 가능하지만 화면 껍데기는 그대로 못 쓰고, 진입 지점은 열린 PR 이 물고 있다

    기준은 origin/develop 7d87aa3f. 위 2026-09-13 코멘트가 끝낸 문자열 대조는 반복하지 않고, 그 코멘트가 다루지 않은 두 가지만 적습니다. 코드 변경 0줄, PR 0건입니다.

    1. 재사용을 막는 것은 콘텐츠가 아니라 화면 껍데기다

    • feature/onboarding/presentation/.../terms/TermsDetailScreen.kt:27 이 상단 제목을 R.string.onboarding_signup_title 로 박아 뒀습니다. 값은 feature/onboarding/presentation/src/main/res/values/strings.xml:65 의 "회원가입" 입니다. 설정에서 이 화면을 그대로 열면 이용약관 제목이 "회원가입" 으로 뜹니다.
    • 같은 파일 28행이 하단 CTA 를 R.string.onboarding_terms_next 로 박아 뒀습니다. 값은 strings.xml:114 의 "프로필 설정하러가기" 입니다.
    • core/ui/.../scaffold/FlowStepScaffold.kt:58 의 actionButtonText: String 은 nullable 이 아닌 필수 파라미터이고, 96~122행의 bottomBar 는 조건 분기 없이 110행에서 AfternoteButton 을 그립니다. 이 Scaffold 를 쓰는 한 CTA 를 빼는 선택지가 없습니다. 설정 진입에는 "다음" 이 없으므로, 화면을 그대로 쓰려면 Scaffold 를 고치거나 화면을 따로 떼야 합니다.
    • TermsDetailScreen.kt:21 의 title: String 파라미터는 본문에서 한 번도 읽히지 않습니다(53~73행의 title = 은 같은 파일 88행 private fun TermsSectionText 의 인자입니다). 프로덕션 호출처 OnboardingNavHost.kt:193 은 "" 를 넘기고, 스크린샷 baseline TermsDetailScreenScreenshotTest.kt:19 는 "이용약관" 을 넘깁니다. 둘 다 화면에 나오지 않습니다. baseline 만 보면 제목이 "이용약관" 으로 렌더되는 것처럼 오해하기 쉬운 자리입니다. 제목을 갈아 끼울 통로가 시그니처에 이미 있는데 죽어 있는 상태라, 재사용 결정이 오면 되살려 쓰면 됩니다. 지금 지우지 않습니다.
    • 모듈 경계 비용도 붙습니다. gradle.properties:23 이 android.nonTransitiveRClass=true 라, 설정이 온보딩 문자열을 읽으려면 feature/setting/presentation/build.gradle.kts 에 projects.feature.onboarding.presentation 을 더하고 com.afternote.feature.onboarding.presentation.R 을 직접 import 해야 합니다. 피처끼리 presentation 을 무는 선례는 있습니다(feature/home/presentation/build.gradle.kts:22,29 가 mindrecord·receiver presentation 의존). 금지는 아니지만 설정이 온보딩 모듈 전체를 끌고 들어오는 값을 치릅니다.

    2. 진입 지점은 열린 PR #2002 가 이미 물고 있다

    본문이 develop 실태와 어긋나는 곳

    본문 자체는 고치지 않았습니다. 위 다섯은 완료 조건을 좁히는 편집이 아니라 진행 상태 정정이라 코멘트에만 둡니다.

    남은 게이트

    위 코멘트와 같습니다. 승인 원문과 그 버전, 앱 내 표시인지 외부 문서 링크인지, 원문 버전 관리 주체 셋 다 핀 노드 34:959 의 2026-09-12 댓글로 올라가 답변 전입니다. 이 셋이 정해지기 전에는 화면도 문자열 이관도 착수하지 않습니다.

  8. 1hyok commented on Sep 19, 2026

    @1hyok
    Collaborator

    2026-09-19 정리로 닫는다. 이 이슈의 완료 조건은 PM의 결정에 달려 있어 결정 전에는 FE 가 무엇을 만들지 쓸 수 없다. 그런 이슈는 FE 저장소에 열어 두지 않고 결정이 나면 그때 새 이슈로 다시 연다.

    기다리는 결정: 약관 원문·버전 관리·제공 방식(BE 포함).

    PM 질문은 창구가 정해지는 대로 보낸다(일혁이 목록 보관).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions