diff --git a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQAddressModifyLine.swift b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQAddressModifyLine.swift new file mode 100644 index 0000000..0a82d72 --- /dev/null +++ b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQAddressModifyLine.swift @@ -0,0 +1,30 @@ +// +// SQAddressModifyLine.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct SQAddressModifyLine: View { + var body: some View { + let attributedText = NSAttributedString("Modifier") + + HStack { + SQText("à 8 allée Baco, 44000 Nantes", size: 14) + Spacer() + Button { + print("Modifier") + } label: { + SQText("Modifier", size: 14, font: .bold) + .underline(true, pattern: .solid) + } + } + } +} + +#Preview { + SQAddressModifyLine() + .padding() +} diff --git a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQIcon.swift b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQIcon.swift index f721a88..468f443 100644 --- a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQIcon.swift +++ b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQIcon.swift @@ -57,6 +57,7 @@ enum SQIconName: String { case camera_plus case camera_rotate case camera + case car_side case chart_line_up case chart_user case check @@ -141,6 +142,7 @@ enum SQIconName: String { case paper_plane_top case paper_plane case paperclip + case passport case payer case pen_to_square case phone_flip diff --git a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQSearchBar.swift b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQSearchBar.swift new file mode 100644 index 0000000..b23c37e --- /dev/null +++ b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQSearchBar.swift @@ -0,0 +1,44 @@ +// +// SQSearchBar.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct SQSearchBar: View { + @Binding var text: String + var placeholder: String + + var body: some View { + HStack(spacing: 16) { + SQIcon(.magnifying_glass, type: .solid) + TextField("", text: $text) + .placeholder(when: text.isEmpty) { + SQText(placeholder, textColor: .sqNeutral(50)) + } + .tint(Color.sqNeutral(100)) + } + .padding() + .background(Color.sqNeutral(10)) + .cornerRadius(8) + } +} + +#Preview { + SQSearchBar(text: .constant(""), placeholder: "Rechercher") +} + +extension View { + func placeholder( + when shouldShow: Bool, + alignment: Alignment = .leading, + @ViewBuilder placeholder: () -> Content + ) -> some View { + ZStack(alignment: alignment) { + placeholder().opacity(shouldShow ? 1 : 0) + self + } + } +} diff --git a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQText.swift b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQText.swift index a1b322f..5ac8f2e 100644 --- a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQText.swift +++ b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQText.swift @@ -17,21 +17,36 @@ enum SQTextFont: String { struct SQText: View { var text: String + var attributedText: AttributedString? var size: CGFloat var font: SQTextFont var textColor: Color init(_ text: String, size: CGFloat = 16, font: SQTextFont = .medium, textColor: Color = .sqNeutral(90)) { self.text = text + self.attributedText = nil self.size = size self.font = font self.textColor = textColor } + init(_ attributedText: AttributedString, size: CGFloat = 16, textColor: Color = .sqNeutral(90)) { + self.text = "" + self.attributedText = attributedText + self.size = size + self.font = .medium + self.textColor = textColor + } + var body: some View { - Text(text) - .font(.custom(font.rawValue, size: size)) - .foregroundStyle(textColor) + if let attributedText = attributedText { + Text(attributedText) + .foregroundStyle(textColor) + } else { + Text(text) + .font(.custom(font.rawValue, size: size)) + .foregroundStyle(textColor) + } } } diff --git a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQTextField.swift b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQTextField.swift index b402e42..5ff88fb 100644 --- a/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQTextField.swift +++ b/AlloVoisinsSwiftUI/Core/Views/Sequoia/Components/SQTextField.swift @@ -158,18 +158,21 @@ struct SQTextField: View { } } } - .overlay( - Group { - if showTooltip { - Color.black.opacity(0.001) - .onTapGesture { - withAnimation { - showTooltip = false - } - } - } - } - ) + .popover(isPresented: $showTooltip, content: { + SQText(tooltipText ?? "") + }) +// .overlay( +// Group { +// if showTooltip { +// Color.black.opacity(0.001) +// .onTapGesture { +// withAnimation { +// showTooltip = false +// } +// } +// } +// } +// ) } private var characterCountText: String { diff --git a/AlloVoisinsSwiftUI/Extensions/Extension+Color.swift b/AlloVoisinsSwiftUI/Extensions/Extension+Color.swift index 28cfc70..5bdf005 100644 --- a/AlloVoisinsSwiftUI/Extensions/Extension+Color.swift +++ b/AlloVoisinsSwiftUI/Extensions/Extension+Color.swift @@ -52,6 +52,10 @@ extension Color { return Color("FOREST_\(variant)") } + static func sqRed(_ variant: Int = 60) -> Color { + return Color("RED_\(variant)") + } + static let sqSemanticRed = Color("SEMANTIC_RED") static let sqSemanticOrange = Color("SEMANTIC_CRITICAL") static let sqSemanticGreen = Color("SEMANTIC_GREEN") diff --git a/AlloVoisinsSwiftUI/Features/KYC/Views/Components/DocumentPreviewView.swift b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/DocumentPreviewView.swift new file mode 100644 index 0000000..1be984a --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/DocumentPreviewView.swift @@ -0,0 +1,55 @@ +// +// DocumentPreviewView.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 16/12/2024. +// + +import SwiftUI + +struct DocumentPreviewView: View { + let fileName: String + let onDelete: () -> Void + + var body: some View { + VStack { + ZStack(alignment: .topTrailing) { + VStack { + if true { + SQImage("visit_card_new", height: 160) + } else { + SQIcon(.file_pdf, size: .l, color: .sqNeutral(80)) + SQText("PDF", size: 16, font: .demiBold) + } + } + .frame(width: 160, height: 160, alignment: .center) + .background(Color.sqNeutral(10)) + .overlay( + RoundedRectangle(cornerRadius: 8) + .inset(by: 0.5) + .stroke(Color.sqNeutral(20), lineWidth: 1) + ) + + Button { + + } label: { + SQIcon(.trash_can, size: .s, color: .white) + .padding() + .background { + Circle() + .foregroundColor(Color.sqSemanticRed) + .frame(height: 24) + } + } + } + + SQText(fileName, size: 13) + } + } +} + +#Preview { + DocumentPreviewView(fileName: "le-nom-de-mon-fichier.pdf") { + + } +} diff --git a/AlloVoisinsSwiftUI/Features/KYC/Views/Components/IdentityDocumentButton.swift b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/IdentityDocumentButton.swift new file mode 100644 index 0000000..8c79229 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/IdentityDocumentButton.swift @@ -0,0 +1,102 @@ +// +// IdentityDocumentButton.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 11/12/2024. +// + +import SwiftUI + +enum IdentityDocumentButtonType { + case nationalID + case passport + case driverLicense + case residencePermit + + var title: String { + switch self { + case .nationalID: + "Carte nationale d’identité" + case .passport: + "Passeport" + case .driverLicense: + "Permis de conduire" + case .residencePermit: + "Titre de séjour" + } + } + + var subtitle: String { + switch self { + case .driverLicense: + "Nouveau format (après septembre 2013)" + default: + "" + } + } + + var icon: SQIcon { + switch self { + case .nationalID: + SQIcon(.address_card) + case .passport: + SQIcon(.passport) + case .driverLicense: + SQIcon(.car_side) + case .residencePermit: + SQIcon(.address_card) + } + } +} + +struct IdentityDocumentButton: View { + var type: IdentityDocumentButtonType + var action: () -> Void + + var body: some View { + Button { + action() + } label: { + HStack { + type.icon + .padding(8) + .background { + RoundedRectangle(cornerRadius: 8) + .fill(Color.sqNeutral(10)) + } + VStack(alignment: .leading) { + SQText(type.title) + if !type.subtitle.isEmpty { + SQText(type.subtitle, size: 13, textColor: .sqNeutral(70)) + } + } + Spacer() + SQIcon(.chevron_right, size: .xl) + } + .padding() + .overlay( + RoundedRectangle(cornerRadius: 8) + .inset(by: 0.5) + .stroke(Color.sqNeutral(30), lineWidth: 1) + ) + } + } +} + +#Preview { + VStack { + IdentityDocumentButton(type: .nationalID) { + + } + IdentityDocumentButton(type: .passport) { + + } + IdentityDocumentButton(type: .driverLicense) { + + } + IdentityDocumentButton(type: .residencePermit) { + + } + } + .padding() +} diff --git a/AlloVoisinsSwiftUI/Features/KYC/Views/Components/KYCDocumentButton.swift b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/KYCDocumentButton.swift new file mode 100644 index 0000000..7871f57 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/KYCDocumentButton.swift @@ -0,0 +1,103 @@ +// +// KYCDocumentButton.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 11/12/2024. +// + +import SwiftUI + +enum KYCDocumentStatus: String { + case accepted + case missing + case imported + case pending + case refused + case expired + + var text: String { + switch self { + case .accepted: + "Accepté" + case .missing: + "Manquant" + case .imported: + "Importé" + case .pending: + "En cours de vérification" + case .refused: + "Refusé" + case .expired: + "Expiré" + } + } + + var color: Color { + switch self { + case .accepted: + .sqSemanticPositive + case .missing: + .sqNeutral(80) + case .imported, .pending: + .sqSemanticCritical + case .refused, .expired: + .sqSemanticNegative + } + } + + var icon: SQIcon { + switch self { + case .accepted: + SQIcon(.check, size: .xs, color: color) + case .missing: + SQIcon(.circle_exclamation, size: .xs, color: color) + case .imported, .pending: + SQIcon(.hourglass_half, size: .xs, color: color) + case .refused: + SQIcon(.xmark, size: .xs, color: color) + case .expired: + SQIcon(.triangle_exclamation, size: .xs, color: color) + } + } +} + +struct KYCDocumentButton: View { + var name: String + var desc: String + var status: KYCDocumentStatus + + var body: some View { + VStack(alignment: .leading) { + HStack { + SQText(name, font: .bold) + Spacer() + HStack(spacing: 4) { + SQText(status.text, size: 13, font: .demiBold, textColor: status.color) + status.icon + } + } + HStack { + SQText(desc, size: 14) + Spacer() + if [.missing, .expired, .refused].contains(status) { + SQIcon(.chevron_right, size: .l) + } + } + } + .padding() + .overlay( + RoundedRectangle(cornerRadius: 8) + .inset(by: 0.5) + .stroke(Color.sqNeutral(30), lineWidth: 1) + ) + } +} + +#Preview { + VStack { + KYCDocumentButton(name: "Document d’identité", desc: "Carte d’identité, passeport, permis de conduire ou titre de séjour du représentant légal.", status: .pending) + KYCDocumentButton(name: "Preuve d’immatriculation", desc: "Extrait Kbis de moins de 3 mois.", status: .accepted) + KYCDocumentButton(name: "Statuts de la société", desc: "Statuts complets, à jour et signés.", status: .refused) + } + .padding() +} diff --git a/AlloVoisinsSwiftUI/Features/KYC/Views/Components/KYCInformationAlertView.swift b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/KYCInformationAlertView.swift new file mode 100644 index 0000000..3f4155d --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/KYC/Views/Components/KYCInformationAlertView.swift @@ -0,0 +1,29 @@ +// +// KYCInformationAlertView.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 11/12/2024. +// + +import SwiftUI + +struct KYCInformationAlertView: View { + var body: some View { + HStack { + SQIcon(.triangle_exclamation, size: .xl, color: .sqRed(80)) + VStack(alignment: .leading) { + SQText("Mangopay facturera le montant de la vérification dès lors que vous aurez soumis un document à vérification.", size: 14, font: .demiBold, textColor: .sqRed(80)) + } + } + .frame(maxWidth: .infinity) + .foregroundStyle(.white) + .padding(16) + .background(Color.sqRed(20)) + .cornerRadius(8) + } +} + +#Preview { + KYCInformationAlertView() + .padding() +} diff --git a/AlloVoisinsSwiftUI/Features/Prestations/Views/CategorySelectorView.swift b/AlloVoisinsSwiftUI/Features/Prestations/Views/CategorySelectorView.swift new file mode 100644 index 0000000..790deb6 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/Prestations/Views/CategorySelectorView.swift @@ -0,0 +1,49 @@ +// +// CategorySelectorView.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct CategorySelectorView: View { + var body: some View { + VStack(spacing: 0) { + VStack(spacing: 16) { + SQText("Zone de texte sur la partie haute de l’écran, pouvant être sur plusieurs lignes.") + HStack(alignment: .top, spacing: 0) { + VStack { + SQText("Services", font: .demiBold) + .frame(maxWidth: .infinity) + Rectangle() + .fill(Color.sqNeutral(100)) + .frame(height: 2) + } + VStack { + SQText("Objets", font: .demiBold) + .frame(maxWidth: .infinity) + Rectangle() + .fill(Color.sqNeutral(20)) + .frame(height: 1) + } + } + } + + // MARK: -List + ScrollView { + LazyVStack(spacing: 0) { + ForEach(0..<10) { _ in + VStack(spacing: 0) { + CategoryCell() + } + } + } + } + } + } +} + +#Preview { + CategorySelectorView() +} diff --git a/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/AllCategoriesCell.swift b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/AllCategoriesCell.swift new file mode 100644 index 0000000..228d668 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/AllCategoriesCell.swift @@ -0,0 +1,22 @@ +// +// AllCategoriesCell.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct AllCategoriesCell: View { + var body: some View { + HStack { + SQText("Voir toutes les catégories", font: .demiBold) + Spacer() + SQIcon(.chevron_right) + } + } +} + +#Preview { + AllCategoriesCell() +} diff --git a/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/CategoryCell.swift b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/CategoryCell.swift new file mode 100644 index 0000000..8644946 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/CategoryCell.swift @@ -0,0 +1,27 @@ +// +// CategoryCell.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct CategoryCell: View { + var body: some View { + VStack(spacing: 0) { + HStack { + SQText("Bricolage - Travaux") + Spacer() + SQIcon(.chevron_right) + } + .padding() + Divider() + .padding(.horizontal) + } + } +} + +#Preview { + CategoryCell() +} diff --git a/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/PrestationCell.swift b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/PrestationCell.swift new file mode 100644 index 0000000..a402582 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/PrestationCell.swift @@ -0,0 +1,24 @@ +// +// PrestationCell.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct PrestationCell: View { + var body: some View { + HStack { + SQIcon(.magnifying_glass) + VStack(alignment: .leading) { + SQText("remplacement de vitre") + SQText("dans Menuiserie - Huisserie - Agencement", size: 12, textColor: .sqNeutral(60)) + } + } + } +} + +#Preview { + PrestationCell() +} diff --git a/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/PrestationHistorySearchCell.swift b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/PrestationHistorySearchCell.swift new file mode 100644 index 0000000..1ca546f --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/Prestations/Views/Components/PrestationHistorySearchCell.swift @@ -0,0 +1,26 @@ +// +// PrestationHistorySearchCell.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct PrestationHistorySearchCell: View { + var body: some View { + HStack { + SQIcon(.clock) + VStack(alignment: .leading) { + SQText("remplacement de vitre") + SQText("dans Menuiserie - Huisserie - Agencement", size: 12, textColor: .sqNeutral(60)) + } + Spacer() + SQIcon(.xmark) + } + } +} + +#Preview { + PrestationHistorySearchCell() +} diff --git a/AlloVoisinsSwiftUI/Features/Prestations/Views/PrestationSearchView.swift b/AlloVoisinsSwiftUI/Features/Prestations/Views/PrestationSearchView.swift new file mode 100644 index 0000000..522b071 --- /dev/null +++ b/AlloVoisinsSwiftUI/Features/Prestations/Views/PrestationSearchView.swift @@ -0,0 +1,66 @@ +// +// PrestationSearchView.swift +// AlloVoisinsSwiftUI +// +// Created by Victor on 06/01/2025. +// + +import SwiftUI + +struct PrestationSearchView: View { + @State var text = "" + + var body: some View { + VStack(spacing: 32) { + // MARK: - Header + VStack { + HStack { + SQIcon(.chevron_left, size: .l) + .padding(.horizontal, 8) + SQSearchBar(text: $text, placeholder: "Rechercher") + } + + HStack { + Spacer() + .frame(width: 38) + SQAddressModifyLine() + } + } + + // MARK: - List + ScrollView { + LazyVStack(alignment: .leading, spacing: 16) { + + AllCategoriesCell() + Divider() + + VStack(alignment: .leading, spacing: 16) { + SQText("Mes dernières recherches", size: 18, font: .bold) + ForEach(0..<3) { _ in + PrestationHistorySearchCell() + } + } + + VStack(alignment: .leading, spacing: 16) { + SQText("Recherches les plus populaires", size: 18, font: .bold) + ForEach(0..<3) { _ in + PrestationCell() + } + } + + ForEach(0..<10) { _ in + LazyVStack(alignment: .leading, spacing: 0) { + PrestationCell() + } + } + + } + } + } + .padding() + } +} + +#Preview { + PrestationSearchView() +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_10.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_10.colorset/Contents.json new file mode 100644 index 0000000..fde1df1 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_10.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEB", + "green" : "0xEB", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_100.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_100.colorset/Contents.json new file mode 100644 index 0000000..c535cc0 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_100.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x00", + "green" : "0x00", + "red" : "0x4D" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_20.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_20.colorset/Contents.json new file mode 100644 index 0000000..77bb6eb --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_20.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.867", + "green" : "0.867", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_30.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_30.colorset/Contents.json new file mode 100644 index 0000000..361e51c --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_30.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xCE", + "green" : "0xCE", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_40.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_40.colorset/Contents.json new file mode 100644 index 0000000..abdbdcc --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_40.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA6", + "green" : "0xA6", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_50.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_50.colorset/Contents.json new file mode 100644 index 0000000..2ceb647 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_50.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x7B", + "green" : "0x7B", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_60.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_60.colorset/Contents.json new file mode 100644 index 0000000..43775fc --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_60.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.314", + "green" : "0.314", + "red" : "0.996" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_70.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_70.colorset/Contents.json new file mode 100644 index 0000000..a7339c3 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_70.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x23", + "green" : "0x23", + "red" : "0xDC" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_80.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_80.colorset/Contents.json new file mode 100644 index 0000000..167755a --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_80.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.004", + "green" : "0.004", + "red" : "0.694" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_90.colorset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_90.colorset/Contents.json new file mode 100644 index 0000000..6c601a4 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Colors/RED/RED_90.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x00", + "green" : "0x00", + "red" : "0x80" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/car_side.imageset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/car_side.imageset/Contents.json new file mode 100644 index 0000000..55e9e0c --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/car_side.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Name=car-side, Size=32.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/car_side.imageset/Name=car-side, Size=32.svg b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/car_side.imageset/Name=car-side, Size=32.svg new file mode 100644 index 0000000..a35c895 --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/car_side.imageset/Name=car-side, Size=32.svg @@ -0,0 +1,3 @@ + + + diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/passport.imageset/Contents.json b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/passport.imageset/Contents.json new file mode 100644 index 0000000..5741c4a --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/passport.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Name=passport, Size=32.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/passport.imageset/Name=passport, Size=32.svg b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/passport.imageset/Name=passport, Size=32.svg new file mode 100644 index 0000000..4d0fc1c --- /dev/null +++ b/AlloVoisinsSwiftUI/Resources/Assets.xcassets/Icons/regular/passport.imageset/Name=passport, Size=32.svg @@ -0,0 +1,10 @@ + + + + + + + + + +