refactor(FE): Standardize search input placeholders to "Search"

This commit is contained in:
rstubryan
2026-03-03 14:19:52 +07:00
parent 5e5400f56b
commit fa86f488e1
15 changed files with 24 additions and 34 deletions
@@ -181,7 +181,7 @@ const MovementTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Movement' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -189,7 +189,7 @@ const InventoryProductTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Produk' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -233,7 +233,7 @@ const AreasTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Area' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -246,7 +246,7 @@ const BanksTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Bank' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -253,7 +253,7 @@ const CustomersTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Customer' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -241,7 +241,7 @@ const FlockTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Flock' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -366,7 +366,7 @@ const KandangsTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Kandang' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -320,7 +320,7 @@ const LocationsTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Location' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -250,7 +250,7 @@ const NonstocksTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Nonstock' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -247,7 +247,7 @@ const ProductCategoryTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Product Category' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -372,7 +372,7 @@ const ProductsTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Produk' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -385,7 +385,7 @@ const SuppliersTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Supplier' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -233,7 +233,7 @@ const UomsTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari UOM' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -395,7 +395,7 @@ const WarehousesTable = () => {
<div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'> <div className='flex flex-1 flex-row justify-start sm:justify-end items-center gap-3 flex-wrap'>
<DebouncedTextInput <DebouncedTextInput
name='search' name='search'
placeholder='Cari Warehouse' placeholder='Search'
value={tableFilterState.search ?? ''} value={tableFilterState.search ?? ''}
onChange={searchChangeHandler} onChange={searchChangeHandler}
startAdornment={ startAdornment={
@@ -44,6 +44,7 @@ import Badge from '@/components/Badge';
import StatusBadge from '@/components/helper/StatusBadge'; import StatusBadge from '@/components/helper/StatusBadge';
import CheckboxInput from '@/components/input/CheckboxInput'; import CheckboxInput from '@/components/input/CheckboxInput';
import { useUiStore } from '@/stores/ui/ui.store'; import { useUiStore } from '@/stores/ui/ui.store';
import { usePathname } from 'next/navigation';
import { Color } from '@/types/theme'; import { Color } from '@/types/theme';
import ButtonFilter from '@/components/helper/ButtonFilter'; import ButtonFilter from '@/components/helper/ButtonFilter';
@@ -203,8 +204,8 @@ const RowOptionsMenu = ({
}; };
const RecordingTable = () => { const RecordingTable = () => {
const { searchValue, setSearchValue, resetSearchValue } = useUiStore(); const { searchValue, setSearchValue, setTableState } = useUiStore();
const previousPathRef = useRef<string | null>(null); const pathname = usePathname();
const { const {
state: tableFilterState, state: tableFilterState,
@@ -214,7 +215,7 @@ const RecordingTable = () => {
toQueryString: getTableFilterQueryString, toQueryString: getTableFilterQueryString,
} = useTableFilter({ } = useTableFilter({
initial: { initial: {
search: searchValue, search: '',
areaFilter: '', areaFilter: '',
locationFilter: '', locationFilter: '',
kandangFilter: '', kandangFilter: '',
@@ -229,6 +230,10 @@ const RecordingTable = () => {
}, },
}); });
useEffect(() => {
updateFilter('search', searchValue);
}, [searchValue, updateFilter]);
// ===== FILTER MODAL STATE ===== // ===== FILTER MODAL STATE =====
const filterModal = useModal(); const filterModal = useModal();
@@ -526,23 +531,8 @@ const RecordingTable = () => {
}, []); }, []);
useEffect(() => { useEffect(() => {
previousPathRef.current = window.location.pathname; setTableState('recording-table', pathname);
}, [pathname]);
return () => {
const currentPath = window.location.pathname;
const isCurrentPathRecording = currentPath.includes(
'/production/recording'
);
const isPreviousPathRecording = previousPathRef.current?.includes(
'/production/recording'
);
if (isPreviousPathRecording && !isCurrentPathRecording) {
resetSearchValue();
}
};
}, [resetSearchValue]);
const searchChangeHandler = useCallback( const searchChangeHandler = useCallback(
(e: React.ChangeEvent<HTMLInputElement>) => { (e: React.ChangeEvent<HTMLInputElement>) => {