Defined the Folder model and integrated it to the BrowseView view for the Browse module.

This commit is contained in:
Javier Cicchelli 2022-12-13 00:20:23 +01:00
parent c1c25c356d
commit 6478a57bba
3 changed files with 38 additions and 3 deletions

View File

@ -33,7 +33,10 @@ struct ContentView: View {
var body: some View { var body: some View {
NavigationView { NavigationView {
BrowseView { BrowseView(folder: .init(
id: user?.rootFolder.id,
name: user?.rootFolder.name
)) {
// ... // ...
} uploadFile: { } uploadFile: {
// ... // ...

View File

@ -0,0 +1,26 @@
//
// Folder.swift
// Browse
//
// Created by Javier Cicchelli on 13/12/2022.
// Copyright © 2022 Röck+Cöde. All rights reserved.
//
public struct Folder {
// MARK: Properties
public let id: String
public let name: String
// MARK: Initialisers
public init(
id: String? = nil,
name: String? = nil
) {
self.id = id ?? "-"
self.name = name ?? "-"
}
}

View File

@ -13,6 +13,7 @@ public struct BrowseView: View {
// MARK: Properties // MARK: Properties
private let folder: Folder
private let createFolder: ActionClosure private let createFolder: ActionClosure
private let uploadFile: ActionClosure private let uploadFile: ActionClosure
private let showProfile: ActionClosure private let showProfile: ActionClosure
@ -20,10 +21,12 @@ public struct BrowseView: View {
// MARK: Initialisers // MARK: Initialisers
public init( public init(
folder: Folder,
createFolder: @escaping ActionClosure, createFolder: @escaping ActionClosure,
uploadFile: @escaping ActionClosure, uploadFile: @escaping ActionClosure,
showProfile: @escaping ActionClosure showProfile: @escaping ActionClosure
) { ) {
self.folder = folder
self.createFolder = createFolder self.createFolder = createFolder
self.uploadFile = uploadFile self.uploadFile = uploadFile
self.showProfile = showProfile self.showProfile = showProfile
@ -119,7 +122,7 @@ public struct BrowseView: View {
} }
.listStyle(.inset) .listStyle(.inset)
.background(Color.red) .background(Color.red)
.navigationTitle("Folder name") .navigationTitle(folder.name)
.toolbar { .toolbar {
BrowseToolbar( BrowseToolbar(
createFolder: createFolder, createFolder: createFolder,
@ -142,7 +145,10 @@ private extension Image {
struct BrowseView_Previews: PreviewProvider { struct BrowseView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
NavigationView { NavigationView {
BrowseView { BrowseView(folder: .init(
id: UUID().uuidString,
name: "Some folder name"
)) {
// ... // ...
} uploadFile: { } uploadFile: {
// ... // ...