This commit is contained in:
启星
2025-08-08 10:49:36 +08:00
parent 6400cf78bb
commit b5ce3d580a
8780 changed files with 978183 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
//
// TUISearchExtensionObserver_Minimalist.h
// TUISearch
//
// Created by harvy on 2023/4/3.
// Copyright © 2023 Tencent. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TUISearchExtensionObserver_Minimalist : NSObject
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,62 @@
//
// TUISearchExtensionObserver_Minimalist.m
// TUISearch
//
// Created by harvy on 2023/4/3.
// Copyright © 2023 Tencent. All rights reserved.
//
#import "TUISearchExtensionObserver_Minimalist.h"
#import <TUICore/TUICore.h>
#import <TUICore/TUIDefine.h>
#import "TUISearchBar_Minimalist.h"
@interface TUISearchExtensionObserver_Minimalist () <TUIExtensionProtocol>
@end
@implementation TUISearchExtensionObserver_Minimalist
+ (void)load {
[TUICore registerExtension:TUICore_TUIConversationExtension_ConversationListBanner_MinimalistExtensionID
object:TUISearchExtensionObserver_Minimalist.shareInstance];
}
static id gShareInstance = nil;
+ (instancetype)shareInstance {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
gShareInstance = [[self alloc] init];
});
return gShareInstance;
}
#pragma mark - TUIExtensionProtocol
- (BOOL)onRaiseExtension:(NSString *)extensionID parentView:(UIView *)parentView param:(nullable NSDictionary *)param {
if (![extensionID isKindOfClass:NSString.class]) {
return NO;
}
if ([extensionID isEqualToString:TUICore_TUIConversationExtension_ConversationListBanner_MinimalistExtensionID]) {
if (![param isKindOfClass:NSDictionary.class] || parentView == nil || ![parentView isKindOfClass:UIView.class]) {
return NO;
}
UIViewController *modalVC = [param tui_objectForKey:TUICore_TUIConversationExtension_ConversationListBanner_ModalVC asClass:UIViewController.class];
NSString *sizeStr = [param tui_objectForKey:TUICore_TUIConversationExtension_ConversationListBanner_BannerSize asClass:NSString.class];
CGSize size = CGSizeFromString(sizeStr);
TUISearchBar_Minimalist *searchBar = [[TUISearchBar_Minimalist alloc] init];
searchBar.frame = CGRectMake(0, 0, size.width, size.height);
[searchBar setParentVC:modalVC];
[searchBar setEntrance:YES];
[parentView addSubview:searchBar];
return YES;
} else {
// do nothing
return NO;
}
}
@end

View File

@@ -0,0 +1,13 @@
// Created by Tencent on 2023/06/09.
// Copyright © 2023 Tencent. All rights reserved.
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TUISearchService_Minimalist : NSObject
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,26 @@
// Created by Tencent on 2023/06/09.
// Copyright © 2023 Tencent. All rights reserved.
#import "TUISearchService_Minimalist.h"
#import "TUISearchBar_Minimalist.h"
#import <TIMCommon/TIMDefine.h>
#import <TUICore/TUICore.h>
#import <TUICore/TUIThemeManager.h>
@implementation TUISearchService_Minimalist
+ (void)load {
TUIRegisterThemeResourcePath(TUIBundlePath(@"TUISearchTheme_Minimalist", TUISearchBundle_Key_Class), TUIThemeModuleSearch_Minimalist);
}
static id gShareInstance = nil;
+ (instancetype)shareInstance {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
gShareInstance = [[self alloc] init];
});
return gShareInstance;
}
@end