Skip to content

Commit ec589d6

Browse files
author
gemini2035
committed
feat: back to top button completed!
1 parent 798adad commit ec589d6

File tree

3 files changed

+35
-13
lines changed

3 files changed

+35
-13
lines changed

src/components/editor/operator/sheet/SheetOperator.tsx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
} from './sheetOperator/SheetOperatorFilterProvider'
1010
import { SheetOperatorItem } from './sheetOperator/SheetOperatorItem'
1111
import { ShowMore } from './sheetOperator/ShowMore'
12+
import { OperatorBackToTop } from './sheetOperator/toolBox/OperatorBackToTop'
1213
import { OperatorMutipleSelect } from './sheetOperator/toolBox/OperatorMutipleSelect'
1314

1415
export interface SheetOperatorProps {}
@@ -20,11 +21,16 @@ export interface SheetOperatorProps {}
2021
const SheetOperator: FC<SheetOperatorProps> = () => {
2122
const operatorScrollRef = useRef<HTMLDivElement>(null)
2223

24+
const toTop = useCallback(
25+
() => operatorScrollRef?.current?.scrollIntoView(),
26+
[operatorScrollRef],
27+
)
28+
2329
// const getOperatorRarity = (target: string) =>
2430
// operatorsGroupedByProf.find((item) => item.name === target)!.rarity
2531

2632
const ToolBox = (
27-
<div className="flex">
33+
<div className="flex pb-2 pr-2">
2834
{/* <Popover2
2935
content={
3036
<RaritySelector
@@ -40,20 +46,10 @@ const SheetOperator: FC<SheetOperatorProps> = () => {
4046
<Button minimal icon="filter-list" />
4147
</Popover2> */}
4248
<OperatorMutipleSelect />
43-
{/* <Button
44-
minimal
45-
icon="symbol-triangle-up"
46-
disabled={!backToTop}
47-
title={backToTop ? '回到顶部' : undefined}
48-
onClick={resetPaginationState}
49-
/> */}
49+
<OperatorBackToTop {...{ toTop }} />
5050
</div>
5151
)
5252

53-
const toTop = useCallback(
54-
() => operatorScrollRef?.current?.scrollIntoView(),
55-
[operatorScrollRef],
56-
)
5753
const {
5854
operatorFiltered: { data: operatorFilteredData },
5955
} = useOperatorFilterProvider()

src/components/editor/operator/sheet/sheetOperator/SheetOperatorItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export const SheetOperatorItem: FC<SheetOperatorItemProp> = ({ name }) => {
9494
<Card
9595
className={clsx(
9696
'flex items-center w-full h-full relative cursor-pointer flex-col justify-center',
97-
selectedInView && 'scale-95 bg-gray-200',
97+
selectedInView && 'scale-90 bg-gray-200',
9898
)}
9999
elevation={grouped ? 0 : 2}
100100
interactive={!selectedInView}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { Button } from '@blueprintjs/core'
2+
3+
import { FC } from 'react'
4+
5+
import { useOperatorFilterProvider } from '../SheetOperatorFilterProvider'
6+
import { defaultPagination } from '../ShowMore'
7+
8+
export interface OperatorBackToTopProp {
9+
toTop: () => void
10+
}
11+
12+
export const OperatorBackToTop: FC<OperatorBackToTopProp> = ({ toTop }) => {
13+
const {
14+
usePaginationFilterState: [{ current }, setPaginationFilter],
15+
} = useOperatorFilterProvider()
16+
17+
return (
18+
<Button
19+
minimal
20+
icon="symbol-triangle-up"
21+
disabled={current < 3}
22+
title="回到顶部"
23+
onClick={() => setPaginationFilter(defaultPagination)}
24+
/>
25+
)
26+
}

0 commit comments

Comments
 (0)