mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-11-03 10:43:40 -05:00 
			
		
		
		
	Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { fieldTypes } from "../forms";
 | 
						|
import type { AutoFormItems } from "~/types/auto-forms";
 | 
						|
 | 
						|
export const useUserForm = () => {
 | 
						|
  const i18n = useI18n();
 | 
						|
 | 
						|
  const userForm: AutoFormItems = [
 | 
						|
    {
 | 
						|
      section: i18n.t("user.user-details"),
 | 
						|
      label: i18n.t("user.user-name"),
 | 
						|
      varName: "username",
 | 
						|
      type: fieldTypes.TEXT,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.full-name"),
 | 
						|
      varName: "fullName",
 | 
						|
      type: fieldTypes.TEXT,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.email"),
 | 
						|
      varName: "email",
 | 
						|
      type: fieldTypes.TEXT,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.password"),
 | 
						|
      varName: "password",
 | 
						|
      disableUpdate: true,
 | 
						|
      type: fieldTypes.PASSWORD,
 | 
						|
      rules: ["required", "minLength:8"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.authentication-method"),
 | 
						|
      varName: "authMethod",
 | 
						|
      type: fieldTypes.SELECT,
 | 
						|
      hint: i18n.t("user.authentication-method-hint"),
 | 
						|
      disableCreate: true,
 | 
						|
      options: [{ text: "Mealie" }, { text: "LDAP" }, { text: "OIDC" }],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      section: i18n.t("user.permissions"),
 | 
						|
      label: i18n.t("user.administrator"),
 | 
						|
      varName: "admin",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.user-can-invite-other-to-group"),
 | 
						|
      varName: "canInvite",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.user-can-manage-group"),
 | 
						|
      varName: "canManage",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.user-can-organize-group-data"),
 | 
						|
      varName: "canOrganize",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.user-can-manage-household"),
 | 
						|
      varName: "canManageHousehold",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
    {
 | 
						|
      label: i18n.t("user.enable-advanced-features"),
 | 
						|
      varName: "advanced",
 | 
						|
      type: fieldTypes.BOOLEAN,
 | 
						|
      rules: ["required"],
 | 
						|
    },
 | 
						|
  ];
 | 
						|
 | 
						|
  return {
 | 
						|
    userForm,
 | 
						|
  };
 | 
						|
};
 |