mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-11-03 18:53:17 -05:00 
			
		
		
		
	* fix typing on auth context * extract user password strength meter * fix broken useToggle method * extend form to accept arguments for validators * enforce password length on update * fix user password change form
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { fieldTypes } from "../forms";
 | 
						|
import { AutoFormItems } from "~/types/auto-forms";
 | 
						|
 | 
						|
export const useUserForm = () => {
 | 
						|
  const userForm: AutoFormItems = [
 | 
						|
    {
 | 
						|
      section: "User Details",
 | 
						|
      label: "User Name",
 | 
						|
      varName: "username",
 | 
						|
      type: fieldTypes.TEXT,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "Full Name",
 | 
						|
      varName: "fullName",
 | 
						|
      type: fieldTypes.TEXT,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "Email",
 | 
						|
      varName: "email",
 | 
						|
      type: fieldTypes.TEXT,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "Password",
 | 
						|
      varName: "password",
 | 
						|
      disableUpdate: true,
 | 
						|
      type: fieldTypes.PASSWORD,
 | 
						|
      rules: ["required", "minLength:8"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      section: "Permissions",
 | 
						|
      label: "Administrator",
 | 
						|
      varName: "admin",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "User can invite other to group",
 | 
						|
      varName: "canInvite",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "User can manage group",
 | 
						|
      varName: "canManage",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "User can organize group data",
 | 
						|
      varName: "canOrganize",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: "Enable advanced features",
 | 
						|
      varName: "advanced",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
  ];
 | 
						|
 | 
						|
  return {
 | 
						|
    userForm,
 | 
						|
  };
 | 
						|
};
 |