forked from newthuhole/hole_thu_frontend
improvements
- add sidebar-stack - add control-btn-label - better locating dz - enable reply_rev when 1 reply - replace latest_post_id when page=1
This commit is contained in:
@@ -5,26 +5,39 @@ export class Sidebar extends PureComponent {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.sidebar_ref=React.createRef();
|
||||
this.do_close_bound=this.do_close.bind(this);
|
||||
this.do_back_bound=this.do_back.bind(this);
|
||||
}
|
||||
|
||||
componentDidUpdate(nextProps) {
|
||||
if(this.props.content!==nextProps.content) {
|
||||
if(this.props.stack!==nextProps.stack) {
|
||||
//console.log('sidebar top');
|
||||
if(this.sidebar_ref.current)
|
||||
this.sidebar_ref.current.scrollTop=0;
|
||||
}
|
||||
}
|
||||
|
||||
do_close() {
|
||||
this.props.show_sidebar(null,null,'clear');
|
||||
}
|
||||
do_back() {
|
||||
this.props.show_sidebar(null,null,'pop');
|
||||
}
|
||||
|
||||
render() {
|
||||
let [cur_title,cur_content]=this.props.stack[this.props.stack.length-1];
|
||||
return (
|
||||
<div className={this.props.title!==null ? 'sidebar-on' : ''}>
|
||||
<div className="sidebar-shadow" onClick={this.props.do_close} onTouchEnd={(e)=>{e.preventDefault();e.target.click();}} />
|
||||
<div className={cur_title!==null ? 'sidebar-on' : ''}>
|
||||
<div className="sidebar-shadow" onClick={this.do_back_bound} onTouchEnd={(e)=>{e.preventDefault();e.target.click();}} />
|
||||
<div ref={this.sidebar_ref} className="sidebar">
|
||||
{this.props.content}
|
||||
{cur_content}
|
||||
</div>
|
||||
<div className="sidebar-title">
|
||||
<a className="no-underline" onClick={this.props.do_close}> <span className="icon icon-back" /> </a>
|
||||
{this.props.title}
|
||||
<a className="no-underline" onClick={this.do_close_bound}> <span className="icon icon-close" /> </a>
|
||||
{this.props.stack.length>2 &&
|
||||
<a className="no-underline" onClick={this.do_back_bound}> <span className="icon icon-back" /> </a>
|
||||
}
|
||||
{cur_title}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user