diff --git a/src/components/helpers/tooltip/Tooltip.jsx b/src/components/helpers/tooltip/Tooltip.jsx
new file mode 100644
index 00000000..261d4a39
--- /dev/null
+++ b/src/components/helpers/tooltip/Tooltip.jsx
@@ -0,0 +1,12 @@
+import React from 'react';
+
+import './tooltip.scss';
+
+export default function Tooltip(props) {
+ return (
+
+ {props.children}
+ {props.title}
+
+ );
+}
diff --git a/src/components/helpers/tooltip/tooltip.scss b/src/components/helpers/tooltip/tooltip.scss
new file mode 100644
index 00000000..7df9098b
--- /dev/null
+++ b/src/components/helpers/tooltip/tooltip.scss
@@ -0,0 +1,28 @@
+// todo: possibly add tooltip placement option
+.tooltip {
+ position: relative;
+ display: inline-block;
+
+ .tooltipTitle {
+ width: 60px;
+ background-color: #000000;
+ color: #ffffff;
+ text-align: center;
+ font-size: 0.6rem;
+ border-radius: 6px;
+ padding: 5px 0;
+ position: absolute;
+ z-index: 1;
+ top: 100%;
+ left: 50%;
+ margin-left: -30px;
+ visibility: hidden;
+ opacity: 0;
+ transition: opacity 0.8s;
+ }
+}
+
+.tooltip:hover .tooltipTitle {
+ visibility: visible;
+ opacity: 1;
+}
diff --git a/src/components/modals/main/scss/marketplace/_buttons.scss b/src/components/modals/main/scss/marketplace/_buttons.scss
index e9b593a0..38c99843 100644
--- a/src/components/modals/main/scss/marketplace/_buttons.scss
+++ b/src/components/modals/main/scss/marketplace/_buttons.scss
@@ -1,48 +1,48 @@
%storebutton {
- cursor: pointer;
- font-size: 18px;
- display: block;
- padding: 5px 30px;
- background: none;
- border-radius: 24px;
- transition: ease 0.33s;
- border: 2px solid black;
-
- &:hover {
- background: #2d3436;
- color: map-get($theme-colours, 'main');
- }
- }
-
- .dark %storebutton {
- border: 2px solid map-get($theme-colours, 'main');
+ cursor: pointer;
+ font-size: 18px;
+ display: block;
+ padding: 5px 30px;
+ background: none;
+ border-radius: 24px;
+ transition: ease 0.33s;
+ border: 2px solid black;
+
+ &:hover {
+ background: #2d3436;
color: map-get($theme-colours, 'main');
-
- &:hover {
- background: map-get($theme-colours, 'main');
- color: #2d3436;
- }
}
-
- .removeFromMue {
- @extend %storebutton;
-
- border: 2px solid #ff4757;
- color: #ff4757;
- margin-top: 5px;
-
- &:hover {
- background: #ff4757;
- color: map-get($theme-colours, 'main');
- }
+}
+
+.dark %storebutton {
+ border: 2px solid map-get($theme-colours, 'main');
+ color: map-get($theme-colours, 'main');
+
+ &:hover {
+ background: map-get($theme-colours, 'main');
+ color: #2d3436;
}
-
- .addToMue {
- @extend %storebutton;
- margin-top: 5px;
+}
+
+.removeFromMue {
+ @extend %storebutton;
+
+ border: 2px solid #ff4757;
+ color: #ff4757;
+ margin-top: 5px;
+
+ &:hover {
+ background: #ff4757;
+ color: map-get($theme-colours, 'main');
}
-
- .sideload {
- display: inline;
- margin-top: 0px;
- }
\ No newline at end of file
+}
+
+.addToMue {
+ @extend %storebutton;
+ margin-top: 5px;
+}
+
+.sideload {
+ display: inline;
+ margin-top: 0px;
+}
diff --git a/src/components/modals/main/scss/settings/_main.scss b/src/components/modals/main/scss/settings/_main.scss
index 615457da..e8f03276 100644
--- a/src/components/modals/main/scss/settings/_main.scss
+++ b/src/components/modals/main/scss/settings/_main.scss
@@ -114,7 +114,6 @@ ul {
.MuiRadio-root,
.aboutLink,
.MuiIconButton-root,
-.welcomeLink,
legend {
color: var(--modal-text) !important;
}
diff --git a/src/components/modals/main/settings/sections/About.jsx b/src/components/modals/main/settings/sections/About.jsx
index 855148e0..3ef3b264 100644
--- a/src/components/modals/main/settings/sections/About.jsx
+++ b/src/components/modals/main/settings/sections/About.jsx
@@ -1,6 +1,6 @@
import React from 'react';
-import Tooltip from '@material-ui/core/Tooltip';
+import Tooltip from '../../../../helpers/tooltip/Tooltip';
import EmailIcon from '@material-ui/icons/Email';
import TwitterIcon from '@material-ui/icons/Twitter';
import ForumIcon from '@material-ui/icons/Forum';
@@ -104,13 +104,13 @@ export default class About extends React.PureComponent {
{this.language.contributors}
{this.state.loading}
{this.state.contributors.map((item) => (
-
+
))}
{ // for those who contributed without opening a pull request
this.state.other_contributors.map((item) => (
-
+
))}
@@ -118,7 +118,7 @@ export default class About extends React.PureComponent {
{this.language.supporters}
{this.state.loading}
{this.state.sponsors.map((item) => (
-
+
))}
diff --git a/src/components/widgets/background/Background.jsx b/src/components/widgets/background/Background.jsx
index 8080b554..8681df64 100644
--- a/src/components/widgets/background/Background.jsx
+++ b/src/components/widgets/background/Background.jsx
@@ -60,7 +60,7 @@ export default class Background extends React.PureComponent {
}
setBackground() {
- const backgroundImage = document.querySelector('#backgroundImage');
+ const backgroundImage = document.getElementById('backgroundImage');
if (this.state.url !== '') {
const url = (localStorage.getItem('ddgProxy') === 'true') ? window.constants.DDG_PROXY + this.state.url : this.state.url;
@@ -152,6 +152,7 @@ export default class Background extends React.PureComponent {
type: 'api',
currentAPI: backgroundAPI,
photoInfo: {
+ hidden: false,
credit: (backgroundAPI !== 'unsplash') ? data.photographer : data.photographer + ` ${this.language.unsplash}`,
location: (data.location.replace(/[null]+/g, '') !== ' ') ? data.location : 'N/A',
camera: data.camera,
@@ -212,6 +213,7 @@ export default class Background extends React.PureComponent {
return this.setState({
url: randomPhoto.url.default,
photoInfo: {
+ hidden: false,
credit: randomPhoto.photographer
}
});
@@ -223,7 +225,7 @@ export default class Background extends React.PureComponent {
}
componentDidMount() {
- const element = document.querySelector('#backgroundImage');
+ const element = document.getElementById('backgroundImage');
const refresh = () => {
element.classList.remove('fade-in');
@@ -239,6 +241,28 @@ export default class Background extends React.PureComponent {
EventBus.on('refresh', (data) => {
if (data === 'background') {
+ if (localStorage.getItem('background') === 'false') {
+ if (this.state.photoInfo.hidden === false) {
+ document.querySelector('.photoInformation').style.display = 'none';
+ }
+
+ if (this.state.video === true) {
+ return document.getElementById('backgroundVideo').style.display = 'none';
+ } else {
+ return element.style.display = 'none';
+ }
+ }
+
+ if (this.state.video === true) {
+ document.getElementById('backgroundVideo').style.display = 'block';
+ } else {
+ element.style.display = 'block';
+ }
+
+ if (this.state.photoInfo.hidden === false) {
+ document.querySelector('.photoInformation').style.display = 'block';
+ }
+
const backgroundType = localStorage.getItem('backgroundType');
// todo: make this good
@@ -250,7 +274,7 @@ export default class Background extends React.PureComponent {
}
if (this.state.video === true) {
- document.querySelector('#backgroundVideo').style.webkitFilter = `blur(${localStorage.getItem('blur')}px) brightness(${localStorage.getItem('brightness')}%)`;
+ document.getElementById('backgroundVideo').style.webkitFilter = `blur(${localStorage.getItem('blur')}px) brightness(${localStorage.getItem('brightness')}%)`;
} else {
element.style.webkitFilter = `blur(${localStorage.getItem('blur')}px) brightness(${localStorage.getItem('brightness')}%)`;
}
diff --git a/src/components/widgets/background/Favourite.jsx b/src/components/widgets/background/Favourite.jsx
index cfab8f7d..e04aeed3 100644
--- a/src/components/widgets/background/Favourite.jsx
+++ b/src/components/widgets/background/Favourite.jsx
@@ -1,6 +1,6 @@
import React from 'react';
-import Tooltip from '@material-ui/core/Tooltip';
+import Tooltip from '../../helpers/tooltip/Tooltip';
import StarIcon from '@material-ui/icons/Star';
import StarIcon2 from '@material-ui/icons/StarBorder';
diff --git a/src/components/widgets/background/Maximise.jsx b/src/components/widgets/background/Maximise.jsx
index 5bd94eb1..1cb9a497 100644
--- a/src/components/widgets/background/Maximise.jsx
+++ b/src/components/widgets/background/Maximise.jsx
@@ -1,6 +1,6 @@
import React from 'react';
-import Tooltip from '@material-ui/core/Tooltip';
+import Tooltip from '../../helpers/tooltip/Tooltip';
import FullscreenIcon from '@material-ui/icons/Fullscreen';
diff --git a/src/components/widgets/background/scss/_photoinformation.scss b/src/components/widgets/background/scss/_photoinformation.scss
index 16f8961b..9b4b59da 100644
--- a/src/components/widgets/background/scss/_photoinformation.scss
+++ b/src/components/widgets/background/scss/_photoinformation.scss
@@ -39,10 +39,6 @@
text-align: left;
text-shadow: none;
- span {
- display: block;
- }
-
svg {
margin-right: 0.5rem;
vertical-align: middle;
@@ -55,7 +51,8 @@
font-size: 2em;
}
- h1 {
+ h1,
+ .MuiSvgIcon-root {
user-select: none;
cursor: initial;
}
@@ -76,7 +73,7 @@
border: none;
}
- &:hover {
+ &:hover, span {
display: block !important;
}
@@ -84,8 +81,4 @@
text-decoration: underline;
cursor: pointer;
}
-
- .MuiSvgIcon-root {
- cursor: initial;
- }
}
diff --git a/src/components/widgets/navbar/Navbar.jsx b/src/components/widgets/navbar/Navbar.jsx
index 09a883b4..284a6a32 100644
--- a/src/components/widgets/navbar/Navbar.jsx
+++ b/src/components/widgets/navbar/Navbar.jsx
@@ -5,11 +5,10 @@ import Gear from '@material-ui/icons/SettingsRounded';
import NotesIcon from '@material-ui/icons/AssignmentRounded';
import Report from '@material-ui/icons/SmsFailed';
-import Tooltip from '@material-ui/core/Tooltip';
-
import Notes from './Notes';
import Maximise from '../background/Maximise';
import Favourite from '../background/Favourite';
+import Tooltip from '../../helpers/tooltip/Tooltip';
import './scss/index.scss';
@@ -31,7 +30,7 @@ export default function Navbar(props) {
:null}
{(window.constants.BETA_VERSION === true) ?
-
+
props.openModal('feedbackModal')}/>
:null}
@@ -42,7 +41,7 @@ export default function Navbar(props) {
:null}
-
+
props.openModal('mainModal')}/>
diff --git a/src/components/widgets/quicklinks/QuickLinks.jsx b/src/components/widgets/quicklinks/QuickLinks.jsx
index 0378179d..b91a6c0c 100644
--- a/src/components/widgets/quicklinks/QuickLinks.jsx
+++ b/src/components/widgets/quicklinks/QuickLinks.jsx
@@ -2,7 +2,7 @@ import React from 'react';
import EventBus from '../../../modules/helpers/eventbus';
-import Tooltip from '@material-ui/core/Tooltip';
+import Tooltip from '../../helpers/tooltip/Tooltip';
import TextareaAutosize from '@material-ui/core/TextareaAutosize';
import './quicklinks.scss';
@@ -102,9 +102,7 @@ export default class QuickLinks extends React.PureComponent {
}
});
- const addlink = document.querySelector('.topbarquicklinks');
-
- addlink.onkeydown = (e) => {
+ document.querySelector('.topbarquicklinks').onkeydown = (e) => {
e = e || window.event;
let code = e.which || e.keyCode;
if (code === 13 && this.state.showAddLink === 'visible') {
diff --git a/src/components/widgets/quicklinks/quicklinks.scss b/src/components/widgets/quicklinks/quicklinks.scss
index 7b70f0b3..06c1b4c0 100644
--- a/src/components/widgets/quicklinks/quicklinks.scss
+++ b/src/components/widgets/quicklinks/quicklinks.scss
@@ -1,7 +1,6 @@
.quicklinks {
position: relative;
user-select: none;
-
border: none;
color: #fff;
font-size: 42px;