Chore: Refactor

This commit is contained in:
Aria Minaei 2021-06-29 17:16:03 +02:00
parent c1c5aac44a
commit 64d955c464
7 changed files with 3 additions and 3 deletions

View file

@ -1,6 +1,6 @@
import type {IDerivation, Pointer} from '@theatre/dataverse'
import {Atom, prism, val} from '@theatre/dataverse'
import mousePositionD from '@theatre/shared/utils/mousePositionD'
import mousePositionD from '@theatre/studio/utils/mousePositionD'
import type {$IntentionalAny} from '@theatre/shared/utils/types'
import {inRange, last} from 'lodash-es'
import React, {createContext, useCallback, useContext, useMemo} from 'react'

View file

@ -1,5 +1,5 @@
import type {SequenceEditorPanelLayout} from '@theatre/studio/panels/SequenceEditorPanel/layout/layout'
import mousePositionD from '@theatre/shared/utils/mousePositionD'
import mousePositionD from '@theatre/studio/utils/mousePositionD'
import {usePrism, useVal} from '@theatre/dataverse-react'
import type {Pointer} from '@theatre/dataverse'
import {val} from '@theatre/dataverse'

View file

@ -1,4 +1,4 @@
import mousePositionD from '@theatre/shared/utils/mousePositionD'
import mousePositionD from '@theatre/studio/utils/mousePositionD'
import {usePrism} from '@theatre/dataverse-react'
import {val} from '@theatre/dataverse'
import React from 'react'

View file

@ -0,0 +1,26 @@
export async function copyToClipboard(text: string): Promise<boolean> {
if (navigator.clipboard) {
return navigator.clipboard
.writeText(text)
.then(() => {
return true
})
.catch(() => {
return false
})
} else {
const tempTextArea = document.createElement('textarea')
tempTextArea.value = text
document.body.appendChild(tempTextArea)
tempTextArea.focus()
tempTextArea.select()
try {
const successful = document.execCommand('copy')
document.body.removeChild(tempTextArea)
return Promise.resolve(successful)
} catch (err) {
document.body.removeChild(tempTextArea)
return Promise.resolve(false)
}
}
}

View file

@ -0,0 +1,2 @@
export const isMac =
navigator && navigator.platform.toUpperCase().indexOf('MAC') >= 0

View file

@ -0,0 +1,23 @@
import {isMac} from './isMac'
/**
* On mac, it checks Cmd, on windows, ctrl
*/
export const cmdIsDown = (e: KeyboardEvent | MouseEvent) => {
if (isMac) {
return e.metaKey === true
} else {
return e.ctrlKey === true
}
}
/**
* On mac, it checks for ctrl, on windows, Win
*/
export const ctrlIsDown = (e: KeyboardEvent | MouseEvent) => {
if (isMac) {
return e.ctrlKey === true
} else {
return e.metaKey === true
}
}

View file

@ -0,0 +1,23 @@
import {prism} from '@theatre/dataverse'
const mousePositionD = prism(() => {
const [pos, setPos] = prism.state('pos', {clientX: 0, clientY: 0})
prism.effect(
'setupListeners',
() => {
const handleMouseMove = (e: MouseEvent) => {
setPos({clientX: e.clientX, clientY: e.clientY})
}
document.addEventListener('mousemove', handleMouseMove)
return () => {
document.removeEventListener('mousemove', handleMouseMove)
}
},
[],
)
return pos
})
export default mousePositionD