1
- import { DndContext , pointerWithin } from "@dnd-kit/core"
1
+ import type { DragEndEvent } from "@dnd-kit/core"
2
+ import { DndContext , PointerSensor , pointerWithin , useSensor , useSensors } from "@dnd-kit/core"
2
3
import { useViewport } from "@follow/components/hooks/useViewport.js"
3
4
import { PanelSplitter } from "@follow/components/ui/divider/index.js"
4
5
import { RootPortal } from "@follow/components/ui/portal/index.jsx"
@@ -105,9 +106,32 @@ export function Component() {
105
106
const { data : remoteSettings , isLoading } = useAuthQuery ( settings . get ( ) , { } )
106
107
const isNewUser = ! isLoading && remoteSettings && Object . keys ( remoteSettings . updated ) . length === 0
107
108
109
+ const sensors = useSensors (
110
+ useSensor ( PointerSensor , {
111
+ activationConstraint : {
112
+ distance : 8 ,
113
+ } ,
114
+ } ) ,
115
+ )
108
116
const [ selectedIds , setSelectedIds ] = useSelectedFeedIds ( )
109
-
110
117
const { mutate } = useBatchUpdateSubscription ( )
118
+ const handleDragEnd = React . useCallback (
119
+ ( event : DragEndEvent ) => {
120
+ if ( ! event . over ) {
121
+ return
122
+ }
123
+
124
+ const { category, view } = event . over . data . current as {
125
+ category : string
126
+ view : FeedViewType
127
+ }
128
+
129
+ mutate ( { category, view, feedIdList : selectedIds } )
130
+
131
+ setSelectedIds ( [ ] )
132
+ } ,
133
+ [ mutate , selectedIds , setSelectedIds ] ,
134
+ )
111
135
112
136
if ( isNotSupportWidth ) {
113
137
return < NotSupport />
@@ -123,21 +147,9 @@ export function Component() {
123
147
< AppLayoutGridContainerProvider >
124
148
< FeedResponsiveResizerContainer containerRef = { containerRef } >
125
149
< DndContext
150
+ sensors = { sensors }
126
151
collisionDetection = { pointerWithin }
127
- onDragEnd = { ( event ) => {
128
- if ( ! event . over ) {
129
- return
130
- }
131
-
132
- const { category, view } = event . over . data . current as {
133
- category : string
134
- view : FeedViewType
135
- }
136
-
137
- mutate ( { category, view, feedIdList : selectedIds } )
138
-
139
- setSelectedIds ( [ ] )
140
- } }
152
+ onDragEnd = { handleDragEnd }
141
153
>
142
154
< FeedColumn >
143
155
< CornerPlayer />
0 commit comments