Skip to content

Commit 44831af

Browse files
authored
Feature/event detauls UI+chat UI (#9)
* implement EventDetails UI + navigate chatRoom from EventDetails > Event > ChatRoom * pull chatUI to EventDetailsUI
1 parent ffb9723 commit 44831af

File tree

60 files changed

+3153
-1234
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3153
-1234
lines changed

Addame.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 31 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Addame/Addame/Package.resolved

Lines changed: 27 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Addame/Addame/Package.swift

Lines changed: 62 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription
5+
import Foundation
56

67
let package = Package(
78
name: "Addame",
@@ -42,35 +43,39 @@ let package = Package(
4243
.library(name: "PathMonitorClientLive", targets: ["PathMonitorClientLive"]),
4344
.library(name: "UserClient", targets: ["UserClient"]),
4445
.library(name: "UserClientLive", targets: ["UserClientLive"]),
45-
.library(name: "WebsocketClient", targets: ["WebsocketClient"]),
46-
.library(name: "WebsocketClientLive", targets: ["WebsocketClientLive"]),
46+
.library(name: "WebSocketClient", targets: ["WebSocketClient"]),
47+
.library(name: "WebSocketClientLive", targets: ["WebSocketClientLive"]),
48+
.library(name: "LocationSearchClient", targets: ["LocationSearchClient"]),
4749

4850
// Views
4951
.library(name: "AuthenticationView", targets: ["AuthenticationView"]),
5052
.library(name: "ChatView", targets: ["ChatView"]),
5153
.library(name: "ConversationsView", targets: ["ConversationsView"]),
5254
.library(name: "ContactsView", targets: ["ContactsView"]),
5355
.library(name: "EventView", targets: ["EventView"]),
54-
.library(name: "EventForm", targets: ["EventForm"]),
56+
.library(name: "EventDetailsView", targets: ["EventDetailsView"]),
57+
.library(name: "EventFormView", targets: ["EventFormView"]),
5558
.library(name: "ProfileView", targets: ["ProfileView"]),
5659
.library(name: "TabsView", targets: ["TabsView"]),
5760
.library(name: "SettingsView", targets: ["SettingsView"]),
61+
.library(name: "MapView", targets: ["MapView"]),
5862

5963
// Helpers
6064
.library(name: "NotificationHelpers", targets: ["NotificationHelpers"]),
6165
.library(name: "SwiftUIHelpers", targets: ["SwiftUIHelpers"]),
6266
.library(name: "CombineHelpers", targets: ["CombineHelpers"]),
6367
.library(name: "ComposableArchitectureHelpers", targets: ["ComposableArchitectureHelpers"])
68+
6469
],
6570

6671
dependencies: [
6772
.package(name: "AWSSDKSwift", url: "https://github.com/swift-aws/aws-sdk-swift.git", from: "4.9.0"),
6873
.package(url: "https://github.com/marmelroy/PhoneNumberKit", .upToNextMajor(from: "3.3.3")),
69-
.package(url: "https://github.com/pointfreeco/swift-composable-architecture.git", from: "0.17.0"),
74+
.package(url: "https://github.com/pointfreeco/swift-composable-architecture.git", from: "0.20.0"),
7075
.package(url: "https://github.com/pointfreeco/composable-core-location", from: "0.1.0"),
7176
.package(url: "https://github.com/pointfreeco/xctest-dynamic-overlay", from: "0.1.0"),
7277
.package(url: "https://github.com/AddaMeSPB/CombineContacts.git", from: "1.0.0"),
73-
.package(url: "https://github.com/AddaMeSPB/HttpRequest.git", from: "1.0.1")
78+
.package(url: "https://github.com/AddaMeSPB/HttpRequest.git", from: "2.2.0")
7479
],
7580

7681
targets: [
@@ -80,7 +85,7 @@ let package = Package(
8085
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
8186
"UserNotificationClient", "RemoteNotificationsClient", "NotificationHelpers",
8287
"AuthClient", "AuthClientLive", "AttachmentClient", "ChatClient", "ContactClient",
83-
"ConversationClient", "EventClient", "UserClient", "WebsocketClient",
88+
"ConversationClient", "EventClient", "UserClient", "WebSocketClient",
8489

8590
"EventView", "ConversationsView", "ProfileView", "TabsView", "AuthenticationView",
8691
"SettingsView"
@@ -206,11 +211,24 @@ let package = Package(
206211
.target(name: "UserClientLive", dependencies: ["UserClient"]),
207212

208213
.target(
209-
name: "WebsocketClient",
210-
dependencies: ["FoundationExtension", "HttpRequest", "SharedModels", "InfoPlist", "KeychainService"]),
214+
name: "WebSocketClient",
215+
dependencies: [
216+
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
217+
"FoundationExtension", "HttpRequest", "SharedModels", "InfoPlist", "KeychainService"
218+
]),
211219
.target(
212-
name: "WebsocketClientLive",
213-
dependencies: ["WebsocketClient"]),
220+
name: "WebSocketClientLive",
221+
dependencies: [
222+
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
223+
"WebSocketClient"
224+
]),
225+
226+
.target(
227+
name: "LocationSearchClient",
228+
dependencies: [
229+
.product(name: "ComposableArchitecture", package: "swift-composable-architecture")
230+
]
231+
),
214232

215233
// Views
216234
.target(
@@ -229,18 +247,18 @@ let package = Package(
229247
"EventClient", "EventClientLive", "AttachmentClient", "AttachmentClientLive",
230248
"PathMonitorClient", "PathMonitorClientLive", "ConversationClient", "ConversationClientLive",
231249
"EventView", "ConversationsView", "ProfileView",
232-
"SwiftUIExtension"
250+
"SwiftUIExtension", "WebSocketClient", "WebSocketClientLive"
233251
]),
234252

235253
.target(
236254
name: "ChatView",
237255
dependencies: [
238256
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
239257
"SharedModels", "InfoPlist", "KeychainService",
240-
"WebsocketClient", "ConversationClient", "ChatClient",
258+
"WebSocketClient", "ConversationClient", "ChatClient",
241259
"SwiftUIExtension", "FoundationExtension", "AsyncImageLoder",
242260
"HttpRequest", "ChatClientLive", "ConversationClientLive",
243-
"WebsocketClientLive"
261+
"WebSocketClientLive"
244262
]
245263
),
246264

@@ -249,10 +267,10 @@ let package = Package(
249267
dependencies: [
250268
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
251269
"SharedModels", "InfoPlist", "KeychainService",
252-
"WebsocketClient", "ChatClient", "ChatClientLive",
270+
"WebSocketClient", "ChatClient", "ChatClientLive",
253271
"SwiftUIExtension", "FoundationExtension", "AsyncImageLoder",
254272
"HttpRequest", "ConversationClient", "ConversationClientLive",
255-
"WebsocketClientLive", "ChatView", "ComposableArchitectureHelpers",
273+
"WebSocketClientLive", "ChatView", "ComposableArchitectureHelpers",
256274
"ContactClient", "ContactClientLive", "ContactsView", "CoreDataClient"
257275
]
258276
),
@@ -262,8 +280,8 @@ let package = Package(
262280
dependencies: [
263281
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
264282
"SharedModels", "AsyncImageLoder", "HttpRequest",
265-
"ContactClient", "ContactClientLive", "WebsocketClient",
266-
"WebsocketClientLive", "ChatClient", "ChatClientLive",
283+
"ContactClient", "ContactClientLive", "WebSocketClient",
284+
"WebSocketClientLive", "ChatClient", "ChatClientLive",
267285
"CoreDataStore", "CoreDataClient",
268286
"ChatView", "ComposableArchitectureHelpers"
269287
]),
@@ -273,19 +291,39 @@ let package = Package(
273291
dependencies: [
274292
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
275293
.product(name: "ComposableCoreLocation", package: "composable-core-location"),
276-
"SharedModels", "EventClient", "InfoPlist", "EventForm",
277-
"PathMonitorClient", "WebsocketClient", "ConversationClient",
294+
"SharedModels", "EventClient", "InfoPlist", "EventFormView",
295+
"PathMonitorClient", "WebSocketClient", "WebSocketClientLive",
296+
"SwiftUIExtension", "FoundationExtension", "AsyncImageLoder",
297+
"HttpRequest", "KeychainService", "ChatClient", "ChatView",
298+
"PathMonitorClientLive", "EventClientLive", "ComposableArchitectureHelpers",
299+
"EventDetailsView", "ConversationClient", "ConversationClientLive"
300+
]
301+
),
302+
303+
.target(
304+
name: "EventFormView",
305+
dependencies: [
306+
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
307+
.product(name: "ComposableCoreLocation", package: "composable-core-location"),
308+
"SharedModels", "EventClient", "InfoPlist",
309+
"PathMonitorClient", "ConversationClient",
278310
"SwiftUIExtension", "FoundationExtension", "AsyncImageLoder",
279311
"HttpRequest", "KeychainService", "ChatClient",
280-
"PathMonitorClientLive", "EventClientLive", "ComposableArchitectureHelpers"
312+
"PathMonitorClientLive", "ComposableArchitectureHelpers"
281313
]
282314
),
283315

284316
.target(
285-
name: "EventForm",
317+
name: "EventDetailsView",
286318
dependencies: [
287319
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
288-
"SharedModels", "EventClient", "InfoPlist"
320+
.product(name: "ComposableCoreLocation", package: "composable-core-location"),
321+
"SharedModels", "EventClient", "InfoPlist",
322+
"PathMonitorClient", "ConversationClient",
323+
"SwiftUIExtension", "FoundationExtension", "AsyncImageLoder",
324+
"HttpRequest", "KeychainService", "ChatClient",
325+
"PathMonitorClientLive", "ComposableArchitectureHelpers", "MapView",
326+
"ConversationClientLive", "ChatView"
289327
]
290328
),
291329

@@ -311,6 +349,8 @@ let package = Package(
311349
]
312350
),
313351

352+
.target(name: "MapView"),
353+
314354
// Helpers
315355
.target(
316356
name: "NotificationHelpers",

Addame/Addame/Sources/AppFeature/AppView.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ public struct AppView: View {
2424

2525
static let tabsEnv = TabsEnvironment(
2626
backgroundQueue: .main,
27-
mainQueue: .main
27+
mainQueue: .main,
28+
webSocketClient: .live
2829
)
2930

3031
static let tabsState = TabsState(
@@ -36,7 +37,7 @@ public struct AppView: View {
3637

3738
let tabsStore = Store(
3839
initialState: tabsState,
39-
reducer: tabsReducer.debug(),
40+
reducer: tabsReducer, // .debug(),
4041
environment: tabsEnv
4142
)
4243

@@ -48,6 +49,7 @@ public struct AppView: View {
4849
static let authState = LoginState.build
4950
let authStore = Store(initialState: authState, reducer: loginReducer, environment: environment)
5051

52+
@ViewBuilder
5153
public var body: some View {
5254
Group {
5355
if isAuthorized {

0 commit comments

Comments
 (0)