From 269eeba4803e4f044859c64123689853c7550b74 Mon Sep 17 00:00:00 2001 From: QuentinArguillere Date: Fri, 19 Apr 2024 16:49:03 +0200 Subject: [PATCH] Implement MeetingsFragment and MeetingsView --- .../Meetings/Fragments/MeetingsFragment.swift | 38 +++++++++++++++++-- Linphone/UI/Main/Meetings/MeetingsView.swift | 37 ++++++++++++++++-- 2 files changed, 67 insertions(+), 8 deletions(-) diff --git a/Linphone/UI/Main/Meetings/Fragments/MeetingsFragment.swift b/Linphone/UI/Main/Meetings/Fragments/MeetingsFragment.swift index fd8237503..63e4d7f57 100644 --- a/Linphone/UI/Main/Meetings/Fragments/MeetingsFragment.swift +++ b/Linphone/UI/Main/Meetings/Fragments/MeetingsFragment.swift @@ -8,11 +8,41 @@ import SwiftUI struct MeetingsFragment: View { - var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) - } + + @ObservedObject var scheduleMeetingViewModel: ScheduleMeetingViewModel + + private var idiom: UIUserInterfaceIdiom { UIDevice.current.userInterfaceIdiom } + + @State var showingSheet: Bool = false + + var body: some View { + VStack { + Spacer() + Text("Hello meetings list") + Spacer() + /* + if #available(iOS 16.0, *), idiom != .pad { + MeetingsListFragment(conversationViewModel: conversationViewModel, conversationsListViewModel: conversationsListViewModel, showingSheet: $showingSheet) + .sheet(isPresented: $showingSheet) { + ConversationsListBottomSheet( + conversationsListViewModel: conversationsListViewModel, + showingSheet: $showingSheet + ) + .presentationDetents([.fraction(0.4)]) + } + } else { + ConversationsListFragment(conversationViewModel: conversationViewModel, conversationsListViewModel: conversationsListViewModel, showingSheet: $showingSheet) + .halfSheet(showSheet: $showingSheet) { + ConversationsListBottomSheet( + conversationsListViewModel: conversationsListViewModel, + showingSheet: $showingSheet + ) + } onDismiss: {} + } */ + } + } } #Preview { - MeetingsFragment() + MeetingsFragment(scheduleMeetingViewModel: ScheduleMeetingViewModel()) } diff --git a/Linphone/UI/Main/Meetings/MeetingsView.swift b/Linphone/UI/Main/Meetings/MeetingsView.swift index adf0088d7..4af7b09f0 100644 --- a/Linphone/UI/Main/Meetings/MeetingsView.swift +++ b/Linphone/UI/Main/Meetings/MeetingsView.swift @@ -8,11 +8,40 @@ import SwiftUI struct MeetingsView: View { - var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) - } + + @ObservedObject var scheduleMeetingViewModel: ScheduleMeetingViewModel + + @Binding var isShowScheduleMeetingFragment: Bool + + var body: some View { + NavigationView { + ZStack(alignment: .bottomTrailing) { + MeetingsFragment(scheduleMeetingViewModel: scheduleMeetingViewModel) + + Button { + withAnimation { + isShowScheduleMeetingFragment.toggle() + } + } label: { + Image("plus-circle") + .renderingMode(.template) + .foregroundStyle(.white) + .padding() + .background(Color.orangeMain500) + .clipShape(Circle()) + .shadow(color: .black.opacity(0.2), radius: 4) + + } + .padding() + } + } + .navigationViewStyle(.stack) + } } #Preview { - MeetingsView() + MeetingsView( + scheduleMeetingViewModel: ScheduleMeetingViewModel(), + isShowScheduleMeetingFragment: .constant(false) + ) }