Skip to content
This repository was archived by the owner on Feb 2, 2024. It is now read-only.

Commit

Permalink
fix: view fills button on details page nagivates to fills tab (#455)
Browse files Browse the repository at this point in the history
  • Loading branch information
alfetopito authored Apr 21, 2023
1 parent e7b3b00 commit d8238c8
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ export const TransactionsTableWidget: React.FC<Props> = ({ txHash }) => {
>
<ExplorerTabs
tabItems={tabItems(txBatchTrades, networkId)}
defaultTab={tabViewSelected}
onChange={(key: number): void => onChangeTab(key)}
selectedTab={tabViewSelected}
updateSelectedTab={(key: number): void => onChangeTab(key)}
/>
</TransactionsTableContext.Provider>
</>
Expand Down
4 changes: 2 additions & 2 deletions src/apps/explorer/pages/AppData/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ const AppDataPage: React.FC = () => {
<StyledExplorerTabs
className={`appData-tab--${TabView[tabViewSelected].toLowerCase()}`}
tabItems={tabItems(tabData, setTabData, onChangeTab)}
defaultTab={tabViewSelected}
onChange={(key: number): void => onChangeTab(key)}
selectedTab={tabViewSelected}
updateSelectedTab={(key: number): void => onChangeTab(key)}
/>
</Content>
</Wrapper>
Expand Down
40 changes: 18 additions & 22 deletions src/components/common/Tabs/Tabs.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useEffect, useState, useCallback } from 'react'
import React, { useState } from 'react'
import styled from 'styled-components'

// Components
Expand Down Expand Up @@ -37,10 +37,10 @@ export interface Props {
readonly className?: string
readonly tabItems: TabItemInterface[]
readonly tabTheme: TabTheme
readonly defaultTab?: TabId
readonly selectedTab?: TabId
readonly extra?: TabBarExtraContent
readonly extraPosition?: 'top' | 'bottom'
onChange?: (activeId: TabId) => void
readonly updateSelectedTab?: (activeId: TabId) => void
}

const Wrapper = styled.div`
Expand Down Expand Up @@ -90,37 +90,33 @@ const Tabs: React.FC<Props> = (props) => {
const {
tabTheme = DEFAULT_TAB_THEME,
tabItems,
defaultTab = 1,
selectedTab: parentSelectedTab,
extra: tabBarExtraContent,
extraPosition = 'top',
onChange,
updateSelectedTab: parentUpdateSelectedTab,
} = props

const [activeTab, setActiveTab] = useState(defaultTab)

const onTabClick = useCallback(
(key: TabId): void => {
setActiveTab(key)
onChange?.(key)
},
[onChange],
)

useEffect(() => {
if (activeTab !== defaultTab) {
onTabClick(defaultTab)
}
}, [activeTab, defaultTab, onTabClick])
const [innerSelectedTab, setInnerSelectedTab] = useState(1)
// Use parent state management if provided, otherwise use internal state
const selectedTab = parentSelectedTab ?? innerSelectedTab
const updateTab = parentUpdateSelectedTab ?? setInnerSelectedTab

return (
<Wrapper>
<TabList role="tablist" className="tablist">
{tabItems.map(({ tab, id }) => (
<TabItem key={id} id={id} tab={tab} onTabClick={onTabClick} isActive={activeTab === id} tabTheme={tabTheme} />
<TabItem
key={id}
id={id}
tab={tab}
onTabClick={updateTab}
isActive={selectedTab === id}
tabTheme={tabTheme}
/>
))}
{extraPosition === 'top' && <ExtraContent extra={tabBarExtraContent} />}
</TabList>
<TabContent tabItems={tabItems} activeTab={activeTab} />
<TabContent tabItems={tabItems} activeTab={selectedTab} />
{extraPosition === 'bottom' && <ExtraContent extra={tabBarExtraContent} />}
</Wrapper>
)
Expand Down
4 changes: 2 additions & 2 deletions src/components/orders/OrderDetails/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,8 @@ export const OrderDetails: React.FC<Props> = (props) => {
isPriceInverted,
invertPrice,
)}
defaultTab={tabViewSelected}
onChange={(key: number): void => onChangeTab(key)}
selectedTab={tabViewSelected}
updateSelectedTab={(key: number): void => onChangeTab(key)}
extra={ExtraComponentNode}
/>
</FillsTableContext.Provider>
Expand Down

0 comments on commit d8238c8

Please sign in to comment.