@@ -11,12 +11,16 @@ import './VersionsBar.scss';
1111
1212const b = cn ( 'ydb-versions-bar' ) ;
1313
14+ const TRUNCATION_THRESHOLD = 4 ;
15+ // One more line for Show more / Hide button
16+ const MAX_DISPLAYED_VERSIONS = TRUNCATION_THRESHOLD - 1 ;
17+
1418interface VersionsBarProps {
1519 preparedVersions : PreparedVersion [ ] ;
1620}
1721
1822export function VersionsBar ( { preparedVersions} : VersionsBarProps ) {
19- const shouldTruncateVersions = preparedVersions . length > 4 ;
23+ const shouldTruncateVersions = preparedVersions . length > TRUNCATION_THRESHOLD ;
2024
2125 const [ hoveredVersion , setHoveredVersion ] = React . useState < string | undefined > ( ) ;
2226 const [ allVersionsDisplayed , setAllVersionsDisplayed ] = React . useState < boolean > ( false ) ;
@@ -39,7 +43,9 @@ export function VersionsBar({preparedVersions}: VersionsBarProps) {
3943 return preparedVersions ;
4044 }
4145
42- return shouldTruncateVersions ? preparedVersions . slice ( 0 , 3 ) : preparedVersions ;
46+ return shouldTruncateVersions
47+ ? preparedVersions . slice ( 0 , MAX_DISPLAYED_VERSIONS )
48+ : preparedVersions ;
4349 } , [ allVersionsDisplayed , preparedVersions , shouldTruncateVersions ] ) ;
4450
4551 const handleShowAllVersions = ( event : React . MouseEvent < HTMLButtonElement , MouseEvent > ) => {
@@ -55,7 +61,7 @@ export function VersionsBar({preparedVersions}: VersionsBarProps) {
5561
5662 const renderButton = ( ) => {
5763 if ( shouldTruncateVersions ) {
58- const truncatedVersionsCount = preparedVersions . length - 3 ;
64+ const truncatedVersionsCount = preparedVersions . length - MAX_DISPLAYED_VERSIONS ;
5965
6066 if ( allVersionsDisplayed ) {
6167 return (
0 commit comments