11import React from "react" ;
22import { Button , Dropdown , Space , message , MenuProps } from "antd" ;
33import { DownOutlined } from "@ant-design/icons" ;
4- import { useCallback , useMemo , useState } from "react" ;
4+ import { useCallback , useMemo } from "react" ;
55import useAppStore from "../store/store" ;
66import { shallow } from "zustand/shallow" ;
77import { useStoreWithEqualityFn } from "zustand/traditional" ;
88
9- const SampleDropdown = React . memo ( function SampleDropdown ( {
9+ const SampleDropdown = function SampleDropdown ( {
1010 setLoading,
1111} : {
1212 setLoading : React . Dispatch < React . SetStateAction < boolean > > ;
1313} ) : JSX . Element {
14- const { samples, loadSample } = useStoreWithEqualityFn (
14+ const { samples, loadSample, sampleName } = useStoreWithEqualityFn (
1515 useAppStore ,
1616 ( state ) => ( {
1717 samples : state . samples ,
1818 loadSample : state . loadSample as ( key : string ) => Promise < void > ,
19+ sampleName : state . sampleName
1920 } ) ,
2021 shallow
2122 ) ;
2223
23- const [ selectedSample , setSelectedSample ] = useState < string | null > ( null ) ;
24+
2425
2526 const items : MenuProps [ "items" ] = useMemo (
2627 ( ) =>
@@ -38,7 +39,7 @@ const SampleDropdown = React.memo(function SampleDropdown({
3839 try {
3940 await loadSample ( e . key ) ;
4041 void message . info ( `Loaded ${ e . key } sample` ) ;
41- setSelectedSample ( e . key ) ;
42+
4243 } catch ( error ) {
4344 void message . error ( "Failed to load sample" ) ;
4445 } finally {
@@ -55,11 +56,11 @@ const SampleDropdown = React.memo(function SampleDropdown({
5556 < Dropdown menu = { { items, onClick : ( e ) => void handleMenuClick ( e ) } } trigger = { [ "click" ] } >
5657 < div className = "samples-element" >
5758 < Button aria-label = "Load sample dropdown" >
58- { selectedSample ? selectedSample : "Load Sample" } < DownOutlined />
59+ { sampleName || "Load Sample" } < DownOutlined />
5960 </ Button >
6061 </ div >
6162 </ Dropdown >
6263 </ Space >
6364 ) ;
64- } )
65+ }
6566export default SampleDropdown ;
0 commit comments