diff --git a/Sources/AllInApp/AllIn/Assets.xcassets/GreyDarkColor.colorset/Contents.json b/Sources/AllInApp/AllIn/Assets.xcassets/GreyDarkColor.colorset/Contents.json new file mode 100644 index 0000000..029b425 --- /dev/null +++ b/Sources/AllInApp/AllIn/Assets.xcassets/GreyDarkColor.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x24", + "green" : "0x24", + "red" : "0x24" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x24", + "green" : "0x24", + "red" : "0x24" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Sources/AllInApp/AllIn/Assets.xcassets/marquee.imageset/Contents.json b/Sources/AllInApp/AllIn/Assets.xcassets/marquee.imageset/Contents.json new file mode 100644 index 0000000..c361751 --- /dev/null +++ b/Sources/AllInApp/AllIn/Assets.xcassets/marquee.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Mask group (3).png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Sources/AllInApp/AllIn/Assets.xcassets/marquee.imageset/Mask group (3).png b/Sources/AllInApp/AllIn/Assets.xcassets/marquee.imageset/Mask group (3).png new file mode 100644 index 0000000..dce4c17 Binary files /dev/null and b/Sources/AllInApp/AllIn/Assets.xcassets/marquee.imageset/Mask group (3).png differ diff --git a/Sources/AllInApp/AllIn/Components/WinModal.swift b/Sources/AllInApp/AllIn/Components/WinModal.swift index c16c303..84082f6 100644 --- a/Sources/AllInApp/AllIn/Components/WinModal.swift +++ b/Sources/AllInApp/AllIn/Components/WinModal.swift @@ -16,136 +16,9 @@ struct WinModal: View { GeometryReader { geometry in let size = geometry.size.width / 20 - InfiniteScroller(contentWidth: size * 20) { - VStack(spacing: 20) { - VStack(spacing: 20) { - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing:20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - - - } - VStack(spacing: 20) { - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing:20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - HStack(spacing: 20){ - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110,height:110) - Image("allcoinWhiteIcon").resizable().frame(width: 110, height:110) - } - } - } - .padding(10) + InfiniteScroller(contentWidth: geometry.size.width) { + + Image("marquee").resizable().scaledToFit() } VStack { ZStack(alignment: .topLeading){ @@ -204,11 +77,6 @@ struct InfiniteScroller: View { content() content() content() - content() - content() - content() - content() - content() } .offset(x: xOffset, y: 0) } @@ -221,8 +89,9 @@ struct InfiniteScroller: View { xOffset = +contentWidth } } - .frame(width: 1200) - .rotationEffect(.degrees(-30)) + .frame(width: 1000, height: 1000) + .padding(.leading, -400) + .rotationEffect(.degrees(30)) .opacity(0.04) } } diff --git a/Sources/AllInApp/AllIn/Ressources/Colors.swift b/Sources/AllInApp/AllIn/Ressources/Colors.swift index 93f3746..010c458 100644 --- a/Sources/AllInApp/AllIn/Ressources/Colors.swift +++ b/Sources/AllInApp/AllIn/Ressources/Colors.swift @@ -54,6 +54,7 @@ struct AllInColors { static let componentBackgroundColor = Color("ComponentBackgroundColor") static let underComponentBackgroundColor = Color("UnderComponentBackgroundColor") static let winBannerBackground = Color("WinBannerBackground") + static let greyDarkColor = Color("GreyDarkColor") // Gradients static let primaryGradient = LinearGradient( diff --git a/Sources/AllInApp/AllIn/Views/BetEndingValidationView.swift b/Sources/AllInApp/AllIn/Views/BetEndingValidationView.swift new file mode 100644 index 0000000..b8be880 --- /dev/null +++ b/Sources/AllInApp/AllIn/Views/BetEndingValidationView.swift @@ -0,0 +1,54 @@ +// +// BetEndingValidationView.swift +// AllIn +// +// Created by Lucas Delanier on 29/01/2024. +// + +import Foundation +import SwiftUI +struct BetEndingValidation: View { + @Environment(\.dismiss) var dismiss + + @State var xOffset: CGFloat = 0 + var body: some View { + ZStack{ + GeometryReader { geometry in + + InfiniteScroller(contentWidth: geometry.size.width) { + + Image("marquee").resizable().scaledToFit() + } + VStack { + ZStack(alignment: .topLeading){ + HStack{ + Spacer() + Image("allinIcon").resizable().frame(width: 35, height: 35) + Spacer() + } + + Image("crossIcon").resizable().frame(width: 25, height: 25).onTapGesture { + dismiss() + } + + } + HStack{ + Text("FÉLICITATIONS").font(.system(size: 20)).foregroundColor(.white).fontWeight(.semibold).italic() + Text("PSEUDO!").padding(.top,9).font(.system(size: 33)).fontWeight(.heavy).foregroundColor(.white) + } + .rotationEffect(.degrees(-4)) + .padding(.top,40) + + Spacer() + AllcoinsCapsule() + Spacer() + RecapBetCard() + Spacer() + } + .padding([.all],20) + } + + }.background(AllInColors.greyDarkColor) + } +} + diff --git a/Sources/AllInApp/AllInApp.xcodeproj/project.pbxproj b/Sources/AllInApp/AllInApp.xcodeproj/project.pbxproj index 3fbc216..9d640e0 100644 --- a/Sources/AllInApp/AllInApp.xcodeproj/project.pbxproj +++ b/Sources/AllInApp/AllInApp.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 120919182B56D0AE00D0FA29 /* ParticipationModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 120919172B56D0AE00D0FA29 /* ParticipationModal.swift */; }; 1209191A2B56DC6C00D0FA29 /* DropDownAnswerMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 120919192B56DC6C00D0FA29 /* DropDownAnswerMenu.swift */; }; + 123225D92B67B46100D30BB3 /* BetEndingValidationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123225D82B67B46100D30BB3 /* BetEndingValidationView.swift */; }; 123590B42B51792000F7AEBD /* DetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123590B32B51792000F7AEBD /* DetailsView.swift */; }; 123590B62B5537E200F7AEBD /* ResultBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123590B52B5537E200F7AEBD /* ResultBanner.swift */; }; 123590B82B5541BA00F7AEBD /* ParticipateButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123590B72B5541BA00F7AEBD /* ParticipateButton.swift */; }; @@ -108,6 +109,7 @@ 120919192B56DC6C00D0FA29 /* DropDownAnswerMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropDownAnswerMenu.swift; sourceTree = ""; }; 122278B72B4BDE1100E632AA /* DependencyInjection.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DependencyInjection.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 122278B92B4BDE9500E632AA /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Package.swift; path = ../Model/Package.swift; sourceTree = ""; }; + 123225D82B67B46100D30BB3 /* BetEndingValidationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BetEndingValidationView.swift; sourceTree = ""; }; 123590B32B51792000F7AEBD /* DetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailsView.swift; sourceTree = ""; }; 123590B52B5537E200F7AEBD /* ResultBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResultBanner.swift; sourceTree = ""; }; 123590B72B5541BA00F7AEBD /* ParticipateButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParticipateButton.swift; sourceTree = ""; }; @@ -306,6 +308,7 @@ EC7A882C2B28D8A1004F226A /* CreationBetView.swift */, 1244EF5F2B4EC31E00374ABF /* HistoricBetView.swift */, 123590B32B51792000F7AEBD /* DetailsView.swift */, + 123225D82B67B46100D30BB3 /* BetEndingValidationView.swift */, ); path = Views; sourceTree = ""; @@ -537,6 +540,7 @@ EC30770D2B24DB7A0060E34D /* Extensions.swift in Sources */, EC6B96D82B24BF2100FC1C58 /* Menu.swift in Sources */, EC650A4E2B278EDB003AFCAD /* TrendingBetCard.swift in Sources */, + 123225D92B67B46100D30BB3 /* BetEndingValidationView.swift in Sources */, EC0193782B25BF16005D81E6 /* AllcoinsCapsule.swift in Sources */, EC650A4A2B25DD58003AFCAD /* FriendsView.swift in Sources */, EC3077072B24CB840060E34D /* SplashView.swift in Sources */,