Allow Uploading Photos and Videos from Camera
Changelog-Added: Upload Photos and Videos from Camera Closes: #840
This commit is contained in:
committed by
William Casarin
parent
b9fc3f90d1
commit
81683f980a
@@ -46,5 +46,9 @@
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>Damus needs access to your camera if you want to upload photos from it</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Damus needs access to your microphone if you want to upload recorded videos from it</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -19,6 +19,7 @@ struct PostView: View {
|
||||
@FocusState var focus: Bool
|
||||
@State var showPrivateKeyWarning: Bool = false
|
||||
@State var attach_media: Bool = false
|
||||
@State var attach_camera: Bool = false
|
||||
@State var error: String? = nil
|
||||
|
||||
@StateObject var image_upload: ImageUploadModel = ImageUploadModel()
|
||||
@@ -80,11 +81,20 @@ struct PostView: View {
|
||||
})
|
||||
}
|
||||
|
||||
var CameraButton: some View {
|
||||
Button(action: {
|
||||
attach_camera = true
|
||||
}, label: {
|
||||
Image(systemName: "camera")
|
||||
})
|
||||
}
|
||||
|
||||
var AttachmentBar: some View {
|
||||
HStack(alignment: .center) {
|
||||
ImageButton
|
||||
.disabled(image_upload.progress != nil)
|
||||
CameraButton
|
||||
}
|
||||
.disabled(image_upload.progress != nil)
|
||||
}
|
||||
|
||||
var PostButton: some View {
|
||||
@@ -221,6 +231,13 @@ struct PostView: View {
|
||||
handle_upload(media: .video(url))
|
||||
}
|
||||
}
|
||||
.sheet(isPresented: $attach_camera) {
|
||||
ImagePicker(sourceType: .camera, damusState: damus_state) { img in
|
||||
handle_upload(media: .image(img))
|
||||
} onVideoPicked: { url in
|
||||
handle_upload(media: .video(url))
|
||||
}
|
||||
}
|
||||
.onAppear() {
|
||||
if let replying_to {
|
||||
if damus_state.drafts.replies[replying_to] == nil {
|
||||
|
||||
Reference in New Issue
Block a user