화면 전용 컴포넌트
공통 UI 키트(컴포넌트 문서에 있는 것)가 아니라, 한 기능이나 한 화면에서만 쓰는 컴포넌트 91개의 전체 목록이다. 코드에서 자동으로 모았고, 새 화면을 만들 때 같은 일을 하는 컴포넌트가 이미 있는지 찾아보는 용도다.
이 페이지의 목차
Mordy 기능: announcements (2)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
AnnouncementPopup | mobile/features/announcements/AnnouncementUI.tsx:14 | 실행 팝업: one notice per launch, the highest priority. 확인 and 다시 보지 않기 both hold until Mordy publishes a new revision. | 0 |
AnnouncementBanner | mobile/features/announcements/AnnouncementUI.tsx:54 | A thin strip above 홈 and 커뮤니티; ✕ hides that notice for good. | 1 |
Mordy 기능: auth (4)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
AuthScaffold | mobile/features/auth/AuthScaffold.tsx:11 | — | 6 |
PolicyConsent | mobile/features/auth/PolicyConsent.tsx:8 | 생성형 AI 사전 고지(「인공지능 기본법」 제31조제1항) and "계속하면 … 동의하게 돼요" under the button that creates the account, with the two documents. | 1 |
ProfileCard | mobile/features/auth/ProfileCard.tsx:11 | Who is signed in: top of 설정 (opens 계정) and of the 계정 page itself. | 1 |
AuthProvider | mobile/features/auth/provider.tsx:46 | — | 1 |
Mordy 기능: bookmarks (1)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
BookmarkButton | mobile/features/bookmarks/BookmarkButton.tsx:14 | The one bookmark button (문제 · 개념 · 레슨 · 자료): filled when saved, a toast that points to 더보기 > 북마크 when added. | 5 |
Mordy 기능: capture (1)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
PdfRange | mobile/features/capture/PdfRange.tsx:35 | PDF 페이지 범위: 전체 or a chosen range, with the first/last chosen pages previewed. | 3 |
Mordy 기능: community (40)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
CollectionCover | mobile/features/community/Collections.tsx:44 | A collection as a textbook cover: coloured board, spine, emoji and title. | 4 |
CollectionGrid | mobile/features/community/Collections.tsx:65 | Two columns of covers (profile 컬렉션 tab). | 2 |
CollectionEditor | mobile/features/community/Collections.tsx:80 | 새 컬렉션 / 편집: title, a line about it, emoji and colour, who can see it. | 4 |
CollectSheet | mobile/features/community/Collections.tsx:145 | "컬렉션에 담기" from a post or a material: tap a collection to add. | 4 |
AddItemSheet | mobile/features/community/Collections.tsx:189 | + 항목 추가 (owner): from my materials, bookmarks, wrong answers, saved posts, or a link. | 3 |
CollectionItemRow | mobile/features/community/Collections.tsx:265 | One row inside a collection, the same for every kind. | 3 |
CollectHost | mobile/features/community/Collections.tsx:387 | — | 0 |
FeedTabs | mobile/features/community/FeedTabs.tsx:12 | The one tab bar of the community: text with a short blue underline. Equal widths for a few fixed tabs (프로필, 알림, 검색, 그룹 화면). | 3 |
ScrollTabs | mobile/features/community/FeedTabs.tsx:23 | Scrolling tabs (커뮤니티: 추천 · 그룹 · followed topics) with a fixed trailing slot (+). A few tabs share the whole width; more than fit keep their label width and scroll. Tapping the current tab again calls onReselect. | 5 |
TextToggle | mobile/features/community/FeedTabs.tsx:61 | Inline text choices inside a list header (전체 · 공지, 이번 주 · 이번 달 · 전체). | 3 |
FollowTopic | mobile/features/community/FollowTopic.tsx:12 | — | 2 |
GroupIcon | mobile/features/community/GroupBits.tsx:14 | The group picture, or its topic emoji on a soft tile. | 2 |
GroupCover | mobile/features/community/GroupBits.tsx:29 | — | 2 |
GroupCard | mobile/features/community/GroupBits.tsx:40 | The group card (X communities): cover on top, name below. The same card everywhere a group is listed. | 1 |
NewGroupCard | mobile/features/community/GroupBits.tsx:66 | — | 0 |
GroupCardRow | mobile/features/community/GroupBits.tsx:78 | A sideways row of group cards, optionally ending with 새 그룹 만들기. | 2 |
GroupRow | mobile/features/community/GroupBits.tsx:88 | A row in lists and search: icon, name, topic · members, and a lock for 승인제. | 2 |
GroupTile | mobile/features/community/GroupBits.tsx:109 | A compact card for "내 그룹" (horizontal), with this week's goal when there is one. | 1 |
GoalBar | mobile/features/community/GroupBits.tsx:132 | — | 1 |
GroupForm | mobile/features/community/GroupForm.tsx:32 | 그룹 만들기 / 설정: name, the one required topic, category, how people join, about and rules, pictures. | 4 |
WeekPanel | mobile/features/community/GroupHome.tsx:35 | 이번 주 그룹 현황: who is here, then three figures against last week. | 2 |
GoalsPanel | mobile/features/community/GroupHome.tsx:105 | 그룹 목표: up to three, each with its period, progress and my share. | 4 |
PopularPanel | mobile/features/community/GroupHome.tsx:160 | 인기 게시물: the group's most engaging recent posts, and the way to all of them. | 2 |
GoalEditor | mobile/features/community/GroupHome.tsx:189 | — | 6 |
GroupsPane | mobile/features/community/GroupsPane.tsx:11 | 그룹 tab: my groups as cards (or groups to join when I have none), a 새 그룹 card at the end, then the newest posts from my groups. | 0 |
PostExtra | mobile/features/community/LearningCards.tsx:22 | The card under an 'activity' or 'material' post. | 1 |
GroupGoalNudge | mobile/features/community/LearningCards.tsx:155 | 홈: the group goal card ("그룹 목표까지 문제 30개") that starts a session. | 4 |
PostCard | mobile/features/community/PostCard.tsx:36 | One post, X-style. Every list (feeds, profile tabs, threads, search) uses it. - context: a line above the post, aligned to the content column (고정됨 · 공지 · 그룹) - lineAbove / lineBelow: the thread connector in the avatar column - focus: the post a thread page is about (larger text, full time) - showReplyTo: "@누구에게 보내는 답글" when the parent is not drawn right above it | 7 |
Shell | mobile/features/community/PostCard.tsx:150 | The same frame for placeholders (deleted / unavailable posts) inside a thread. | 4 |
PostList | mobile/features/community/PostList.tsx:8 | A paged list of posts under an arbitrary header (topic, profile, saved). | 9 |
PostMedia | mobile/features/community/PostMedia.tsx:22 | Photos (1–4 in a grid), one video, or files, inside a post. | 2 |
LinkCard | mobile/features/community/PostMedia.tsx:162 | — | 1 |
ProfileForm | mobile/features/community/ProfileForm.tsx:28 | 닉네임 · @핸들 · 아바타. The handle is checked while typing; the server has the last word. | 5 |
RichBody | mobile/features/community/RichBody.tsx:10 | — | 2 |
RulesSheet | mobile/features/community/RulesSheet.tsx:20 | The community guide, accepted once before the first post or reply. | 3 |
ShareSheet | mobile/features/community/ShareSheet.tsx:18 | 공유하기: a session result or a material, to my profile (everyone) or one of my groups. | 6 |
SortSheet | mobile/features/community/SortSheet.tsx:16 | One way to sort a timeline everywhere (주제 탭을 한 번 더, 그룹 게시물). | 5 |
SortControl | mobile/features/community/SortSheet.tsx:45 | "최신순 ⌄" at the right of a list header; opens the same sheet. | 3 |
TopicPicker | mobile/features/community/TopicPicker.tsx:12 | Search topics, or start a new one with what was typed. | 6 |
TopicTimeline | mobile/features/community/TopicTimeline.tsx:9 | A topic's posts, used by the community tab (followed topics) and the topic page. | 3 |
Mordy 기능: documents (1)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
ProcessingCard | mobile/features/documents/ProcessingCard.tsx:40 | "문제를 준비하고 있어요" with a 4-step progress rail (home, document detail). | 6 |
Mordy 기능: errors (1)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
ErrorScreen | mobile/features/errors/ErrorScreen.tsx:14 | A screen that throws while rendering: a calm "다시 시도" instead of a blank app, and the error goes to the server log (report_client_error, 30 a day per account at most). | 2 |
Mordy 기능: exams (3)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
CalendarArt | mobile/features/exams/CalendarArt.tsx:8 | The soft 3D calendar of the exam references (시험 정보 art, 최종 확인 card), drawn with views so it follows the theme and stays sharp at any size. | 1 |
ScopeSheet | mobile/features/exams/ScopeSheet.tsx:22 | "수학 시험 범위" (reference 1, step 3) as a sheet: the picker and 적용. | 6 |
ScopePicker | mobile/features/exams/ScopeSheet.tsx:43 | The range itself: 단원/개념 or 자료 on top, then the whole subject or a hand-picked range (both tabs edit the same set of concepts). Used by the exam wizard and 모의고사. Starts from value (remount with a key to reset); reports every change. | 4 |
Mordy 기능: home (1)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
FirstRunHero | mobile/features/home/FirstRunHero.tsx:19 | Home before the first document: what Mordy does in three steps, and one clear action. | 2 |
Mordy 기능: lessons (4)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
CheckQuestion | mobile/features/lessons/CheckQuestion.tsx:20 | A lesson checkpoint: one question graded on the spot (bare, like the quiz), with the one-line explanation. The answer goes through the usual outbox. | 3 |
LessonLink | mobile/features/lessons/LessonLink.tsx:8 | "3분 레슨으로 다시 보기": under a concept wherever it is shown on its own. | 3 |
LessonList | mobile/features/lessons/LessonList.tsx:26 | 과목 → 레슨: every concept as a 3-minute lesson, by unit. | 3 |
StoryReader | mobile/features/lessons/StoryReader.tsx:39 | 스토리 레슨: the concept as a picture book — a cover with its picture, one idea per page (swipe or tap the arrows), the checkpoints between pages, and the finish at the end. 듣기 reads the pages aloud and turns them. | 6 |
Mordy 기능: mock (9)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
AnswerSheet | mobile/features/mock/AnswerSheet.tsx:14 | 답안지 (OMR): one row per question — its number, then ①–⑤ to mark (or a field for 단답형). Marks here are the answers. Tapping the number opens the question (in the app); on paper there is nothing to open. | 6 |
MockRow | mobile/features/mock/MockCard.tsx:22 | One mock in a list: title, date and size, its state on the right. Opens the preview. | 1 |
MockCard | mobile/features/mock/MockCard.tsx:39 | 시험 플래너 > 학습 추천: this exam's mocks and 모의고사 만들기 (the same sheet as 과목 > 문제 > 모의고사, starting from the exam's range). | 1 |
MockGenerating | mobile/features/mock/MockGenerating.tsx:29 | — | 1 |
WhileWaiting | mobile/features/mock/MockGenerating.tsx:88 | 기다리는 동안: two lessons from the paper's range — what was missed last first, then what has not been studied yet — so the minutes the paper takes are not dead time. | 1 |
MockSheet | mobile/features/mock/MockSheet.tsx:43 | 모의고사 만들기 in two steps: 1) the range (the exam wizard's picker; from an exam, its subjects on top with the exam range already picked), 2) questions, level, 단답형 share and time, preset like the subject's real paper. Made → its preview, where the student starts it. | 4 |
PaperPdfSheet | mobile/features/mock/PaperPdfSheet.tsx:56 | 시험지 PDF: asks the worker to print the paper (문제지, A3 like the real papers) and its answer key (정답표, A4), waits while it prints, shows the first page, then saves it to 다운로드/Mordy or shares it. | 3 |
PaperQuestion | mobile/features/mock/PaperQuestion.tsx:45 | A question on the mock exam paper, set like the printed papers: the number hanging in bold, the stem and its material, [n점] after the stem when the points are not the usual, and ①–⑤ in one row, in 3 + 2, or one per line as they fit. The picked number fills in like a marked answer sheet. Nothing is graded here (정답은 제출 후). | 5 |
References | mobile/features/mock/References.tsx:13 | 참고된 자료: every page of the student's material, 기출 item and web page the worker read to write the paper, with the questions that used it. A tap opens it. | 1 |
Mordy 기능: notes (2)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
AnswerCompare | mobile/features/notes/AnswerCompare.tsx:8 | "내 답 ✕ … / 정답 ✓ …" rows shared by the session result and 오답 노트. | 2 |
NoteCard | mobile/features/notes/NoteCard.tsx:16 | One missed question: my answer next to the right one; the explanation unfolds. | 8 |
Mordy 기능: selfstudy (2)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
HoldButton | mobile/features/selfstudy/HoldButton.tsx:14 | One button for a running 자습: a tap does label (잠깐 멈추기 / 계속하기); holding it fills a gauge for 3 s, turns it into 그만하기, and calls onHold. | 3 |
RunningBanner | mobile/features/selfstudy/RunningBanner.tsx:16 | On home while a 자습 runs (or is paused): where it stands — "집중 2/4 · 12분 남음", "자습 멈춤 · 공부 32분" — and a tap back to the timer. | 0 |
Mordy 기능: session (8)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
OXPad | mobile/features/session/answers.tsx:27 | OX: two big tiles. choices come shuffled from the session; O always sits left. | 4 |
BlankSlot | mobile/features/session/answers.tsx:56 | The inline "____" of a 빈칸 question: empty, the picked word, or the result. | 2 |
ShortAnswerField | mobile/features/session/answers.tsx:70 | 단답형: one large field; the keyboard's "완료" submits. | 5 |
ChoiceGrid | mobile/features/session/answers.tsx:110 | Choices that are graphs, diagrams or pictures (reference 7): two cards a row, the number in the corner, the picked card outlined with a filled check. | 5 |
QuestionGrid | mobile/features/session/QuestionGrid.tsx:18 | 문제 목록: every loaded question as a number; tap to jump there. | 6 |
QuestionTrack | mobile/features/session/QuestionTrack.tsx:8 | Progress through the current worksheet: one segment per question, filled once answered (바로 채점: green or red), the current one marked. Long worksheets fall back to a single bar. | 2 |
ReasonChips | mobile/features/session/ReasonChips.tsx:13 | 오답 원인: one tap on why it went wrong. It shapes the report (실수형 · 개념형) and can be changed or cleared by tapping again. | 2 |
ReportSheet | mobile/features/session/ReportSheet.tsx:26 | "이 문제 이상해요": the question is withdrawn at once and a replacement for the same concept is made from the same source. | 4 |
Mordy 기능: settings (2)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
ThemeSheet | mobile/features/settings/AppearanceSheets.tsx:41 | — | 2 |
FontSizeSheet | mobile/features/settings/AppearanceSheets.tsx:86 | — | 2 |
Mordy 기능: source (1)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
DocThumb | mobile/features/source/DocThumb.tsx:8 | First page of a document (page scans only; other formats show a file glyph). | 3 |
Mordy 기능: subjects (9)#
| 이름 | 코드 위치 | 설명 | 속성 수 |
|---|---|---|---|
DeckLink | mobile/features/subjects/DeckLink.tsx:7 | Entry to 개념 카드 (subject overview, unit page, exam planner): a well row like every list row. | 4 |
DocCard | mobile/features/subjects/DocCard.tsx:19 | A document in a subject or unit: first page, title, date and pages, status. | 2 |
EmptySubjectHero | mobile/features/subjects/EmptySubject.tsx:14 | A subject with no material yet: one card in the subject's colour, both ways to add. | 3 |
EmptyUnitCard | mobile/features/subjects/EmptySubject.tsx:41 | A unit whose material is still missing or being processed. | 1 |
SubjectEditor | mobile/features/subjects/SubjectEditor.tsx:24 | Create or edit a subject (name, 학교/학원/개인, icon). Colour follows the icon preset. | 4 |
Tag | mobile/features/subjects/TopicCard.tsx:21 | — | 2 |
TopicCard | mobile/features/subjects/TopicCard.tsx:31 | 문제 탭 row: topic, unit, type and difficulty, the concept bookmark. Tap = solve this topic. | 4 |
UnitEditSheet | mobile/features/subjects/UnitSheets.tsx:34 | 단원 편집: a new name, or folding this unit into another one (its concepts, materials and exam ranges move along). Returns the unit that remains. | 6 |
MoveConceptSheet | mobile/features/subjects/UnitSheets.tsx:90 | 개념 옮기기: puts one concept in another unit of its subject, or in a new one. | 5 |