Toolbar experimentation

This commit is contained in:
Sebastian Lenzlinger 2023-07-10 16:04:41 +02:00
parent c898dfa2c7
commit 3d950bf69f
6 changed files with 102 additions and 12 deletions

View File

@ -17,6 +17,9 @@
96454F452A5593900040BEBD /* .gitignore in Resources */ = {isa = PBXBuildFile; fileRef = 96454F442A5593900040BEBD /* .gitignore */; };
96BD330E2A5C254B007A6E53 /* TextApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD330D2A5C254B007A6E53 /* TextApp.swift */; };
96BD33102A5C27B0007A6E53 /* NewFeedEntryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD330F2A5C27B0007A6E53 /* NewFeedEntryView.swift */; };
96BD33132A5C400B007A6E53 /* FeedListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD33122A5C400B007A6E53 /* FeedListView.swift */; };
96BD33162A5C403C007A6E53 /* PeeringView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD33152A5C403C007A6E53 /* PeeringView.swift */; };
96BD33182A5C404F007A6E53 /* FriendsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD33172A5C404F007A6E53 /* FriendsListView.swift */; };
F581F59B2A5AE72F0081C383 /* BluetoothViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F581F59A2A5AE72F0081C383 /* BluetoothViewModel.swift */; };
F5847B622A599BF4009E28D4 /* Body.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B612A599BF4009E28D4 /* Body.swift */; };
F5847B642A599CC3009E28D4 /* LogEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B632A599CC3009E28D4 /* LogEntry.swift */; };
@ -56,6 +59,9 @@
96454F442A5593900040BEBD /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
96BD330D2A5C254B007A6E53 /* TextApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextApp.swift; sourceTree = "<group>"; };
96BD330F2A5C27B0007A6E53 /* NewFeedEntryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewFeedEntryView.swift; sourceTree = "<group>"; };
96BD33122A5C400B007A6E53 /* FeedListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListView.swift; sourceTree = "<group>"; };
96BD33152A5C403C007A6E53 /* PeeringView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeeringView.swift; sourceTree = "<group>"; };
96BD33172A5C404F007A6E53 /* FriendsListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendsListView.swift; sourceTree = "<group>"; };
F581F59A2A5AE72F0081C383 /* BluetoothViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BluetoothViewModel.swift; sourceTree = "<group>"; };
F5847B612A599BF4009E28D4 /* Body.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Body.swift; sourceTree = "<group>"; };
F5847B632A599CC3009E28D4 /* LogEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogEntry.swift; sourceTree = "<group>"; };
@ -116,6 +122,7 @@
children = (
96454F1A2A558EBC0040BEBD /* RippleChatApp.swift */,
96454F1C2A558EBC0040BEBD /* ContentView.swift */,
96BD33112A5C3FFC007A6E53 /* Views */,
F581F59A2A5AE72F0081C383 /* BluetoothViewModel.swift */,
96454F1E2A558EBD0040BEBD /* Assets.xcassets */,
96454F202A558EBD0040BEBD /* Preview Content */,
@ -154,6 +161,16 @@
path = RippleChatUITests;
sourceTree = "<group>";
};
96BD33112A5C3FFC007A6E53 /* Views */ = {
isa = PBXGroup;
children = (
96BD33122A5C400B007A6E53 /* FeedListView.swift */,
96BD33152A5C403C007A6E53 /* PeeringView.swift */,
96BD33172A5C404F007A6E53 /* FriendsListView.swift */,
);
path = Views;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@ -287,7 +304,10 @@
buildActionMask = 2147483647;
files = (
F5847B622A599BF4009E28D4 /* Body.swift in Sources */,
96BD33162A5C403C007A6E53 /* PeeringView.swift in Sources */,
96BD33182A5C404F007A6E53 /* FriendsListView.swift in Sources */,
F5847B662A599EA4009E28D4 /* Feed.swift in Sources */,
96BD33132A5C400B007A6E53 /* FeedListView.swift in Sources */,
F5847B642A599CC3009E28D4 /* LogEntry.swift in Sources */,
96BD33102A5C27B0007A6E53 /* NewFeedEntryView.swift in Sources */,
F5847B6A2A59AB24009E28D4 /* FeedStore.swift in Sources */,

View File

@ -12,6 +12,8 @@ struct ContentView: View {
@ObservedObject private var bluetoothViewModel = BluetoothViewModel()
@StateObject private var store = FeedStore(feed: Feed.sampleFeed)
private var feedStores = [FeedStore(feed: Feed.sampleFeed), FeedStore(feed: Feed.sampleFeed2)]
//@Binding var currentView: CurrentView
var body: some View {
VStack {
@ -40,25 +42,16 @@ struct ContentView: View {
}
.navigationTitle("Peripherals")
}
.toolbar {
ToolbarItemGroup(placement: .bottomBar) {
Button("Peers") {}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
public static var cv = CurrentView.feeds
static var previews: some View {
ContentView()
}
}
enum CurrentView {
case peers
case feeds
case friends
case settings
}

View File

@ -9,9 +9,24 @@ import SwiftUI
@main
struct RippleChatApp: App {
@State private var currentView: CurrentView = CurrentView.feeds
var body: some Scene {
WindowGroup {
ContentView()
.toolbar {
ToolbarItemGroup(placement: .bottomBar) {
Button("Peers") {}
}
}
}
}
}
enum CurrentView {
case peers
case feeds
case friends
case settings
}

View File

@ -0,0 +1,22 @@
//
// FeedListView.swift
// RippleChat
//
// Created by Sebastian Lenzlinger on 10.07.23.
//
import SwiftUI
struct FeedListView: View {
var body: some View {
Text("FeedListView")
}
}
struct FeedListView_Previews: PreviewProvider {
static var previews: some View {
FeedListView()
}
}

View File

@ -0,0 +1,20 @@
//
// FriendsListView.swift
// RippleChat
//
// Created by Sebastian Lenzlinger on 10.07.23.
//
import SwiftUI
struct FriendsListView: View {
var body: some View {
Text("Friend List View")
}
}
struct FriendsListView_Previews: PreviewProvider {
static var previews: some View {
FriendsListView()
}
}

View File

@ -0,0 +1,20 @@
//
// PeeringView.swift
// RippleChat
//
// Created by Sebastian Lenzlinger on 10.07.23.
//
import SwiftUI
struct PeeringView: View {
var body: some View {
Text("Peering View")
}
}
struct PeeringView_Previews: PreviewProvider {
static var previews: some View {
PeeringView()
}
}