diff --git a/src/App.js b/src/App.js index 2ea9012..f695096 100644 --- a/src/App.js +++ b/src/App.js @@ -9,11 +9,12 @@ class App extends Component { this.state={ sidebar_title: null, sidebar_content: null, + mode: 'list', // list, single, search search_text: null, flow_render_key: +new Date(), }; this.show_sidebar_bound=this.show_sidebar.bind(this); - this.set_search_text_bound=this.set_search_text.bind(this); + this.set_mode_bound=this.set_mode.bind(this); } show_sidebar(title,content) { @@ -23,9 +24,10 @@ class App extends Component { }); } - set_search_text(text) { + set_mode(mode,search_text) { this.setState({ - search_text: text, + mode: mode, + search_text: search_text, flow_render_key: +new Date(), }); } @@ -36,10 +38,10 @@ class App extends Component {
-{parts.map((p,idx)=>( { PID_RE.test(p) ? {p} : - NICKNAME_RE.test(p) ? {p} : + NICKNAME_RE.test(p) ? {p} : p } ))} diff --git a/src/Flows.js b/src/Flows.js index e2b71cc..446dc15 100644 --- a/src/Flows.js +++ b/src/Flows.js @@ -99,12 +99,12 @@ class FlowItemRow extends PureComponent { } show_sidebar() { - this.props.callback( + this.props.show_sidebar( '帖子详情',@@ -149,7 +149,7 @@ function FlowChunk(props) {@@ -160,11 +160,7 @@ export class Flow extends PureComponent { constructor(props) { super(props); this.state={ - mode: ( - props.search_text===null ? 'list' : - props.search_text.charAt(0)==='#' ? 'single' : - 'search' - ), + mode: props.mode, search_param: props.search_text, loaded_pages: 0, chunks: [], @@ -294,7 +290,7 @@ export class Flow extends PureComponent { return ({props.list.map((info)=>( - ))}+ {this.state.chunks.map((chunk)=>( -+ ))} {this.state.loading_status==='failed' && diff --git a/src/Title.js b/src/Title.js index 1a6a22d..9a19646 100644 --- a/src/Title.js +++ b/src/Title.js @@ -45,7 +45,11 @@ class ControlBar extends PureComponent { this.state={ search_text: '', }; - this.set_search_text=props.set_search_text; + this.set_mode=props.set_mode; + + this.on_change_bound=this.on_change.bind(this); + this.on_keypress_bound=this.on_keypress.bind(this); + this.do_refresh_bound=this.do_refresh.bind(this); } componentDidMount() { @@ -54,7 +58,7 @@ class ControlBar extends PureComponent { this.setState({ search_text: text, }); - this.set_search_text(text); + this.set_mode(text); } } @@ -66,7 +70,7 @@ class ControlBar extends PureComponent { on_keypress(event) { if(event.key==='Enter') - this.set_search_text(this.state.search_text||null); + this.set_mode('search',this.state.search_text||null); } do_refresh() { @@ -74,20 +78,19 @@ class ControlBar extends PureComponent { this.setState({ search_text: '', }); - this.set_search_text(null); - + this.set_mode('list',null); } render() { return (- 最新树洞 + 最新树洞 - {this.props.callback( + {this.props.show_sidebar( '关于 P大树洞(非官方) 网页版', HELP_TEXT )}}>Help @@ -101,7 +104,7 @@ export function Title(props) {)P大树洞
-+