make other routes work
This commit is contained in:
parent
96c202c7bf
commit
0741743660
8 changed files with 45 additions and 28 deletions
|
@ -1,15 +1,6 @@
|
|||
<%= render :partial => 'layouts/lightboxes' %>
|
||||
<%= render :partial => 'layouts/templates' %>
|
||||
<%= render :partial => 'shared/metacodeBgColors' %>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
<% if current_user %>
|
||||
Metamaps.ServerData.ActiveMapper = <%= current_user.to_json({follows: true, email: true, follow_settings: true}).html_safe %>
|
||||
<% else %>
|
||||
Metamaps.ServerData.ActiveMapper = null
|
||||
<% end %>
|
||||
|
||||
Metamaps.Loading.setup()
|
||||
</script>
|
||||
<%= render :partial => 'layouts/googleanalytics' if ENV["GA_TRACKING_CODE"].present? %>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -7,9 +7,8 @@
|
|||
|
||||
<%= render :partial => 'layouts/head' %>
|
||||
<body class="<%= authenticated? ? "authenticated" : "unauthenticated" %> controller-<%= controller_name %> action-<%= action_name %>">
|
||||
<%= content_tag :div, class: "main", id: "react-app" do %>
|
||||
<%= yield %>
|
||||
<% end %>
|
||||
<div class="main" id="react-app"></div>
|
||||
<%= yield %>
|
||||
<% if devise_error_messages? %>
|
||||
<%= devise_error_messages! %>
|
||||
<% end %>
|
||||
|
@ -29,14 +28,14 @@
|
|||
<%= render :partial => 'maps/newsynapse' %>
|
||||
<% # for populating the change metacode list on the topic card %>
|
||||
<%= render :partial => 'shared/metacodeoptions' %>
|
||||
<script type="text/javascript">
|
||||
Metamaps.ServerData.unreadNotificationsCount = <%= user_unread_notification_count %>
|
||||
Metamaps.ServerData.mapIsStarred = <%= @map && current_user.starred_map?(@map) ? true : false %>
|
||||
</script>
|
||||
<% end %>
|
||||
<script type="text/javascript">
|
||||
Metamaps.ServerData.mobileTitle = "<%= yield(:mobile_title) %>"
|
||||
</script>
|
||||
<div class="hidden"><%= render :partial => 'shared/filterBox' %></div>
|
||||
<div id="loading"></div>
|
||||
<script type="text/javascript">
|
||||
Metamaps.ServerData.unreadNotificationsCount = <%= current_user ? user_unread_notification_count : 0 %>
|
||||
Metamaps.ServerData.mapIsStarred = <%= current_user && @map && current_user.starred_map?(@map) ? true : false %>
|
||||
Metamaps.ServerData.mobileTitle = "<%= yield(:mobile_title) %>"
|
||||
Metamaps.ServerData.ActiveMapper = <%= current_user ? current_user.to_json({follows: true, email: true, follow_settings: true}).html_safe : nil %>
|
||||
Metamaps.Loading.setup()
|
||||
</script>
|
||||
<%= render :partial => 'layouts/foot' %>
|
||||
|
|
|
@ -37,7 +37,7 @@ const ReactApp = {
|
|||
self.unreadNotificationsCount = serverData.unreadNotificationsCount
|
||||
self.mobileTitle = serverData.mobileTitle
|
||||
self.openLightbox = openLightbox
|
||||
routes = makeRoutes()
|
||||
routes = makeRoutes(serverData.ActiveMapper)
|
||||
self.resize()
|
||||
window && window.addEventListener('resize', self.resize)
|
||||
},
|
||||
|
@ -47,14 +47,17 @@ const ReactApp = {
|
|||
switch (this.state.location.pathname.split('/')[1]) {
|
||||
case '':
|
||||
case 'explore':
|
||||
$('#yield').hide()
|
||||
ExploreMaps.updateFromPath(this.state.location.pathname)
|
||||
self.mapId = null
|
||||
Active.Map = null
|
||||
Active.Topic = null
|
||||
break
|
||||
case 'topics':
|
||||
$('#yield').hide()
|
||||
break
|
||||
case 'maps':
|
||||
$('#yield').hide()
|
||||
self.mapId = this.state.location.pathname.split('/')[2]
|
||||
break
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ const Search = {
|
|||
self.userIconUrl = serverData['user.png']
|
||||
|
||||
// this is similar to Metamaps.Loading, but it's for the search element
|
||||
if (!document.getElementById('searchLoading')) return
|
||||
var loader = new CanvasLoader('searchLoading')
|
||||
loader.setColor('#4fb5c0') // default is '#000000'
|
||||
loader.setDiameter(24) // default is 40
|
||||
|
|
|
@ -19,12 +19,13 @@ const GlobalUI = {
|
|||
const self = GlobalUI
|
||||
|
||||
self.ReactApp.init(serverData, self.openLightbox)
|
||||
self.Search.init(serverData)
|
||||
self.CreateMap.init(serverData)
|
||||
self.Account.init(serverData)
|
||||
self.ImportDialog.init(serverData, self.openLightbox, self.closeLightbox)
|
||||
self.Search.init(serverData)
|
||||
|
||||
if ($('#toast').html().trim()) self.notifyUser($('#toast').html())
|
||||
const toastHtml = $('#toast').html()
|
||||
if (toastHtml && toastHtml.trim()) self.notifyUser(toastHtml)
|
||||
|
||||
// bind lightbox clicks
|
||||
$('.openLightbox').click(function(event) {
|
||||
|
|
|
@ -15,6 +15,7 @@ const Loading = {
|
|||
Loading.loader.setDensity(41) // default is 40
|
||||
Loading.loader.setRange(0.9) // default is 1.3
|
||||
Loading.loader.show() // Hidden by default
|
||||
$('#loading').hide()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -30,17 +30,20 @@ class App extends Component {
|
|||
|
||||
render () {
|
||||
const { children, toast, currentUser, unreadNotificationsCount, openInviteLightbox,
|
||||
mobile, mobileTitle, mobileTitleWidth, mobileTitleClick } = this.props
|
||||
mobile, mobileTitle, mobileTitleWidth, mobileTitleClick, location } = this.props
|
||||
const { pathname } = location || {}
|
||||
const unauthedHome = pathname === '/' && !currentUser
|
||||
return <div className="wrapper" id="wrapper">
|
||||
{mobile && <MobileHeader currentUser={currentUser}
|
||||
unreadNotificationsCount={unreadNotificationsCount}
|
||||
mobileTitle={mobileTitle}
|
||||
mobileTitleWidth={mobileTitleWidth}
|
||||
onTitleClick={mobileTitleClick} />}
|
||||
<UpperLeftUI currentUser={currentUser} />
|
||||
{!unauthedHome && <UpperLeftUI currentUser={currentUser} />}
|
||||
{!mobile && <UpperRightUI currentUser={currentUser}
|
||||
unreadNotificationsCount={unreadNotificationsCount}
|
||||
openInviteLightbox={openInviteLightbox} />}
|
||||
openInviteLightbox={openInviteLightbox}
|
||||
signInPage={pathname === '/login'} />}
|
||||
<Toast message={toast} />
|
||||
{!mobile && currentUser && <a className='feedback-icon' target='_blank' href='https://hylo.com/c/metamaps'></a>}
|
||||
{children}
|
||||
|
|
|
@ -4,9 +4,14 @@ import App from './App'
|
|||
import Maps from './Maps'
|
||||
import MapView from './MapView'
|
||||
|
||||
export default function makeRoutes () {
|
||||
function nullComponent(props) {
|
||||
return null
|
||||
}
|
||||
|
||||
export default function makeRoutes (currentUser) {
|
||||
const homeComponent = currentUser ? Maps : nullComponent
|
||||
return <Route path="/" component={App} >
|
||||
<IndexRoute component={Maps} />
|
||||
<IndexRoute component={homeComponent} />
|
||||
<Route path="explore">
|
||||
<Route path="active" component={Maps} />
|
||||
<Route path="featured" component={Maps} />
|
||||
|
@ -15,6 +20,19 @@ export default function makeRoutes () {
|
|||
<Route path="starred" component={Maps} />
|
||||
<Route path="mapper/:id" component={Maps} />
|
||||
</Route>
|
||||
<Route path="maps/:id" component={MapView} />
|
||||
<Route path="maps/:id">
|
||||
<IndexRoute component={MapView} />
|
||||
<Route path="conversation" component={MapView} />
|
||||
</Route>
|
||||
<Route path="/login" component={nullComponent} />
|
||||
<Route path="/join" component={nullComponent} />
|
||||
<Route path="/request" component={nullComponent} />
|
||||
<Route path="/notifications" component={nullComponent} />
|
||||
<Route path="/notifications/:id" component={nullComponent} />
|
||||
<Route path="/users/:id/edit" component={nullComponent} />
|
||||
<Route path="/metacodes" component={nullComponent} />
|
||||
<Route path="/metacodes/new" component={nullComponent} />
|
||||
<Route path="/metacode_sets" component={nullComponent} />
|
||||
<Route path="/metacode_sets/new" component={nullComponent} />
|
||||
</Route>
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue