feat(fantalk): 쓰기 입력 제한을 적용한다

This commit is contained in:
Yu Sung
2026-08-25 17:36:44 +09:00
parent 425099955b
commit cb3778a76f
5 changed files with 166 additions and 6 deletions

View File

@@ -25,12 +25,27 @@ struct CreatorChannelFanTalkWriteView: View {
VStack(spacing: 0) {
navigationBar
TextEditor(text: $viewModel.content)
TextEditor(text: Binding(
get: { viewModel.content },
set: { newValue in
viewModel.content = String(newValue.prefix(viewModel.maxContentCount))
}
))
.appFont(size: 16, weight: .regular)
.foregroundColor(Color.white)
.foregroundColor(viewModel.isContentOverLimit ? Color.red400 : Color.white)
.accentColor(Color.soda400)
.scrollContentBackground(.hidden)
.background(Color.black)
.overlay(alignment: .topLeading) {
if viewModel.content.isEmpty {
Text(I18n.CreatorChannelFanTalk.writePlaceholder)
.appFont(size: 16, weight: .regular)
.foregroundColor(Color.gray500)
.padding(.horizontal, SodaSpacing.s4)
.padding(.vertical, SodaSpacing.s8)
.allowsHitTesting(false)
}
}
.focused($isFocused)
.padding(.horizontal, SodaSpacing.s14)
.padding(.top, SodaSpacing.s20)
@@ -56,7 +71,6 @@ struct CreatorChannelFanTalkWriteView: View {
Text(I18n.Common.cancel)
.appFont(size: 16, weight: .regular)
.foregroundColor(Color.white)
.frame(width: 64, height: 56, alignment: .leading)
}
.buttonStyle(.plain)
@@ -85,8 +99,8 @@ struct CreatorChannelFanTalkWriteView: View {
Text("\(viewModel.content.count)")
.appFont(size: 16, weight: .medium)
.foregroundColor(Color.white)
Text("/\(viewModel.maxContentCount)")
.foregroundColor(viewModel.isContentOverLimit ? Color.red400 : Color.white)
Text("/\(viewModel.maxContentCount)")
.appFont(size: 16, weight: .medium)
.foregroundColor(Color.gray500)
}