Skip to content

Commit

Permalink
Merge pull request #52 from AKORA-Studios/tabview
Browse files Browse the repository at this point in the history
fix #51
  • Loading branch information
DragonCat4012 authored Sep 5, 2023
2 parents 1d0e8b4 + b3b40a5 commit ca05960
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 32 deletions.
15 changes: 4 additions & 11 deletions Calq/Screens/OverviewScreen/OverviewVM.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ class OverViewViewModel: ObservableObject {
@Published var gradeText = ""
@Published var blockCircleText = ""

@Published var subjectValues: [BarChartEntry] = []
@Published var halfyears: [BarChartEntry] = []
@Published var lineChartEntries: [[LineChartEntry]] = []
@Published var subjectValues: [BarChartEntry] = createSubjectBarData()
@Published var halfyears: [BarChartEntry] = createHalfYearBarChartData()
@Published var lineChartEntries: [[LineChartEntry]] = lineChartData()

@Published var averageText: String = ""
@Published var averagePercent: Double = 0.0
Expand All @@ -33,7 +33,7 @@ class OverViewViewModel: ObservableObject {
blockCircleText = getGradeData()

subjectValues = createSubjectBarData()
halfyears = getHalfyears()
halfyears = createHalfYearBarChartData()
lineChartEntries = lineChartData()

averageText = String(format: "%.2f", Util.generalAverage())
Expand All @@ -54,11 +54,4 @@ class OverViewViewModel: ObservableObject {
let blockGrade = Util.grade(number: Double(blockPoints * 15 / 900))
return String(format: "%.2f", blockGrade)
}

func getHalfyears() -> [BarChartEntry] {
return [BarChartEntry(value: Util.generalAverage(1)),
BarChartEntry(value: Util.generalAverage(2)),
BarChartEntry(value: Util.generalAverage(3)),
BarChartEntry(value: Util.generalAverage(4))]
}
}
42 changes: 21 additions & 21 deletions Calq/Screens/SubjectList/SubjectListVM.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ struct SubjectlistData: Hashable {
}

class SubjectListVM: ObservableObject {
@Published var data: [SubjectlistData] = []
@Published var subjects: [UserSubject] = []
@Published var data: [SubjectlistData] = Util.getAllSubjects().map {SubjectlistData(subject: $0, yearString: setAverages(subject: $0), colors: getcolorArr(subject: $0))}
@Published var subjects: [UserSubject] = Util.getAllSubjects()
@Published var selectedSubejct: UserSubject?

@Published var inactiveCount = 0
Expand All @@ -37,25 +37,6 @@ class SubjectListVM: ObservableObject {
}
}

func getcolorArr(subject: UserSubject) -> [Color] {
var arr = [Color.gray, Color.gray, Color.gray, Color.gray, Color.gray]
let inactiveYears = Util.getinactiveYears(subject)

inactiveYears.forEach { year in
if year.isEmpty {return}
arr[Int(year)! - 1] = Color.red
}
return arr
}

func setAverages(subject: UserSubject) -> [String] {
var arr = ["-", "-", "-", "-"]
for i in 0...3 {
arr[i] = String(format: "%.0f", Util.getSubjectAverage(subject, year: i+1, filterinactve: false))
}
return arr
}

func calcInactiveYearsCount() -> Int {
if subjects.count == 0 { return 0 }
var count: Int = 0
Expand All @@ -70,3 +51,22 @@ class SubjectListVM: ObservableObject {
return count
}
}

private func getcolorArr(subject: UserSubject) -> [Color] {
var arr = [Color.gray, Color.gray, Color.gray, Color.gray, Color.gray]
let inactiveYears = Util.getinactiveYears(subject)

inactiveYears.forEach { year in
if year.isEmpty {return}
arr[Int(year)! - 1] = Color.red
}
return arr
}

private func setAverages(subject: UserSubject) -> [String] {
var arr = ["-", "-", "-", "-"]
for i in 0...3 {
arr[i] = String(format: "%.0f", Util.getSubjectAverage(subject, year: i+1, filterinactve: false))
}
return arr
}
7 changes: 7 additions & 0 deletions Calq/lib/Charts/BarChart.swift
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,13 @@ func createSubjectBarData() -> [BarChartEntry] {
return arr
}

func createHalfYearBarChartData() -> [BarChartEntry] {
return [BarChartEntry(value: Util.generalAverage(1)),
BarChartEntry(value: Util.generalAverage(2)),
BarChartEntry(value: Util.generalAverage(3)),
BarChartEntry(value: Util.generalAverage(4))]
}

struct BarChartEntry: Hashable {
var color: Color = .accentColor
var value: Double = 0.5
Expand Down

0 comments on commit ca05960

Please sign in to comment.