added slackresponse, emojihoarder (empty rn), basic project structure

This commit is contained in:
neon443
2025-10-15 23:17:56 +01:00
parent cf196bc5ec
commit 67468c778a
7 changed files with 105 additions and 18 deletions

View File

@@ -6,18 +6,23 @@
objectVersion = 77; objectVersion = 77;
objects = { objects = {
/* Begin PBXBuildFile section */
A949B1F32EA04E8200215164 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A949B1EF2EA04E8200215164 /* Assets.xcassets */; };
A949B1F42EA04E8200215164 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A949B1F02EA04E8200215164 /* ContentView.swift */; };
A949B1F52EA04E8200215164 /* StickerSlackApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = A949B1F12EA04E8200215164 /* StickerSlackApp.swift */; };
A949B1F82EA04F2300215164 /* EmojiHoarder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A949B1F72EA04F2300215164 /* EmojiHoarder.swift */; };
A949B1FB2EA0518800215164 /* SlackResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = A949B1FA2EA0518800215164 /* SlackResponse.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
A949B1DF2EA04C0B00215164 /* StickerSlack.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StickerSlack.app; sourceTree = BUILT_PRODUCTS_DIR; }; A949B1DF2EA04C0B00215164 /* StickerSlack.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StickerSlack.app; sourceTree = BUILT_PRODUCTS_DIR; };
A949B1EF2EA04E8200215164 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
A949B1F02EA04E8200215164 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
A949B1F12EA04E8200215164 /* StickerSlackApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StickerSlackApp.swift; sourceTree = "<group>"; };
A949B1F72EA04F2300215164 /* EmojiHoarder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiHoarder.swift; sourceTree = "<group>"; };
A949B1FA2EA0518800215164 /* SlackResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlackResponse.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
A949B1E12EA04C0B00215164 /* StickerSlack */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = StickerSlack;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
A949B1DC2EA04C0B00215164 /* Frameworks */ = { A949B1DC2EA04C0B00215164 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
@@ -32,7 +37,7 @@
A949B1D62EA04C0B00215164 = { A949B1D62EA04C0B00215164 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A949B1E12EA04C0B00215164 /* StickerSlack */, A949B1F22EA04E8200215164 /* StickerSlack */,
A949B1E02EA04C0B00215164 /* Products */, A949B1E02EA04C0B00215164 /* Products */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
@@ -45,6 +50,42 @@
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
A949B1EE2EA04E8200215164 /* Views */ = {
isa = PBXGroup;
children = (
A949B1F02EA04E8200215164 /* ContentView.swift */,
);
path = Views;
sourceTree = "<group>";
};
A949B1F22EA04E8200215164 /* StickerSlack */ = {
isa = PBXGroup;
children = (
A949B1F92EA0517800215164 /* Emoji */,
A949B1F12EA04E8200215164 /* StickerSlackApp.swift */,
A949B1F72EA04F2300215164 /* EmojiHoarder.swift */,
A949B1EE2EA04E8200215164 /* Views */,
A949B1F62EA04E8C00215164 /* Resources */,
);
path = StickerSlack;
sourceTree = "<group>";
};
A949B1F62EA04E8C00215164 /* Resources */ = {
isa = PBXGroup;
children = (
A949B1EF2EA04E8200215164 /* Assets.xcassets */,
);
path = Resources;
sourceTree = "<group>";
};
A949B1F92EA0517800215164 /* Emoji */ = {
isa = PBXGroup;
children = (
A949B1FA2EA0518800215164 /* SlackResponse.swift */,
);
path = Emoji;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@@ -60,9 +101,6 @@
); );
dependencies = ( dependencies = (
); );
fileSystemSynchronizedGroups = (
A949B1E12EA04C0B00215164 /* StickerSlack */,
);
name = StickerSlack; name = StickerSlack;
packageProductDependencies = ( packageProductDependencies = (
); );
@@ -109,6 +147,7 @@
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A949B1F32EA04E8200215164 /* Assets.xcassets in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -119,6 +158,10 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A949B1F42EA04E8200215164 /* ContentView.swift in Sources */,
A949B1F52EA04E8200215164 /* StickerSlackApp.swift in Sources */,
A949B1FB2EA0518800215164 /* SlackResponse.swift in Sources */,
A949B1F82EA04F2300215164 /* EmojiHoarder.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -264,10 +307,10 @@
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 26.0; IPHONEOS_DEPLOYMENT_TARGET = 16;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 15.7; MACOSX_DEPLOYMENT_TARGET = 13;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.neon443.StickerSlack; PRODUCT_BUNDLE_IDENTIFIER = com.neon443.StickerSlack;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@@ -281,7 +324,7 @@
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,7"; TARGETED_DEVICE_FAMILY = "1,2,7";
XROS_DEPLOYMENT_TARGET = 26.0; XROS_DEPLOYMENT_TARGET = 1;
}; };
name = Debug; name = Debug;
}; };
@@ -308,10 +351,10 @@
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 26.0; IPHONEOS_DEPLOYMENT_TARGET = 16;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 15.7; MACOSX_DEPLOYMENT_TARGET = 13;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.neon443.StickerSlack; PRODUCT_BUNDLE_IDENTIFIER = com.neon443.StickerSlack;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@@ -325,7 +368,7 @@
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,7"; TARGETED_DEVICE_FAMILY = "1,2,7";
XROS_DEPLOYMENT_TARGET = 26.0; XROS_DEPLOYMENT_TARGET = 1;
}; };
name = Release; name = Release;
}; };

View File

@@ -0,0 +1,29 @@
//
// SlackResponse.swift
// StickerSlack
//
// Created by neon443 on 15/10/2025.
//
import Foundation
struct SlackResponse: Codable {
var ok: Bool
var emoji: [String:String]
func toEmojiResponse() -> [SlackEmojiResponse] {
return emoji.map {
SlackEmojiResponse(name: $0.key, url: $0.value)
}
}
}
struct SlackEmojiResponse: Codable {
var name: String
var url: String
init(name: String, url: String) {
self.name = name
self.url = url
}
}

View File

@@ -0,0 +1,15 @@
//
// EmojiHoarder.swift
// StickerSlack
//
// Created by neon443 on 15/10/2025.
//
import Foundation
import SwiftUI
import Combine
class EmojiHoarder: ObservableObject {
private let endpoint: URL = URL(string: "https://slack.com/api/emoji.list")!
@Published var kys = ""
}