@orbe-agro/client-core 5.6.212 → 5.6.214

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import Container from "../shared/Container.js";
3
3
  import classNames from "../../utils/classNames.js";
4
4
  import { APP_NAME } from "../../constants/app.constant.js";
5
5
  import { PAGE_CONTAINER_GUTTER_X } from "../../constants/theme.constant.js";
6
- const version = true ? "5.6.212" : "0.0.0";
6
+ const version = true ? "5.6.214" : "0.0.0";
7
7
  const FooterContent = () => {
8
8
  return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-auto items-center justify-between", children: [
9
9
  /* @__PURE__ */ jsxs("span", { children: [
@@ -1,12 +1,15 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import "../ui/Button/index.js";
3
3
  import "../ui/Dialog/index.js";
4
+ import "../ui/Notification/index.js";
4
5
  import "../ui/ScrollBar/index.js";
6
+ import "../ui/toast/index.js";
5
7
  import navigationConfig from "../../configs/navigation.config/index.js";
6
8
  import { NAV_ITEM_TYPE_ITEM } from "../../constants/navigation.constant.js";
7
9
  import { useSessionUser } from "../../store/authStore.js";
8
10
  import classNames from "../../utils/classNames.js";
9
11
  import withHeaderItem from "../../utils/hoc/withHeaderItem.js";
12
+ import { apiFindFavoritosByUsuario, apiDeleteFavoritoMenu, apiCreateFavoritoMenu } from "../../../base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js";
10
13
  import debounce from "lodash/debounce";
11
14
  import { useState, useEffect, useMemo, useRef } from "react";
12
15
  import Highlighter from "react-highlight-words";
@@ -15,9 +18,6 @@ import { HiChevronRight, HiStar, HiOutlineStar, HiOutlineSearch, HiOutlineTrash
15
18
  import { PiMagnifyingGlassDuotone } from "react-icons/pi";
16
19
  import { Link } from "react-router-dom";
17
20
  import "../ui/index.js";
18
- import "../ui/Notification/index.js";
19
- import "../ui/toast/index.js";
20
- import { apiFindFavoritosByUsuario, apiDeleteFavoritoMenu, apiCreateFavoritoMenu } from "../../../base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js";
21
21
  import Spinner from "../ui/Spinner/Spinner.js";
22
22
  import toast from "../ui/toast/toast.js";
23
23
  import Notification from "../ui/Notification/Notification.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../../lib/@ecme/components/template/Search.tsx"],"sourcesContent":["import { NavigationTree } from '@/@types/navigation'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport navigationConfig from '@/configs/navigation.config'\nimport { NAV_ITEM_TYPE_ITEM } from '@/constants/navigation.constant'\nimport { useSessionUser } from '@/store/authStore'\nimport classNames from '@/utils/classNames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport debounce from 'lodash/debounce'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport Highlighter from 'react-highlight-words'\nimport { useTranslation } from 'react-i18next'\nimport {\n HiChevronRight,\n HiOutlineSearch,\n HiOutlineStar,\n HiStar,\n HiOutlineTrash,\n} from 'react-icons/hi'\nimport { PiMagnifyingGlassDuotone } from 'react-icons/pi'\nimport { Link } from 'react-router-dom'\nimport { Spinner } from '../ui'\nimport Notification from '@/components/ui/Notification'\nimport toast from '@/components/ui/toast'\nimport {\n apiFindFavoritosByUsuario,\n apiDeleteFavoritoMenu,\n apiCreateFavoritoMenu,\n} from '@base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService'\nimport { TFavoritoMenuResponse } from '@base/@types/api/response/dadosMestres/TFavoritoMenuResponse'\n\ntype SearchData = {\n key: string\n path: string\n title: string\n icon: string\n category: string\n categoryTitle: string\n breadcrumbs: string[]\n}\n\ntype SearchResult = {\n title: string\n data: SearchData[]\n}\n\nconst filterNavigationByAuthority = (\n navTree: NavigationTree[],\n userAuthority: string[],\n): NavigationTree[] => {\n return navTree.reduce((acc: NavigationTree[], nav) => {\n if (nav.excludeWhenHasPaths && nav.excludeWhenHasPaths.length > 0) {\n const shouldExclude = nav.excludeWhenHasPaths.some((path) =>\n userAuthority.includes(path),\n )\n\n if (shouldExclude) {\n return acc\n }\n }\n\n if (nav.subMenu && nav.subMenu.length > 0) {\n const filteredSubMenu = filterNavigationByAuthority(\n nav.subMenu,\n userAuthority,\n )\n\n if (filteredSubMenu.length > 0) {\n acc.push({ ...nav, subMenu: filteredSubMenu })\n }\n } else if (\n (nav.path && userAuthority.includes(nav.path)) ||\n !nav.path\n ) {\n acc.push(nav)\n }\n\n return acc\n }, [])\n}\n\nconst ListItem = (props: {\n icon: string\n label: string\n url: string\n isLast?: boolean\n keyWord: string\n breadcrumbs: string[]\n onNavigate: () => void\n menuKey: string\n isFavorited: boolean\n favToggling: boolean\n onToggleFavorite: (menuKey: string) => void\n}) => {\n const {\n icon,\n label,\n url = '',\n keyWord,\n onNavigate,\n breadcrumbs,\n menuKey,\n isFavorited,\n favToggling,\n onToggleFavorite,\n } = props\n\n const makeBreadcrumbs = (breadcrumbs: string[]) => {\n return breadcrumbs.join(' / ')\n }\n\n return (\n <div className=\"flex items-center gap-1 pr-4\">\n <Link to={url} onClick={onNavigate} className=\"flex-1\">\n <div\n className={classNames(\n 'flex items-center justify-between rounded-xl p-3 cursor-pointer user-select',\n 'hover:bg-gray-100 dark:hover:bg-gray-700',\n )}\n >\n <div className=\"w-72\">\n <div className=\"overflow-hidden text-gray-900 dark:text-gray-300\">\n <Highlighter\n autoEscape\n highlightClassName={classNames(\n 'text-primary',\n 'underline bg-transparent font-semibold dark:text-white',\n )}\n searchWords={[keyWord]}\n textToHighlight={makeBreadcrumbs(breadcrumbs)}\n />\n </div>\n </div>\n <HiChevronRight className=\"shrink-0 text-lg\" />\n </div>\n </Link>\n\n <button\n type=\"button\"\n className=\"flex-shrink-0 rounded-lg p-2 text-lg transition-colors hover:bg-gray-100 dark:hover:bg-gray-700\"\n disabled={favToggling}\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n onToggleFavorite(menuKey)\n }}\n >\n {favToggling ? (\n <Spinner size={18} />\n ) : isFavorited ? (\n <HiStar className=\"text-yellow-500\" />\n ) : (\n <HiOutlineStar className=\"text-gray-400 hover:text-yellow-500\" />\n )}\n </button>\n </div>\n )\n}\n\ntype NavigationTreeFlat = NavigationTree & { parents: string[] }\n\ntype NavItemInfo = {\n key: string\n path: string\n title: string\n}\n\nconst flattenNavTree = (\n navTree: NavigationTree[],\n): Map<string, NavItemInfo> => {\n const map = new Map<string, NavItemInfo>()\n\n const walk = (items: NavigationTree[]) => {\n for (const item of items) {\n if (item.type === NAV_ITEM_TYPE_ITEM && item.path) {\n map.set(item.key, {\n key: item.key,\n path: item.path,\n title: item.title,\n })\n }\n if (item.subMenu && item.subMenu.length > 0) {\n walk(item.subMenu)\n }\n }\n }\n\n walk(navTree)\n return map\n}\n\nconst navItemMap = flattenNavTree(navigationConfig)\n\nconst _Search = ({ className }: { className?: string }) => {\n const [loading, setLoading] = useState(false)\n const [searchDialogOpen, setSearchDialogOpen] = useState(false)\n const [searchResult, setSearchResult] = useState<SearchResult[]>([])\n const [noResult, setNoResult] = useState(false)\n const userAuthority = useSessionUser((state) => state.user.authority)\n\n // -- Favorites state --\n const [favDialogOpen, setFavDialogOpen] = useState(false)\n const [favLoading, setFavLoading] = useState(false)\n const [favorites, setFavorites] = useState<TFavoritoMenuResponse[]>([])\n const [removingId, setRemovingId] = useState<number | null>(null)\n const [favoritedKeys, setFavoritedKeys] = useState<Set<string>>(new Set())\n const [togglingKeys, setTogglingKeys] = useState<Set<string>>(new Set())\n const userId = useSessionUser((state) => state.user.userId)\n\n const loadFavorites = async () => {\n if (!userId) return\n setFavLoading(true)\n try {\n const data = await apiFindFavoritosByUsuario(Number(userId))\n setFavorites(data)\n setFavoritedKeys(new Set(data.map((f) => f.menuKey)))\n } catch {\n toast.push(\n <Notification title=\"Erro\" type=\"danger\">\n Falha ao carregar favoritos.\n </Notification>,\n )\n setFavorites([])\n setFavoritedKeys(new Set())\n } finally {\n setFavLoading(false)\n }\n }\n\n const handleFavRemove = async (id: number) => {\n setRemovingId(id)\n try {\n await apiDeleteFavoritoMenu(id)\n setFavorites((prev) => prev.filter((f) => f.id !== id))\n setFavoritedKeys((prev) => {\n const next = new Set(prev)\n const removed = favorites.find((f) => f.id === id)\n if (removed) next.delete(removed.menuKey)\n return next\n })\n } catch {\n toast.push(\n <Notification title=\"Erro\" type=\"danger\">\n Falha ao remover favorito.\n </Notification>,\n )\n } finally {\n setRemovingId(null)\n }\n }\n\n const handleFavToggle = async (menuKey: string) => {\n if (!userId || togglingKeys.has(menuKey)) return\n setTogglingKeys((prev) => new Set(prev).add(menuKey))\n try {\n if (favoritedKeys.has(menuKey)) {\n const fav = favorites.find((f) => f.menuKey === menuKey)\n if (fav) {\n await apiDeleteFavoritoMenu(fav.id)\n setFavorites((prev) => prev.filter((f) => f.id !== fav.id))\n setFavoritedKeys((prev) => {\n const next = new Set(prev)\n next.delete(menuKey)\n return next\n })\n }\n } else {\n const created = await apiCreateFavoritoMenu({ menuKey })\n setFavorites((prev) => [...prev, created])\n setFavoritedKeys((prev) => new Set(prev).add(menuKey))\n }\n } catch {\n toast.push(\n <Notification title=\"Erro\" type=\"danger\">\n {favoritedKeys.has(menuKey)\n ? 'Falha ao remover favorito.'\n : 'Falha ao adicionar favorito.'}\n </Notification>,\n )\n } finally {\n setTogglingKeys((prev) => {\n const next = new Set(prev)\n next.delete(menuKey)\n return next\n })\n }\n }\n\n const handleFavOpen = () => {\n setFavDialogOpen(true)\n }\n\n const handleFavClose = () => {\n setFavDialogOpen(false)\n }\n\n useEffect(() => {\n if (favDialogOpen) {\n loadFavorites()\n }\n }, [favDialogOpen, userId])\n\n // Also load favorites when search opens (for star toggles in results)\n useEffect(() => {\n if (searchDialogOpen && userId) {\n loadFavorites()\n }\n }, [searchDialogOpen, userId])\n\n const enrichedFavorites = useMemo(() => {\n return favorites.map((fav) => ({\n ...fav,\n navInfo: navItemMap.get(fav.menuKey),\n }))\n }, [favorites])\n\n // -- end favorites state --\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleReset = () => {\n setNoResult(false)\n setSearchResult([])\n }\n\n const handleSearchOpen = () => {\n setSearchDialogOpen(true)\n }\n\n const handleSearchClose = () => {\n setSearchDialogOpen(false)\n handleReset()\n }\n\n const debounceFn = debounce(handleDebounceFn, 750)\n\n const { t } = useTranslation()\n\n const flatNavTree = useMemo(() => {\n const arr: NavigationTreeFlat[] = []\n const filteredNavigationTree = filterNavigationByAuthority(\n navigationConfig,\n userAuthority || [],\n )\n\n const makeflat = (item: NavigationTree, parents: string[]) => {\n if (Array.isArray(item.subMenu) && item.subMenu.length > 0) {\n item.subMenu.forEach((item) =>\n makeflat(item, [...parents, t(item.translateKey)]),\n )\n }\n arr.push({ ...item, parents })\n }\n\n filteredNavigationTree.forEach(function f(item) {\n makeflat(item, [t(item.translateKey)])\n })\n\n return arr\n }, [userAuthority, t])\n\n const filterNavigationTreeFlat = (\n text: string,\n tree: NavigationTreeFlat[],\n ): NavigationTreeFlat[] => {\n const results = tree.filter(\n (item) =>\n item.type === NAV_ITEM_TYPE_ITEM &&\n item.parents.join().toUpperCase().includes(text.toUpperCase()),\n )\n\n return results\n }\n\n function navTreeFlatToSearchResult(\n tree: NavigationTreeFlat[],\n ): SearchResult[] {\n const navTreeSearchResult: SearchResult = {\n title: t('base.layout.search.results.navTree'),\n data: [],\n }\n tree.forEach((item) => {\n navTreeSearchResult.data.push({\n category: item.path,\n categoryTitle: item.title,\n icon: item.icon,\n key: item.key,\n path: item.path,\n title: t(item.translateKey, item.title),\n breadcrumbs: item.parents,\n })\n })\n return [navTreeSearchResult]\n }\n\n async function handleDebounceFn(query: string) {\n if (!query) {\n setLoading(false)\n setSearchResult([])\n return\n }\n\n if (noResult) {\n setNoResult(false)\n }\n\n const res = await filterNavigationTreeFlat(query, flatNavTree)\n\n if (res) {\n if (res.length === 0) {\n setNoResult(true)\n setSearchResult([])\n } else {\n setSearchResult(navTreeFlatToSearchResult(res))\n }\n }\n\n setLoading(false)\n }\n\n const handleSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n setLoading(true)\n debounceFn(e.target.value)\n }\n\n useEffect(() => {\n if (searchDialogOpen) {\n const timeout = setTimeout(() => inputRef.current?.focus(), 100)\n return () => {\n clearTimeout(timeout)\n }\n }\n }, [searchDialogOpen])\n\n const handleNavigate = () => {\n handleSearchClose()\n }\n\n return (\n <>\n <div className=\"flex items-center gap-1\">\n <div\n className={classNames(className, 'text-2xl')}\n onClick={handleSearchOpen}\n >\n <PiMagnifyingGlassDuotone />\n </div>\n <div\n className={classNames(className, 'text-2xl')}\n onClick={handleFavOpen}\n >\n <HiOutlineStar />\n </div>\n </div>\n {/* Search dialog */}\n <Dialog\n contentClassName=\"p-0\"\n isOpen={searchDialogOpen}\n closable={false}\n onRequestClose={handleSearchClose}\n >\n <div>\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 dark:border-gray-600\">\n <div className=\"flex items-center\">\n <HiOutlineSearch className=\"text-xl\" />\n <input\n ref={inputRef}\n className=\"block w-full bg-transparent p-4 text-base text-gray-900 outline-none ring-0 dark:text-gray-100\"\n placeholder={t(\n 'common.input.placeholder.search',\n )}\n onChange={handleSearch}\n />\n </div>\n <Button size=\"xs\" onClick={handleSearchClose}>\n Esc\n </Button>\n </div>\n <div className=\"px-5 py-6\">\n {loading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner size={40} />\n </div>\n ) : (\n <ScrollBar className=\"max-h-[350px] overflow-y-auto\">\n {searchResult.map((result) => (\n <div key={result.title} className=\"mb-4\">\n <h6 className=\"mb-3\">{result.title}</h6>\n {result.data.map((data, index) => (\n <ListItem\n key={data.title + index}\n icon={data.icon}\n breadcrumbs={data.breadcrumbs}\n label={data.title}\n url={data.path}\n keyWord={\n inputRef.current?.value ||\n ''\n }\n onNavigate={handleNavigate}\n menuKey={data.key}\n isFavorited={favoritedKeys.has(\n data.key,\n )}\n favToggling={togglingKeys.has(\n data.key,\n )}\n onToggleFavorite={\n handleFavToggle\n }\n />\n ))}\n </div>\n ))}\n {searchResult.length === 0 && noResult && (\n <div className=\"my-10 text-center text-lg\">\n <span className=\"pr-1\">\n {t('common.status.noResultsFor')}\n </span>\n <span className=\"heading-text\">\n {`'`}\n {inputRef.current?.value}\n {`'`}\n </span>\n </div>\n )}\n </ScrollBar>\n )}\n </div>\n </div>\n </Dialog>\n {/* Favorites dialog */}\n <Dialog\n contentClassName=\"p-0\"\n isOpen={favDialogOpen}\n closable={false}\n onRequestClose={handleFavClose}\n >\n <div>\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 py-4 dark:border-gray-600\">\n <div className=\"flex items-center gap-2\">\n <HiStar className=\"text-xl text-yellow-500\" />\n <h6 className=\"text-base font-semibold text-gray-900 dark:text-gray-100\">\n Favoritos\n </h6>\n </div>\n <Button size=\"xs\" onClick={handleFavClose}>\n Esc\n </Button>\n </div>\n <div className=\"px-5 py-6\">\n {favLoading ? (\n <div className=\"flex items-center justify-center py-10\">\n <Spinner size={40} />\n </div>\n ) : (\n <ScrollBar className=\"max-h-[350px] overflow-y-auto\">\n {enrichedFavorites.length === 0 ? (\n <div className=\"my-10 text-center text-lg text-gray-500\">\n Nenhum favorito salvo.\n </div>\n ) : (\n <div className=\"flex flex-col gap-1\">\n {enrichedFavorites.map((fav) => (\n <div\n key={fav.id}\n className=\"flex items-center gap-1 pr-4\"\n >\n <Link\n to={\n fav.navInfo?.path || '#'\n }\n className=\"flex-1\"\n onClick={handleFavClose}\n >\n <div className=\"user-select flex cursor-pointer items-center justify-between rounded-xl p-3 hover:bg-gray-100 dark:hover:bg-gray-700\">\n <div className=\"w-72\">\n <div className=\"overflow-hidden text-gray-900 dark:text-gray-300\">\n {fav.navInfo\n ?.title ||\n fav.menuKey}\n </div>\n </div>\n <HiChevronRight className=\"h-6 w-6 shrink-0\" />\n </div>\n </Link>\n <button\n type=\"button\"\n className=\"flex-shrink-0 rounded-lg p-2 text-lg text-gray-400 transition-colors hover:bg-gray-100 hover:text-red-500 dark:hover:bg-gray-700\"\n disabled={\n removingId === fav.id\n }\n onClick={(e) => {\n e.stopPropagation()\n handleFavRemove(fav.id)\n }}\n >\n {removingId === fav.id ? (\n <Spinner size={18} />\n ) : (\n <HiOutlineTrash />\n )}\n </button>\n </div>\n ))}\n </div>\n )}\n </ScrollBar>\n )}\n </div>\n </div>\n </Dialog>\n </>\n )\n}\n\nconst Search = withHeaderItem(_Search)\n\nexport default Search\n"],"names":["breadcrumbs","item"],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sources":["../../../../lib/@ecme/components/template/Search.tsx"],"sourcesContent":["import { NavigationTree } from '@/@types/navigation'\nimport Button from '@/components/ui/Button'\nimport Dialog from '@/components/ui/Dialog'\nimport Notification from '@/components/ui/Notification'\nimport ScrollBar from '@/components/ui/ScrollBar'\nimport toast from '@/components/ui/toast'\nimport navigationConfig from '@/configs/navigation.config'\nimport { NAV_ITEM_TYPE_ITEM } from '@/constants/navigation.constant'\nimport { useSessionUser } from '@/store/authStore'\nimport classNames from '@/utils/classNames'\nimport withHeaderItem from '@/utils/hoc/withHeaderItem'\nimport { TFavoritoMenuResponse } from '@base/@types/api/response/dadosMestres/TFavoritoMenuResponse'\nimport {\n apiCreateFavoritoMenu,\n apiDeleteFavoritoMenu,\n apiFindFavoritosByUsuario,\n} from '@base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService'\nimport debounce from 'lodash/debounce'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport Highlighter from 'react-highlight-words'\nimport { useTranslation } from 'react-i18next'\nimport {\n HiChevronRight,\n HiOutlineSearch,\n HiOutlineStar,\n HiOutlineTrash,\n HiStar,\n} from 'react-icons/hi'\nimport { PiMagnifyingGlassDuotone } from 'react-icons/pi'\nimport { Link } from 'react-router-dom'\nimport { Spinner } from '../ui'\n\ntype SearchData = {\n key: string\n path: string\n title: string\n icon: string\n category: string\n categoryTitle: string\n breadcrumbs: string[]\n}\n\ntype SearchResult = {\n title: string\n data: SearchData[]\n}\n\nconst filterNavigationByAuthority = (\n navTree: NavigationTree[],\n userAuthority: string[],\n): NavigationTree[] => {\n return navTree.reduce((acc: NavigationTree[], nav) => {\n if (nav.excludeWhenHasPaths && nav.excludeWhenHasPaths.length > 0) {\n const shouldExclude = nav.excludeWhenHasPaths.some((path) =>\n userAuthority.includes(path),\n )\n\n if (shouldExclude) {\n return acc\n }\n }\n\n if (nav.subMenu && nav.subMenu.length > 0) {\n const filteredSubMenu = filterNavigationByAuthority(\n nav.subMenu,\n userAuthority,\n )\n\n if (filteredSubMenu.length > 0) {\n acc.push({ ...nav, subMenu: filteredSubMenu })\n }\n } else if (\n (nav.path && userAuthority.includes(nav.path)) ||\n !nav.path\n ) {\n acc.push(nav)\n }\n\n return acc\n }, [])\n}\n\nconst ListItem = (props: {\n icon: string\n label: string\n url: string\n isLast?: boolean\n keyWord: string\n breadcrumbs: string[]\n onNavigate: () => void\n menuKey: string\n isFavorited: boolean\n favToggling: boolean\n onToggleFavorite: (menuKey: string) => void\n}) => {\n const {\n icon,\n label,\n url = '',\n keyWord,\n onNavigate,\n breadcrumbs,\n menuKey,\n isFavorited,\n favToggling,\n onToggleFavorite,\n } = props\n\n const makeBreadcrumbs = (breadcrumbs: string[]) => {\n return breadcrumbs.join(' / ')\n }\n\n return (\n <div className=\"flex items-center gap-1 pr-4\">\n <Link to={url} onClick={onNavigate} className=\"flex-1\">\n <div\n className={classNames(\n 'flex items-center justify-between rounded-xl p-3 cursor-pointer user-select',\n 'hover:bg-gray-100 dark:hover:bg-gray-700',\n )}\n >\n <div className=\"w-72\">\n <div className=\"overflow-hidden text-gray-900 dark:text-gray-300\">\n <Highlighter\n autoEscape\n highlightClassName={classNames(\n 'text-primary',\n 'underline bg-transparent font-semibold dark:text-white',\n )}\n searchWords={[keyWord]}\n textToHighlight={makeBreadcrumbs(breadcrumbs)}\n />\n </div>\n </div>\n <HiChevronRight className=\"shrink-0 text-lg\" />\n </div>\n </Link>\n\n <button\n type=\"button\"\n className=\"flex-shrink-0 rounded-lg p-2 text-lg transition-colors hover:bg-gray-100 dark:hover:bg-gray-700\"\n disabled={favToggling}\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n onToggleFavorite(menuKey)\n }}\n >\n {favToggling ? (\n <Spinner size={18} />\n ) : isFavorited ? (\n <HiStar className=\"text-yellow-500\" />\n ) : (\n <HiOutlineStar className=\"text-gray-400 hover:text-yellow-500\" />\n )}\n </button>\n </div>\n )\n}\n\ntype NavigationTreeFlat = NavigationTree & { parents: string[] }\n\ntype NavItemInfo = {\n key: string\n path: string\n title: string\n}\n\nconst flattenNavTree = (\n navTree: NavigationTree[],\n): Map<string, NavItemInfo> => {\n const map = new Map<string, NavItemInfo>()\n\n const walk = (items: NavigationTree[]) => {\n for (const item of items) {\n if (item.type === NAV_ITEM_TYPE_ITEM && item.path) {\n map.set(item.key, {\n key: item.key,\n path: item.path,\n title: item.title,\n })\n }\n if (item.subMenu && item.subMenu.length > 0) {\n walk(item.subMenu)\n }\n }\n }\n\n walk(navTree)\n return map\n}\n\nconst navItemMap = flattenNavTree(navigationConfig)\n\nconst _Search = ({ className }: { className?: string }) => {\n const [loading, setLoading] = useState(false)\n const [searchDialogOpen, setSearchDialogOpen] = useState(false)\n const [searchResult, setSearchResult] = useState<SearchResult[]>([])\n const [noResult, setNoResult] = useState(false)\n const userAuthority = useSessionUser((state) => state.user.authority)\n\n // -- Favorites state --\n const [favDialogOpen, setFavDialogOpen] = useState(false)\n const [favLoading, setFavLoading] = useState(false)\n const [favorites, setFavorites] = useState<TFavoritoMenuResponse[]>([])\n const [removingId, setRemovingId] = useState<number | null>(null)\n const [favoritedKeys, setFavoritedKeys] = useState<Set<string>>(new Set())\n const [togglingKeys, setTogglingKeys] = useState<Set<string>>(new Set())\n const userId = useSessionUser((state) => state.user.userId)\n\n const loadFavorites = async () => {\n if (!userId) return\n setFavLoading(true)\n try {\n const data = await apiFindFavoritosByUsuario(Number(userId))\n setFavorites(data)\n setFavoritedKeys(new Set(data.map((f) => f.menuKey)))\n } catch {\n toast.push(\n <Notification title=\"Erro\" type=\"danger\">\n Falha ao carregar favoritos.\n </Notification>,\n )\n setFavorites([])\n setFavoritedKeys(new Set())\n } finally {\n setFavLoading(false)\n }\n }\n\n const handleFavRemove = async (id: number) => {\n setRemovingId(id)\n try {\n await apiDeleteFavoritoMenu(id)\n setFavorites((prev) => prev.filter((f) => f.id !== id))\n setFavoritedKeys((prev) => {\n const next = new Set(prev)\n const removed = favorites.find((f) => f.id === id)\n if (removed) next.delete(removed.menuKey)\n return next\n })\n } catch {\n toast.push(\n <Notification title=\"Erro\" type=\"danger\">\n Falha ao remover favorito.\n </Notification>,\n )\n } finally {\n setRemovingId(null)\n }\n }\n\n const handleFavToggle = async (menuKey: string) => {\n if (!userId || togglingKeys.has(menuKey)) return\n setTogglingKeys((prev) => new Set(prev).add(menuKey))\n try {\n if (favoritedKeys.has(menuKey)) {\n const fav = favorites.find((f) => f.menuKey === menuKey)\n if (fav) {\n await apiDeleteFavoritoMenu(fav.id)\n setFavorites((prev) => prev.filter((f) => f.id !== fav.id))\n setFavoritedKeys((prev) => {\n const next = new Set(prev)\n next.delete(menuKey)\n return next\n })\n }\n } else {\n const created = await apiCreateFavoritoMenu({ menuKey })\n setFavorites((prev) => [...prev, created])\n setFavoritedKeys((prev) => new Set(prev).add(menuKey))\n }\n } catch {\n toast.push(\n <Notification title=\"Erro\" type=\"danger\">\n {favoritedKeys.has(menuKey)\n ? 'Falha ao remover favorito.'\n : 'Falha ao adicionar favorito.'}\n </Notification>,\n )\n } finally {\n setTogglingKeys((prev) => {\n const next = new Set(prev)\n next.delete(menuKey)\n return next\n })\n }\n }\n\n const handleFavOpen = () => {\n setFavDialogOpen(true)\n }\n\n const handleFavClose = () => {\n setFavDialogOpen(false)\n }\n\n useEffect(() => {\n if (favDialogOpen) {\n loadFavorites()\n }\n }, [favDialogOpen, userId])\n\n // Also load favorites when search opens (for star toggles in results)\n useEffect(() => {\n if (searchDialogOpen && userId) {\n loadFavorites()\n }\n }, [searchDialogOpen, userId])\n\n const enrichedFavorites = useMemo(() => {\n return favorites.map((fav) => ({\n ...fav,\n navInfo: navItemMap.get(fav.menuKey),\n }))\n }, [favorites])\n\n // -- end favorites state --\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleReset = () => {\n setNoResult(false)\n setSearchResult([])\n }\n\n const handleSearchOpen = () => {\n setSearchDialogOpen(true)\n }\n\n const handleSearchClose = () => {\n setSearchDialogOpen(false)\n handleReset()\n }\n\n const debounceFn = debounce(handleDebounceFn, 750)\n\n const { t } = useTranslation()\n\n const flatNavTree = useMemo(() => {\n const arr: NavigationTreeFlat[] = []\n const filteredNavigationTree = filterNavigationByAuthority(\n navigationConfig,\n userAuthority || [],\n )\n\n const makeflat = (item: NavigationTree, parents: string[]) => {\n if (Array.isArray(item.subMenu) && item.subMenu.length > 0) {\n item.subMenu.forEach((item) =>\n makeflat(item, [...parents, t(item.translateKey)]),\n )\n }\n arr.push({ ...item, parents })\n }\n\n filteredNavigationTree.forEach(function f(item) {\n makeflat(item, [t(item.translateKey)])\n })\n\n return arr\n }, [userAuthority, t])\n\n const filterNavigationTreeFlat = (\n text: string,\n tree: NavigationTreeFlat[],\n ): NavigationTreeFlat[] => {\n const results = tree.filter(\n (item) =>\n item.type === NAV_ITEM_TYPE_ITEM &&\n item.parents.join().toUpperCase().includes(text.toUpperCase()),\n )\n\n return results\n }\n\n function navTreeFlatToSearchResult(\n tree: NavigationTreeFlat[],\n ): SearchResult[] {\n const navTreeSearchResult: SearchResult = {\n title: t('base.layout.search.results.navTree'),\n data: [],\n }\n tree.forEach((item) => {\n navTreeSearchResult.data.push({\n category: item.path,\n categoryTitle: item.title,\n icon: item.icon,\n key: item.key,\n path: item.path,\n title: t(item.translateKey, item.title),\n breadcrumbs: item.parents,\n })\n })\n return [navTreeSearchResult]\n }\n\n async function handleDebounceFn(query: string) {\n if (!query) {\n setLoading(false)\n setSearchResult([])\n return\n }\n\n if (noResult) {\n setNoResult(false)\n }\n\n const res = await filterNavigationTreeFlat(query, flatNavTree)\n\n if (res) {\n if (res.length === 0) {\n setNoResult(true)\n setSearchResult([])\n } else {\n setSearchResult(navTreeFlatToSearchResult(res))\n }\n }\n\n setLoading(false)\n }\n\n const handleSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n setLoading(true)\n debounceFn(e.target.value)\n }\n\n useEffect(() => {\n if (searchDialogOpen) {\n const timeout = setTimeout(() => inputRef.current?.focus(), 100)\n return () => {\n clearTimeout(timeout)\n }\n }\n }, [searchDialogOpen])\n\n const handleNavigate = () => {\n handleSearchClose()\n }\n\n return (\n <>\n <div className=\"flex items-center gap-1\">\n <div\n className={classNames(className, 'text-2xl')}\n onClick={handleSearchOpen}\n >\n <PiMagnifyingGlassDuotone />\n </div>\n <div\n className={classNames(className, 'text-2xl')}\n onClick={handleFavOpen}\n >\n <HiOutlineStar />\n </div>\n </div>\n {/* Search dialog */}\n <Dialog\n contentClassName=\"p-0\"\n isOpen={searchDialogOpen}\n closable={false}\n onRequestClose={handleSearchClose}\n >\n <div>\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 dark:border-gray-600\">\n <div className=\"flex items-center\">\n <HiOutlineSearch className=\"text-xl\" />\n <input\n ref={inputRef}\n className=\"block w-full bg-transparent p-4 text-base text-gray-900 outline-none ring-0 dark:text-gray-100\"\n placeholder={t(\n 'common.input.placeholder.search',\n )}\n onChange={handleSearch}\n />\n </div>\n <Button size=\"xs\" onClick={handleSearchClose}>\n Esc\n </Button>\n </div>\n <div className=\"px-5 py-6\">\n {loading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner size={40} />\n </div>\n ) : (\n <ScrollBar className=\"max-h-[350px] overflow-y-auto\">\n {searchResult.map((result) => (\n <div key={result.title} className=\"mb-4\">\n <h6 className=\"mb-3\">{result.title}</h6>\n {result.data.map((data, index) => (\n <ListItem\n key={data.title + index}\n icon={data.icon}\n breadcrumbs={data.breadcrumbs}\n label={data.title}\n url={data.path}\n keyWord={\n inputRef.current?.value ||\n ''\n }\n onNavigate={handleNavigate}\n menuKey={data.key}\n isFavorited={favoritedKeys.has(\n data.key,\n )}\n favToggling={togglingKeys.has(\n data.key,\n )}\n onToggleFavorite={\n handleFavToggle\n }\n />\n ))}\n </div>\n ))}\n {searchResult.length === 0 && noResult && (\n <div className=\"my-10 text-center text-lg\">\n <span className=\"pr-1\">\n {t('common.status.noResultsFor')}\n </span>\n <span className=\"heading-text\">\n {`'`}\n {inputRef.current?.value}\n {`'`}\n </span>\n </div>\n )}\n </ScrollBar>\n )}\n </div>\n </div>\n </Dialog>\n {/* Favorites dialog */}\n <Dialog\n contentClassName=\"p-0\"\n isOpen={favDialogOpen}\n closable={false}\n onRequestClose={handleFavClose}\n >\n <div>\n <div className=\"flex items-center justify-between border-b border-gray-200 px-4 py-4 dark:border-gray-600\">\n <div className=\"flex items-center gap-2\">\n <HiStar className=\"text-xl text-yellow-500\" />\n <h6 className=\"text-base font-semibold text-gray-900 dark:text-gray-100\">\n Favoritos\n </h6>\n </div>\n <Button size=\"xs\" onClick={handleFavClose}>\n Esc\n </Button>\n </div>\n <div className=\"px-5 py-6\">\n {favLoading ? (\n <div className=\"flex items-center justify-center py-10\">\n <Spinner size={40} />\n </div>\n ) : (\n <ScrollBar className=\"max-h-[350px] overflow-y-auto\">\n {enrichedFavorites.length === 0 ? (\n <div className=\"my-10 text-center text-lg text-gray-500\">\n Nenhum favorito salvo.\n </div>\n ) : (\n <div className=\"flex flex-col gap-1\">\n {enrichedFavorites.map((fav) => (\n <div\n key={fav.id}\n className=\"flex items-center gap-1 pr-4\"\n >\n <Link\n to={\n fav.navInfo?.path || '#'\n }\n className=\"flex-1\"\n onClick={handleFavClose}\n >\n <div className=\"user-select flex cursor-pointer items-center justify-between rounded-xl p-3 hover:bg-gray-100 dark:hover:bg-gray-700\">\n <div className=\"w-72\">\n <div className=\"overflow-hidden text-gray-900 dark:text-gray-300\">\n {fav.navInfo\n ?.title ||\n fav.menuKey}\n </div>\n </div>\n <HiChevronRight className=\"h-6 w-6 shrink-0\" />\n </div>\n </Link>\n <button\n type=\"button\"\n className=\"flex-shrink-0 rounded-lg p-2 text-lg text-gray-400 transition-colors hover:bg-gray-100 hover:text-red-500 dark:hover:bg-gray-700\"\n disabled={\n removingId === fav.id\n }\n onClick={(e) => {\n e.stopPropagation()\n handleFavRemove(fav.id)\n }}\n >\n {removingId === fav.id ? (\n <Spinner size={18} />\n ) : (\n <HiOutlineTrash />\n )}\n </button>\n </div>\n ))}\n </div>\n )}\n </ScrollBar>\n )}\n </div>\n </div>\n </Dialog>\n </>\n )\n}\n\nconst Search = withHeaderItem(_Search)\n\nexport default Search\n"],"names":["breadcrumbs","item"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,MAAM,8BAA8B,CAChC,SACA,kBACmB;AACnB,SAAO,QAAQ,OAAO,CAAC,KAAuB,QAAQ;AAClD,QAAI,IAAI,uBAAuB,IAAI,oBAAoB,SAAS,GAAG;AAC/D,YAAM,gBAAgB,IAAI,oBAAoB;AAAA,QAAK,CAAC,SAChD,cAAc,SAAS,IAAI;AAAA,MAAA;AAG/B,UAAI,eAAe;AACf,eAAO;AAAA,MACX;AAAA,IACJ;AAEA,QAAI,IAAI,WAAW,IAAI,QAAQ,SAAS,GAAG;AACvC,YAAM,kBAAkB;AAAA,QACpB,IAAI;AAAA,QACJ;AAAA,MAAA;AAGJ,UAAI,gBAAgB,SAAS,GAAG;AAC5B,YAAI,KAAK,EAAE,GAAG,KAAK,SAAS,iBAAiB;AAAA,MACjD;AAAA,IACJ,WACK,IAAI,QAAQ,cAAc,SAAS,IAAI,IAAI,KAC5C,CAAC,IAAI,MACP;AACE,UAAI,KAAK,GAAG;AAAA,IAChB;AAEA,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AAEA,MAAM,WAAW,CAAC,UAYZ;AACF,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA;AAEJ,QAAM,kBAAkB,CAACA,iBAA0B;AAC/C,WAAOA,aAAY,KAAK,KAAK;AAAA,EACjC;AAEA,SACI,qBAAC,OAAA,EAAI,WAAU,gCACX,UAAA;AAAA,IAAA,oBAAC,QAAK,IAAI,KAAK,SAAS,YAAY,WAAU,UAC1C,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA;AAAA,QAAA;AAAA,QAGJ,UAAA;AAAA,UAAA,oBAAC,SAAI,WAAU,QACX,UAAA,oBAAC,OAAA,EAAI,WAAU,oDACX,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,YAAU;AAAA,cACV,oBAAoB;AAAA,gBAChB;AAAA,gBACA;AAAA,cAAA;AAAA,cAEJ,aAAa,CAAC,OAAO;AAAA,cACrB,iBAAiB,gBAAgB,WAAW;AAAA,YAAA;AAAA,UAAA,GAEpD,EAAA,CACJ;AAAA,UACA,oBAAC,gBAAA,EAAe,WAAU,mBAAA,CAAmB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAErD;AAAA,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,WAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS,CAAC,MAAM;AACZ,YAAE,eAAA;AACF,YAAE,gBAAA;AACF,2BAAiB,OAAO;AAAA,QAC5B;AAAA,QAEC,UAAA,cACG,oBAAC,SAAA,EAAQ,MAAM,IAAI,IACnB,cACA,oBAAC,QAAA,EAAO,WAAU,mBAAkB,IAEpC,oBAAC,eAAA,EAAc,WAAU,sCAAA,CAAsC;AAAA,MAAA;AAAA,IAAA;AAAA,EAEvE,GACJ;AAER;AAUA,MAAM,iBAAiB,CACnB,YAC2B;AAC3B,QAAM,0BAAU,IAAA;AAEhB,QAAM,OAAO,CAAC,UAA4B;AACtC,eAAW,QAAQ,OAAO;AACtB,UAAI,KAAK,SAAS,sBAAsB,KAAK,MAAM;AAC/C,YAAI,IAAI,KAAK,KAAK;AAAA,UACd,KAAK,KAAK;AAAA,UACV,MAAM,KAAK;AAAA,UACX,OAAO,KAAK;AAAA,QAAA,CACf;AAAA,MACL;AACA,UAAI,KAAK,WAAW,KAAK,QAAQ,SAAS,GAAG;AACzC,aAAK,KAAK,OAAO;AAAA,MACrB;AAAA,IACJ;AAAA,EACJ;AAEA,OAAK,OAAO;AACZ,SAAO;AACX;AAEA,MAAM,aAAa,eAAe,gBAAgB;AAElD,MAAM,UAAU,CAAC,EAAE,gBAAwC;AACvD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAC9D,QAAM,CAAC,cAAc,eAAe,IAAI,SAAyB,CAAA,CAAE;AACnE,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,KAAK,SAAS;AAGpE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AACxD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAkC,CAAA,CAAE;AACtE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAwB,IAAI;AAChE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAsB,oBAAI,KAAK;AACzE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAsB,oBAAI,KAAK;AACvE,QAAM,SAAS,eAAe,CAAC,UAAU,MAAM,KAAK,MAAM;AAE1D,QAAM,gBAAgB,YAAY;AAC9B,QAAI,CAAC,OAAQ;AACb,kBAAc,IAAI;AAClB,QAAI;AACA,YAAM,OAAO,MAAM,0BAA0B,OAAO,MAAM,CAAC;AAC3D,mBAAa,IAAI;AACjB,uBAAiB,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAAA,IACxD,QAAQ;AACJ,YAAM;AAAA,4BACD,cAAA,EAAa,OAAM,QAAO,MAAK,UAAS,UAAA,+BAAA,CAEzC;AAAA,MAAA;AAEJ,mBAAa,CAAA,CAAE;AACf,uBAAiB,oBAAI,KAAK;AAAA,IAC9B,UAAA;AACI,oBAAc,KAAK;AAAA,IACvB;AAAA,EACJ;AAEA,QAAM,kBAAkB,OAAO,OAAe;AAC1C,kBAAc,EAAE;AAChB,QAAI;AACA,YAAM,sBAAsB,EAAE;AAC9B,mBAAa,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AACtD,uBAAiB,CAAC,SAAS;AACvB,cAAM,OAAO,IAAI,IAAI,IAAI;AACzB,cAAM,UAAU,UAAU,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AACjD,YAAI,QAAS,MAAK,OAAO,QAAQ,OAAO;AACxC,eAAO;AAAA,MACX,CAAC;AAAA,IACL,QAAQ;AACJ,YAAM;AAAA,4BACD,cAAA,EAAa,OAAM,QAAO,MAAK,UAAS,UAAA,6BAAA,CAEzC;AAAA,MAAA;AAAA,IAER,UAAA;AACI,oBAAc,IAAI;AAAA,IACtB;AAAA,EACJ;AAEA,QAAM,kBAAkB,OAAO,YAAoB;AAC/C,QAAI,CAAC,UAAU,aAAa,IAAI,OAAO,EAAG;AAC1C,oBAAgB,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,OAAO,CAAC;AACpD,QAAI;AACA,UAAI,cAAc,IAAI,OAAO,GAAG;AAC5B,cAAM,MAAM,UAAU,KAAK,CAAC,MAAM,EAAE,YAAY,OAAO;AACvD,YAAI,KAAK;AACL,gBAAM,sBAAsB,IAAI,EAAE;AAClC,uBAAa,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;AAC1D,2BAAiB,CAAC,SAAS;AACvB,kBAAM,OAAO,IAAI,IAAI,IAAI;AACzB,iBAAK,OAAO,OAAO;AACnB,mBAAO;AAAA,UACX,CAAC;AAAA,QACL;AAAA,MACJ,OAAO;AACH,cAAM,UAAU,MAAM,sBAAsB,EAAE,SAAS;AACvD,qBAAa,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC;AACzC,yBAAiB,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,OAAO,CAAC;AAAA,MACzD;AAAA,IACJ,QAAQ;AACJ,YAAM;AAAA,QACF,oBAAC,cAAA,EAAa,OAAM,QAAO,MAAK,UAC3B,UAAA,cAAc,IAAI,OAAO,IACpB,+BACA,+BAAA,CACV;AAAA,MAAA;AAAA,IAER,UAAA;AACI,sBAAgB,CAAC,SAAS;AACtB,cAAM,OAAO,IAAI,IAAI,IAAI;AACzB,aAAK,OAAO,OAAO;AACnB,eAAO;AAAA,MACX,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,QAAM,gBAAgB,MAAM;AACxB,qBAAiB,IAAI;AAAA,EACzB;AAEA,QAAM,iBAAiB,MAAM;AACzB,qBAAiB,KAAK;AAAA,EAC1B;AAEA,YAAU,MAAM;AACZ,QAAI,eAAe;AACf,oBAAA;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,eAAe,MAAM,CAAC;AAG1B,YAAU,MAAM;AACZ,QAAI,oBAAoB,QAAQ;AAC5B,oBAAA;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,kBAAkB,MAAM,CAAC;AAE7B,QAAM,oBAAoB,QAAQ,MAAM;AACpC,WAAO,UAAU,IAAI,CAAC,SAAS;AAAA,MAC3B,GAAG;AAAA,MACH,SAAS,WAAW,IAAI,IAAI,OAAO;AAAA,IAAA,EACrC;AAAA,EACN,GAAG,CAAC,SAAS,CAAC;AAId,QAAM,WAAW,OAAyB,IAAI;AAE9C,QAAM,cAAc,MAAM;AACtB,gBAAY,KAAK;AACjB,oBAAgB,CAAA,CAAE;AAAA,EACtB;AAEA,QAAM,mBAAmB,MAAM;AAC3B,wBAAoB,IAAI;AAAA,EAC5B;AAEA,QAAM,oBAAoB,MAAM;AAC5B,wBAAoB,KAAK;AACzB,gBAAA;AAAA,EACJ;AAEA,QAAM,aAAa,SAAS,kBAAkB,GAAG;AAEjD,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,QAAM,cAAc,QAAQ,MAAM;AAC9B,UAAM,MAA4B,CAAA;AAClC,UAAM,yBAAyB;AAAA,MAC3B;AAAA,MACA,iBAAiB,CAAA;AAAA,IAAC;AAGtB,UAAM,WAAW,CAAC,MAAsB,YAAsB;AAC1D,UAAI,MAAM,QAAQ,KAAK,OAAO,KAAK,KAAK,QAAQ,SAAS,GAAG;AACxD,aAAK,QAAQ;AAAA,UAAQ,CAACC,UAClB,SAASA,OAAM,CAAC,GAAG,SAAS,EAAEA,MAAK,YAAY,CAAC,CAAC;AAAA,QAAA;AAAA,MAEzD;AACA,UAAI,KAAK,EAAE,GAAG,MAAM,SAAS;AAAA,IACjC;AAEA,2BAAuB,QAAQ,SAAS,EAAE,MAAM;AAC5C,eAAS,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;AAAA,IACzC,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,eAAe,CAAC,CAAC;AAErB,QAAM,2BAA2B,CAC7B,MACA,SACuB;AACvB,UAAM,UAAU,KAAK;AAAA,MACjB,CAAC,SACG,KAAK,SAAS,sBACd,KAAK,QAAQ,KAAA,EAAO,YAAA,EAAc,SAAS,KAAK,aAAa;AAAA,IAAA;AAGrE,WAAO;AAAA,EACX;AAEA,WAAS,0BACL,MACc;AACd,UAAM,sBAAoC;AAAA,MACtC,OAAO,EAAE,oCAAoC;AAAA,MAC7C,MAAM,CAAA;AAAA,IAAC;AAEX,SAAK,QAAQ,CAAC,SAAS;AACnB,0BAAoB,KAAK,KAAK;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,eAAe,KAAK;AAAA,QACpB,MAAM,KAAK;AAAA,QACX,KAAK,KAAK;AAAA,QACV,MAAM,KAAK;AAAA,QACX,OAAO,EAAE,KAAK,cAAc,KAAK,KAAK;AAAA,QACtC,aAAa,KAAK;AAAA,MAAA,CACrB;AAAA,IACL,CAAC;AACD,WAAO,CAAC,mBAAmB;AAAA,EAC/B;AAEA,iBAAe,iBAAiB,OAAe;AAC3C,QAAI,CAAC,OAAO;AACR,iBAAW,KAAK;AAChB,sBAAgB,CAAA,CAAE;AAClB;AAAA,IACJ;AAEA,QAAI,UAAU;AACV,kBAAY,KAAK;AAAA,IACrB;AAEA,UAAM,MAAM,MAAM,yBAAyB,OAAO,WAAW;AAE7D,QAAI,KAAK;AACL,UAAI,IAAI,WAAW,GAAG;AAClB,oBAAY,IAAI;AAChB,wBAAgB,CAAA,CAAE;AAAA,MACtB,OAAO;AACH,wBAAgB,0BAA0B,GAAG,CAAC;AAAA,MAClD;AAAA,IACJ;AAEA,eAAW,KAAK;AAAA,EACpB;AAEA,QAAM,eAAe,CAAC,MAA2C;AAC7D,eAAW,IAAI;AACf,eAAW,EAAE,OAAO,KAAK;AAAA,EAC7B;AAEA,YAAU,MAAM;AACZ,QAAI,kBAAkB;AAClB,YAAM,UAAU,WAAW,MAAM,SAAS,SAAS,MAAA,GAAS,GAAG;AAC/D,aAAO,MAAM;AACT,qBAAa,OAAO;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,gBAAgB,CAAC;AAErB,QAAM,iBAAiB,MAAM;AACzB,sBAAA;AAAA,EACJ;AAEA,SACI,qBAAA,UAAA,EACI,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAW,WAAW,WAAW,UAAU;AAAA,UAC3C,SAAS;AAAA,UAET,8BAAC,0BAAA,CAAA,CAAyB;AAAA,QAAA;AAAA,MAAA;AAAA,MAE9B;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAW,WAAW,WAAW,UAAU;AAAA,UAC3C,SAAS;AAAA,UAET,8BAAC,eAAA,CAAA,CAAc;AAAA,QAAA;AAAA,MAAA;AAAA,IACnB,GACJ;AAAA,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,kBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,gBAAgB;AAAA,QAEhB,+BAAC,OAAA,EACG,UAAA;AAAA,UAAA,qBAAC,OAAA,EAAI,WAAU,wFACX,UAAA;AAAA,YAAA,qBAAC,OAAA,EAAI,WAAU,qBACX,UAAA;AAAA,cAAA,oBAAC,iBAAA,EAAgB,WAAU,UAAA,CAAU;AAAA,cACrC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,KAAK;AAAA,kBACL,WAAU;AAAA,kBACV,aAAa;AAAA,oBACT;AAAA,kBAAA;AAAA,kBAEJ,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd,GACJ;AAAA,gCACC,QAAA,EAAO,MAAK,MAAK,SAAS,mBAAmB,UAAA,MAAA,CAE9C;AAAA,UAAA,GACJ;AAAA,8BACC,OAAA,EAAI,WAAU,aACV,UAAA,UACG,oBAAC,SAAI,WAAU,oCACX,UAAA,oBAAC,SAAA,EAAQ,MAAM,GAAA,CAAI,EAAA,CACvB,IAEA,qBAAC,WAAA,EAAU,WAAU,iCAChB,UAAA;AAAA,YAAA,aAAa,IAAI,CAAC,WACf,qBAAC,OAAA,EAAuB,WAAU,QAC9B,UAAA;AAAA,cAAA,oBAAC,MAAA,EAAG,WAAU,QAAQ,UAAA,OAAO,OAAM;AAAA,cAClC,OAAO,KAAK,IAAI,CAAC,MAAM,UACpB;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEG,MAAM,KAAK;AAAA,kBACX,aAAa,KAAK;AAAA,kBAClB,OAAO,KAAK;AAAA,kBACZ,KAAK,KAAK;AAAA,kBACV,SACI,SAAS,SAAS,SAClB;AAAA,kBAEJ,YAAY;AAAA,kBACZ,SAAS,KAAK;AAAA,kBACd,aAAa,cAAc;AAAA,oBACvB,KAAK;AAAA,kBAAA;AAAA,kBAET,aAAa,aAAa;AAAA,oBACtB,KAAK;AAAA,kBAAA;AAAA,kBAET,kBACI;AAAA,gBAAA;AAAA,gBAlBC,KAAK,QAAQ;AAAA,cAAA,CAqBzB;AAAA,YAAA,KAzBK,OAAO,KA0BjB,CACH;AAAA,YACA,aAAa,WAAW,KAAK,YAC1B,qBAAC,OAAA,EAAI,WAAU,6BACX,UAAA;AAAA,cAAA,oBAAC,QAAA,EAAK,WAAU,QACX,UAAA,EAAE,4BAA4B,GACnC;AAAA,cACA,qBAAC,QAAA,EAAK,WAAU,gBACX,UAAA;AAAA,gBAAA;AAAA,gBACA,SAAS,SAAS;AAAA,gBAClB;AAAA,cAAA,EAAA,CACL;AAAA,YAAA,EAAA,CACJ;AAAA,UAAA,EAAA,CAER,EAAA,CAER;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,kBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,gBAAgB;AAAA,QAEhB,+BAAC,OAAA,EACG,UAAA;AAAA,UAAA,qBAAC,OAAA,EAAI,WAAU,6FACX,UAAA;AAAA,YAAA,qBAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,cAAA,oBAAC,QAAA,EAAO,WAAU,0BAAA,CAA0B;AAAA,cAC5C,oBAAC,MAAA,EAAG,WAAU,4DAA2D,UAAA,YAAA,CAEzE;AAAA,YAAA,GACJ;AAAA,gCACC,QAAA,EAAO,MAAK,MAAK,SAAS,gBAAgB,UAAA,MAAA,CAE3C;AAAA,UAAA,GACJ;AAAA,UACA,oBAAC,OAAA,EAAI,WAAU,aACV,uBACG,oBAAC,OAAA,EAAI,WAAU,0CACX,8BAAC,SAAA,EAAQ,MAAM,GAAA,CAAI,GACvB,IAEA,oBAAC,WAAA,EAAU,WAAU,iCAChB,4BAAkB,WAAW,IAC1B,oBAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,yBAAA,CAEzD,IAEA,oBAAC,SAAI,WAAU,uBACV,UAAA,kBAAkB,IAAI,CAAC,QACpB;AAAA,YAAC;AAAA,YAAA;AAAA,cAEG,WAAU;AAAA,cAEV,UAAA;AAAA,gBAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,IACI,IAAI,SAAS,QAAQ;AAAA,oBAEzB,WAAU;AAAA,oBACV,SAAS;AAAA,oBAET,UAAA,qBAAC,OAAA,EAAI,WAAU,wHACX,UAAA;AAAA,sBAAA,oBAAC,OAAA,EAAI,WAAU,QACX,UAAA,oBAAC,OAAA,EAAI,WAAU,oDACV,UAAA,IAAI,SACC,SACF,IAAI,QAAA,CACZ,GACJ;AAAA,sBACA,oBAAC,gBAAA,EAAe,WAAU,mBAAA,CAAmB;AAAA,oBAAA,EAAA,CACjD;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEJ;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,WAAU;AAAA,oBACV,UACI,eAAe,IAAI;AAAA,oBAEvB,SAAS,CAAC,MAAM;AACZ,wBAAE,gBAAA;AACF,sCAAgB,IAAI,EAAE;AAAA,oBAC1B;AAAA,oBAEC,UAAA,eAAe,IAAI,KAChB,oBAAC,WAAQ,MAAM,GAAA,CAAI,IAEnB,oBAAC,gBAAA,CAAA,CAAe;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAExB;AAAA,YAAA;AAAA,YArCK,IAAI;AAAA,UAAA,CAuChB,EAAA,CACL,EAAA,CAER,EAAA,CAER;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;AAEA,MAAM,SAAS,eAAe,OAAO;"}
@@ -4,7 +4,6 @@ import { BrowserRouter } from "react-router-dom";
4
4
  import navigationConfig from "../../configs/navigation.config/index.js";
5
5
  import { useSessionUser } from "../../store/authStore.js";
6
6
  import Search from "./Search.js";
7
- import "../../mock/fakeApi/favoritosMenuFakeApi.js";
8
7
  const collectAuthorityPaths = (navTree) => {
9
8
  return navTree.reduce((acc, node) => {
10
9
  if (node.path) {
@@ -1 +1 @@
1
- {"version":3,"file":"Search.stories.js","sources":["../../../../lib/@ecme/components/template/Search.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { useEffect } from 'react'\nimport { BrowserRouter } from 'react-router-dom'\nimport navigationConfig from '@/configs/navigation.config'\nimport type { NavigationTree } from '@/@types/navigation'\nimport { useSessionUser } from '@/store/authStore'\nimport Search from './Search'\n\n// Enable axios mock for favoritos-menu API\nimport '@/mock/fakeApi/favoritosMenuFakeApi'\n\nconst collectAuthorityPaths = (navTree: NavigationTree[]): string[] => {\n return navTree.reduce((acc: string[], node) => {\n if (node.path) {\n acc.push(node.path)\n }\n\n if (node.subMenu?.length) {\n acc.push(...collectAuthorityPaths(node.subMenu))\n }\n\n return acc\n }, [])\n}\n\nconst allAuthority = Array.from(new Set(collectAuthorityPaths(navigationConfig)))\n\nconst WithSimulatedUser = ({\n children,\n}: {\n children: React.ReactNode\n}) => {\n useEffect(() => {\n const previousUser = useSessionUser.getState().user\n\n useSessionUser.setState({\n user: {\n ...previousUser,\n userId: '1',\n userName: 'Demo User',\n authority: allAuthority,\n },\n })\n\n return () => {\n useSessionUser.setState({ user: previousUser })\n }\n }, [])\n\n return <>{children}</>\n}\n\nconst meta: Meta<typeof Search> = {\n title: '@ecme/Template/Search',\n component: Search,\n parameters: {\n layout: 'padded',\n },\n tags: ['autodocs'],\n decorators: [\n (Story) => (\n <BrowserRouter>\n <WithSimulatedUser>\n <Story />\n </WithSimulatedUser>\n </BrowserRouter>\n ),\n ],\n argTypes: {\n className: {\n control: 'text',\n },\n },\n}\n\nexport default meta\n\ntype TStory = StoryObj<typeof meta>\n\nexport const Default: TStory = {\n args: {\n className: '',\n },\n}\n\nexport const FavoritesMenu: TStory = {\n args: {\n className: '',\n },\n parameters: {\n docs: {\n description: {\n story: 'Clique no ícone de estrela (★) para abrir o dialog de favoritos. Os favoritos são mockados: Gestão de Processos > Cadastros, Performance e Originação. Use a lupa para buscar menus e veja a estrela ao lado de cada resultado — itens já favoritados aparecem com ★ amarela; itens não favoritados com ☆ cinza. Clique na estrela para adicionar/remover.',\n },\n },\n },\n}\n"],"names":[],"mappings":";;;;;;;AAWA,MAAM,wBAAwB,CAAC,YAAwC;AACnE,SAAO,QAAQ,OAAO,CAAC,KAAe,SAAS;AAC3C,QAAI,KAAK,MAAM;AACX,UAAI,KAAK,KAAK,IAAI;AAAA,IACtB;AAEA,QAAI,KAAK,SAAS,QAAQ;AACtB,UAAI,KAAK,GAAG,sBAAsB,KAAK,OAAO,CAAC;AAAA,IACnD;AAEA,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AAEA,MAAM,eAAe,MAAM,KAAK,IAAI,IAAI,sBAAsB,gBAAgB,CAAC,CAAC;AAEhF,MAAM,oBAAoB,CAAC;AAAA,EACvB;AACJ,MAEM;AACF,YAAU,MAAM;AACZ,UAAM,eAAe,eAAe,SAAA,EAAW;AAE/C,mBAAe,SAAS;AAAA,MACpB,MAAM;AAAA,QACF,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,MAAA;AAAA,IACf,CACH;AAED,WAAO,MAAM;AACT,qBAAe,SAAS,EAAE,MAAM,aAAA,CAAc;AAAA,IAClD;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,yCAAU,UAAS;AACvB;AAEA,MAAM,OAA4B;AAAA,EAC9B,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEZ,MAAM,CAAC,UAAU;AAAA,EACjB,YAAY;AAAA,IACR,CAAC,UACG,oBAAC,eAAA,EACG,8BAAC,mBAAA,EACG,UAAA,oBAAC,OAAA,CAAA,CAAM,EAAA,CACX,EAAA,CACJ;AAAA,EAAA;AAAA,EAGR,UAAU;AAAA,IACN,WAAW;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAMO,MAAM,UAAkB;AAAA,EAC3B,MAAM;AAAA,IACF,WAAW;AAAA,EAAA;AAEnB;AAEO,MAAM,gBAAwB;AAAA,EACjC,MAAM;AAAA,IACF,WAAW;AAAA,EAAA;AAAA,EAEf,YAAY;AAAA,IACR,MAAM;AAAA,MACF,aAAa;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,IACX;AAAA,EACJ;AAER;"}
1
+ {"version":3,"file":"Search.stories.js","sources":["../../../../lib/@ecme/components/template/Search.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { useEffect } from 'react'\nimport { BrowserRouter } from 'react-router-dom'\nimport navigationConfig from '@/configs/navigation.config'\nimport type { NavigationTree } from '@/@types/navigation'\nimport { useSessionUser } from '@/store/authStore'\nimport Search from './Search'\n\nconst collectAuthorityPaths = (navTree: NavigationTree[]): string[] => {\n return navTree.reduce((acc: string[], node) => {\n if (node.path) {\n acc.push(node.path)\n }\n\n if (node.subMenu?.length) {\n acc.push(...collectAuthorityPaths(node.subMenu))\n }\n\n return acc\n }, [])\n}\n\nconst allAuthority = Array.from(new Set(collectAuthorityPaths(navigationConfig)))\n\nconst WithSimulatedUser = ({\n children,\n}: {\n children: React.ReactNode\n}) => {\n useEffect(() => {\n const previousUser = useSessionUser.getState().user\n\n useSessionUser.setState({\n user: {\n ...previousUser,\n userId: '1',\n userName: 'Demo User',\n authority: allAuthority,\n },\n })\n\n return () => {\n useSessionUser.setState({ user: previousUser })\n }\n }, [])\n\n return <>{children}</>\n}\n\nconst meta: Meta<typeof Search> = {\n title: '@ecme/Template/Search',\n component: Search,\n parameters: {\n layout: 'padded',\n },\n tags: ['autodocs'],\n decorators: [\n (Story) => (\n <BrowserRouter>\n <WithSimulatedUser>\n <Story />\n </WithSimulatedUser>\n </BrowserRouter>\n ),\n ],\n argTypes: {\n className: {\n control: 'text',\n },\n },\n}\n\nexport default meta\n\ntype TStory = StoryObj<typeof meta>\n\nexport const Default: TStory = {\n args: {\n className: '',\n },\n}\n\nexport const FavoritesMenu: TStory = {\n args: {\n className: '',\n },\n parameters: {\n docs: {\n description: {\n story: 'Clique no ícone de estrela (★) para abrir o dialog de favoritos. Os favoritos são mockados: Gestão de Processos > Cadastros, Performance e Originação. Use a lupa para buscar menus e veja a estrela ao lado de cada resultado — itens já favoritados aparecem com ★ amarela; itens não favoritados com ☆ cinza. Clique na estrela para adicionar/remover.',\n },\n },\n },\n}\n"],"names":[],"mappings":";;;;;;AAQA,MAAM,wBAAwB,CAAC,YAAwC;AACnE,SAAO,QAAQ,OAAO,CAAC,KAAe,SAAS;AAC3C,QAAI,KAAK,MAAM;AACX,UAAI,KAAK,KAAK,IAAI;AAAA,IACtB;AAEA,QAAI,KAAK,SAAS,QAAQ;AACtB,UAAI,KAAK,GAAG,sBAAsB,KAAK,OAAO,CAAC;AAAA,IACnD;AAEA,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AAEA,MAAM,eAAe,MAAM,KAAK,IAAI,IAAI,sBAAsB,gBAAgB,CAAC,CAAC;AAEhF,MAAM,oBAAoB,CAAC;AAAA,EACvB;AACJ,MAEM;AACF,YAAU,MAAM;AACZ,UAAM,eAAe,eAAe,SAAA,EAAW;AAE/C,mBAAe,SAAS;AAAA,MACpB,MAAM;AAAA,QACF,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,MAAA;AAAA,IACf,CACH;AAED,WAAO,MAAM;AACT,qBAAe,SAAS,EAAE,MAAM,aAAA,CAAc;AAAA,IAClD;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,yCAAU,UAAS;AACvB;AAEA,MAAM,OAA4B;AAAA,EAC9B,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEZ,MAAM,CAAC,UAAU;AAAA,EACjB,YAAY;AAAA,IACR,CAAC,UACG,oBAAC,eAAA,EACG,8BAAC,mBAAA,EACG,UAAA,oBAAC,OAAA,CAAA,CAAM,EAAA,CACX,EAAA,CACJ;AAAA,EAAA;AAAA,EAGR,UAAU;AAAA,IACN,WAAW;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAMO,MAAM,UAAkB;AAAA,EAC3B,MAAM;AAAA,IACF,WAAW;AAAA,EAAA;AAEnB;AAEO,MAAM,gBAAwB;AAAA,EACjC,MAAM;AAAA,IACF,WAAW;AAAA,EAAA;AAAA,EAEf,YAAY;AAAA,IACR,MAAM;AAAA,MACF,aAAa;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,IACX;AAAA,EACJ;AAER;"}
@@ -12,7 +12,6 @@ import "./fakeApi/mailFakeApi.js";
12
12
  import "./fakeApi/accountsFakeApi.js";
13
13
  import "./fakeApi/aiFakeApi.js";
14
14
  import "./fakeApi/chatFakeApi.js";
15
- import "./fakeApi/favoritosMenuFakeApi.js";
16
15
  import "./fakeApi/helpCenterFakeApi.js";
17
16
  import "./fakeApi/dashboardFakeApi.js";
18
17
  mock.onAny().passThrough();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../lib/@ecme/mock/index.ts"],"sourcesContent":["import { mock } from './MockAdapter'\nimport './fakeApi/authFakeApi'\nimport './fakeApi/commonFakeApi'\nimport './fakeApi/customersFakeApi'\nimport './fakeApi/productsFakeApi'\nimport './fakeApi/projectsFakeApi'\nimport './fakeApi/ordersFakeApi'\nimport './fakeApi/fileFakeApi'\nimport './fakeApi/logFakeApi'\nimport './fakeApi/calendarFakeApi'\nimport './fakeApi/mailFakeApi'\nimport './fakeApi/accountsFakeApi'\nimport './fakeApi/aiFakeApi'\nimport './fakeApi/chatFakeApi'\nimport './fakeApi/favoritosMenuFakeApi'\nimport './fakeApi/helpCenterFakeApi'\nimport './fakeApi/dashboardFakeApi'\n\nmock.onAny().passThrough()\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAkBA,KAAK,MAAA,EAAQ,YAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../lib/@ecme/mock/index.ts"],"sourcesContent":["import { mock } from './MockAdapter'\nimport './fakeApi/authFakeApi'\nimport './fakeApi/commonFakeApi'\nimport './fakeApi/customersFakeApi'\nimport './fakeApi/productsFakeApi'\nimport './fakeApi/projectsFakeApi'\nimport './fakeApi/ordersFakeApi'\nimport './fakeApi/fileFakeApi'\nimport './fakeApi/logFakeApi'\nimport './fakeApi/calendarFakeApi'\nimport './fakeApi/mailFakeApi'\nimport './fakeApi/accountsFakeApi'\nimport './fakeApi/aiFakeApi'\nimport './fakeApi/chatFakeApi'\nimport './fakeApi/helpCenterFakeApi'\nimport './fakeApi/dashboardFakeApi'\n\nmock.onAny().passThrough()\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAiBA,KAAK,MAAA,EAAQ,YAAA;"}
@@ -1,6 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
2
  import Search from './Search';
3
- import '@/mock/fakeApi/favoritosMenuFakeApi';
4
3
  declare const meta: Meta<typeof Search>;
5
4
  export default meta;
6
5
  type TStory = StoryObj<typeof meta>;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.stories.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/components/template/Search.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAMtD,OAAO,MAAM,MAAM,UAAU,CAAA;AAG7B,OAAO,qCAAqC,CAAA;AA2C5C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAqB7B,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAEnC,eAAO,MAAM,OAAO,EAAE,MAIrB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAW3B,CAAA"}
1
+ {"version":3,"file":"Search.stories.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/components/template/Search.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAMtD,OAAO,MAAM,MAAM,UAAU,CAAA;AA2C7B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAqB7B,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAEnC,eAAO,MAAM,OAAO,EAAE,MAIrB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAW3B,CAAA"}
@@ -11,7 +11,6 @@ import './fakeApi/mailFakeApi';
11
11
  import './fakeApi/accountsFakeApi';
12
12
  import './fakeApi/aiFakeApi';
13
13
  import './fakeApi/chatFakeApi';
14
- import './fakeApi/favoritosMenuFakeApi';
15
14
  import './fakeApi/helpCenterFakeApi';
16
15
  import './fakeApi/dashboardFakeApi';
17
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/mock/index.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,CAAA;AAC9B,OAAO,yBAAyB,CAAA;AAChC,OAAO,4BAA4B,CAAA;AACnC,OAAO,2BAA2B,CAAA;AAClC,OAAO,2BAA2B,CAAA;AAClC,OAAO,yBAAyB,CAAA;AAChC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,2BAA2B,CAAA;AAClC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,2BAA2B,CAAA;AAClC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,gCAAgC,CAAA;AACvC,OAAO,6BAA6B,CAAA;AACpC,OAAO,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/mock/index.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,CAAA;AAC9B,OAAO,yBAAyB,CAAA;AAChC,OAAO,4BAA4B,CAAA;AACnC,OAAO,2BAA2B,CAAA;AAClC,OAAO,2BAA2B,CAAA;AAClC,OAAO,yBAAyB,CAAA;AAChC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,2BAA2B,CAAA;AAClC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,2BAA2B,CAAA;AAClC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,6BAA6B,CAAA;AACpC,OAAO,4BAA4B,CAAA"}
@@ -19,6 +19,7 @@ export type TAnoPpr = {
19
19
  export type TAbrirAnoPpr = {
20
20
  ano: number;
21
21
  mesInicial: number;
22
+ anoOrigemMetas?: number | null;
22
23
  };
23
24
  export type TUpdateParametroCcStatusPpr = {
24
25
  status: TStatusParametroCcPpr;
@@ -1 +1 @@
1
- {"version":3,"file":"ppr.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/performance/ppr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ppr.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/performance/ppr.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,6 @@ import type { NavigationTree } from '@/@types/navigation'
6
6
  import { useSessionUser } from '@/store/authStore'
7
7
  import Search from './Search'
8
8
 
9
- // Enable axios mock for favoritos-menu API
10
- import '@/mock/fakeApi/favoritosMenuFakeApi'
11
-
12
9
  const collectAuthorityPaths = (navTree: NavigationTree[]): string[] => {
13
10
  return navTree.reduce((acc: string[], node) => {
14
11
  if (node.path) {
@@ -1,12 +1,20 @@
1
1
  import { NavigationTree } from '@/@types/navigation'
2
2
  import Button from '@/components/ui/Button'
3
3
  import Dialog from '@/components/ui/Dialog'
4
+ import Notification from '@/components/ui/Notification'
4
5
  import ScrollBar from '@/components/ui/ScrollBar'
6
+ import toast from '@/components/ui/toast'
5
7
  import navigationConfig from '@/configs/navigation.config'
6
8
  import { NAV_ITEM_TYPE_ITEM } from '@/constants/navigation.constant'
7
9
  import { useSessionUser } from '@/store/authStore'
8
10
  import classNames from '@/utils/classNames'
9
11
  import withHeaderItem from '@/utils/hoc/withHeaderItem'
12
+ import { TFavoritoMenuResponse } from '@base/@types/api/response/dadosMestres/TFavoritoMenuResponse'
13
+ import {
14
+ apiCreateFavoritoMenu,
15
+ apiDeleteFavoritoMenu,
16
+ apiFindFavoritosByUsuario,
17
+ } from '@base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService'
10
18
  import debounce from 'lodash/debounce'
11
19
  import { useEffect, useMemo, useRef, useState } from 'react'
12
20
  import Highlighter from 'react-highlight-words'
@@ -15,20 +23,12 @@ import {
15
23
  HiChevronRight,
16
24
  HiOutlineSearch,
17
25
  HiOutlineStar,
18
- HiStar,
19
26
  HiOutlineTrash,
27
+ HiStar,
20
28
  } from 'react-icons/hi'
21
29
  import { PiMagnifyingGlassDuotone } from 'react-icons/pi'
22
30
  import { Link } from 'react-router-dom'
23
31
  import { Spinner } from '../ui'
24
- import Notification from '@/components/ui/Notification'
25
- import toast from '@/components/ui/toast'
26
- import {
27
- apiFindFavoritosByUsuario,
28
- apiDeleteFavoritoMenu,
29
- apiCreateFavoritoMenu,
30
- } from '@base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService'
31
- import { TFavoritoMenuResponse } from '@base/@types/api/response/dadosMestres/TFavoritoMenuResponse'
32
32
 
33
33
  type SearchData = {
34
34
  key: string
@@ -12,7 +12,6 @@ import './fakeApi/mailFakeApi'
12
12
  import './fakeApi/accountsFakeApi'
13
13
  import './fakeApi/aiFakeApi'
14
14
  import './fakeApi/chatFakeApi'
15
- import './fakeApi/favoritosMenuFakeApi'
16
15
  import './fakeApi/helpCenterFakeApi'
17
16
  import './fakeApi/dashboardFakeApi'
18
17
 
@@ -25,6 +25,7 @@ export type TAnoPpr = {
25
25
  export type TAbrirAnoPpr = {
26
26
  ano: number
27
27
  mesInicial: number
28
+ anoOrigemMetas?: number | null
28
29
  }
29
30
 
30
31
  export type TUpdateParametroCcStatusPpr = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbe-agro/client-core",
3
- "version": "5.6.212",
3
+ "version": "5.6.214",
4
4
  "description": "Biblioteca principal de componentes e utilidades para os microfrontends do Orbe Agro.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,64 +0,0 @@
1
- import { mock } from "../MockAdapter.js";
2
- import { favoritosMenuData } from "../data/favoritosMenuData.js";
3
- const BASE_URL = "/dados-mestres/api/favoritos-menu";
4
- const randomDelay = () => 300 + Math.random() * 1200;
5
- let favoritos = [...favoritosMenuData];
6
- let nextId = favoritos.length + 1;
7
- function withDelay(fn) {
8
- return (config) => {
9
- const { promise, resolve } = Promise.withResolvers();
10
- setTimeout(() => resolve(fn(config)), randomDelay());
11
- return promise;
12
- };
13
- }
14
- mock.onPost(BASE_URL).reply(withDelay((config) => {
15
- const body = JSON.parse(config.data ?? "{}");
16
- const menuKey = body.menuKey;
17
- if (!menuKey) {
18
- return [400, { status: 400, title: "Bad Request", detail: "menuKey is required" }];
19
- }
20
- const exists = favoritos.find((f) => f.menuKey === menuKey && f.ativo);
21
- if (exists) {
22
- return [400, { status: 400, title: "Bad Request", detail: "Menu already favorited" }];
23
- }
24
- const novo = {
25
- id: nextId++,
26
- usuarioId: 1,
27
- menuKey,
28
- ordem: favoritos.filter((f) => f.ativo).length,
29
- ativo: true
30
- };
31
- favoritos.push(novo);
32
- return [200, novo];
33
- }));
34
- mock.onGet(new RegExp(`${BASE_URL}/usuario/\\d+`)).reply(withDelay(() => {
35
- const ativos = favoritos.filter((f) => f.ativo).sort((a, b) => a.ordem - b.ordem);
36
- return [200, ativos];
37
- }));
38
- mock.onDelete(new RegExp(`${BASE_URL}/\\d+`)).reply(withDelay((config) => {
39
- const id = Number(config.url?.split("/").pop());
40
- const fav = favoritos.find((f) => f.id === id);
41
- if (!fav || !fav.ativo) {
42
- return [400, { status: 400, title: "Bad Request", detail: "Favorito not found" }];
43
- }
44
- fav.ativo = false;
45
- return [204];
46
- }));
47
- mock.onPut(`${BASE_URL}/reorder`).reply(withDelay((config) => {
48
- const body = JSON.parse(config.data ?? "{}");
49
- const orderedIds = body.orderedIds;
50
- if (!orderedIds || orderedIds.length === 0) {
51
- return [400, { status: 400, title: "Bad Request", detail: "orderedIds is required" }];
52
- }
53
- const reordered = [];
54
- for (let i = 0; i < orderedIds.length; i++) {
55
- const fav = favoritos.find((f) => f.id === orderedIds[i] && f.ativo);
56
- if (!fav) {
57
- return [400, { status: 400, title: "Bad Request", detail: `Favorito ${orderedIds[i]} not found` }];
58
- }
59
- fav.ordem = i;
60
- reordered.push(fav);
61
- }
62
- return [200, reordered];
63
- }));
64
- //# sourceMappingURL=favoritosMenuFakeApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"favoritosMenuFakeApi.js","sources":["../../../../lib/@ecme/mock/fakeApi/favoritosMenuFakeApi.ts"],"sourcesContent":["import { mock } from '../MockAdapter'\nimport { favoritosMenuData } from '../data/favoritosMenuData'\nimport { TFavoritoMenuResponse } from '@base/@types/api/response/dadosMestres/TFavoritoMenuResponse'\n\nconst BASE_URL = '/dados-mestres/api/favoritos-menu'\n\nconst randomDelay = () => 300 + Math.random() * 1200 // 300-1500ms\n\ntype MockConfig = { data?: string; url?: string }\nlet favoritos: TFavoritoMenuResponse[] = [...favoritosMenuData]\nlet nextId = favoritos.length + 1\n\nfunction withDelay<T>(fn: (config: MockConfig) => T): (config: MockConfig) => Promise<T> {\n return (config) => {\n const { promise, resolve } = Promise.withResolvers<T>()\n setTimeout(() => resolve(fn(config)), randomDelay())\n return promise\n }\n}\n\n// POST / — criar favorito\nmock.onPost(BASE_URL).reply(withDelay((config) => {\n const body = JSON.parse(config.data ?? '{}')\n const menuKey: string = body.menuKey\n\n if (!menuKey) {\n return [400, { status: 400, title: 'Bad Request', detail: 'menuKey is required' }]\n }\n\n const exists = favoritos.find((f) => f.menuKey === menuKey && f.ativo)\n if (exists) {\n return [400, { status: 400, title: 'Bad Request', detail: 'Menu already favorited' }]\n }\n\n const novo: TFavoritoMenuResponse = {\n id: nextId++,\n usuarioId: 1,\n menuKey,\n ordem: favoritos.filter((f) => f.ativo).length,\n ativo: true,\n }\n favoritos.push(novo)\n return [200, novo]\n}))\n\n// GET /usuario/{usuarioId} — listar favoritos\nmock.onGet(new RegExp(`${BASE_URL}/usuario/\\\\d+`)).reply(withDelay(() => {\n const ativos = favoritos\n .filter((f) => f.ativo)\n .sort((a, b) => a.ordem - b.ordem)\n return [200, ativos]\n}))\n\n// DELETE /{id} — remover (soft-delete)\nmock.onDelete(new RegExp(`${BASE_URL}/\\\\d+`)).reply(withDelay((config) => {\n const id = Number(config.url?.split('/').pop())\n const fav = favoritos.find((f) => f.id === id)\n\n if (!fav || !fav.ativo) {\n return [400, { status: 400, title: 'Bad Request', detail: 'Favorito not found' }]\n }\n\n fav.ativo = false\n return [204]\n}))\n\n// PUT /reorder — reordenar\nmock.onPut(`${BASE_URL}/reorder`).reply(withDelay((config) => {\n const body = JSON.parse(config.data ?? '{}')\n const orderedIds: number[] = body.orderedIds\n\n if (!orderedIds || orderedIds.length === 0) {\n return [400, { status: 400, title: 'Bad Request', detail: 'orderedIds is required' }]\n }\n\n const reordered: TFavoritoMenuResponse[] = []\n for (let i = 0; i < orderedIds.length; i++) {\n const fav = favoritos.find((f) => f.id === orderedIds[i] && f.ativo)\n if (!fav) {\n return [400, { status: 400, title: 'Bad Request', detail: `Favorito ${orderedIds[i]} not found` }]\n }\n fav.ordem = i\n reordered.push(fav)\n }\n\n return [200, reordered]\n}))"],"names":[],"mappings":";;AAIA,MAAM,WAAW;AAEjB,MAAM,cAAc,MAAM,MAAM,KAAK,WAAW;AAGhD,IAAI,YAAqC,CAAC,GAAG,iBAAiB;AAC9D,IAAI,SAAS,UAAU,SAAS;AAEhC,SAAS,UAAa,IAAmE;AACrF,SAAO,CAAC,WAAW;AACf,UAAM,EAAE,SAAS,YAAY,QAAQ,cAAA;AACrC,eAAW,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,aAAa;AACnD,WAAO;AAAA,EACX;AACJ;AAGA,KAAK,OAAO,QAAQ,EAAE,MAAM,UAAU,CAAC,WAAW;AAC9C,QAAM,OAAO,KAAK,MAAM,OAAO,QAAQ,IAAI;AAC3C,QAAM,UAAkB,KAAK;AAE7B,MAAI,CAAC,SAAS;AACV,WAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,eAAe,QAAQ,uBAAuB;AAAA,EACrF;AAEA,QAAM,SAAS,UAAU,KAAK,CAAC,MAAM,EAAE,YAAY,WAAW,EAAE,KAAK;AACrE,MAAI,QAAQ;AACR,WAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,eAAe,QAAQ,0BAA0B;AAAA,EACxF;AAEA,QAAM,OAA8B;AAAA,IAChC,IAAI;AAAA,IACJ,WAAW;AAAA,IACX;AAAA,IACA,OAAO,UAAU,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;AAAA,IACxC,OAAO;AAAA,EAAA;AAEX,YAAU,KAAK,IAAI;AACnB,SAAO,CAAC,KAAK,IAAI;AACrB,CAAC,CAAC;AAGF,KAAK,MAAM,IAAI,OAAO,GAAG,QAAQ,eAAe,CAAC,EAAE,MAAM,UAAU,MAAM;AACrE,QAAM,SAAS,UACV,OAAO,CAAC,MAAM,EAAE,KAAK,EACrB,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AACrC,SAAO,CAAC,KAAK,MAAM;AACvB,CAAC,CAAC;AAGF,KAAK,SAAS,IAAI,OAAO,GAAG,QAAQ,OAAO,CAAC,EAAE,MAAM,UAAU,CAAC,WAAW;AACtE,QAAM,KAAK,OAAO,OAAO,KAAK,MAAM,GAAG,EAAE,KAAK;AAC9C,QAAM,MAAM,UAAU,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AAE7C,MAAI,CAAC,OAAO,CAAC,IAAI,OAAO;AACpB,WAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,eAAe,QAAQ,sBAAsB;AAAA,EACpF;AAEA,MAAI,QAAQ;AACZ,SAAO,CAAC,GAAG;AACf,CAAC,CAAC;AAGF,KAAK,MAAM,GAAG,QAAQ,UAAU,EAAE,MAAM,UAAU,CAAC,WAAW;AAC1D,QAAM,OAAO,KAAK,MAAM,OAAO,QAAQ,IAAI;AAC3C,QAAM,aAAuB,KAAK;AAElC,MAAI,CAAC,cAAc,WAAW,WAAW,GAAG;AACxC,WAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,eAAe,QAAQ,0BAA0B;AAAA,EACxF;AAEA,QAAM,YAAqC,CAAA;AAC3C,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AACxC,UAAM,MAAM,UAAU,KAAK,CAAC,MAAM,EAAE,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK;AACnE,QAAI,CAAC,KAAK;AACN,aAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,eAAe,QAAQ,YAAY,WAAW,CAAC,CAAC,cAAc;AAAA,IACrG;AACA,QAAI,QAAQ;AACZ,cAAU,KAAK,GAAG;AAAA,EACtB;AAEA,SAAO,CAAC,KAAK,SAAS;AAC1B,CAAC,CAAC;"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=favoritosMenuFakeApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"favoritosMenuFakeApi.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/mock/fakeApi/favoritosMenuFakeApi.ts"],"names":[],"mappings":""}
@@ -1,87 +0,0 @@
1
- import { mock } from '../MockAdapter'
2
- import { favoritosMenuData } from '../data/favoritosMenuData'
3
- import { TFavoritoMenuResponse } from '@base/@types/api/response/dadosMestres/TFavoritoMenuResponse'
4
-
5
- const BASE_URL = '/dados-mestres/api/favoritos-menu'
6
-
7
- const randomDelay = () => 300 + Math.random() * 1200 // 300-1500ms
8
-
9
- type MockConfig = { data?: string; url?: string }
10
- let favoritos: TFavoritoMenuResponse[] = [...favoritosMenuData]
11
- let nextId = favoritos.length + 1
12
-
13
- function withDelay<T>(fn: (config: MockConfig) => T): (config: MockConfig) => Promise<T> {
14
- return (config) => {
15
- const { promise, resolve } = Promise.withResolvers<T>()
16
- setTimeout(() => resolve(fn(config)), randomDelay())
17
- return promise
18
- }
19
- }
20
-
21
- // POST / — criar favorito
22
- mock.onPost(BASE_URL).reply(withDelay((config) => {
23
- const body = JSON.parse(config.data ?? '{}')
24
- const menuKey: string = body.menuKey
25
-
26
- if (!menuKey) {
27
- return [400, { status: 400, title: 'Bad Request', detail: 'menuKey is required' }]
28
- }
29
-
30
- const exists = favoritos.find((f) => f.menuKey === menuKey && f.ativo)
31
- if (exists) {
32
- return [400, { status: 400, title: 'Bad Request', detail: 'Menu already favorited' }]
33
- }
34
-
35
- const novo: TFavoritoMenuResponse = {
36
- id: nextId++,
37
- usuarioId: 1,
38
- menuKey,
39
- ordem: favoritos.filter((f) => f.ativo).length,
40
- ativo: true,
41
- }
42
- favoritos.push(novo)
43
- return [200, novo]
44
- }))
45
-
46
- // GET /usuario/{usuarioId} — listar favoritos
47
- mock.onGet(new RegExp(`${BASE_URL}/usuario/\\d+`)).reply(withDelay(() => {
48
- const ativos = favoritos
49
- .filter((f) => f.ativo)
50
- .sort((a, b) => a.ordem - b.ordem)
51
- return [200, ativos]
52
- }))
53
-
54
- // DELETE /{id} — remover (soft-delete)
55
- mock.onDelete(new RegExp(`${BASE_URL}/\\d+`)).reply(withDelay((config) => {
56
- const id = Number(config.url?.split('/').pop())
57
- const fav = favoritos.find((f) => f.id === id)
58
-
59
- if (!fav || !fav.ativo) {
60
- return [400, { status: 400, title: 'Bad Request', detail: 'Favorito not found' }]
61
- }
62
-
63
- fav.ativo = false
64
- return [204]
65
- }))
66
-
67
- // PUT /reorder — reordenar
68
- mock.onPut(`${BASE_URL}/reorder`).reply(withDelay((config) => {
69
- const body = JSON.parse(config.data ?? '{}')
70
- const orderedIds: number[] = body.orderedIds
71
-
72
- if (!orderedIds || orderedIds.length === 0) {
73
- return [400, { status: 400, title: 'Bad Request', detail: 'orderedIds is required' }]
74
- }
75
-
76
- const reordered: TFavoritoMenuResponse[] = []
77
- for (let i = 0; i < orderedIds.length; i++) {
78
- const fav = favoritos.find((f) => f.id === orderedIds[i] && f.ativo)
79
- if (!fav) {
80
- return [400, { status: 400, title: 'Bad Request', detail: `Favorito ${orderedIds[i]} not found` }]
81
- }
82
- fav.ordem = i
83
- reordered.push(fav)
84
- }
85
-
86
- return [200, reordered]
87
- }))