Skip to content

Conversation

@b-l-i-n-d
Copy link
Collaborator

@b-l-i-n-d b-l-i-n-d commented Jan 14, 2026

This PR includes

  • Account
  • Security
  • Social Accounts
  • Billing Address
  • WIthdraw

New/Enhanced feature

  • File Uploader (native and wordpress)
  • Password Input with strength
  • Use single - instead of double -- in card scss
  • Add get_profile_settings_data function to User class

…t conditional visibility for action buttons.
…lexible attachment card, and updated input field requirements.
Refactored the register method to better handle checkbox and file input types, set appropriate default values, and simplified the binding logic for Alpine.js. This enhances support for different input types and improves code clarity.
Moved and renamed profile-header.php to account/settings/header.php and updated references. Deleted obsolete profile-settings.php. Refactored billing address, notifications, preferences, and social accounts templates to use new InputField components, improved form state management, and enhanced UI consistency.
Enhanced the user social icons array by adding 'svg_icon' and 'pattern' fields for Facebook, X (Twitter), LinkedIn, GitHub, and Website. This provides SVG icon references and URL validation patterns for each social profile, improving consistency and validation.
Introduced a dropdown for selecting font size in account preferences, replacing the text input. Added predefined font size options and updated default value handling. Also improved select component styling for better UI consistency.
Introduced User::get_profile_settings_data() to centralize and streamline retrieval of user profile data for the account settings form. Updated the account settings template to use this method, improved default value handling, and switched display name and bio fields to use select and textarea input types, respectively.
The add_action call for 'wp_enqueue_scripts' no longer specifies PHP_INT_MAX as the priority, reverting to the default priority. This may affect the order in which scripts are enqueued.
✨ Update asset enqueuing with calendar dashboard
…nts, and streamline button component usage by removing redundant primary variant calls.
@b-l-i-n-d b-l-i-n-d requested a review from shewa12 January 16, 2026 09:14
wp_localize_script( 'tutor-core', '_tutorobject', $localize_data );

if ( $is_dashboard ) {
wp_enqueue_media();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this script in other page. Load it where it's needed.

*
* @return string
*/
private function render_custom_attributes( array $attributes ): string {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This method is not rendering. It's returning string.
It should be get_custom_attributes_string

*
* @return self
*/
public function title_attr( string $key, string $value ): self {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can handle it by base attr method

* @return self
*/
public function meta_attr( string $key, string $value ): self {
$this->meta_attr[ $key ] = $value;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

* @return self
*/
public function action_attr( string $key, string $value ): self {
$this->action_attr[ $key ] = $value;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

),
'withdraw' => array(
'id' => 'withdraw',
'label' => 'Withdraw',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here

),
'preferences' => array(
'id' => 'preferences',
'label' => 'Preferences',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here

* @since 3.0.0
* @since 4.0.0
*/

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prevent direct access

<div class="tutor-grid tutor-md-grid-cols-1 tutor-grid-cols-2 tutor-gap-5">
<?php
InputField::make()
->type( InputType::TEXT )
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to set type. Default is text

->render();

InputField::make()
->type( InputType::TEXT )
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0.0 Tutor v4.w0w

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants