Hide profile settings from regular users

Please try this PHP snippet instead. It will also show an error if the vendor tries to save account settings without a profile image or if the user tries to complete the Complete Profile form without a profile image to become a vendor

add_filter(
	'hivepress/v1/forms/user_update/errors',
	function( $errors, $form ) {
		if(!empty($errors)){
			return $errors;
		}
		
		$vendor = \HivePress\Models\Vendor::query()->filter(
				[
					'user' => get_current_user_id(),
				]
			)->get_first_id();
		
		if(!$vendor){
			return $errors;
		}
		
		$user = $form->get_model();

		if ( $user && ! $user->get_image__id() ) {
			$errors[] = 'Please upload the profile image.';
		}

		return $errors;
	},
	100,
	2
);

add_filter(
	'hivepress/v1/forms/user_update_profile/errors',
	function( $errors, $form ) {
		if(!empty($errors)){
			return $errors;
		}
		
		$user = $form->get_model();

		if ( $user && ! $user->get_image__id() ) {
			$errors[] = 'Please upload the profile image.';
		}

		return $errors;
	},
	100,
	2
);

add_filter(
	'hivepress/v1/forms/user_update',
	function( $form ) {
		$vendor = \HivePress\Models\Vendor::query()->filter(
				[
					'user' => get_current_user_id(),
				]
			)->get_first_id();
		
		if(!$vendor){
			return $form;
		}
		
		$form['fields']['image']['statuses']['optional'] = null;

		return $form;
	},
	1000
);

add_filter(
	'hivepress/v1/forms/user_update_profile',
	function( $form ) {
		$form['fields']['image']['statuses']['optional'] = null;

		return $form;
	},
	1000
);

add_filter(
	'hivepress/v1/models/vendor/fields',
	function($fields){
		if(isset($fields['image'])){
			$fields['image']['required'] = true;
		}
		
		return $fields;
	},
	1000
);