From f0f2bf9e936edfc53beb7bcd586a376ff1e3ec76 Mon Sep 17 00:00:00 2001 From: Anindra Das Bivas Date: Tue, 3 Feb 2026 12:25:14 +0600 Subject: [PATCH 1/2] Update File Upload Component and Added some endpoints and Icon for Live Classes --- assets/icons/json.svg | 6 +++ assets/src/js/v3/shared/icons/types.ts | 1 + assets/src/js/v3/shared/utils/endpoints.ts | 4 +- classes/Icon.php | 1 + components/FileUploader.php | 51 +++++++++++++++++++++- 5 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 assets/icons/json.svg diff --git a/assets/icons/json.svg b/assets/icons/json.svg new file mode 100644 index 0000000000..93725021ac --- /dev/null +++ b/assets/icons/json.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/src/js/v3/shared/icons/types.ts b/assets/src/js/v3/shared/icons/types.ts index f02cdfbeb0..56a82dd6a4 100644 --- a/assets/src/js/v3/shared/icons/types.ts +++ b/assets/src/js/v3/shared/icons/types.ts @@ -187,6 +187,7 @@ export const icons = [ 'iso', 'javascript', 'jpg', + 'json', 'jsonFile', 'key', 'landscape', diff --git a/assets/src/js/v3/shared/utils/endpoints.ts b/assets/src/js/v3/shared/utils/endpoints.ts index c5dab03d99..251e4ed2ee 100644 --- a/assets/src/js/v3/shared/utils/endpoints.ts +++ b/assets/src/js/v3/shared/utils/endpoints.ts @@ -67,6 +67,8 @@ const endpoints = { GET_GOOGLE_MEET_DETAILS: 'tutor_google_meet_meeting_details', SAVE_GOOGLE_MEET: 'tutor_google_meet_new_meeting', DELETE_GOOGLE_MEET: 'tutor_google_meet_delete', + UPLOAD_GOOGLE_MEET_CREDENTIALS: 'tutor_pro_google_meet_credential_upload', + RESET_GOOGLE_MEET_CREDENTIALS: 'tutor_google_meet_reset_cred', // TOPIC GET_COURSE_CONTENTS: 'tutor_course_contents', @@ -181,7 +183,7 @@ const endpoints = { SAVE_BILLING_INFO: 'tutor_save_billing_info', SAVE_WITHDRAW_METHOD: 'tutor_save_withdraw_account', RESET_PASSWORD: 'tutor_profile_password_reset', - UPDATE_PROFILE_NOTIFICATION: 'tutor_save_notification_preference' + UPDATE_PROFILE_NOTIFICATION: 'tutor_save_notification_preference', } as const; export default endpoints; diff --git a/classes/Icon.php b/classes/Icon.php index 0cf785ebb3..23af8f454a 100644 --- a/classes/Icon.php +++ b/classes/Icon.php @@ -203,6 +203,7 @@ final class Icon { const ISO = 'iso'; const JAVASCRIPT = 'javascript'; const JPG = 'jpg'; + const JSON = 'json'; const JSON_FILE = 'json-file'; const KEY = 'key'; const LANDSCAPE = 'landscape'; diff --git a/components/FileUploader.php b/components/FileUploader.php index c93620f231..3078260372 100644 --- a/components/FileUploader.php +++ b/components/FileUploader.php @@ -226,6 +226,24 @@ class FileUploader extends BaseComponent { */ protected $value = ''; + /** + * Upload icon size. + * + * @since 4.0.0 + * + * @var integer + */ + protected $upload_icon_size = 24; + + /** + * Whether to show subtitle. + * + * @since 4.0.0 + * + * @var boolean + */ + protected $show_subtitle = true; + /** * Set uploader accept attribute. * @@ -277,6 +295,33 @@ public function uploader_icon( $icon ) { return $this; } + /** + * Set whether to show subtitle. + * + * @param boolean $show_subtitle show subtitle or not. + * + * @return self + */ + public function show_subtitle( $show_subtitle = true ) { + $this->show_subtitle = $show_subtitle; + return $this; + } + + /** + * Set uploader icon size. + * + * @since 4.0.0 + * + * @param int $size Icon size. + * + * @return $this + */ + public function uploader_icon_size( $size ) { + $this->upload_icon_size = $size; + + return $this; + } + /** * Set uploader title. * @@ -562,7 +607,7 @@ class="tutor-file-uploader-wrapper"
@@ -595,11 +640,13 @@ class="tutor-file-uploader-input" get_attributes_string(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> >
- render_svg_icon( $icon, 24, 24 ); ?> + render_svg_icon( $icon, $this->upload_icon_size, $this->upload_icon_size ); ?>

+ show_subtitle ) : ?>

+