Browse Source

fix ios pressure helper and android click handler

dev
xmcp 6 years ago
parent
commit
dc8cf97384
  1. 23
      src/App.js
  2. 9
      src/Common.js
  3. 4
      src/PressureHelper.css
  4. 9
      src/PressureHelper.js

23
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 (
<div className="flow-item-row">
<div className="box box-tip aux-margin">
<p><b>树洞又㕛叒换域名了</b></p>
<br />
<p>记住树洞网页版新网址</p>
<p><a href="http://pkuhelper.pku.edu.cn/hole">pkuhelper.pku.edu.cn/hole</a></p>
<br />
<p><small>当前域名我也不清楚什么时候停止维护</small></p>
<p><small>另外我们终于支持了 HTTPS HTTP/2</small></p>
<br />
<TokenCtx.Consumer>{(token)=>(
!!token.value && <div>
<p>*Tips: </p>
<p>点击右上角的 <span className="icon icon-about" /> 复制 User Token在新网址的登录页面输入就不用重发验证码了</p>
<br />
</div>
)}</TokenCtx.Consumer>
<p>@xmcp from PKUHelper Team</p>
</div>
</div>
);
return null;
}

9
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 (
<div onTouchStart={this.on_begin_bound} onMouseDown={this.on_begin_bound}

4
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;

9
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') {

Loading…
Cancel
Save