diff --git a/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj b/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj index 24935ce..908f76b 100644 --- a/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj +++ b/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj @@ -17,6 +17,7 @@ 645834882BF5FEA000E18321 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 645834872BF5FEA000E18321 /* DSQ.xcframework */; }; 645834892BF5FEA000E18321 /* DSQ.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 645834872BF5FEA000E18321 /* DSQ.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 645B4C202BFCCA0500FD658A /* PlayerResumeFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645B4C1F2BFCCA0500FD658A /* PlayerResumeFrame.swift */; }; + 645B4C252BFCD3C600FD658A /* ScoreBoardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645B4C242BFCD3C600FD658A /* ScoreBoardView.swift */; }; 649ABF5B2BF60D78002E8894 /* MainMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649ABF5A2BF60D78002E8894 /* MainMenuView.swift */; }; 649ABF602BF60F2D002E8894 /* MainMenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649ABF5F2BF60F2D002E8894 /* MainMenuButton.swift */; }; 649B59A42BF64574002BAE38 /* TitlePageFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59A32BF64574002BAE38 /* TitlePageFrame.swift */; }; @@ -73,6 +74,7 @@ 645834852BF5FE1400E18321 /* DouShouQi-App-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "DouShouQi-App-Info.plist"; sourceTree = SOURCE_ROOT; }; 645834872BF5FEA000E18321 /* DSQ.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = DSQ.xcframework; sourceTree = ""; }; 645B4C1F2BFCCA0500FD658A /* PlayerResumeFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerResumeFrame.swift; sourceTree = ""; }; + 645B4C242BFCD3C600FD658A /* ScoreBoardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreBoardView.swift; sourceTree = ""; }; 649ABF5A2BF60D78002E8894 /* MainMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuView.swift; sourceTree = ""; }; 649ABF5F2BF60F2D002E8894 /* MainMenuButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuButton.swift; sourceTree = ""; }; 649B59A32BF64574002BAE38 /* TitlePageFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitlePageFrame.swift; sourceTree = ""; }; @@ -187,9 +189,18 @@ path = Player; sourceTree = ""; }; + 645B4C232BFCD39A00FD658A /* Player */ = { + isa = PBXGroup; + children = ( + 645B4C242BFCD3C600FD658A /* ScoreBoardView.swift */, + ); + path = Player; + sourceTree = ""; + }; 649ABF592BF60D13002E8894 /* Views */ = { isa = PBXGroup; children = ( + 645B4C232BFCD39A00FD658A /* Player */, 649ABF5A2BF60D78002E8894 /* MainMenuView.swift */, ); path = Views; @@ -378,6 +389,7 @@ 6458345E2BF5F92300E18321 /* ContentView.swift in Sources */, 649B59A92BF64C6A002BAE38 /* Colors.swift in Sources */, 649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */, + 645B4C252BFCD3C600FD658A /* ScoreBoardView.swift in Sources */, 649B59AE2BF64EAB002BAE38 /* AppImages.swift in Sources */, 649ABF602BF60F2D002E8894 /* MainMenuButton.swift in Sources */, 649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */, diff --git a/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift b/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift new file mode 100644 index 0000000..4b9da01 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift @@ -0,0 +1,53 @@ +// +// ScoreBoardView.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 21/05/2024. +// + +import SwiftUI + +struct ScoreBoardView: View { + var body: some View { + VStack { + HStack { + TitlePageFrame(Text: "Score Board", ImageWidth: 200, ImageHeight: 200) + } + + HStack { + Text("Rank") + .font(.headline) + .frame(width: 50, alignment: .trailing) + + Text("Name") + + Spacer() + + Text("Wins") + .frame(width: 55, alignment: .trailing) + + Text("Looses") + .frame(width: 55, alignment: .trailing) + + } + .padding(10) + + HStack { + Rectangle() + .frame(height: 2) + } + + PlayerResumeFrame(Name: "Nathan Verdier", Rank: 1, Wins: 19, Looses: 15) + PlayerResumeFrame(Name: "Rayhan Hassou", Rank: 2, Wins: 17, Looses: 17) + PlayerResumeFrame(Name: "Rémi Regnault", Rank: 3, Wins: 15, Looses: 19) + + Spacer() + } + } +} + +struct ScoreBoardView_Previews: PreviewProvider { + static var previews: some View { + ScoreBoardView() + } +}