* ios api
* ios wip
* android wip
* ios files folder
* ios get address on start
* android app files folder
* ios more backend
* android more backend
* translation
* ios image without text, remove preview
* android image without text, remove preview
* fix translation
* file name in previews and w/t text
* Revert "file name in previews and w/t text"
This reverts commit 0110570e55.
* ios filename in preview
* android filename in preview
* android wider images
* ios determine width on image for correct quote width
* ios images in previews wip
* ios square image in quote
* ios: update image layout
* android images in quotes
* android remove redundant modifier
* android clip to bounds
* android - image in right side of quote
* android refactor image view
* android - refactor, align quote text top
* android fix emoji view
* fix image layout
* full screen image view, fix quote layout
* android various size
* android fixed image width
* android meta on image
* ios: add drag gesture to hide full-screen image
* android: make image-only meta white
* refactor file.stored
* android: meta icon color
* android: open chat scrolled to last unread item
* copy/share image messages
* android: full screen image
* check file is loaded
* terminal: refactor view for messages with files
* android: change to onClick, only show stored file
* android: remove close sheet bar
* android: close image view on click
* translation
* android: pass showMenu to CIImageView to show menu on long click
* increase DropDown width
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
38 lines
1.1 KiB
Swift
38 lines
1.1 KiB
Swift
//
|
|
// ComposeImageView.swift
|
|
// SimpleX
|
|
//
|
|
// Created by JRoberts on 11/04/2022.
|
|
// Copyright © 2022 SimpleX Chat. All rights reserved.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct ComposeImageView: View {
|
|
@Environment(\.colorScheme) var colorScheme
|
|
let image: String
|
|
var cancelImage: (() -> Void)? = nil
|
|
|
|
var body: some View {
|
|
HStack(alignment: .center, spacing: 8) {
|
|
if let data = Data(base64Encoded: dropImagePrefix(image)),
|
|
let uiImage = UIImage(data: data) {
|
|
Image(uiImage: uiImage)
|
|
.resizable()
|
|
.aspectRatio(contentMode: .fit)
|
|
.frame(maxWidth: 80, maxHeight: 60)
|
|
}
|
|
if let cancelImage = cancelImage {
|
|
Button { cancelImage() } label: {
|
|
Image(systemName: "multiply")
|
|
}
|
|
}
|
|
}
|
|
.padding(.vertical, 1)
|
|
.padding(.trailing, 12)
|
|
.background(colorScheme == .light ? sentColorLight : sentColorDark)
|
|
.frame(maxWidth: .infinity)
|
|
.padding(.top, 8)
|
|
}
|
|
}
|