Skip to content

Commit 351d00e

Browse files
committed
[#57] TextField 컴포넌트화
1 parent 92d81aa commit 351d00e

File tree

3 files changed

+37
-6
lines changed

3 files changed

+37
-6
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
//
2+
// MarkTextField.swift
3+
// DesignSystem
4+
//
5+
// Created by 이정동 on 6/9/25.
6+
//
7+
8+
import SwiftUI
9+
10+
#if os(macOS)
11+
public struct MarkTextField: View {
12+
13+
@Binding var text: String
14+
let placeholder: String
15+
16+
public init(
17+
text: Binding<String>,
18+
placeholder: String = ""
19+
) {
20+
self._text = text
21+
self.placeholder = placeholder
22+
}
23+
24+
public var body: some View {
25+
TextField("", text: $text, prompt: Text(placeholder))
26+
.textFieldStyle(.roundedBorder)
27+
}
28+
}
29+
30+
#Preview {
31+
@Previewable @State var text = ""
32+
MarkTextField(text: $text, placeholder: "입력")
33+
}
34+
#endif

Mark-In/Sources/Feature/AddFolder/AddFolderView.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ struct AddFolderView: View {
2929
Text("폴더를 추가:")
3030
.frame(maxWidth: .infinity, alignment: .leading)
3131

32-
TextField("", text: $title, prompt: Text("제목"))
33-
.textFieldStyle(.roundedBorder)
32+
MarkTextField(text: $title, placeholder: "제목")
3433
.padding(.top, 14)
3534
.disabled(isSaving)
3635

Mark-In/Sources/Feature/AddLink/AddLinkView.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,9 @@ struct AddLinkView: View {
5656
.pickerStyle(.menu)
5757
.labelsHidden()
5858

59-
TextField("", text: $url, prompt: Text("주소"))
60-
.textFieldStyle(.roundedBorder)
59+
MarkTextField(text: $url, placeholder: "주소")
6160

62-
TextField("", text: $title, prompt: Text("제목(선택)"))
63-
.textFieldStyle(.roundedBorder)
61+
MarkTextField(text: $title, placeholder: "제목(선택)")
6462
}
6563
.padding(.top, 14)
6664
.disabled(isSaving)

0 commit comments

Comments
 (0)