From 1386c8d91d9d0edabe5275631c8faba5f4231b05 Mon Sep 17 00:00:00 2001 From: viktorstrate Date: Mon, 26 Oct 2020 11:22:42 +0100 Subject: [PATCH] Remove error messages when visiting share without being logged in --- ui/src/Layout.js | 13 ++++++++++--- ui/src/components/photoGallery/MediaThumbnail.js | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ui/src/Layout.js b/ui/src/Layout.js index bff6587e..ce9c790a 100644 --- a/ui/src/Layout.js +++ b/ui/src/Layout.js @@ -1,14 +1,15 @@ -import React from 'react' +import React, { useEffect } from 'react' import PropTypes from 'prop-types' import styled from 'styled-components' import { NavLink } from 'react-router-dom' import { Icon } from 'semantic-ui-react' import Sidebar from './components/sidebar/Sidebar' -import { useQuery } from 'react-apollo' +import { useQuery, useLazyQuery } from 'react-apollo' import gql from 'graphql-tag' import { Authorized } from './AuthorizedRoute' import { Helmet } from 'react-helmet' import Header from './components/header/Header' +import { authToken } from './authentication' const ADMIN_QUERY = gql` query adminQuery { @@ -95,9 +96,15 @@ const SideButtonLabel = styled.div` ` const Layout = ({ children, title }) => { - const adminQuery = useQuery(ADMIN_QUERY) + const [loadAdminQuery, adminQuery] = useLazyQuery(ADMIN_QUERY) const mapboxQuery = useQuery(MAPBOX_QUERY) + useEffect(() => { + if (authToken()) { + loadAdminQuery() + } + }, []) + const isAdmin = adminQuery.data && adminQuery.data.myUser && adminQuery.data.myUser.admin diff --git a/ui/src/components/photoGallery/MediaThumbnail.js b/ui/src/components/photoGallery/MediaThumbnail.js index ef829b3a..1f351e58 100644 --- a/ui/src/components/photoGallery/MediaThumbnail.js +++ b/ui/src/components/photoGallery/MediaThumbnail.js @@ -156,7 +156,7 @@ export const MediaThumbnail = ({ }, }, }) - onFavorite() + onFavorite && onFavorite() }} /> ) @@ -200,7 +200,7 @@ MediaThumbnail.propTypes = { index: PropTypes.number.isRequired, active: PropTypes.bool.isRequired, setPresenting: PropTypes.func.isRequired, - onFavorite: PropTypes.func.isRequired, + onFavorite: PropTypes.func, } export const PhotoThumbnail = styled.div`