diff --git a/src/App.js b/src/App.js index c18da70b..5167e231 100644 --- a/src/App.js +++ b/src/App.js @@ -9,29 +9,6 @@ import {load_config,bgimg_style} from './Config'; import ImasuguApp from './imasugu/src/App'; function DeprecatedAlert(props) { - if(['pkuhelper.pku.edu.cn','127.0.0.1','localhost'].indexOf(document.domain)===-1) - return ( -
-
-

树洞又㕛叒换域名了!

-
-

记住树洞网页版新网址

-

pkuhelper.pku.edu.cn/hole

-
-

当前域名我也不清楚什么时候停止维护。

-

另外我们终于支持了 HTTPS 和 HTTP/2。

-
- {(token)=>( - !!token.value &&
-

*Tips:

-

点击右上角的 ,复制 User Token,在新网址的登录页面输入,就不用重发验证码了。

-
-
- )}
-

@xmcp from PKUHelper Team

-
-
- ); return null; } diff --git a/src/Common.js b/src/Common.js index d50c9de4..f0d8992a 100644 --- a/src/Common.js +++ b/src/Common.js @@ -155,6 +155,7 @@ export class ClickHandler extends PureComponent { this.on_end_bound=this.on_end.bind(this); this.MOVE_THRESHOLD=3; + this.last_fire=0; } on_begin(e) { @@ -178,12 +179,18 @@ export class ClickHandler extends PureComponent { on_end(event) { //console.log('end'); if(!this.state.moved) - this.props.callback(event); + this.do_callback(event); this.setState({ moved: true, }); } + do_callback(event) { + if(this.last_fire+100>+new Date()) return; + this.last_fire=+new Date(); + this.props.callback(event); + } + render() { return (
{!!props.title && } {props.list.map((info,ind)=>( - +
{!!(props.deletion_detect && props.mode==='list' && ind && props.list[ind-1].pid-info.pid>1) &&
diff --git a/src/PressureHelper.css b/src/PressureHelper.css index fa66f32c..3effa1f9 100644 --- a/src/PressureHelper.css +++ b/src/PressureHelper.css @@ -10,6 +10,10 @@ visibility: hidden; } +.pressure-no-select * { + user-select: none !important; +} + .pressure-box-fired { border-color: orangered; pointer-events: initial !important; diff --git a/src/PressureHelper.js b/src/PressureHelper.js index 92aedcb8..a1a2090b 100644 --- a/src/PressureHelper.js +++ b/src/PressureHelper.js @@ -41,8 +41,10 @@ export class PressureHelper extends Component { Pressure.set(document.body, { change: (force)=>{ if(!this.state.fired) { - if(force>=.999) + if(force>=.999) { + document.body.classList.add('pressure-no-select'); this.do_fire(); + } else this.setState({ level: force, @@ -54,16 +56,13 @@ export class PressureHelper extends Component { level: 0, fired: false, }); + document.body.classList.remove('pressure-no-select'); }, }, { polyfill: false, only: 'touch', preventSelect: false, }); - document.body.addEventListener('selectstart',(event)=>{ - if(this.state.level>THRESHOLD) - event.preventDefault(); - }); document.addEventListener('keydown',(e)=>{ if(!e.repeat && e.key==='Escape') {