add emojiRow

not using uikit cos i cba with the refreshing and stuff
added test emojii static var
This commit is contained in:
neon443
2025-11-03 20:35:14 +00:00
parent 567c768489
commit 73f5d1c45d
5 changed files with 94 additions and 19 deletions

View File

@@ -91,4 +91,9 @@ struct Emoji: Codable, Identifiable, Hashable {
mutating func refresh() {
withAnimation { self.uiID = UUID() }
}
static var test: Emoji = Emoji(
name: "s?",
url: URL(string: "https://neon443.github.io/images/fav.ico")!
)
}

View File

@@ -0,0 +1,51 @@
//
// EmojiRow.swift
// StickerSlack
//
// Created by neon443 on 03/11/2025.
//
import SwiftUI
import Haptics
struct EmojiRow: View {
@ObservedObject var hoarder: EmojiHoarder
@State var emoji: Emoji
var body: some View {
HStack {
EmojiPreview(
hoarder: hoarder,
emoji: emoji
)
.frame(maxWidth: 100, maxHeight: 100)
Spacer()
if emoji.isLocal {
Button("", systemImage: "trash") {
emoji.deleteImage()
emoji.refresh()
Haptic.heavy.trigger()
}
.buttonStyle(.plain)
} else {
Button("", systemImage: "arrow.down.circle") {
Task.detached {
try? await emoji.downloadImage()
await MainActor.run {
emoji.refresh()
Haptic.success.trigger()
}
}
}
.buttonStyle(.plain)
}
}
}
}
#Preview {
EmojiRow(
hoarder: EmojiHoarder(localOnly: true),
emoji: Emoji.test
)
}