diff --git a/kWordle/Assets.xcassets/StreakBubble.imageset/Contents.json b/kWordle/Assets.xcassets/StreakBubble.imageset/Contents.json new file mode 100644 index 0000000..63c127e --- /dev/null +++ b/kWordle/Assets.xcassets/StreakBubble.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "StreakBubble1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "StreakBubble2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "StreakBubble3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble1x.png b/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble1x.png new file mode 100644 index 0000000..886604e Binary files /dev/null and b/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble1x.png differ diff --git a/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble2x.png b/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble2x.png new file mode 100644 index 0000000..4293535 Binary files /dev/null and b/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble2x.png differ diff --git a/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble3x.png b/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble3x.png new file mode 100644 index 0000000..02835cb Binary files /dev/null and b/kWordle/Assets.xcassets/StreakBubble.imageset/StreakBubble3x.png differ diff --git a/kWordle/View/DictView.swift b/kWordle/View/DictView.swift index 3820732..96e2a04 100644 --- a/kWordle/View/DictView.swift +++ b/kWordle/View/DictView.swift @@ -23,8 +23,11 @@ struct DictView: View { VStack(spacing: 24) { VStack(spacing: 8) { HStack { - Text(answer) - .font(.custom("EBSHMJESaeronR", size: 28)) + HStack(spacing: 4) { + Text(answer) + .font(.custom("EBSHMJESaeronR", size: 28)) + streakButton() + } Spacer() Button { actionSheet() @@ -77,18 +80,33 @@ struct DictView: View { .frame(minHeight: 35) } + private func streakButton() -> some View { + return ZStack { + Rectangle() + .frame(width: 80, height: 28) + .foregroundColor(.hBlack) + HStack(spacing: 0) { + Text("연승끝..") + .foregroundColor(.hWhite) + .font(.custom("EBSHMJESaeronR", size: 14)) + Text("🤯") + .font(.system(size: 12)) + } + } + } + private func copyButton() -> some View { return ZStack { - RoundedRectangle(cornerRadius: 5) - .frame(width: 72, height: 36) - .foregroundColor(.hLigthGray) - HStack { + RoundedRectangle(cornerRadius: 5) + .frame(width: 72, height: 36) + .foregroundColor(.hLigthGray) + HStack(spacing: 4) { Text("공유") .foregroundColor(.hBlack) .font(.custom("EBSHMJESaeronR", size: 17)) Image(systemName: "arrowshape.turn.up.left") .resizable() - .frame(width: 19, height: 15) + .frame(width: 15, height: 12) .foregroundColor(.hBlack) } } diff --git a/kWordle/View/MainView.swift b/kWordle/View/MainView.swift index 900bc2e..35e5f4c 100644 --- a/kWordle/View/MainView.swift +++ b/kWordle/View/MainView.swift @@ -48,16 +48,41 @@ struct MainView: View { var mainView: some View { VStack(spacing: 0) { - TitleView() - .padding(.top, 35 * currentScreenRatio()) - .padding(.bottom, 8 * currentHeightRatio()) - HStack { - SettingButtonView(isSettingPresented: $isSettingPresented) - Spacer() - GameCountView + ZStack(alignment: .bottomTrailing) { + VStack { + TitleView() + .padding(.top, 35 * currentScreenRatio()) + .padding(.bottom, 8 * currentHeightRatio()) + HStack { + SettingButtonView(isSettingPresented: $isSettingPresented) + Spacer() + GameCountView + } + } + ZStack { + Image("StreakBubble") + .resizable() + .frame(width: 80, height: 55) + VStack { + HStack(spacing: 0) { + Text("1000") + .foregroundColor(.hBlack) + .font(.system(size: 14, weight: .medium)) + Text("번째") + .foregroundColor(.hBlack) + .font(.custom("EBSHMJESaeronSB", size: 14)) + } + Text("연승중") + .foregroundColor(.hBlack) + .font(.custom("EBSHMJESaeronSB", size: 14)) + } + .padding(.bottom, 6) + } + .padding(.trailing, 35) + .padding(.bottom, 25) } .padding(.horizontal, 20) - .padding(.vertical, 8) + .padding(.bottom, 8) AnswerBoardView() Spacer() if !mainViewModel.game.isGameFinished {