parent
1427b274f5
commit
2b9ea15560
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Vector-3.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.7 KiB |
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "image 16.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 193 KiB |
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "image 17.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 164 KiB |
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Group 105.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 725 B |
@ -0,0 +1,221 @@
|
||||
//
|
||||
// WinModal.swift
|
||||
// AllIn
|
||||
//
|
||||
// Created by étudiant on 27/09/2023.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct WinModal: View {
|
||||
@State var xOffset: CGFloat = 0
|
||||
var body: some View {
|
||||
ZStack{
|
||||
Image("BackGradiant2").resizable()
|
||||
ZStack{
|
||||
GeometryReader { geometry in
|
||||
let size = geometry.size.width / 20
|
||||
|
||||
InfiniteScroller(contentWidth: size * 20) {
|
||||
|
||||
VStack(spacing: 20) {
|
||||
|
||||
VStack(spacing: 20) {
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing:20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
VStack(spacing: 20) {
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing:20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
HStack(spacing: 20){
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110,height:110)
|
||||
Image("Allcoins").resizable().frame(width: 110, height:110)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}.padding(10)
|
||||
}
|
||||
VStack {
|
||||
ZStack(alignment: .topLeading){
|
||||
HStack{
|
||||
Spacer()
|
||||
Image("Icon").resizable().frame(width: 35, height: 35)
|
||||
Spacer()
|
||||
}
|
||||
|
||||
Image("Close_icon").resizable().frame(width: 25, height: 25)
|
||||
|
||||
}
|
||||
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)
|
||||
|
||||
|
||||
}.padding([.all],20)
|
||||
}
|
||||
|
||||
}
|
||||
}.edgesIgnoringSafeArea(.all)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
struct WinModal_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
WinModal()
|
||||
}
|
||||
}
|
||||
|
||||
struct InfiniteScroller<Content: View>: View {
|
||||
var contentWidth: CGFloat
|
||||
var content: (() -> Content)
|
||||
|
||||
@State
|
||||
var xOffset: CGFloat = -800
|
||||
|
||||
var body: some View {
|
||||
ScrollView(.horizontal, showsIndicators: false) {
|
||||
HStack(spacing: 0) {
|
||||
|
||||
content()
|
||||
content()
|
||||
content()
|
||||
content()
|
||||
content()
|
||||
content()
|
||||
content()
|
||||
content()
|
||||
|
||||
|
||||
|
||||
}
|
||||
.offset(x: xOffset, y: 0)
|
||||
}
|
||||
.disabled(true)
|
||||
.onAppear {
|
||||
withAnimation(.linear(duration: 25).repeatForever(autoreverses: false)) {
|
||||
xOffset = +contentWidth
|
||||
}
|
||||
}.frame(width: 1000).rotationEffect(.degrees(-30)).opacity(0.04)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in new issue