From 09d0e6ed49176a1be02afd277122c0390587a24a Mon Sep 17 00:00:00 2001 From: Ian Bicking Date: Wed, 16 Nov 2016 13:21:22 -0600 Subject: [PATCH] Fix #1909, add a better title to search results Update reactruntime so that changes to the model.title automatically get reflected in document.title --- server/src/pages/shotindex/model.js | 9 +++++++-- server/src/reactruntime.js | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/src/pages/shotindex/model.js b/server/src/pages/shotindex/model.js index 0edc350a90..8d79fc1d43 100644 --- a/server/src/pages/shotindex/model.js +++ b/server/src/pages/shotindex/model.js @@ -1,9 +1,14 @@ const { createProxyUrl } = require("../../proxy-url"); exports.createModel = function (req) { + let query = req.query.q; + let title = "My Shots"; + if (query) { + title = `My Shots: search for ${query}`; + } let serverModel = { - title: "My Shots", - defaultSearch: req.query.q || null + title, + defaultSearch: query || null }; serverModel.shots = req.shots; for (let shot of req.shots) { diff --git a/server/src/reactruntime.js b/server/src/reactruntime.js index a2d9fe33d9..80cd83231e 100644 --- a/server/src/reactruntime.js +++ b/server/src/reactruntime.js @@ -82,6 +82,10 @@ exports.Page = class Page { }); } let body = this.BodyFactory(model); + let curTitle = document.title; + if (model.title && model.title != curTitle) { + document.title = model.title; + } ReactDOM.render( body, document.getElementById("react-body-container"));