parent
0713e0f630
commit
acbdbdd13c
@ -0,0 +1,38 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x30",
|
||||
"green" : "0x3B",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0xFF",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x59",
|
||||
"green" : "0xC7",
|
||||
"red" : "0x34"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0xFF",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
//
|
||||
// MatiereItem.swift
|
||||
// App
|
||||
//
|
||||
// Created by BREUIL Yohann on 24/05/2023.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct MatiereItem: View {
|
||||
@State private var note = 12.5
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
HStack() {
|
||||
Text("Qualité de Développement")
|
||||
Spacer()
|
||||
Text("6")
|
||||
}
|
||||
HStack {
|
||||
Slider(
|
||||
value: $note,
|
||||
in: 0...20,
|
||||
step: 0.1
|
||||
)
|
||||
Text("\(note)")
|
||||
}
|
||||
Divider()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct MatiereItem_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
MatiereItem()
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
//
|
||||
// NoteInfo.swift
|
||||
// App
|
||||
//
|
||||
// Created by BREUIL Yohann on 26/05/2023.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct NoteInfo: View {
|
||||
var body: some View {
|
||||
VStack {
|
||||
HStack() {
|
||||
Text("Qualité de Développement")
|
||||
Spacer()
|
||||
Text("6")
|
||||
}
|
||||
NoteSlider()
|
||||
Divider()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct NoteInfo_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
NoteInfo()
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
//
|
||||
// NoteSliderComponent.swift
|
||||
// App
|
||||
//
|
||||
// Created by BREUIL Yohann on 25/05/2023.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct NoteSlider: View {
|
||||
@State private var sliderProgress: CGFloat = 0
|
||||
@State private var sliderWidth: CGFloat = 20
|
||||
@State private var sliderMaxWidth: CGFloat = 200
|
||||
@State private var sliderCurrentWidth: CGFloat = 0
|
||||
|
||||
var drag: some Gesture {
|
||||
DragGesture()
|
||||
.onChanged { value in
|
||||
let translation = value.translation.width
|
||||
sliderWidth = translation + sliderCurrentWidth
|
||||
|
||||
sliderWidth = sliderWidth > sliderMaxWidth ? sliderMaxWidth : sliderWidth
|
||||
sliderWidth = sliderWidth >= 0 ? sliderWidth : 20
|
||||
|
||||
let progress = sliderWidth / sliderMaxWidth
|
||||
sliderProgress = progress <= 1.0 ? progress : 1
|
||||
}
|
||||
.onEnded { value in
|
||||
sliderWidth = sliderWidth > sliderMaxWidth ? sliderMaxWidth : sliderWidth
|
||||
sliderWidth = sliderWidth >= 0 ? sliderWidth : 20
|
||||
|
||||
sliderCurrentWidth = sliderWidth
|
||||
}
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
HStack {
|
||||
Rectangle()
|
||||
.fill(sliderProgress < 0.5 ? Color("BadColor") : Color("GoodColor"))
|
||||
.frame(width: sliderWidth, height: 25)
|
||||
.clipShape(Capsule())
|
||||
.gesture(drag)
|
||||
Spacer()
|
||||
Text("\(sliderProgress)")
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
}
|
||||
|
||||
struct NoteSliderComponent_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
NoteSlider()
|
||||
}
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
//
|
||||
// UEItem.swift
|
||||
// App
|
||||
//
|
||||
// Created by BREUIL Yohann on 24/05/2023.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct UEItem: View {
|
||||
@State private var note = 12.5
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
HStack() {
|
||||
Text("UE1 Génie Logiciel")
|
||||
Spacer()
|
||||
Text("6")
|
||||
}
|
||||
HStack {
|
||||
Slider(
|
||||
value: $note,
|
||||
in: 0...20,
|
||||
step: 0.1
|
||||
)
|
||||
Text("\(note)")
|
||||
}
|
||||
Divider()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct UEItem_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
UEItem()
|
||||
}
|
||||
}
|
Binary file not shown.
@ -0,0 +1,18 @@
|
||||
import Foundation
|
||||
|
||||
public struct Bloc: Identifiable {
|
||||
public let id: UUID
|
||||
|
||||
public var name: String
|
||||
public var ues: [UE]
|
||||
|
||||
init(id: UUID, name: String, ues: [UE]) {
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.ues = ues
|
||||
}
|
||||
|
||||
init(name: String, ues: [UE]) {
|
||||
self.init(id: UUID(), name: name, ues: ues)
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
import Foundation
|
||||
|
||||
public struct Matiere : Identifiable {
|
||||
public let id: UUID
|
||||
|
||||
public var name: String
|
||||
public var factor: Int
|
||||
public var note: Float
|
||||
|
||||
init(id: UUID, name: String, factor: Int, note: Float) {
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.factor = factor
|
||||
self.note = note
|
||||
}
|
||||
|
||||
init(name: String, factor: Int, note: Float) {
|
||||
self.init(id: UUID(), name: name, factor: factor, note: note)
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
public struct Model {
|
||||
public private(set) var text = "Hello, World!"
|
||||
|
||||
public init() {
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
import Foundation
|
||||
|
||||
public struct Stub {
|
||||
func loadBlocs() -> [Bloc] {[
|
||||
Bloc(name: "Total", ues: [
|
||||
UE(number: 1, name: "Génie logiciel", factor: 6, matieres: [
|
||||
Matiere(name: "Processus de développement", factor: 4, note: 19.04),
|
||||
Matiere(name: "Programmation objets", factor: 9, note: 9.08),
|
||||
Matiere(name: "Qualité de développement", factor: 5, note: 13),
|
||||
Matiere(name: "Remise à niveau Objets", factor: 4, note: 12),
|
||||
]),
|
||||
UE(number: 2, name: "Systèmes et réseaux", factor: 6, matieres: [
|
||||
Matiere(name: "Internet des Objets", factor: 4, note: 10),
|
||||
Matiere(name: "Réseaux", factor: 4, note: 10),
|
||||
Matiere(name: "Services Mobiles", factor: 4, note: 10),
|
||||
Matiere(name: "Système", factor: 5, note: 10)
|
||||
]),
|
||||
UE(number: 3, name: "Insertion Professionnellle", factor: 6, matieres: [
|
||||
Matiere(name: "Anglais", factor: 5, note: 10),
|
||||
Matiere(name: "Économie", factor: 4, note: 10),
|
||||
Matiere(name: "Gestion", factor: 3, note: 10),
|
||||
Matiere(name: "Communication", factor: 4, note: 10)
|
||||
]),
|
||||
UE(number: 4, name: "Technologies Mobiles 1", factor: 9, matieres: [
|
||||
Matiere(name: "Android", factor: 6, note: 10),
|
||||
Matiere(name: "Architecture de projets .NET (1)", factor: 5, note: 10),
|
||||
Matiere(name: "C++", factor: 4, note: 10),
|
||||
Matiere(name: "Swift", factor: 5, note: 10)
|
||||
]),
|
||||
UE(number: 5, name: "Technologies Mobiles 2", factor: 9, matieres: [
|
||||
Matiere(name: "Architecture de projets .NET (2)", factor: 4, note: 10),
|
||||
Matiere(name: "Client / Serveur", factor: 4, note: 10),
|
||||
Matiere(name: "iOS", factor: 5, note: 10),
|
||||
Matiere(name: "Multiplateformes", factor: 3, note: 10),
|
||||
Matiere(name: "QT Quick", factor: 5, note: 10),
|
||||
Matiere(name: "Xamarin", factor: 5, note: 10)
|
||||
]),
|
||||
]),
|
||||
Bloc(name: "Projet / Stage", ues: [
|
||||
UE(number: 6, name: "Projet", factor: 9, matieres: [
|
||||
Matiere(name: "Projet", factor: 1, note: 10)
|
||||
]),
|
||||
UE(number: 7, name: "Stage", factor: 15, matieres: [
|
||||
Matiere(name: "Stage", factor: 1, note: 10)
|
||||
])
|
||||
])
|
||||
]}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
import Foundation
|
||||
|
||||
public struct UE: Identifiable {
|
||||
public let id: UUID
|
||||
|
||||
public var number: Int
|
||||
public var name: String
|
||||
public var factor: Int
|
||||
public var matieres: [Matiere]
|
||||
|
||||
init(id: UUID, number: Int, name: String, factor: Int, matieres: [Matiere]) {
|
||||
self.id = id
|
||||
self.number = number
|
||||
self.name = name
|
||||
self.factor = factor
|
||||
self.matieres = matieres
|
||||
}
|
||||
|
||||
init(number: Int, name: String, factor: Int, matieres: [Matiere]) {
|
||||
self.init(id: UUID(), number: number, name: name, factor: factor, matieres: matieres)
|
||||
}
|
||||
}
|
Loading…
Reference in new issue