Skip to content

Commit 05e50e8

Browse files
authoredOct 11, 2023
Merge pull request #1366 from QuickBlox/develop
Release UIKit Sample 1.1.0
2 parents 48f8e57 + 5b54b53 commit 05e50e8

File tree

11 files changed

+809
-125
lines changed

11 files changed

+809
-125
lines changed
 

‎sample-ui-kit/README.md

+484-5
Large diffs are not rendered by default.

‎sample-ui-kit/UIKitSample.xcodeproj/project.pbxproj

+16-16
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
2C05E0C52A77D8A6008AE78B /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2C05E0C02A77D8A6008AE78B /* Media.xcassets */; };
1111
2C05E0C62A77D8A6008AE78B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2C05E0C12A77D8A6008AE78B /* Localizable.strings */; };
1212
2C05E0C72A77D8A6008AE78B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2C05E0C42A77D8A6008AE78B /* Assets.xcassets */; };
13-
2C1FA2552AB1A1C300B47C60 /* QuickBloxUIKit in Frameworks */ = {isa = PBXBuildFile; productRef = 2C1FA2542AB1A1C300B47C60 /* QuickBloxUIKit */; };
1413
2C5E9C3929E7490400CDA1FC /* ThemeSelectBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C5E9C3829E7490400CDA1FC /* ThemeSelectBar.swift */; };
1514
2C9E0AC829EB3675004B3CF0 /* AppTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C9E0AC729EB3675004B3CF0 /* AppTheme.swift */; };
1615
2CA237CB29DC073C004FFA21 /* LoginViewModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CA237CA29DC073C004FFA21 /* LoginViewModal.swift */; };
1716
2CA237CD29DC116B004FFA21 /* DisplayNameTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CA237CC29DC116B004FFA21 /* DisplayNameTextField.swift */; };
1817
2CA237CF29DC3077004FFA21 /* BaseTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CA237CE29DC3077004FFA21 /* BaseTextField.swift */; };
18+
2CA88D872AD7118700BFEAD5 /* QuickBloxUIKit in Frameworks */ = {isa = PBXBuildFile; productRef = 2CA88D862AD7118700BFEAD5 /* QuickBloxUIKit */; };
1919
2CBF893229DB3AF10016CF99 /* LoginScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CBF892A29DB3AF10016CF99 /* LoginScreen.swift */; };
2020
2CBF893329DB3AF10016CF99 /* LoginButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CBF892D29DB3AF10016CF99 /* LoginButton.swift */; };
2121
2CBF893629DB3AF10016CF99 /* LoginTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CBF893129DB3AF10016CF99 /* LoginTextField.swift */; };
@@ -79,7 +79,7 @@
7979
isa = PBXFrameworksBuildPhase;
8080
buildActionMask = 2147483647;
8181
files = (
82-
2C1FA2552AB1A1C300B47C60 /* QuickBloxUIKit in Frameworks */,
82+
2CA88D872AD7118700BFEAD5 /* QuickBloxUIKit in Frameworks */,
8383
);
8484
runOnlyForDeploymentPostprocessing = 0;
8585
};
@@ -243,7 +243,7 @@
243243
);
244244
name = UIKitSample;
245245
packageProductDependencies = (
246-
2C1FA2542AB1A1C300B47C60 /* QuickBloxUIKit */,
246+
2CA88D862AD7118700BFEAD5 /* QuickBloxUIKit */,
247247
);
248248
productName = UIKitSample;
249249
productReference = 3AF0154129B092B60021EE49 /* UIKitSample.app */;
@@ -319,7 +319,7 @@
319319
);
320320
mainGroup = 3AF0153829B092B60021EE49;
321321
packageReferences = (
322-
2C1FA2532AB1A1C300B47C60 /* XCRemoteSwiftPackageReference "ios-ui-kit" */,
322+
2CA88D852AD7118700BFEAD5 /* XCRemoteSwiftPackageReference "ios-ui-kit" */,
323323
);
324324
productRefGroup = 3AF0154229B092B60021EE49 /* Products */;
325325
projectDirPath = "";
@@ -484,7 +484,7 @@
484484
"$(inherited)",
485485
"$(SRCROOT)/../ios-ui-kit-private/Sources/QuickBloxUIKit/**",
486486
);
487-
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
487+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
488488
LIBRARY_SEARCH_PATHS = (
489489
"$(inherited)",
490490
"$(SRCROOT)/../ios-ui-kit-private/Sources/QuickBloxUIKit/**",
@@ -551,7 +551,7 @@
551551
"$(inherited)",
552552
"$(SRCROOT)/../ios-ui-kit-private/Sources/QuickBloxUIKit/**",
553553
);
554-
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
554+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
555555
LIBRARY_SEARCH_PATHS = (
556556
"$(inherited)",
557557
"$(SRCROOT)/../ios-ui-kit-private/Sources/QuickBloxUIKit/**",
@@ -573,7 +573,7 @@
573573
CODE_SIGN_ENTITLEMENTS = UIKitSample/UIKitSample.entitlements;
574574
CODE_SIGN_IDENTITY = "Apple Development";
575575
CODE_SIGN_STYLE = Automatic;
576-
CURRENT_PROJECT_VERSION = 1;
576+
CURRENT_PROJECT_VERSION = 0;
577577
DEVELOPMENT_ASSET_PATHS = "\"UIKitSample/Preview Content\"";
578578
DEVELOPMENT_TEAM = 8885H5G2YX;
579579
ENABLE_PREVIEWS = YES;
@@ -595,12 +595,12 @@
595595
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeRight";
596596
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
597597
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
598-
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
598+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
599599
LD_RUNPATH_SEARCH_PATHS = (
600600
"$(inherited)",
601601
"@executable_path/Frameworks",
602602
);
603-
MARKETING_VERSION = 1.0.6;
603+
MARKETING_VERSION = 1.1.0;
604604
PRODUCT_BUNDLE_IDENTIFIER = com.quickblox.UIKitSample;
605605
PRODUCT_NAME = "$(TARGET_NAME)";
606606
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -621,7 +621,7 @@
621621
CODE_SIGN_ENTITLEMENTS = UIKitSample/UIKitSample.entitlements;
622622
CODE_SIGN_IDENTITY = "Apple Development";
623623
CODE_SIGN_STYLE = Automatic;
624-
CURRENT_PROJECT_VERSION = 1;
624+
CURRENT_PROJECT_VERSION = 0;
625625
DEVELOPMENT_ASSET_PATHS = "\"UIKitSample/Preview Content\"";
626626
DEVELOPMENT_TEAM = 8885H5G2YX;
627627
ENABLE_PREVIEWS = YES;
@@ -643,12 +643,12 @@
643643
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeRight";
644644
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
645645
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
646-
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
646+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
647647
LD_RUNPATH_SEARCH_PATHS = (
648648
"$(inherited)",
649649
"@executable_path/Frameworks",
650650
);
651-
MARKETING_VERSION = 1.0.6;
651+
MARKETING_VERSION = 1.1.0;
652652
PRODUCT_BUNDLE_IDENTIFIER = com.quickblox.UIKitSample;
653653
PRODUCT_NAME = "$(TARGET_NAME)";
654654
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -779,20 +779,20 @@
779779
/* End XCConfigurationList section */
780780

781781
/* Begin XCRemoteSwiftPackageReference section */
782-
2C1FA2532AB1A1C300B47C60 /* XCRemoteSwiftPackageReference "ios-ui-kit" */ = {
782+
2CA88D852AD7118700BFEAD5 /* XCRemoteSwiftPackageReference "ios-ui-kit" */ = {
783783
isa = XCRemoteSwiftPackageReference;
784784
repositoryURL = "https://github.com/QuickBlox/ios-ui-kit.git";
785785
requirement = {
786786
kind = upToNextMajorVersion;
787-
minimumVersion = 0.1.7;
787+
minimumVersion = 0.3.0;
788788
};
789789
};
790790
/* End XCRemoteSwiftPackageReference section */
791791

792792
/* Begin XCSwiftPackageProductDependency section */
793-
2C1FA2542AB1A1C300B47C60 /* QuickBloxUIKit */ = {
793+
2CA88D862AD7118700BFEAD5 /* QuickBloxUIKit */ = {
794794
isa = XCSwiftPackageProductDependency;
795-
package = 2C1FA2532AB1A1C300B47C60 /* XCRemoteSwiftPackageReference "ios-ui-kit" */;
795+
package = 2CA88D852AD7118700BFEAD5 /* XCRemoteSwiftPackageReference "ios-ui-kit" */;
796796
productName = QuickBloxUIKit;
797797
};
798798
/* End XCSwiftPackageProductDependency section */

‎sample-ui-kit/UIKitSample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,26 @@
55
"kind" : "remoteSourceControl",
66
"location" : "https://github.com/QuickBlox/ios-ai-answer-assistant.git",
77
"state" : {
8-
"revision" : "304299357b756132b57871bf4e08a748a96e60a0",
9-
"version" : "1.0.2"
8+
"revision" : "83da3d2846129853ad4a626205f7fea7edc933c2",
9+
"version" : "2.0.0"
1010
}
1111
},
1212
{
1313
"identity" : "ios-ai-rephrase",
1414
"kind" : "remoteSourceControl",
15-
"location" : "https://github.com/QuickBlox/ios-ai-rephrase",
15+
"location" : "https://github.com/QuickBlox/ios-ai-rephrase.git",
1616
"state" : {
17-
"revision" : "3683683a07001005a254c3b8c753da162add267d",
18-
"version" : "1.0.1"
17+
"revision" : "633d1ce0219d0e48dd5773716e631233a5abe017",
18+
"version" : "2.0.0"
1919
}
2020
},
2121
{
2222
"identity" : "ios-ai-translate",
2323
"kind" : "remoteSourceControl",
2424
"location" : "https://github.com/QuickBlox/ios-ai-translate.git",
2525
"state" : {
26-
"revision" : "3a224bec51097629589fcc0a33dbc4b81feb95d6",
27-
"version" : "1.0.0"
26+
"revision" : "52a058215c03fa101c6810b692b80be2b07fc8ed",
27+
"version" : "2.0.0"
2828
}
2929
},
3030
{
@@ -41,8 +41,8 @@
4141
"kind" : "remoteSourceControl",
4242
"location" : "https://github.com/QuickBlox/ios-ui-kit.git",
4343
"state" : {
44-
"revision" : "7ed29e3804ed3ef48da70f92291cb72b35c217b3",
45-
"version" : "0.1.7"
44+
"revision" : "8e2dc71ee9fe53fcdc65b7c4b0a7215fec41f0e6",
45+
"version" : "0.3.0"
4646
}
4747
}
4848
],

‎sample-ui-kit/UIKitSample/AppTheme/AppTheme.swift

+63-10
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import SwiftUI
1010
import QuickBloxUIKit
11+
import QBAIRephrase
1112

1213
var appThemes: [AppTheme] = [AppTheme(color: QuickBloxUIKit.ThemeColor(),
1314
font: QuickBloxUIKit.ThemeFont(),
@@ -120,18 +121,19 @@ public class CustomImageTheme: ThemeImageProtocol {
120121
}
121122

122123
public class CustomThemeString: ThemeStringProtocol {
124+
123125
public var dialogsEmpty: String = String(localized: "dialog.items.empty")
124126
public var usersEmpty: String = String(localized: "dialog.members.empty")
125127
public var messegesEmpty: String = String(localized: "dialog.messages.empty")
126-
128+
127129
public var privateDialog: String = String(localized: "dialog.type.private")
128130
public var groupDialog: String = String(localized: "dialog.type.group")
129131
public var publicDialog: String = String(localized: "dialog.type.group")
130-
132+
131133
public var typingOne: String = String(localized: "dialog.typing.one")
132134
public var typingTwo: String = String(localized: "dialog.typing.two")
133135
public var typingFour: String = String(localized: "dialog.typing.four")
134-
136+
135137
public var enterName: String = String(localized: "alert.actions.enterName")
136138
public var nameHint: String = String(localized: "dialog.name.hint")
137139
public var create: String = String(localized: "dialog.name.create")
@@ -142,30 +144,30 @@ public class CustomThemeString: ThemeStringProtocol {
142144
public var notification: String = String(localized: "dialog.info.notification")
143145
public var searchInDialog: String = String(localized: "dialog.info.searchInDialog")
144146
public var leaveDialog: String = String(localized: "dialog.info.leaveDialog")
145-
147+
146148
public var you: String = String(localized: "dialog.info.you")
147149
public var admin: String = String(localized: "dialog.info.admin")
148150
public var typeMessage: String = String(localized: "dialog.action.typeMessage")
149-
151+
150152
public var dialogs: String = String(localized: "screen.title.dialogs")
151153
public var dialog: String = String(localized: "screen.title.dialog")
152154
public var dialogType: String = String(localized: "screen.title.dialogType")
153155
public var newDialog: String = String(localized: "screen.title.newDialog")
154156
public var createDialog: String = String(localized: "screen.title.createDialog")
155157
public var addMembers: String = String(localized: "screen.title.addMembers")
156158
public var dialogInformation: String = String(localized: "screen.title.dialogInformation")
157-
159+
158160
public var add: String = String(localized: "alert.actions.add")
159161
public var dialogName: String = String(localized: "alert.actions.dialogName")
160162
public var changeImage: String = String(localized: "alert.actions.changeImage")
161163
public var changeDialogName: String = String(localized: "alert.actions.changeDialogName")
162-
164+
163165
public var photo: String = String(localized: "alert.actions.photo")
164166
public var removePhoto: String = String(localized: "alert.actions.removePhoto")
165167
public var camera: String = String(localized: "alert.actions.camera")
166168
public var gallery: String = String(localized: "alert.actions.gallery")
167169
public var file: String = String(localized: "alert.actions.file")
168-
170+
169171
public var remove: String = String(localized: "alert.actions.remove")
170172
public var cancel: String = String(localized: "alert.actions.cancel")
171173
public var ok: String = String(localized: "alert.actions.ok")
@@ -179,15 +181,22 @@ public class CustomThemeString: ThemeStringProtocol {
179181
public var invalidAIAnswerAssist: String = String(localized: "alert.message.invalidAIAnswerAssist")
180182
public var invalidAITranslate: String = String(localized: "alert.message.invalidAITranslate")
181183
public var invalidAIRephrase: String = String(localized: "alert.message.invalidAIRephrase")
182-
184+
public var invalidAITranscribe: String = String(localized: "alert.message.invalidAITranscribe")
185+
186+
public var answerFailedAnswerAssist: String = String(localized: "alert.message.answerFailedAnswerAssist")
187+
public var answerFailedTranslate: String = String(localized: "alert.message.answerFailedTranslate")
188+
public var answerFailedRephrase: String = String(localized: "alert.message.answerFailedRephrase")
189+
183190
public var maxSize: String = String(localized: "attachment.maxSize.title")
184191
public var maxSizeHint: String = String(localized: "attachment.maxSize.hint")
192+
public var compressibleMaxSizeHint: String = String(localized: "attachment.maxSize.compressibleHint")
185193
public var fileTitle: String = String(localized: "attachment.title.file")
186194
public var gif: String = String(localized: "attachment.title.gif")
187195

188196
public var showOriginal: String = String(localized: "ai.translate.showOriginal")
189197
public var showTranslation: String = String(localized: "ai.translate.showTranslation")
190198
public var answerAssistTitle: String = String(localized: "ai.answerAssist.title")
199+
public var transcribeTitle: String = String(localized: "ai.transcribe.title")
191200

192201
public var permissionCameraTitle: String = String(localized: "permission.camera.title")
193202
public var permissionCameraMessage: String = String(localized: "permission.camera.message")
@@ -202,6 +211,50 @@ public class CustomThemeString: ThemeStringProtocol {
202211
public var addedBy: String = String(localized: "utils.string.addedBy")
203212
public var removedBy: String = String(localized: "utils.string.removedBy")
204213
public var hasLeft: String = String(localized: "utils.string.hasLeft")
205-
214+
public var today: String = String(localized: "utils.string.today")
215+
public var yesterday: String = String(localized: "utils.string.yesterday")
216+
217+
public var connecting: String = String(localized: "utils.string.connecting")
218+
public var update: String = String(localized: "utils.string.update")
219+
public var disconnected: String = String(localized: "utils.string.disconnected")
220+
public var connected: String = String(localized: "utils.string.connected")
221+
public var unauthorized: String = String(localized: "utils.string.unauthorized")
222+
public var authorized: String = String(localized: "utils.string.authorized")
223+
206224
public init() {}
207225
}
226+
227+
import QBAIRephrase
228+
229+
public extension QBAIRephrase.AITone {
230+
static let slang = QBAIRephrase.AITone (
231+
name: "Slang",
232+
description: "This will allow messages to be edited to sound less formal, using slang language including strong language, unclear sentence structures, and not maintaining a respectful tone. This would avoid formal speech and ensure appropriate greetings and signatures.",
233+
icon: "🗣️"
234+
)
235+
static let youth = QBAIRephrase.AITone (
236+
name: "Youth",
237+
description: "This will allow you to edit messages so that they sound youthful and less formal, using youth slang vocabulary that includes juvenile expressions, unclear sentence structure and without maintaining a formal tone. This will avoid formal speech and ensure appropriate youth greetings and signatures.",
238+
icon: "🛹"
239+
)
240+
241+
static let doctor = QBAIRephrase.AITone (
242+
name: "Doctor",
243+
description: "This will allow you to edit messages so that they sound doctoral, using medical and medical vocabulary, including professional expressions, unclear sentence structure. This will allow you to make speeches in a medical-doctoral tone and provide appropriate medical greetings and signatures.",
244+
icon: "🩺"
245+
)
246+
247+
static let gangster = QBAIRephrase.AITone (
248+
name: "Gangster",
249+
description: "This will allow you to edit the messages so that they sound in a gangster-like and least formal manner, using gangster slang vocabulary including strong expressions, unclear sentence structures and not maintaining a respectful tone. This would avoid formal speech and ensure appropriate gang greetings and signatures.",
250+
icon: "🥷"
251+
)
252+
}
253+
254+
public var customTones: [QBAIRephrase.AITone] = [
255+
.gangster,
256+
.youth,
257+
.slang,
258+
.neutral,
259+
.poetic
260+
]

0 commit comments

Comments
 (0)
Please sign in to comment.