send_infoarch_page = (args) => {
  const tenant_list =
    db.is_it_multi_tenant() &&
    db.getTenantSchema() === db.connectObj.default_schema;
  const role = args.req?.user.role_id || 100;
  const isUserAdmin = role === 1;
  const state = getState();
  const canEditMenu = state.getConfig("min_role_edit_menu", 1) >= role;
  const canEditSearch = state.getConfig("min_role_edit_search", 1) >= role;
  const canCreateSnapshot =
    state.getConfig("min_role_create_snapshots", 1) >= role && role > 1;

  return send_settings_page({
    main_section: "Site structure",
    main_section_href: "/site-structure",
    sub_sections: [
      ...(canEditMenu ? [{ text: "Menu", href: "/menu" }] : []),
      ...(canEditSearch ? [{ text: "Search", href: "/search/config" }] : []),
      ...(canCreateSnapshot
        ? [{ text: "Snapshots", href: "/site-structure/create-snapshot" }]
        : []),
      ...(isUserAdmin
        ? [
            { text: "Library", href: "/library/list" },
            { text: "Languages", href: "/site-structure/localizer" },
            ...(tenant_list
              ? [
                  { text: "Tenants", href: "/tenant/list" },
                  { text: "Multitenancy", href: "/tenant/settings" },
                ]
              : []),
            { text: "Pagegroups", href: "/page_group/settings" },
            { text: "Tags", href: "/tag" },
            { text: "Diagram", href: "/diagram" },
            { text: "Registry editor", href: "/registry-editor" },
          ]
        : []),
    ],
    ...args,
  });
}
Send InfoArch Page
@param {object} args
@returns {void}