Skip to content

Commit

Permalink
BAL-141-GP-Improvements Phase1 (#142)
Browse files Browse the repository at this point in the history
  • Loading branch information
gperissetcelteeka authored Jul 5, 2023
1 parent 38b9b69 commit 2c7e182
Show file tree
Hide file tree
Showing 8 changed files with 301 additions and 52 deletions.
18 changes: 13 additions & 5 deletions Balance/Distraction/Drawing/DrawView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ struct DrawingView: UIViewRepresentable {
@Binding var isdraw: Bool
@Binding var type: PKInkingTool.InkType
@Binding var color: Color

@Binding var isColoring: Bool

// Updating inktype
var ink: PKInkingTool {
PKInkingTool(type, color: UIColor(color))
Expand All @@ -26,8 +27,16 @@ struct DrawingView: UIViewRepresentable {
func makeUIView(context: Context) -> PKCanvasView {
canvas.drawingPolicy = .anyInput
canvas.tool = isdraw ? ink : eraser
canvas.minimumZoomScale = 1
canvas.maximumZoomScale = 1
if isColoring == false {
canvas.minimumZoomScale = 0.2
canvas.maximumZoomScale = 4
canvas.contentSize = CGSize(width: 1000, height: 1000)
canvas.contentInset = UIEdgeInsets(top: 500, left: 500, bottom: 500, right: 500)
} else {
canvas.minimumZoomScale = 1
canvas.maximumZoomScale = 1
}

return canvas
}

Expand All @@ -54,7 +63,6 @@ struct DrawView: View {
@State private var title = ""
@State private var showingAlert = false
@State var drawingSize = CGSize(width: 350, height: 350)
// @State var backgroundImage = ""
@State var isNewDraw = false
@State var isColoring = false

Expand All @@ -67,7 +75,7 @@ struct DrawView: View {
Spacer().frame(height: 20)
toolkitView
Spacer()
DrawingView(canvas: $canvas, isdraw: $isdraw, type: $type, color: $color)
DrawingView(canvas: $canvas, isdraw: $isdraw, type: $type, color: $color, isColoring: $isColoring)
.frame(width: drawingSize.width, height: drawingSize.height)
.border(Color.gray, width: 5)
Spacer()
Expand Down
59 changes: 54 additions & 5 deletions Balance/Distraction/Gallery/LookImages/GalleryView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ struct ImageTagView: View {
var selectedCategory: Category
@Binding var selectedBtn: Int
@Binding var filteredCat: [Photo]
@Binding var selectedCat: Category
@Binding var isUpload: Bool
@Binding var profile: ProfileUser

Expand All @@ -19,6 +20,7 @@ struct ImageTagView: View {
self.isUpload = false
self.selectedBtn = self.selectedCategory.id
filteredCat.removeAll()
self.selectedCat = self.selectedCategory
if self.selectedCategory.name == "Favorites" {
filteredCat = UserImageCache.load(key: self.profile.id.appending("FavoritesArray"))
} else if self.selectedCategory.name == "Removed" {
Expand All @@ -27,9 +29,20 @@ struct ImageTagView: View {
filteredCat = UserImageCache.load(key: self.profile.id.appending("UploadedArray"))
self.isUpload = true
} else {
if self.selectedCategory.name == "All" {
filteredCat = UserImageCache.load(key: self.profile.id.appending("UploadedArray"))
}
let removedElements = UserImageCache.load(key: self.profile.id.appending("RemovedArray"))
var isRemoved = false
for photo in photoArray {
for category in photo.category where category.name == self.selectedCategory.name {
filteredCat.append(photo)
for removedPhoto in removedElements where removedPhoto.name == photo.name {
isRemoved = true
}
if !isRemoved {
filteredCat.append(photo)
}
isRemoved = false
}
}
}
Expand All @@ -50,12 +63,12 @@ struct ImageTagView: View {
struct GalleryView: View {
@State var index = 0
@State var selectedCategory = imageCategoryArray[0]
@State var filtered = photoArray
@State var filtered = [Photo]()
@State var selected = 0
@State var isUpload = false
@State var profile = ProfileUser()
let highlightArray = photoArray.filter { $0.highlight == true }

var body: some View {
ActivityLogContainer {
ZStack {
Expand All @@ -79,6 +92,7 @@ struct GalleryView: View {
}
}.onAppear {
loadUser()
loadData()
}
}
}
Expand All @@ -95,7 +109,12 @@ struct GalleryView: View {
viewName: "Image Highlight Selected: " + img.name,
isDirectChildToContainer: true,
content: {
ImageView(imagesArray: highlightArray, currentIndex: index, selected: highlightArray[index])
ImageView(
imagesArray: highlightArray,
currentIndex: index,
selected: highlightArray[index],
selectedCategory: selectedCategory
)
}
)
) {
Expand Down Expand Up @@ -135,13 +154,14 @@ struct GalleryView: View {
selectedCategory: cat,
selectedBtn: self.$selected,
filteredCat: self.$filtered,
selectedCat: self.$selectedCategory,
isUpload: self.$isUpload,
profile: self.$profile
)
}
}
}
ImageCollectionView(imageArray: filtered).padding(.horizontal, 10.0)
ImageCollectionView(imageArray: filtered, category: selectedCategory).padding(.horizontal, 10.0)
}
}

Expand All @@ -155,6 +175,35 @@ struct GalleryView: View {
}
}
}

func loadData() {
filtered.removeAll()
if selectedCategory.name == "All" {
filtered = UserImageCache.load(key: self.profile.id.appending("UploadedArray"))
}
if self.selectedCategory.name == "Favorites" {
filtered = UserImageCache.load(key: self.profile.id.appending("FavoritesArray"))
} else if self.selectedCategory.name == "Removed" {
filtered = UserImageCache.load(key: self.profile.id.appending("RemovedArray"))
} else if self.selectedCategory.name == "Uploaded" {
filtered = UserImageCache.load(key: self.profile.id.appending("UploadedArray"))
} else {
let removedElements = UserImageCache.load(key: self.profile.id.appending("RemovedArray"))
var isRemoved = false
for photo in photoArray {
for category in photo.category where category.name == self.selectedCategory.name {
for removedPhoto in removedElements where removedPhoto.name == photo.name {
isRemoved = true
}
if !isRemoved {
filtered.append(photo)
}
isRemoved = false
}
}
// filtered.append(contentsOf: photoArray)
}
}
}

#if DEBUG
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import SwiftUI

struct ImageCollectionView: View {
var images = [Photo]()
var category: Category
var gridItemLayout = [GridItem(.fixed(110)), GridItem(.fixed(110)), GridItem(.fixed(110))]

var body: some View {
Expand All @@ -20,7 +21,7 @@ struct ImageCollectionView: View {
viewName: "Image Selected: " + images[index].name,
isDirectChildToContainer: true,
content: {
ImageView(imagesArray: images, currentIndex: index, selected: images[index])
ImageView(imagesArray: images, currentIndex: index, selected: images[index], selectedCategory: category)
}
)
) {
Expand Down Expand Up @@ -51,13 +52,14 @@ struct ImageCollectionView: View {
}
}

init(imageArray: [Photo]) {
init(imageArray: [Photo], category: Category) {
self.images = imageArray
self.category = category
}
}

struct ImageCollectionView_Previews: PreviewProvider {
static var previews: some View {
ImageCollectionView(imageArray: (1...8).map { Photo(category: [Category(id: 5, name: "Landscape")], name: "img\($0)") })
ImageCollectionView(imageArray: (1...8).map { Photo(category: [Category(id: 5, name: "Landscape")], name: "img\($0)") }, category: Category(id: 0, name: "Removed"))
}
}
Loading

0 comments on commit 2c7e182

Please sign in to comment.