chore: improve lint, run prettier, alex added fade-in thing on navbar

This commit is contained in:
David Ralph 2023-03-13 21:14:09 +00:00
parent 510dc1c023
commit f5d9ad11a5
52 changed files with 1267 additions and 827 deletions

View File

@ -1,4 +1,4 @@
module.exports = { module.exports = {
extends: 'react-app', extends: ['react-app', 'prettier'],
parser: '@babel/eslint-parser', ignorePatterns: ['node_modules/', 'build/', 'coverage/', '*.scss', '*.css', '*.json'],
}; };

View File

@ -1,3 +1,10 @@
{ {
"extends": ["stylelint-config-standard-scss", "stylelint-config-prettier-scss"] "extends": ["stylelint-config-standard-scss", "stylelint-config-prettier-scss"],
"formatter": "stylelint-checkstyle-formatter",
"plugins": ["stylelint-scss"],
"customSyntax": "postcss-scss",
"rules": {
"selector-class-pattern": null,
"no-descending-specificity": null
}
} }

View File

@ -38,34 +38,29 @@
"@eartharoid/deep-merge": "^0.0.2", "@eartharoid/deep-merge": "^0.0.2",
"@vitejs/plugin-react": "3.1.0", "@vitejs/plugin-react": "3.1.0",
"eslint": "^8.36.0", "eslint": "^8.36.0",
"eslint-config-prettier": "^8.7.0",
"eslint-config-react-app": "^7.0.1", "eslint-config-react-app": "^7.0.1",
"husky": "^8.0.3", "husky": "^8.0.3",
"postcss-scss": "^4.0.6",
"prettier": "^2.8.4", "prettier": "^2.8.4",
"sass": "^1.59.2", "sass": "^1.59.2",
"stylelint": "^15.2.0", "stylelint": "^15.2.0",
"stylelint-checkstyle-formatter": "^0.1.2",
"stylelint-config-prettier-scss": "^0.0.1", "stylelint-config-prettier-scss": "^0.0.1",
"stylelint-config-standard-scss": "^7.0.1", "stylelint-config-standard-scss": "^7.0.1",
"stylelint-scss": "^4.4.0",
"vite": "4.1.4" "vite": "4.1.4"
}, },
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"updatetranslations": "cd scripts && node updatetranslations.js", "dev:host": "vite --host",
"translations": "cd scripts && node updatetranslations.js",
"build": "vite build", "build": "vite build",
"chrome": "cp manifest/chrome.json dist/manifest.json && cp -r manifest/_locales dist/_locales && cp manifest/background-chrome.js dist/background-chrome.js", "prepare:chrome": "cp manifest/chrome.json dist/manifest.json && cp -r manifest/_locales dist/_locales && cp manifest/background-chrome.js dist/background-chrome.js",
"firefox": "rm -rf dist/_locales && cp manifest/firefox.json dist/manifest.json", "prepare:firefox": "rm -rf dist/_locales && cp manifest/firefox.json dist/manifest.json",
"pretty": "prettier --write \"./**/*.{js,jsx,json,scss}\"", "pretty": "prettier --write \"./**/*.{js,jsx,json,scss,css}\"",
"stylelint": "npx stylelint \"**/*.scss\"", "lint": "eslint --ext .js,.jsx src/** && stylelint \"**/*.scss\"",
"lint:fix": "eslint --ext .js,.jsx src/** --fix && stylelint \"**/*.scss\" --fix",
"postinstall": "husky install" "postinstall": "husky install"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version"
]
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,7 @@
.suggestions { .suggestions {
@extend %basic; @extend %basic;
text-align: left; text-align: left;
border-top-width: 0; border-top-width: 0;
list-style: none; list-style: none;
@ -16,7 +17,7 @@
font-size: 0.6em; font-size: 0.6em;
&:hover { &:hover {
background-color: rgba(255, 255, 255, 0.8); background-color: rgb(255 255 255 / 80%);
cursor: pointer; cursor: pointer;
} }
} }
@ -29,16 +30,16 @@
} }
.dark .suggestions { .dark .suggestions {
background: rgba(0, 0, 0, 0.7); background: rgb(0 0 0 / 70%);
color: white; color: white;
li { li {
&:hover { &:hover {
background: rgba(0, 0, 0, 0.7); background: rgb(0 0 0 / 70%);
} }
} }
} }
.micActive { .micActive {
box-shadow: 0px 0px 50px 1px #e74c3c !important; box-shadow: 0 0 50px 1px #e74c3c !important;
} }

View File

@ -7,21 +7,23 @@
.carousel_viewport { .carousel_viewport {
overflow: hidden; overflow: hidden;
width: 100%; width: 100%;
&.is-draggable { &.is-draggable {
cursor: move; cursor: move;
cursor: grab; cursor: grab;
} }
&.is-dragging { &.is-dragging {
cursor: grabbing; cursor: grabbing;
} }
border-radius: 15px !important;
border-radius: 15px !important;
} }
.carousel_container { .carousel_container {
display: flex; display: flex;
user-select: none;
-webkit-touch-callout: none; -webkit-touch-callout: none;
-khtml-user-select: none; user-select: none;
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;
margin-left: -10px; margin-left: -10px;
} }
@ -30,6 +32,7 @@
position: relative; position: relative;
min-width: 100%; min-width: 100%;
padding-left: 10px; padding-left: 10px;
img { img {
position: absolute; position: absolute;
display: block; display: block;
@ -65,13 +68,16 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 0; padding: 0;
&:disabled { &:disabled {
cursor: default; cursor: default;
opacity: 0.3; opacity: 0.3;
} }
&.prev { &.prev {
left: 27px; left: 27px;
} }
&.next { &.next {
right: 27px; right: 27px;
} }

View File

@ -2,6 +2,7 @@
.preview-mode { .preview-mode {
@extend %basic; @extend %basic;
position: absolute; position: absolute;
bottom: 1rem; bottom: 1rem;
right: 1rem; right: 1rem;
@ -17,6 +18,7 @@
button { button {
@include basicIconButton(10px, 14px, ui); @include basicIconButton(10px, 14px, ui);
gap: 20px; gap: 20px;
} }
} }

View File

@ -55,7 +55,9 @@ function ShareModal({ modalClose, data }) {
<Tooltip title="Facebook"> <Tooltip title="Facebook">
<button <button
onClick={() => onClick={() =>
window.open(`https://www.facebook.com/sharer/sharer.php?u=${data.url}`, '_blank').focus() window
.open(`https://www.facebook.com/sharer/sharer.php?u=${data.url}`, '_blank')
.focus()
} }
> >
<FaFacebookF /> <FaFacebookF />

View File

@ -2,52 +2,62 @@
.smallModal { .smallModal {
@extend %tabText; @extend %tabText;
display: flex; display: flex;
flex-flow: column; flex-flow: column;
gap: 15px; gap: 15px;
padding: 15px; padding: 15px;
width: 320px; width: 320px;
@include themed() { @include themed {
background: t($modal-secondaryColour); background: t($modal-secondaryColour);
} }
.resetFooter { .resetFooter {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
justify-content: flex-end; justify-content: flex-end;
gap: 20px; gap: 20px;
button { button {
gap: 20px; gap: 20px;
display: flex; display: flex;
flex-flow: row; flex-flow: row;
} }
} }
.textButton { .textButton {
@include basicIconButton(11px, 1.3rem, modal-text); @include basicIconButton(11px, 1.3rem, modal-text);
border: none !important; border: none !important;
} }
.tooltipTitle { .tooltipTitle {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
box-shadow: 0 0 0 1px t($modal-sidebarActive); box-shadow: 0 0 0 1px t($modal-sidebarActive);
color: t($color); color: t($color);
} }
} }
.buttons { .buttons {
justify-content: space-between; justify-content: space-between;
display: flex; display: flex;
gap: 15px; gap: 15px;
} }
button { button {
place-items: center; place-items: center;
display: grid; display: grid;
@include basicIconButton(11px, 1.3rem, modal); @include basicIconButton(11px, 1.3rem, modal);
} }
.copy { .copy {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
gap: 15px; gap: 15px;
input[type='text'] { input[type='text'] {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: 0 0 0 1px t($modal-sidebarActive); box-shadow: 0 0 0 1px t($modal-sidebarActive);
@ -55,12 +65,14 @@
flex: 1; flex: 1;
color: t($color); color: t($color);
} }
border: none; border: none;
outline: none; outline: none;
} }
} }
input[type='text'] { input[type='text'] {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: 0 0 0 1px t($modal-sidebarActive); box-shadow: 0 0 0 1px t($modal-sidebarActive);
@ -68,16 +80,19 @@
flex: 1; flex: 1;
color: t($color); color: t($color);
} }
border: none; border: none;
outline: none; outline: none;
} }
.close { .close {
padding: 15px; padding: 15px;
place-items: center; place-items: center;
display: grid; display: grid;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }

View File

@ -12,22 +12,24 @@
} }
100% { 100% {
transform: translate(0, -0px); transform: translate(0, -0);
opacity: 1; opacity: 1;
} }
} }
.tooltipTitle { .tooltipTitle {
@extend %basic; @extend %basic;
text-align: center; text-align: center;
font-size: 0.6rem; font-size: 0.6rem;
padding: 5px 10px; padding: 5px 10px;
position: absolute; position: absolute;
z-index: 1; z-index: 1;
/*top: 100%;
/* top: 100%;
left: 50%; left: 50%;
margin-top: 15px; margin-top: 15px;
margin-left: -30px;*/ margin-left: -30px; */
cursor: initial; cursor: initial;
user-select: none; user-select: none;
opacity: 1; opacity: 1;
@ -38,7 +40,7 @@
#modal { #modal {
.tooltipTitle { .tooltipTitle {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
box-shadow: 0 0 0 1px t($modal-sidebarActive); box-shadow: 0 0 0 1px t($modal-sidebarActive);
color: t($color); color: t($color);
@ -52,20 +54,23 @@
} }
} }
.tooltipTitle:before { .tooltipTitle::before {
transform: scale3d(0.2, 0.2, 1); transform: scale3d(0.2, 0.2, 1);
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
} }
.tooltipTitle:after {
.tooltipTitle::after {
transform: translate3d(0, 6px, 0); transform: translate3d(0, 6px, 0);
transition: all 0.1s ease-in-out; transition: all 0.1s ease-in-out;
} }
.tooltipTitle:hover:before,
.tooltipTitle:hover:after { .tooltipTitle:hover::before,
.tooltipTitle:hover::after {
opacity: 1; opacity: 1;
transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1);
} }
.tooltipTitle:hover:after {
.tooltipTitle:hover::after {
transition: all 0.2s 0.1s ease-in-out; transition: all 0.2s 0.1s ease-in-out;
} }
@ -80,10 +85,12 @@
.infoTooltip { .infoTooltip {
position: relative; position: relative;
display: grid; display: grid;
svg { svg {
cursor: pointer; cursor: pointer;
&:hover { &:hover {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
@ -92,7 +99,6 @@
.infoTooltipTitle { .infoTooltipTitle {
min-width: 200px; min-width: 200px;
text-align: center;
position: absolute; position: absolute;
z-index: 1; z-index: 1;
cursor: initial; cursor: initial;
@ -104,30 +110,34 @@
justify-content: center; justify-content: center;
flex-flow: column; flex-flow: column;
gap: 10px; gap: 10px;
@include themed() { @include themed {
background-color: t($modal-background); background-color: t($modal-background);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: 0 0 0 1px t($modal-sidebarActive); box-shadow: 0 0 0 1px t($modal-sidebarActive);
} }
.tooltipHeader { .tooltipHeader {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
align-items: center; align-items: center;
gap: 25px; gap: 25px;
} }
.link { .link {
display: flex; display: flex;
gap: 10px; gap: 10px;
align-items: center; align-items: center;
} }
.close { .close {
font-size: 20px; font-size: 20px;
padding: 15px; padding: 15px;
place-items: center; place-items: center;
display: grid; display: grid;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }

View File

@ -164,12 +164,14 @@ export default class Item extends PureComponent {
<th>{variables.getMessage('modals.main.marketplace.product.setting')}</th> <th>{variables.getMessage('modals.main.marketplace.product.setting')}</th>
<th>{variables.getMessage('modals.main.marketplace.product.value')}</th> <th>{variables.getMessage('modals.main.marketplace.product.value')}</th>
</tr> </tr>
{Object.entries(this.props.data.data.settings).slice(0, this.state.count).map(([key, value]) => ( {Object.entries(this.props.data.data.settings)
<tr key={key}> .slice(0, this.state.count)
<td>{key}</td> .map(([key, value]) => (
<td>{value}</td> <tr key={key}>
</tr> <td>{key}</td>
))} <td>{value}</td>
</tr>
))}
</tbody> </tbody>
</table> </table>
<div className="showMoreItems"> <div className="showMoreItems">
@ -270,7 +272,14 @@ export default class Item extends PureComponent {
</div> </div>
</div> </div>
</div> </div>
<div className="itemInfo" style={{ backgroundImage: `url("${variables.constants.DDG_IMAGE_PROXY + this.props.data.data.icon_url}")` }}> <div
className="itemInfo"
style={{
backgroundImage: `url("${
variables.constants.DDG_IMAGE_PROXY + this.props.data.data.icon_url
}")`,
}}
>
<div className="front"> <div className="front">
<img <img
className="icon" className="icon"
@ -293,7 +302,7 @@ export default class Item extends PureComponent {
onClick={() => onClick={() =>
window.open( window.open(
variables.constants.REPORT_ITEM + variables.constants.REPORT_ITEM +
this.props.data.display_name.split(' ').join('+'), this.props.data.display_name.split(' ').join('+'),
'_blank', '_blank',
) )
} }

View File

@ -77,17 +77,20 @@ function Items({
/> />
<div className="card-details"> <div className="card-details">
<span className="card-title">{item.display_name || item.name}</span> <span className="card-title">{item.display_name || item.name}</span>
<span className="card-subtitle">{variables.getMessage('modals.main.marketplace.by', { author: item.author })}</span> <span className="card-subtitle">
{ {variables.getMessage('modals.main.marketplace.by', { author: item.author })}
type === 'all' && !onCollection </span>
? <span className="card-type"> {type === 'all' && !onCollection ? (
{variables.getMessage(`modals.main.addons.create.types.${item.type.split('_')[0] === "preset" <span className="card-type">
? "settings" {variables.getMessage(
`modals.main.addons.create.types.${
item.type.split('_')[0] === 'preset'
? 'settings'
: item.type.split('_')[0] + 's' : item.type.split('_')[0] + 's'
}`)} }`,
</span> )}
: null </span>
} ) : null}
</div> </div>
</div> </div>
))} ))}

View File

@ -24,16 +24,16 @@
} }
.Modal { .Modal {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
box-shadow: 0 0 20px rgb(0 0 0 / 30%);
opacity: 1; opacity: 1;
z-index: -2; z-index: -2;
transition-timing-function: ease-in; transition-timing-function: ease-in;
border-radius: map-get($modal, 'border-radius'); border-radius: map-get($modal, 'border-radius');
user-select: none; user-select: none;
overflow-y: auto; overflow-y: auto;
transform: scale(0); transform: scale(0);
transition: all 0.3s cubic-bezier(0.47, 1.64, 0.41, 0.8); transition: all 0.3s cubic-bezier(0.47, 1.64, 0.41, 0.8);
@ -55,11 +55,13 @@
padding: 0.5em; padding: 0.5em;
border-radius: 12px; border-radius: 12px;
cursor: pointer; cursor: pointer;
svg { svg {
font-size: 2em; font-size: 2em;
} }
&:hover { &:hover {
background: rgba(121, 121, 121, 0.226); background: rgb(121 121 121 / 22.6%);
} }
} }
@ -82,7 +84,7 @@
#modal { #modal {
height: 80vh; height: 80vh;
width: clamp(60vw, 1200px, 90vw); width: clamp(60vw, 1200px, 90vw);
@include themed() { @include themed {
background-color: t($modal-background); background-color: t($modal-background);
} }
} }
@ -118,23 +120,23 @@ h5 {
display: inline-block; display: inline-block;
width: 50px; width: 50px;
height: 50px; height: 50px;
@include themed() { @include themed {
border: 3px solid t($modal-sidebar); border: 3px solid t($modal-sidebar);
border-radius: 50%; border-radius: 50%;
border-top-color: t($modal-sidebarActive); border-top-color: t($modal-sidebarActive);
} }
animation: spin 1s ease-in-out infinite; animation: spin 1s ease-in-out infinite;
-webkit-animation: spin 1s ease-in-out infinite;
} }
@keyframes spin { @keyframes spin {
to { to {
-webkit-transform: rotate(360deg); transform: rotate(360deg);
} }
} }
@-webkit-keyframes spin { @keyframes spin {
to { to {
-webkit-transform: rotate(360deg); transform: rotate(360deg);
} }
} }
@ -143,14 +145,17 @@ h5 {
flex-flow: column; flex-flow: column;
gap: -1px; gap: -1px;
padding: 10px 0; padding: 10px 0;
div:nth-child(1) { div:nth-child(1) {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
gap: 10px; gap: 10px;
} }
form { form {
margin-top: 10px; margin-top: 10px;
} }
.link { .link {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
@ -169,20 +174,24 @@ h5 {
.languageSettings { .languageSettings {
margin-bottom: 15px; margin-bottom: 15px;
.MuiFormGroup-root { .MuiFormGroup-root {
gap: 5px; gap: 5px;
} }
.MuiFormControl-root { .MuiFormControl-root {
width: 100% !important; width: 100% !important;
gap: 15px; gap: 15px;
.MuiFormControlLabel-root { .MuiFormControlLabel-root {
display: flex; display: flex;
flex-direction: row-reverse; flex-direction: row-reverse;
justify-content: space-between; justify-content: space-between;
padding: 5px 5px 5px 20px; padding: 5px 5px 5px 20px;
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
&:hover { &:hover {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
@ -195,7 +204,8 @@ h5 {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 15px 0 15px 0; padding: 15px 0;
.link { .link {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
@ -212,27 +222,32 @@ h5 {
padding: 25px; padding: 25px;
margin-top: 20px; margin-top: 20px;
transition: 0.5s; transition: 0.5s;
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: 0 0 0 1px t($modal-sidebarActive); box-shadow: 0 0 0 1px t($modal-sidebarActive);
&:hover { &:hover {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
} }
svg { svg {
font-size: 20px; font-size: 20px;
} }
.left { .left {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
align-items: center; align-items: center;
gap: 25px; gap: 25px;
} }
.content { .content {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
} }
.action { .action {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
@ -248,20 +263,24 @@ h5 {
bottom: 0; bottom: 0;
padding: 15px; padding: 15px;
gap: 15px; gap: 15px;
@include themed() { @include themed {
background-color: t($modal-secondaryColour); background-color: t($modal-secondaryColour);
border-radius: t($borderRadius); border-radius: t($borderRadius);
border: 1px solid t($modal-sidebarActive); border: 1px solid t($modal-sidebarActive);
} }
button { button {
@include basicIconButton(5px, 5px, modal); @include basicIconButton(5px, 5px, modal);
display: flex; display: flex;
justify-content: center; justify-content: center;
gap: 15px; gap: 15px;
svg { svg {
margin: 0 !important; margin: 0 !important;
} }
} }
svg { svg {
margin: 0 !important; margin: 0 !important;
} }
@ -274,38 +293,43 @@ h5 {
flex-flow: column; flex-flow: column;
gap: 5px; gap: 5px;
align-items: center; align-items: center;
div { div {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
} }
.text { .text {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
padding: 5px; padding: 5px;
} }
.skeletonAuthor { .skeletonAuthor {
font-size: smaller; font-size: smaller;
padding: 5px;
display: flex; display: flex;
flex-flow: row; flex-flow: row;
align-items: center; align-items: center;
gap: 25px; gap: 25px;
padding: 0 20px 0 5px; padding: 0 20px 0 5px;
svg { svg {
@include themed() { @include themed {
background-color: t($modal-sidebar); background-color: t($modal-sidebar);
padding: 10px; padding: 10px;
border-radius: t($borderRadius); border-radius: t($borderRadius);
place-items: center; place-items: center;
} }
} }
@include themed() { @include themed {
background-color: t($modal-sidebarActive); background-color: t($modal-sidebarActive);
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }
.title { .title {
font-size: medium !important; font-size: medium !important;
} }
.subtitle { .subtitle {
font-size: smaller !important; font-size: smaller !important;
} }
@ -317,6 +341,7 @@ h5 {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
gap: 5px; gap: 5px;
div { div {
margin-top: 10px; margin-top: 10px;
padding: 3px; padding: 3px;
@ -325,7 +350,7 @@ h5 {
border-radius: 100%; border-radius: 100%;
display: grid; display: grid;
place-items: center; place-items: center;
@include themed() { @include themed {
background-color: t($modal-sidebarActive); background-color: t($modal-sidebarActive);
} }
} }

View File

@ -45,7 +45,6 @@
} }
.item-back { .item-back {
filter: blur(60px) saturate(180%) brightness(90%);
filter: blur(60px) saturate(180%) brightness(90%); filter: blur(60px) saturate(180%) brightness(90%);
position: absolute; position: absolute;
object-fit: cover !important; object-fit: cover !important;
@ -149,7 +148,6 @@
box-sizing: border-box !important; box-sizing: border-box !important;
border-radius: 12px 12px 0 0; border-radius: 12px 12px 0 0;
backdrop-filter: blur(40px) saturate(150%) brightness(75%); backdrop-filter: blur(40px) saturate(150%) brightness(75%);
backdrop-filter: blur(40px) saturate(150%) brightness(75%);
@include themed { @include themed {
background-image: linear-gradient(to bottom, transparent, t($modal-background)); background-image: linear-gradient(to bottom, transparent, t($modal-background));
} }
@ -335,9 +333,11 @@ p.author {
.flexTopMarketplace { .flexTopMarketplace {
display: flex; display: flex;
margin-bottom: 15px; margin-bottom: 15px;
.tooltip { .tooltip {
margin-right: 25px; margin-right: 25px;
} }
.mainTitle { .mainTitle {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
@ -422,7 +422,6 @@ p.author {
border-radius: 150px; border-radius: 150px;
padding: 1px 12px; padding: 1px 12px;
backdrop-filter: blur(16px) saturate(180%); backdrop-filter: blur(16px) saturate(180%);
backdrop-filter: blur(16px) saturate(180%);
background-color: rgb(255 255 255 / 10%); background-color: rgb(255 255 255 / 10%);
border: 1px solid rgb(209 213 219 / 30%); border: 1px solid rgb(209 213 219 / 30%);
color: #fff; color: #fff;
@ -451,13 +450,11 @@ p.author {
gap: 15px; gap: 15px;
padding: 1px 12px; padding: 1px 12px;
backdrop-filter: blur(16px) saturate(180%) !important; backdrop-filter: blur(16px) saturate(180%) !important;
backdrop-filter: blur(16px) saturate(180%) !important;
background-color: rgb(255 255 255 / 10%) !important; background-color: rgb(255 255 255 / 10%) !important;
border: 1px solid rgb(209 213 219 / 30%) !important; border: 1px solid rgb(209 213 219 / 30%) !important;
color: #fff !important; color: #fff !important;
&:hover { &:hover {
backdrop-filter: blur(16px) saturate(180%) !important;
backdrop-filter: blur(16px) saturate(180%) !important; backdrop-filter: blur(16px) saturate(180%) !important;
background-color: rgb(17 25 40 / 20%) !important; background-color: rgb(17 25 40 / 20%) !important;
border: 1px solid rgb(255 255 255 / 12.5%) !important; border: 1px solid rgb(255 255 255 / 12.5%) !important;
@ -507,13 +504,11 @@ p.author {
gap: 15px; gap: 15px;
padding: 1px 12px; padding: 1px 12px;
backdrop-filter: blur(16px) saturate(180%); backdrop-filter: blur(16px) saturate(180%);
backdrop-filter: blur(16px) saturate(180%);
background-color: rgb(255 255 255 / 10%); background-color: rgb(255 255 255 / 10%);
border: 1px solid rgb(209 213 219 / 30%); border: 1px solid rgb(209 213 219 / 30%);
color: #fff; color: #fff;
&:hover { &:hover {
backdrop-filter: blur(16px) saturate(180%);
backdrop-filter: blur(16px) saturate(180%); backdrop-filter: blur(16px) saturate(180%);
background-color: rgb(17 25 40 / 20%); background-color: rgb(17 25 40 / 20%);
border: 1px solid rgb(255 255 255 / 12.5%); border: 1px solid rgb(255 255 255 / 12.5%);

View File

@ -28,9 +28,9 @@ p.description {
flex: 1 0 40% !important; flex: 1 0 40% !important;
} }
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
box-shadow: t(boxShadow); box-shadow: t(boxshadow);
border-radius: t($borderRadius); border-radius: t($borderRadius);
padding: 15px; padding: 15px;
@ -67,7 +67,7 @@ p.description {
font-size: 38px; font-size: 38px;
font-weight: 600; font-weight: 600;
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
@ -85,7 +85,7 @@ p.description {
transition: 0.5s; transition: 0.5s;
cursor: pointer; cursor: pointer;
@include themed() { @include themed {
&:hover { &:hover {
color: t($subColor); color: t($subColor);
} }

View File

@ -1,15 +1,17 @@
.navbar-item { .navbar-item {
flex-flow: row !important; flex-flow: row !important;
padding: 0 15px 0 15px; padding: 0 15px;
@include themed() { @include themed {
background: t($modal-secondaryColour) !important; background: t($modal-secondaryColour) !important;
border-radius: t($borderRadius) !important; border-radius: t($borderRadius) !important;
box-shadow: t($boxShadow) !important; box-shadow: t($boxShadow) !important;
border: 0px !important; border: 0 !important;
&:hover { &:hover {
background: t($modal-sidebarActive) !important; background: t($modal-sidebarActive) !important;
} }
} }
&:hover { &:hover {
svg { svg {
background: var(--tab-active); background: var(--tab-active);
@ -50,7 +52,7 @@
} }
.navbar-item-active { .navbar-item-active {
@include themed() { @include themed {
background: t($modal-sidebarActive) !important; background: t($modal-sidebarActive) !important;
} }
} }

View File

@ -4,14 +4,15 @@
width: 6px; width: 6px;
height: 6px; height: 6px;
border-radius: 12px; border-radius: 12px;
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
} }
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
@include themed() { @include themed {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
border-radius: 12px; border-radius: 12px;
} }

View File

@ -1,7 +1,7 @@
@import '../.../../../../../././../scss/variables'; @import '../.../../../../../././../scss/variables';
.sidebar { .sidebar {
@include themed() { @include themed {
top: 0; top: 0;
left: 0; left: 0;
position: sticky; position: sticky;
@ -32,7 +32,7 @@
hr { hr {
height: 1px; height: 1px;
background: #ccc; background: #ccc;
margin: 0 1.75rem 0 1.75rem; margin: 0 1.75rem;
border: none; border: none;
} }

View File

@ -4,24 +4,27 @@
button { button {
@include modal-button(standard); @include modal-button(standard);
} }
@include themed() { @include themed {
padding: 1rem 3rem 3rem 3rem; padding: 1rem 3rem 3rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
background: t($modal-background); background: t($modal-background);
@extend %tabText; @extend %tabText;
hr { hr {
width: 100%; width: 100%;
background: rgba(196, 196, 196, 0.74); background: rgb(196 196 196 / 74%);
outline: none; outline: none;
} }
.settingsRow { .settingsRow {
display: flex; display: flex;
align-items: center; align-items: center;
min-height: 100px; min-height: 100px;
justify-content: space-between; justify-content: space-between;
/*border-top: 1px solid #ccc;*/
/* border-top: 1px solid #ccc; */
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
padding-top: 1rem; padding-top: 1rem;
padding-bottom: 1rem; padding-bottom: 1rem;
@ -29,16 +32,19 @@
&.settingsNoBorder { &.settingsNoBorder {
border-bottom: none; border-bottom: none;
} }
.content { .content {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
max-width: 50%; max-width: 50%;
} }
.action { .action {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
align-items: flex-end; align-items: flex-end;
width: 300px; width: 300px;
button { button {
margin-top: 10px; margin-top: 10px;
width: 283px; width: 283px;
@ -49,12 +55,10 @@
} }
.activityButtons { .activityButtons {
flex-wrap: wrap !important;
justify-content: space-between !important; justify-content: space-between !important;
align-items: flex-end !important; align-items: flex-end !important;
align-content: space-between !important; align-content: space-between !important;
flex-wrap: wrap !important; flex-flow: row wrap !important;
flex-direction: row !important;
button:not(:first-child) { button:not(:first-child) {
width: 40% !important; width: 40% !important;
@ -69,18 +73,22 @@
table { table {
border-collapse: separate; border-collapse: separate;
@include themed() { @include themed {
border-radius: t($borderRadius); border-radius: t($borderRadius);
margin-top: 20px; margin-top: 20px;
tr:first-child { tr:first-child {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
th { th {
padding: 1rem; padding: 1rem;
} }
} }
td { td {
padding: 15px; padding: 15px;
} }
tr { tr {
th:last-child { th:last-child {
display: grid; display: grid;
@ -94,6 +102,7 @@ table {
tr:not(:first-child) { tr:not(:first-child) {
background: t($modal-sidebar); background: t($modal-sidebar);
textarea { textarea {
width: 90%; width: 90%;
margin: 10px; margin: 10px;
@ -105,9 +114,11 @@ table {
.donateButton { .donateButton {
@include modal-button(standard); @include modal-button(standard);
flex-flow: row !important; flex-flow: row !important;
text-decoration: none; text-decoration: none;
height: auto !important; height: auto !important;
svg { svg {
font-size: 1.5rem !important; font-size: 1.5rem !important;
} }
@ -116,6 +127,7 @@ table {
.flexGrow { .flexGrow {
flex-grow: 1; flex-grow: 1;
} }
.messageMap { .messageMap {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
@ -123,42 +135,48 @@ table {
gap: 25px; gap: 25px;
padding: 25px; padding: 25px;
justify-content: space-between; justify-content: space-between;
div:nth-child(1) { div:nth-child(1) {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
gap: 25px; gap: 25px;
align-items: center; align-items: center;
} }
.icon { .icon {
border-radius: 100%; border-radius: 100%;
display: grid; display: grid;
place-items: center; place-items: center;
padding: 15px; padding: 15px;
font-size: 25px; font-size: 25px;
@include themed() { @include themed {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
} }
.messageText { .messageText {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
flex-grow: 3; flex-grow: 3;
textarea { textarea {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
.subtitle { .subtitle {
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
font-size: 13px; font-size: 13px;
} }
} }
} }
.messageAction { .messageAction {
float: right; float: right;
} }
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }

View File

@ -14,10 +14,10 @@ input {
width: 30px; width: 30px;
border: none; border: none;
outline: none; outline: none;
-webkit-appearance: none; appearance: none;
vertical-align: middle; vertical-align: middle;
background: none; background: none;
@include themed() { @include themed {
border: t($modal-sidebarActive) 1px solid; border: t($modal-sidebarActive) 1px solid;
} }
@ -38,7 +38,7 @@ input {
width: 30px; width: 30px;
border: none; border: none;
outline: none; outline: none;
-moz-appearance: none; appearance: none;
vertical-align: middle; vertical-align: middle;
background: none; background: none;
@ -55,11 +55,12 @@ input {
/* date picker */ /* date picker */
&[type='date'] { &[type='date'] {
width: 260px; width: 260px;
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border: 3px solid t($modal-sidebarActive); border: 3px solid t($modal-sidebarActive);
color: t($color); color: t($color);
} }
padding: 15px 20px; padding: 15px 20px;
border-radius: 4px; border-radius: 4px;
display: flex !important; display: flex !important;
@ -86,8 +87,9 @@ h4 {
height: 400px; height: 400px;
display: grid; display: grid;
place-items: center; place-items: center;
button { button {
padding: 0 20px 0 20px; padding: 0 20px;
} }
} }
@ -97,29 +99,34 @@ h4 {
flex-flow: row; flex-flow: row;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
div:nth-child(1) { div:nth-child(1) {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
align-items: center; align-items: center;
gap: 20px; gap: 20px;
svg { svg {
font-size: 30px; font-size: 30px;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
div { div {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
} }
} }
.topbarbuttons { .topbarbuttons {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
gap: 25px; gap: 25px;
} }
button { button {
padding: 0 20px 0 20px; padding: 0 20px;
} }
} }
@ -130,17 +137,21 @@ h4 {
column-gap: 45px; column-gap: 45px;
row-gap: 100px; row-gap: 100px;
padding-top: 45px; padding-top: 45px;
.leftPanel { .leftPanel {
grid-area: 1 / 1 / 3 / 3; grid-area: 1 / 1 / 3 / 3;
} }
.rightPanel { .rightPanel {
grid-area: 1 / 3 / 4 / 4; grid-area: 1 / 3 / 4 / 4;
display: flex; display: flex;
flex-flow: column; flex-flow: column;
gap: 10px; gap: 10px;
.subtitle { .subtitle {
text-transform: capitalize; text-transform: capitalize;
} }
span { span {
font-size: 20px; font-size: 20px;
} }
@ -162,10 +173,12 @@ h4 {
svg { svg {
font-size: 2em; font-size: 2em;
} }
&:hover { &:hover {
background: rgba(121, 121, 121, 0.226); background: rgb(121 121 121 / 22.6%);
} }
} }
.returnButton { .returnButton {
display: grid; display: grid;
place-items: center; place-items: center;
@ -174,11 +187,13 @@ h4 {
border-radius: 12px; border-radius: 12px;
cursor: pointer; cursor: pointer;
margin-right: 25px; margin-right: 25px;
svg { svg {
font-size: 2em; font-size: 2em;
} }
&:hover { &:hover {
background: rgba(121, 121, 121, 0.226); background: rgb(121 121 121 / 22.6%);
} }
} }
} }
@ -191,20 +206,21 @@ h4 {
} }
.achievement { .achievement {
padding: 20px 10px 20px 10px; padding: 20px 10px;
display: flex; display: flex;
flex-flow: row !important; flex-flow: row !important;
align-items: center; align-items: center;
@include themed() { @include themed {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
border-radius: t($borderRadius); border-radius: t($borderRadius);
gap: 10px; gap: 10px;
} }
svg { svg {
font-size: 20px !important; font-size: 20px !important;
padding: 15px; padding: 15px;
border-radius: 100%; border-radius: 100%;
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
} }
} }
@ -212,10 +228,11 @@ h4 {
.statSection.rightPanel { .statSection.rightPanel {
padding: 25px; padding: 25px;
@include themed() { @include themed {
border-radius: t($borderRadius); border-radius: t($borderRadius);
background: t($modal-sidebar); background: t($modal-sidebar);
box-shadow: 0 0 0 4px t($modal-sidebarActive); box-shadow: 0 0 0 4px t($modal-sidebarActive);
svg { svg {
font-size: 50px; font-size: 50px;
color: t($subColor); color: t($subColor);
@ -226,6 +243,7 @@ h4 {
.achievementContent { .achievementContent {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
span { span {
font-size: 15px; font-size: 15px;
} }
@ -233,4 +251,4 @@ h4 {
.customcss { .customcss {
color: orange !important; color: orange !important;
} }

View File

@ -12,7 +12,7 @@
.aboutLink, .aboutLink,
.MuiSlider-colorPrimary, .MuiSlider-colorPrimary,
legend { legend {
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
} }
@ -22,19 +22,19 @@ legend {
} }
.MuiSwitch-colorPrimary.Mui-checked + .MuiSwitch-track { .MuiSwitch-colorPrimary.Mui-checked + .MuiSwitch-track {
@include themed() { @include themed {
background-color: t($subColor) !important; background-color: t($subColor) !important;
} }
} }
.MuiSwitch-track { .MuiSwitch-track {
@include themed() { @include themed {
background-color: t($subColor) !important; background-color: t($subColor) !important;
} }
} }
.MuiIconButton-label > svg.MuiSvgIcon-root { .MuiIconButton-label > svg.MuiSvgIcon-root {
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
} }
@ -48,7 +48,7 @@ legend {
} }
.checkbox svg { .checkbox svg {
@include themed() { @include themed {
fill: t($color) !important; fill: t($color) !important;
} }
} }
@ -68,13 +68,13 @@ legend {
} }
.MuiOutlinedInput-notchedOutline { .MuiOutlinedInput-notchedOutline {
@include themed() { @include themed {
border-color: t($color) !important; border-color: t($color) !important;
} }
} }
.MuiFormLabel-root-MuiInputLabel-root { .MuiFormLabel-root-MuiInputLabel-root {
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
} }
@ -87,20 +87,20 @@ legend {
.Mui-focused, .Mui-focused,
legend, legend,
.MuiOutlinedInput-input { .MuiOutlinedInput-input {
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
} }
.MuiMenu-list { .MuiMenu-list {
@include themed() { @include themed {
background-color: t($modal-background); background-color: t($modal-background);
color: t($color); color: t($color);
} }
} }
.Mui-selected { .Mui-selected {
@include themed() { @include themed {
background-color: t($modal-sidebarActive) !important; background-color: t($modal-sidebarActive) !important;
} }
} }
@ -121,13 +121,13 @@ legend,
} }
.MuiPaper-root { .MuiPaper-root {
@include themed() { @include themed {
background-color: t($modal-background) !important; background-color: t($modal-background) !important;
} }
} }
.MuiSlider-valueLabel { .MuiSlider-valueLabel {
@include themed() { @include themed {
background-color: t($modal-sidebarActive) !important; background-color: t($modal-sidebarActive) !important;
} }
} }
@ -145,14 +145,16 @@ legend,
width: 100%; width: 100%;
margin-left: 0; margin-left: 0;
} }
.MuiFormControlLabel-root { .MuiFormControlLabel-root {
width: 100%; width: 100%;
} }
} }
.css-6od3lo-MuiChip-label { .css-6od3lo-MuiChip-label {
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
text-transform: capitalize; text-transform: capitalize;
} }

View File

@ -15,6 +15,7 @@
flex-flow: row; flex-flow: row;
display: flex; display: flex;
gap: 15px; gap: 15px;
a { a {
@include basicIconButton(11px, 1.2rem, modal); @include basicIconButton(11px, 1.2rem, modal);
} }
@ -24,10 +25,11 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 15px; gap: 15px;
img { img {
width: 75px; width: 75px;
height: auto; height: auto;
@include themed() { @include themed {
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }
} }
@ -35,10 +37,11 @@
.subtitle-photographers { .subtitle-photographers {
font-size: 16px; font-size: 16px;
@include themed() { @include themed {
color: t($color); color: t($color);
span { span {
color: t($subColor) color: t($subColor);
} }
} }
} }

View File

@ -1,7 +1,7 @@
@import '../../../../../../../scss/variables'; @import '../../../../../../../scss/variables';
.sortableItem { .sortableItem {
@include themed() { @include themed {
padding: 15px; padding: 15px;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 1.325rem; font-size: 1.325rem;
@ -12,7 +12,6 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
background: t($modal-secondaryColour); background: t($modal-secondaryColour);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: t($boxShadow); box-shadow: t($boxShadow);
@ -49,9 +48,10 @@
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
padding: 20px; padding: 20px;
grid-gap: 20px; grid-gap: 20px;
@include themed() { @include themed {
div { div {
border-radius: t($borderRadius); border-radius: t($borderRadius);
// border: 5px t($modal-sidebar) solid; // border: 5px t($modal-sidebar) solid;
display: flex; display: flex;
align-items: center; align-items: center;
@ -59,26 +59,31 @@
flex-flow: column; flex-flow: column;
gap: 5px; gap: 5px;
position: relative; position: relative;
img { img {
width: 100%; width: 100%;
height: 200px; height: 200px;
object-fit: cover; object-fit: cover;
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }
button { button {
padding: 0 30px 0 30px; padding: 0 30px;
background: t($modal-background); background: t($modal-background);
border: none !important; border: none !important;
&:hover { &:hover {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
} }
.tooltip { .tooltip {
position: absolute !important; position: absolute !important;
top: 5px !important; top: 5px !important;
right: 5px !important; right: 5px !important;
} }
} }
.iconButton { .iconButton {
width: calc(100% - 22px); width: calc(100% - 22px);
margin-top: 10px; margin-top: 10px;
@ -100,7 +105,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
margin-top: 16px; margin-top: 16px;
@include themed() { @include themed {
background: t($modal-secondaryColour); background: t($modal-secondaryColour);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: t($boxShadow); box-shadow: t($boxShadow);
@ -113,13 +118,14 @@
display: flex; display: flex;
flex-flow: column; flex-flow: column;
align-items: center; align-items: center;
.quotediv .quote { .quotediv .quote {
max-width: 100%; max-width: 100%;
} }
.quotediv .author-holder .author .author-content .title { .quotediv .author-holder .author .author-content .title {
font-size: 1em !important; font-size: 1em !important;
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
} }
@ -131,20 +137,23 @@
flex-flow: column; flex-flow: column;
margin-top: 16px; margin-top: 16px;
padding: 25px; padding: 25px;
.title { .title {
font-size: 36px !important; font-size: 36px !important;
text-align: center; text-align: center;
} }
.subtitle { .subtitle {
font-size: 12px !important; font-size: 12px !important;
text-align: center; text-align: center;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1px;
} }
.content { .content {
margin: 20px 20px 0; margin: 20px 20px 0;
} }
@include themed() { @include themed {
background: t($modal-secondaryColour); background: t($modal-secondaryColour);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: t($boxShadow); box-shadow: t($boxShadow);

View File

@ -1,4 +1,5 @@
@import 'scss/variables'; @import 'scss/variables';
// The following CSS is to work around some assumptions made by the react-color-gradient-picker // The following CSS is to work around some assumptions made by the react-color-gradient-picker
* { * {
// workaround for https://github.com/arthay/react-color-gradient-picker/issues/11 // workaround for https://github.com/arthay/react-color-gradient-picker/issues/11
@ -12,7 +13,7 @@ div.color-preview-area > div > div:nth-child(5) {
.ui-color-picker { .ui-color-picker {
padding: 10px; padding: 10px;
@include themed() { @include themed {
background: t($modal-secondaryColour); background: t($modal-secondaryColour);
border-radius: t($borderRadius); border-radius: t($borderRadius);
box-shadow: t($boxShadow); box-shadow: t($boxShadow);
@ -39,7 +40,7 @@ div.color-preview-area > div > div:nth-child(5) {
.text-input, .text-input,
.number-input { .number-input {
@include themed() { @include themed {
background-color: t($modal-secondaryColour) !important; background-color: t($modal-secondaryColour) !important;
color: t($color) !important; color: t($color) !important;
} }
@ -51,6 +52,7 @@ div.color-preview-area > div > div:nth-child(5) {
align-items: center; align-items: center;
flex-flow: row-reverse; flex-flow: row-reverse;
} }
.gradient-controls { .gradient-controls {
margin-bottom: 10px !important; margin-bottom: 10px !important;
width: auto !important; width: auto !important;

View File

@ -1,5 +1,4 @@
import { useState, memo } from 'react'; import { useState, memo } from 'react';
import { useTheme } from '@mui/material/styles';
import Box from '@mui/material/Box'; import Box from '@mui/material/Box';
import OutlinedInput from '@mui/material/OutlinedInput'; import OutlinedInput from '@mui/material/OutlinedInput';
import InputLabel from '@mui/material/InputLabel'; import InputLabel from '@mui/material/InputLabel';

View File

@ -349,14 +349,16 @@ export default class About extends PureComponent {
<span className="title"> <span className="title">
{variables.getMessage('modals.main.settings.sections.about.photographers')} {variables.getMessage('modals.main.settings.sections.about.photographers')}
</span> </span>
{!!this.state.loading ? <p>{this.state.loading}</p> : <></> } {!!this.state.loading ? <p>{this.state.loading}</p> : <></>}
<ul> <ul>
{this.state.photographers.map(({ name, count }) => <> {this.state.photographers.map(({ name, count }) => (
<li className="subtitle-photographers"> <>
{name} <li className="subtitle-photographers">
<span> ({count} images)</span> {name}
</li> <span> ({count} images)</span>
</>)} </li>
</>
))}
</ul> </ul>
</div> </div>
</> </>

View File

@ -102,7 +102,7 @@ export default class AdvancedSettings extends PureComponent {
'modals.main.settings.sections.advanced.custom_css_subtitle', 'modals.main.settings.sections.advanced.custom_css_subtitle',
)} )}
> >
<Text name="customcss" textarea={true} category="other" /> <Text name="customcss" textarea={true} category="other" />
</SettingsItem> </SettingsItem>
<SettingsItem <SettingsItem
title={variables.getMessage('modals.main.settings.sections.experimental.title')} title={variables.getMessage('modals.main.settings.sections.experimental.title')}

View File

@ -17,7 +17,11 @@ export default class DateSettings extends PureComponent {
render() { render() {
const longSettings = ( const longSettings = (
<> <>
<Dropdown label={variables.getMessage('modals.main.settings.sections.date.long_format')} name="longFormat" category="date"> <Dropdown
label={variables.getMessage('modals.main.settings.sections.date.long_format')}
name="longFormat"
category="date"
>
<option value="DMY">DMY</option> <option value="DMY">DMY</option>
<option value="MDY">MDY</option> <option value="MDY">MDY</option>
<option value="YMD">YMD</option> <option value="YMD">YMD</option>

View File

@ -32,7 +32,9 @@ export default class LanguageSettings extends PureComponent {
const quoteLanguages = data.map((language) => { const quoteLanguages = data.map((language) => {
return { return {
name: languages.find((l) => l.value === language.name) ? languages.find((l) => l.value === language.name).name : 'English', name: languages.find((l) => l.value === language.name)
? languages.find((l) => l.value === language.name).name
: 'English',
value: language, value: language,
}; };
}); });
@ -77,7 +79,9 @@ export default class LanguageSettings extends PureComponent {
<div className="languageSettings"> <div className="languageSettings">
<Radio <Radio
name="quoteLanguage" name="quoteLanguage"
options={this.state.quoteLanguages.map((language) => { return { name: language.name, value: language.value.name }; })} options={this.state.quoteLanguages.map((language) => {
return { name: language.name, value: language.value.name };
})}
defaultValue={this.state.quoteLanguages[0].name} defaultValue={this.state.quoteLanguages[0].name}
category="quote" category="quote"
/> />

View File

@ -111,7 +111,7 @@ export default class SearchSettings extends PureComponent {
subtitle={variables.getMessage( subtitle={variables.getMessage(
'modals.main.settings.sections.search.search_engine_subtitle', 'modals.main.settings.sections.search.search_engine_subtitle',
)} )}
final={ this.state.customDisplay === 'none' ? true : false} final={this.state.customDisplay === 'none' ? true : false}
> >
<Dropdown <Dropdown
name="searchEngine" name="searchEngine"
@ -129,7 +129,10 @@ export default class SearchSettings extends PureComponent {
</Dropdown> </Dropdown>
</SettingsItem> </SettingsItem>
<div style={{ display: this.state.customDisplay }}> <div style={{ display: this.state.customDisplay }}>
<SettingsItem title={variables.getMessage('modals.main.settings.sections.search.custom')} final={true}> <SettingsItem
title={variables.getMessage('modals.main.settings.sections.search.custom')}
final={true}
>
<TextField <TextField
label={variables.getMessage('modals.main.settings.sections.search.custom')} label={variables.getMessage('modals.main.settings.sections.search.custom')}
value={this.state.customValue} value={this.state.customValue}

View File

@ -63,7 +63,7 @@ export default class BackgroundSettings extends PureComponent {
} }
render() { render() {
const interval = ( /* const interval = (
<SettingsItem <SettingsItem
title={variables.getMessage('modals.main.settings.sections.background.interval.title')} title={variables.getMessage('modals.main.settings.sections.background.interval.title')}
subtitle={variables.getMessage( subtitle={variables.getMessage(
@ -101,7 +101,7 @@ export default class BackgroundSettings extends PureComponent {
</option> </option>
</Dropdown> </Dropdown>
</SettingsItem> </SettingsItem>
); );*/
const APISettings = ( const APISettings = (
<> <>

View File

@ -384,7 +384,9 @@ export default class WelcomeSections extends PureComponent {
<div className="toggle" onClick={() => this.props.switchTab(3)}> <div className="toggle" onClick={() => this.props.switchTab(3)}>
<span> <span>
{variables.getMessage('modals.main.settings.sections.appearance.theme.title')}:{' '} {variables.getMessage('modals.main.settings.sections.appearance.theme.title')}:{' '}
{variables.getMessage('modals.main.settings.sections.appearance.theme.' + localStorage.getItem('theme'))} {variables.getMessage(
'modals.main.settings.sections.appearance.theme.' + localStorage.getItem('theme'),
)}
</span> </span>
</div> </div>
{this.state.importedSettings.length !== 0 ? ( {this.state.importedSettings.length !== 0 ? (

View File

@ -1,42 +1,44 @@
@import '../main/scss/index.scss'; @import '../main/scss/index';
@import 'scss/variables'; @import 'scss/variables';
.welcomemodal { .welcomemodal {
@include themed() { @include themed {
background-color: t($modal-background); background-color: t($modal-background);
} }
} }
.welcomeContent { .welcomeContent {
@include themed() { @include themed {
background-color: t($modal-background); background-color: t($modal-background);
} }
.MuiFormControlLabel-root { .MuiFormControlLabel-root {
margin-right: 0; margin-right: 0;
} }
@extend %tabText; @extend %tabText;
height: 80vh; height: 80vh;
width: clamp(60vw, 1200px, 90vw); width: clamp(60vw, 1200px, 90vw);
display: grid; display: grid;
display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(1, 1fr); grid-template-rows: repeat(1, 1fr);
grid-column-gap: 0px; grid-gap: 0;
grid-row-gap: 0px;
section:nth-child(1) { section:nth-child(1) {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@include themed() { @include themed {
background-color: t($modal-sidebar); background-color: t($modal-sidebar);
} }
} }
section:nth-child(2) { section:nth-child(2) {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
justify-content: space-between; justify-content: space-between;
overflow-y: auto; overflow-y: auto;
.buttons { .buttons {
z-index: 999; z-index: 999;
backdrop-filter: blur(2px); backdrop-filter: blur(2px);
@ -45,11 +47,14 @@
padding: 25px; padding: 25px;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
button { button {
@include modal-button(standard); @include modal-button(standard);
width: 150px; width: 150px;
} }
} }
.content { .content {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
@ -84,7 +89,7 @@
} }
.themesToggleArea { .themesToggleArea {
@include themed() { @include themed {
.active { .active {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
@ -96,13 +101,11 @@
padding: 20px; padding: 20px;
border: 3px solid t($modal-sidebarActive); border: 3px solid t($modal-sidebarActive);
transition: 0.33s; transition: 0.33s;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
align-content: center; align-content: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
@ -160,11 +163,12 @@
display: flex; display: flex;
flex-flow: column; flex-flow: column;
align-items: center; align-items: center;
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
color: t($color); color: t($color);
cursor: pointer; cursor: pointer;
border: 3px solid t($modal-sidebarActive); border: 3px solid t($modal-sidebarActive);
&:hover { &:hover {
background: t($modal-sidebarActive); background: t($modal-sidebarActive);
} }
@ -192,7 +196,7 @@ a.privacy {
.examples { .examples {
img { img {
width: 60%; width: 60%;
@include themed() { @include themed {
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }
} }
@ -203,6 +207,7 @@ a.privacy {
flex-flow: row; flex-flow: row;
justify-content: space-between; justify-content: space-between;
margin-top: 15px; margin-top: 15px;
button { button {
width: 150px; width: 150px;
height: 40px; height: 40px;
@ -212,21 +217,22 @@ a.privacy {
.showcaseimg { .showcaseimg {
width: 350px; width: 350px;
height: auto; height: auto;
/*animation-name: float-in;
/* animation-name: float-in;
animation-duration: 1.2s; animation-duration: 1.2s;
animation-timing-function: ease-in;*/ animation-timing-function: ease-in; */
} }
.welcomeContent { .welcomeContent {
.light { .light {
.toggle.lightTheme { .toggle.lightTheme {
background-color: rgba(219, 219, 219, 0.72); background-color: rgb(219 219 219 / 72%);
} }
} }
.dark { .dark {
.toggle.darkTheme { .toggle.darkTheme {
background-color: rgba(65, 71, 84, 0.9); background-color: rgb(65 71 84 / 90%);
} }
} }
} }
@ -238,14 +244,16 @@ a.privacy {
padding: 25px; padding: 25px;
align-items: center; align-items: center;
@include themed() { @include themed {
background-color: t($modal-sidebar); background-color: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }
.icon { .icon {
@include themed() { @include themed {
background-color: t($modal-sidebarActive); background-color: t($modal-sidebarActive);
} }
height: 50px !important; height: 50px !important;
width: 50px !important; width: 50px !important;
border-radius: 100%; border-radius: 100%;
@ -254,10 +262,12 @@ a.privacy {
text-align: center; text-align: center;
flex-shrink: 0; flex-shrink: 0;
} }
.text { .text {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
} }
a { a {
text-decoration: none; text-decoration: none;
margin-left: auto; margin-left: auto;
@ -267,7 +277,7 @@ a.privacy {
} }
.toggle.active { .toggle.active {
@include themed() { @include themed {
background-color: t($modal-sidebarActive) !important; background-color: t($modal-sidebarActive) !important;
} }
} }

View File

@ -118,7 +118,7 @@ export default class Background extends PureComponent {
break; break;
} }
const accept = 'application/json, ' + (await supportsAVIF() ? 'image/avif' : 'image/webp'); const accept = 'application/json, ' + ((await supportsAVIF()) ? 'image/avif' : 'image/webp');
try { try {
data = await (await fetch(requestURL, { headers: { accept } })).json(); data = await (await fetch(requestURL, { headers: { accept } })).json();
} catch (e) { } catch (e) {

View File

@ -15,7 +15,7 @@ function ExcludeModal({ modalClose, info }) {
}; };
return ( return (
<div className="smallModal"> <div className="smallModal">
<div className="shareHeader"> <div className="shareHeader">
<span className="title"> <span className="title">
{variables.getMessage('modals.main.settings.sections.advanced.reset_modal.title')} {variables.getMessage('modals.main.settings.sections.advanced.reset_modal.title')}
@ -29,8 +29,7 @@ function ExcludeModal({ modalClose, info }) {
</Tooltip> </Tooltip>
</div> </div>
<span className="subtitle"> <span className="subtitle">
{ variables.getMessage('widgets.background.exclude_confirm', { category: info.category })} {variables.getMessage('widgets.background.exclude_confirm', { category: info.category })}
</span> </span>
<div className="resetFooter"> <div className="resetFooter">
<button className="textButton" onClick={modalClose}> <button className="textButton" onClick={modalClose}>
@ -43,7 +42,7 @@ function ExcludeModal({ modalClose, info }) {
</button> </button>
</div> </div>
</div> </div>
) );
} }
export default memo(ExcludeModal); export default memo(ExcludeModal);

View File

@ -362,7 +362,12 @@ function PhotoInformation({ info, url, api }) {
key="favourite" key="favourite"
placement="top" placement="top"
> >
<Favourite pun={info.pun} offline={info.offline} credit={info.credit} photoURL={info.url} /> <Favourite
pun={info.pun}
offline={info.offline}
credit={info.credit}
photoURL={info.url}
/>
</Tooltip> </Tooltip>
{!info.offline ? ( {!info.offline ? (
<Tooltip <Tooltip

View File

@ -6,54 +6,64 @@
left: 1rem; left: 1rem;
flex-flow: column-reverse; flex-flow: column-reverse;
display: flex; display: flex;
&:hover { &:hover {
.photoInformation { .photoInformation {
height: auto; height: auto;
align-items: flex-start; align-items: flex-start;
flex-flow: column; flex-flow: column;
.concept-buttons { .concept-buttons {
padding: 30px 0 0 0; padding: 30px 0 0;
display: flex; display: flex;
} }
.extra-content { .extra-content {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
gap: 10px; gap: 10px;
transition: 0.8s; transition: 0.8s;
} }
.concept-stats { .concept-stats {
display: flex; display: flex;
padding-top: 5px; padding-top: 5px;
gap: 20px; gap: 20px;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
div { div {
display: flex; display: flex;
align-items: center; align-items: center;
align-content: center; align-content: center;
flex-direction: row; flex-direction: row;
gap: 5px; gap: 5px;
svg { svg {
font-size: 1em; font-size: 1em;
} }
} }
} }
.concept-copyright { .concept-copyright {
display: flex; display: flex;
margin-top: 10px; margin-top: 10px;
gap: 10px; gap: 10px;
a { a {
text-decoration: none; text-decoration: none;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
} }
.photoInformation-content { .photoInformation-content {
padding: 20px; padding: 20px;
padding-left: 0; padding-left: 0;
} }
.map-concept { .map-concept {
width: 100%; width: 100%;
} }
@ -68,11 +78,13 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
overflow: hidden; overflow: hidden;
img { img {
flex-shrink: 0; flex-shrink: 0;
min-width: 100%; min-width: 100%;
min-height: 100%; min-height: 100%;
} }
svg { svg {
display: none; display: none;
} }
@ -80,7 +92,7 @@
.photoInformation-legacy { .photoInformation-legacy {
font-size: 1.36em; font-size: 1.36em;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); text-shadow: 0 0 10px rgb(0 0 0 / 30%);
color: #fff; color: #fff;
z-index: 99; z-index: 99;
user-select: none; user-select: none;
@ -116,7 +128,7 @@
.infoCard { .infoCard {
display: none; display: none;
background: var(--background); background: var(--background);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); box-shadow: 0 0 10px rgb(0 0 0 / 30%);
color: var(--modal-text); color: var(--modal-text);
position: fixed; position: fixed;
bottom: 2.9rem; bottom: 2.9rem;
@ -199,6 +211,7 @@
.photoInformation { .photoInformation {
@extend %basic; @extend %basic;
animation: fadeIn 2s; animation: fadeIn 2s;
min-width: 300px; min-width: 300px;
font-size: 0.8em; font-size: 0.8em;
@ -208,70 +221,85 @@
flex-flow: row; flex-flow: row;
align-items: center; align-items: center;
transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1); transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
// width: 300px; // width: 300px;
padding: 10px; padding: 10px;
.link { .link {
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
@include themed() { @include themed {
color: t($link); color: t($link);
} }
&:hover { &:hover {
opacity: 0.8; opacity: 0.8;
} }
} }
&:hover { &:hover {
padding: 20px; padding: 20px;
height: auto; height: auto;
align-items: flex-start; align-items: flex-start;
flex-flow: column; flex-flow: column;
.concept-buttons { .concept-buttons {
padding: 30px 0 0 0; padding: 30px 0 0;
display: flex; display: flex;
} }
.extra-content { .extra-content {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
gap: 10px; gap: 10px;
transition: 0.8s; transition: 0.8s;
} }
.concept-stats { .concept-stats {
display: flex; display: flex;
gap: 15px; gap: 15px;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
div { div {
display: flex; display: flex;
align-items: center; align-items: center;
align-content: center; align-content: center;
flex-direction: row; flex-direction: row;
gap: 10px; gap: 10px;
svg { svg {
font-size: 1em; font-size: 1em;
} }
} }
} }
.concept-copyright { .concept-copyright {
display: flex; display: flex;
margin-top: 10px; margin-top: 10px;
gap: 10px; gap: 10px;
a { a {
text-decoration: none; text-decoration: none;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
} }
.photoInformation-content { .photoInformation-content {
padding-left: 0; padding-left: 0;
} }
.map-concept { .map-concept {
width: 100%; width: 100%;
} }
} }
.map-concept { .map-concept {
@extend %basic; @extend %basic;
height: 50px; height: 50px;
width: 50px; width: 50px;
border-radius: 12px; border-radius: 12px;
@ -279,9 +307,11 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border: none !important; border: none !important;
svg { svg {
font-size: 24px; font-size: 24px;
} }
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -291,18 +321,22 @@
border-radius: 12px; border-radius: 12px;
} }
} }
.concept-location { .concept-location {
font-size: 1.9em; font-size: 1.9em;
} }
.concept-credit { .concept-credit {
font-size: 1.4em; font-size: 1.4em;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
a { a {
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
&:nth-child(2) { &:nth-child(2) {
color: var(--modal-link); color: var(--modal-link);
} }
@ -316,11 +350,14 @@
display: flex; display: flex;
flex-flow: column; flex-flow: column;
padding-left: 20px; padding-left: 20px;
a { a {
@include themed() { @include themed {
color: t($link); color: t($link);
} }
text-decoration: none; text-decoration: none;
&:hover { &:hover {
opacity: 0.9; opacity: 0.9;
} }
@ -332,12 +369,14 @@
flex-flow: column; flex-flow: column;
width: 100%; width: 100%;
transition: 1s; transition: 1s;
.concept-row { .concept-row {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 20px; gap: 20px;
svg { svg {
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
font-size: 18px; font-size: 18px;
} }
@ -358,6 +397,7 @@
gap: 20px; gap: 20px;
padding: 20px 20px 0 0; padding: 20px 20px 0 0;
display: none; display: none;
svg { svg {
@include basicIconButton(11px, 1.3rem, ui); @include basicIconButton(11px, 1.3rem, ui);
} }
@ -367,6 +407,7 @@
0% { 0% {
opacity: 0; opacity: 0;
} }
100% { 100% {
opacity: 1; opacity: 1;
} }
@ -377,6 +418,7 @@
height: 50px !important; height: 50px !important;
width: 50px !important; width: 50px !important;
} }
a { a {
height: 50px; height: 50px;
} }
@ -385,12 +427,14 @@
.photoInformation:hover { .photoInformation:hover {
.photoMap { .photoMap {
height: auto !important; height: auto !important;
img { img {
height: auto !important; height: auto !important;
width: auto !important; width: auto !important;
} }
a { a {
height: auto !important; height: auto !important;
} }
} }
} }

View File

@ -12,9 +12,7 @@
.backgroundTransform { .backgroundTransform {
@include animation('fadein2 2s'); @include animation('fadein2 2s');
-webkit-transition: background 2s;
-mov-transition: background 2s;
-o-transition: background 2s;
transition: background 2s; transition: background 2s;
} }

View File

@ -201,7 +201,7 @@ class Todo extends PureComponent {
readOnly={this.state.todo[index].done} readOnly={this.state.todo[index].done}
/> />
<MdDelete onClick={() => this.updateTodo('remove', index)} /> <MdDelete onClick={() => this.updateTodo('remove', index)} />
<SortableHandle/> <SortableHandle />
</div> </div>
} }
/> />

View File

@ -25,20 +25,22 @@
.notesContainer { .notesContainer {
@extend %basic; @extend %basic;
padding: 15px; padding: 15px;
text-align: center; text-align: center;
border-radius: 12px; border-radius: 12px;
position: absolute; position: absolute;
font-size: 1rem !important; font-size: 1rem !important;
/*top: 100%;
/* top: 100%;
left: 50%; left: 50%;
margin-left: -130px;*/ margin-left: -130px; */
.notes-buttons { .notes-buttons {
button { button {
@include basicIconButton(11px, 1.3rem, ui); @include basicIconButton(11px, 1.3rem, ui);
@include themed() { @include themed {
background: t($btn-background) !important; background: t($btn-background) !important;
&:hover { &:hover {
@ -65,6 +67,7 @@
max-height: 65vh !important; max-height: 65vh !important;
overflow-y: visible !important; overflow-y: visible !important;
@extend %basic; @extend %basic;
border: none; border: none;
padding: 15px; padding: 15px;
border-radius: 12px; border-radius: 12px;
@ -86,10 +89,10 @@ textarea {
.topBarNotes { .topBarNotes {
@extend %basic; @extend %basic;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-flow: row;
height: 50px; height: 50px;
border-radius: 12px; border-radius: 12px;
flex-flow: row; flex-flow: row;

View File

@ -14,6 +14,7 @@
gap: 15px; gap: 15px;
} }
} }
.todosEmpty { .todosEmpty {
height: 200px; height: 200px;
display: grid; display: grid;
@ -23,17 +24,18 @@
.todoRow { .todoRow {
@include basicIconButton(1px, 16px, ui); @include basicIconButton(1px, 16px, ui);
display: flex; display: flex;
flex-flow: row; flex-flow: row;
align-items: center; align-items: center;
margin: 15px 5px 15px 5px; margin: 15px 5px;
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
textarea { textarea {
width: 120px; width: 120px;
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
} }
@ -44,12 +46,12 @@
display: grid; display: grid;
cursor: pointer; cursor: pointer;
@include themed() { @include themed {
color: t($color) !important; color: t($color) !important;
} }
&:hover { &:hover {
@include themed() { @include themed {
background: t($modal-sidebar); background: t($modal-sidebar);
border-radius: t($borderRadius); border-radius: t($borderRadius);
} }

View File

@ -7,10 +7,13 @@
flex-flow: row; flex-flow: row;
gap: 10px; gap: 10px;
animation: fadeIn 2s; animation: fadeIn 2s;
button { button {
-webkit-font-smoothing: subpixel-antialiased; -webkit-font-smoothing: subpixel-antialiased;
/*filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3));*/
/* filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3)); */
cursor: pointer; cursor: pointer;
// transition: 0.2s ease; // transition: 0.2s ease;
margin-top: 0; margin-top: 0;
@ -18,6 +21,7 @@
0% { 0% {
opacity: 0; opacity: 0;
} }
100% { 100% {
opacity: 1; opacity: 1;
} }
@ -27,7 +31,7 @@
color: map-get($theme-colours, 'main-text-color'); color: map-get($theme-colours, 'main-text-color');
transform: translateZ(0); transform: translateZ(0);
transform: scale(1.3); transform: scale(1.3);
}*/ } */
} }
} }
@ -37,10 +41,12 @@
@include basicIconButton(12px, 1.2rem, legacy); @include basicIconButton(12px, 1.2rem, legacy);
} }
} }
.first { .first {
@include basicIconButton(12px, 1.2rem, legacy); @include basicIconButton(12px, 1.2rem, legacy);
} }
} }
.new { .new {
button { button {
@include basicIconButton(12px, 1.2rem, ui); @include basicIconButton(12px, 1.2rem, ui);

View File

@ -2,6 +2,7 @@
.quicklinks { .quicklinks {
@include basicIconButton(10px, 14px, ui); @include basicIconButton(10px, 14px, ui);
outline: none; outline: none;
border: none; border: none;
box-shadow: 0 0 0 1px #484848; box-shadow: 0 0 0 1px #484848;
@ -11,7 +12,7 @@
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
font-size: 0.5em; font-size: 0.5em;
padding: 10px 40px 10px 40px; padding: 10px 40px;
gap: 15px; gap: 15px;
} }
@ -25,6 +26,7 @@
textarea { textarea {
@extend %basic; @extend %basic;
border: none; border: none;
padding: 15px; padding: 15px;
border-radius: 12px; border-radius: 12px;
@ -53,7 +55,7 @@
font-size: 16px; font-size: 16px;
cursor: initial; cursor: initial;
user-select: none; user-select: none;
color: rgba(255, 71, 87, 1); color: rgb(255 71 87 / 100%);
} }
} }
@ -90,10 +92,11 @@
} }
/* background-color: var(--background); /* background-color: var(--background);
color: var(--modal-text);*/ color: var(--modal-text); */
.quicklinksdropdown { .quicklinksdropdown {
@extend %basic; @extend %basic;
position: absolute; position: absolute;
z-index: 99; z-index: 99;
display: none; display: none;
@ -115,13 +118,14 @@
.dropdown-subtitle { .dropdown-subtitle {
font-size: 0.4em; font-size: 0.4em;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
button { button {
@include basicIconButton(10px, 0.9rem, ui); @include basicIconButton(10px, 0.9rem, ui);
border-radius: 12px; border-radius: 12px;
border: none; border: none;
outline: none; outline: none;
@ -149,18 +153,20 @@ button.quicklinks {
display: flex; display: flex;
flex-flow: column; flex-flow: column;
gap: 5px; gap: 5px;
button { button {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
gap: 20px; gap: 20px;
justify-content: center; justify-content: center;
} }
.dropdown-error { .dropdown-error {
font-size: 13px; font-size: 13px;
padding-left: 5px; padding-left: 5px;
color: #e74c3c; color: #e74c3c;
} }
@include themed() { @include themed {
textarea { textarea {
background: t($modal-sidebar); background: t($modal-sidebar);
border: 1px solid t($modal-sidebarActive); border: 1px solid t($modal-sidebarActive);
@ -185,22 +191,24 @@ button.quicklinks {
.quickLinksMetro { .quickLinksMetro {
@extend %basic; @extend %basic;
text-decoration: none; text-decoration: none;
gap: 10px; gap: 10px;
display: flex; display: flex;
flex-flow: column; flex-flow: column;
align-items: center; align-items: center;
min-width: 100px; min-width: 100px;
background-image: linear-gradient(to left, rgb(0, 0, 0), transparent, rgb(0, 0, 0)), background-image: linear-gradient(to left, rgb(0 0 0), transparent, rgb(0 0 0)),
url('https://media.cntraveller.com/photos/615ee85…/16:9/w_2580,c_limit/Best%20Cities%20in%20the%20World%20-%20Grid.jpg'); url('https://media.cntraveller.com/photos/615ee85…/16:9/w_2580,c_limit/Best%20Cities%20in%20the%20World%20-%20Grid.jpg');
transition: 0.8s; transition: 0.8s;
text-align: left; text-align: left;
padding: 20px 40px; padding: 20px 40px;
@include themed() { @include themed {
&:hover { &:hover {
background: t($btn-backgroundHover); background: t($btn-backgroundHover);
} }
} }
img { img {
width: auto; width: auto;
align-self: center; align-self: center;
@ -210,7 +218,7 @@ button.quicklinks {
.quicklinknostyle { .quicklinknostyle {
text-decoration: none; text-decoration: none;
font-size: 14px; font-size: 14px;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }

View File

@ -2,10 +2,12 @@
.quote { .quote {
font-size: 0.8em; font-size: 0.8em;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); text-shadow: 0 0 10px rgb(0 0 0 / 30%);
cursor: initial; cursor: initial;
user-select: none; user-select: none;
--shadow-shift: 0.125rem; --shadow-shift: 0.125rem;
color: #fff; color: #fff;
font-weight: 600; font-weight: 600;
width: 40vw; width: 40vw;
@ -20,7 +22,7 @@
svg { svg {
margin-left: 10px; margin-left: 10px;
filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3)); filter: drop-shadow(0 0 6px rgb(0 0 0 / 30%));
} }
} }
@ -37,6 +39,7 @@ h1.quoteauthor {
.author { .author {
@extend %basic; @extend %basic;
display: flex; display: flex;
flex-flow: row; flex-flow: row;
height: 70px; height: 70px;
@ -50,14 +53,14 @@ h1.quoteauthor {
.author-knownfor { .author-knownfor {
font-size: clamp(13px, 2.5vw, 0.4em); font-size: clamp(13px, 2.5vw, 0.4em);
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
.author-license { .author-license {
font-size: clamp(8px, 2.5vw, 0.1em); font-size: clamp(8px, 2.5vw, 0.1em);
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
@ -70,6 +73,7 @@ h1.quoteauthor {
.author-img { .author-img {
@extend %basic; @extend %basic;
height: 100%; height: 100%;
width: 70px; width: 70px;
border-radius: 12px 0 0 12px; border-radius: 12px 0 0 12px;
@ -102,6 +106,7 @@ h1.quoteauthor {
0% { 0% {
opacity: 0; opacity: 0;
} }
100% { 100% {
opacity: 1; opacity: 1;
} }
@ -116,6 +121,7 @@ h1.quoteauthor {
a { a {
display: flex; display: flex;
} }
a { a {
@include basicIconButton(11px, 1.3rem, ui); @include basicIconButton(11px, 1.3rem, ui);
} }
@ -127,6 +133,7 @@ h1.quoteauthor {
flex-direction: column; flex-direction: column;
gap: 10px; gap: 10px;
align-items: center; align-items: center;
button { button {
@include basicIconButton(11px, 1.3rem, ui); @include basicIconButton(11px, 1.3rem, ui);
} }
@ -135,17 +142,20 @@ h1.quoteauthor {
.deleteButton { .deleteButton {
height: auto !important; height: auto !important;
@include basicIconButton(11px, 1.3rem, modal); @include basicIconButton(11px, 1.3rem, modal);
padding: 10px 20px; padding: 10px 20px;
} }
.author-content.whileLoading { .author-content.whileLoading {
@include themed() { @include themed {
gap: 5px; gap: 5px;
.title { .title {
color: transparent; color: transparent;
width: 100px; width: 100px;
background: t($modal-sidebar); background: t($modal-sidebar);
} }
.subtitle { .subtitle {
color: transparent; color: transparent;
width: 50px; width: 50px;

View File

@ -234,7 +234,10 @@ export default class Search extends PureComponent {
{searchEngines.map(({ name }, key) => { {searchEngines.map(({ name }, key) => {
return ( return (
<span <span
className={"searchDropdownList" + (this.state.currentSearch === name ? " searchDropdownListActive" : "")} className={
'searchDropdownList' +
(this.state.currentSearch === name ? ' searchDropdownListActive' : '')
}
onClick={() => this.setSearch(name)} onClick={() => this.setSearch(name)}
key={key} key={key}
> >
@ -242,12 +245,15 @@ export default class Search extends PureComponent {
</span> </span>
); );
})} })}
<span <span
className={"searchDropdownList" + (this.state.currentSearch === customText ? " searchDropdownListActive" : "")} className={
onClick={() => this.setSearch(customText, 'custom')} 'searchDropdownList' +
> (this.state.currentSearch === customText ? ' searchDropdownListActive' : '')
{customText} }
</span> onClick={() => this.setSearch(customText, 'custom')}
>
{customText}
</span>
</div> </div>
) : null} ) : null}
</div> </div>

View File

@ -8,13 +8,14 @@
input[type='text'] { input[type='text'] {
@extend %basic; @extend %basic;
outline: none; outline: none;
border: none; border: none;
font-size: 1.2rem; font-size: 1.2rem;
padding: 10px 0 10px 20px; padding: 10px 0 10px 20px;
&::placeholder { &::placeholder {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
@ -46,6 +47,7 @@
.searchDropdown { .searchDropdown {
@extend %basic; @extend %basic;
margin-top: 5px; margin-top: 5px;
display: flex; display: flex;
flex-flow: column; flex-flow: column;
@ -61,7 +63,7 @@
border-radius: 12px; border-radius: 12px;
&:hover { &:hover {
@include themed() { @include themed {
background: t($btn-backgroundHover); background: t($btn-backgroundHover);
} }
} }
@ -69,7 +71,7 @@
} }
.searchDropdownListActive { .searchDropdownListActive {
@include themed() { @include themed {
background: t($btn-backgroundHover); background: t($btn-backgroundHover);
} }
} }
@ -77,4 +79,15 @@
.searchMain { .searchMain {
display: flex; display: flex;
flex-flow: row; flex-flow: row;
animation: fadeIn 2s;
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
} }

View File

@ -6,6 +6,7 @@
cursor: initial; cursor: initial;
user-select: none; user-select: none;
font-weight: 600; font-weight: 600;
--shadow-shift: 0.4rem; --shadow-shift: 0.4rem;
} }
@ -17,10 +18,11 @@
.react-clock__face { .react-clock__face {
margin: 0 auto; margin: 0 auto;
border-radius: 100%; border-radius: 100%;
/*box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.3);*/
/* box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.3); */
border: none !important; border: none !important;
@include themed() { @include themed {
border: 1px solid t($color) !important; border: 1px solid t($color) !important;
} }
@ -30,14 +32,16 @@
.react-clock__hand__body, .react-clock__hand__body,
.react-clock__mark__body { .react-clock__mark__body {
@include themed() { @include themed {
background: t($color) !important; background: t($color) !important;
} }
/*box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);*/
/* box-shadow: 0 0 25px rgba(0, 0, 0, 0.3); */
} }
.clockBackground { .clockBackground {
@extend %basic; @extend %basic;
padding: 1rem; padding: 1rem;
&.round { &.round {
@ -47,6 +51,7 @@
.new-clock { .new-clock {
line-height: 100%; line-height: 100%;
.seconds { .seconds {
font-size: 0.2em; font-size: 0.2em;
line-height: 0%; line-height: 0%;

View File

@ -2,12 +2,12 @@
.weather { .weather {
@extend %basic; @extend %basic;
position: absolute; position: absolute;
bottom: 1rem; bottom: 1rem;
right: 1rem; right: 1rem;
cursor: initial; cursor: initial;
user-select: none; user-select: none;
padding: 20px;
transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1); transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
width: auto; width: auto;
display: grid; display: grid;
@ -25,9 +25,11 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
.tooltip { .tooltip {
width: 100%; width: 100%;
} }
.tooltipTitle { .tooltipTitle {
max-height: 12px; max-height: 12px;
} }
@ -38,7 +40,7 @@
font-size: 18px; font-size: 18px;
gap: 40px; gap: 40px;
@include themed() { @include themed {
color: t($weather); color: t($weather);
} }
} }
@ -98,7 +100,7 @@
gap: 20px; gap: 20px;
} }
@include themed() { @include themed {
svg { svg {
color: t($subColor); color: t($subColor);
} }
@ -108,6 +110,7 @@
display: grid; display: grid;
align-items: center; align-items: center;
} }
.materialWeatherIcon { .materialWeatherIcon {
font-size: 18px !important; font-size: 18px !important;
padding: 2px; padding: 2px;
@ -122,7 +125,7 @@
gap: 10px; gap: 10px;
div { div {
@include themed() { @include themed {
border-radius: t($borderRadius); border-radius: t($borderRadius);
border: 1px solid t($btn-backgroundHover); border: 1px solid t($btn-backgroundHover);
padding: 5px; padding: 5px;

View File

@ -8,4 +8,4 @@ export const supportsAVIF = () => {
image.onload = () => resolve(true); image.onload = () => resolve(true);
image.onerror = () => resolve(false); image.onerror = () => resolve(false);
}); });
} };

View File

@ -11,17 +11,15 @@
} }
} }
-webkit-animation: $animations;
-moz-animation: $animations;
animation: $animations; animation: $animations;
} }
@mixin keyframes($animationName) { @mixin keyframes($animationName) {
@-webkit-keyframes #{$animationName} { @keyframes #{$animationName} {
@content; @content;
} }
@-moz-keyframes #{$animationName} { @keyframes #{$animationName} {
@content; @content;
} }
@ -44,6 +42,7 @@
) !global; ) !global;
} }
@content; @content;
$theme-map: null !global; $theme-map: null !global;
} }
} }

View File

@ -17,67 +17,62 @@ $modal-sidebarActive: 'modal-sidebarActive';
$link: 'link'; $link: 'link';
$weather: 'weather'; $weather: 'weather';
$modal-secondaryColour: 'modal-secondaryColour'; $modal-secondaryColour: 'modal-secondaryColour';
$theme-colours: ( $theme-colours: (
'gradient': linear-gradient(90deg, #ffb032 0%, #dd3b67 100%), 'gradient': linear-gradient(90deg, #ffb032 0%, #dd3b67 100%),
'main': rgba(242, 243, 244, 1), 'main': rgb(242 243 244 / 100%),
'secondary': rgba(0, 0, 0, 1), 'secondary': rgb(0 0 0 / 100%),
'main-text-color': rgba(242, 243, 244, 1), 'main-text-color': rgb(242 243 244 / 100%),
'photo-info': #2d3436, 'photo-info': #2d3436,
'photo-info-dark': #ffff, 'photo-info-dark': #ffff,
); );
$modal: ( $modal: (
'background': #fff, 'background': #fff,
'background-dark': #2f3542, 'background-dark': #2f3542,
'text': rgba(0, 0, 0, 1), 'text': rgb(0 0 0 / 100%),
'tab-underline': rgba(204, 204, 204, 1), 'tab-underline': rgb(204 204 204 / 100%),
'tab-underline-active': rgba(0, 0, 0, 1), 'tab-underline-active': rgb(0 0 0 / 100%),
'border-radius': 12px, 'border-radius': 12px,
'sidebar': rgb(240, 240, 240), 'sidebar': rgb(240 240 240),
'tab-active': rgba(219, 219, 219, 0.72), 'tab-active': rgb(219 219 219 / 72%),
'sidebar-dark': rgb(53, 59, 72), 'sidebar-dark': rgb(53 59 72),
'tab-active-dark': rgba(65, 71, 84, 0.9), 'tab-active-dark': rgb(65 71 84 / 90%),
'modal-link': #5352ed, 'modal-link': #5352ed,
'modal-link-dark': #3498db, 'modal-link-dark': #3498db,
); );
$button-colours: ( $button-colours: (
'confirm': rgba(46, 213, 115, 1), 'confirm': rgb(46 213 115 / 100%),
'reset': rgba(255, 71, 87, 1), 'reset': rgb(255 71 87 / 100%),
'other': rgba(83, 82, 237, 1), 'other': rgb(83 82 237 / 100%),
); );
$ui-elements: ( $ui-elements: (
'background': rgba(0, 0, 0, 0.7), 'background': rgb(0 0 0 / 70%),
'backgroundBlur': 15px, 'backgroundBlur': 15px,
'color': rgb(255, 255, 255), 'color': rgb(255 255 255),
'borderRadius': 12px, 'borderRadius': 12px,
'boxShadow': 0 0 0 1px #484848, 'boxShadow': 0 0 0 1px #484848,
); );
$themes: ( $themes: (
light: ( light: (
'weather': #333333, 'weather': #333,
'background': rgba(255, 255, 255, 0.7), 'background': rgb(255 255 255 / 70%),
'backgroundBlur': 15px, 'backgroundBlur': 15px,
'color': rgb(0, 0, 0), 'color': rgb(0 0 0),
'subColor': #333333, 'subColor': #333,
'borderRadius': 12px, 'borderRadius': 12px,
'boxShadow': 0 0 0 1px #e7e3e9, 'boxShadow': 0 0 0 1px #e7e3e9,
'btn-background': #fff, 'btn-background': #fff,
'btn-backgroundHover': rgba(247, 250, 252, 0.9), 'btn-backgroundHover': rgb(247 250 252 / 90%),
'modal-background': #fff, 'modal-background': #fff,
'modal-sidebar': rgba(240, 240, 240, 1), 'modal-sidebar': rgb(240 240 240 / 100%),
'modal-sidebarActive': rgba(219, 219, 219, 0.72), 'modal-sidebarActive': rgb(219 219 219 / 72%),
'modal-secondaryColour': #fafafa, 'modal-secondaryColour': #fafafa,
'link': rgba(83, 82, 237, 1), 'link': rgb(83 82 237 / 100%),
), ),
dark: ( dark: (
'weather': #e7e7e7, 'weather': #e7e7e7,
'background': rgba(0, 0, 0, 0.7), 'background': rgb(0 0 0 / 70%),
'backgroundBlur': 15px, 'backgroundBlur': 15px,
'color': rgb(255, 255, 255), 'color': rgb(255 255 255),
'subColor': #c2c2c2, 'subColor': #c2c2c2,
'borderRadius': 12px, 'borderRadius': 12px,
'boxShadow': 0 0 0 1px #484848, 'boxShadow': 0 0 0 1px #484848,
@ -87,12 +82,12 @@ $themes: (
'modal-sidebar': #0e1013, 'modal-sidebar': #0e1013,
'modal-sidebarActive': #333, 'modal-sidebarActive': #333,
'modal-secondaryColour': #111, 'modal-secondaryColour': #111,
'link': rgb(115, 115, 255), 'link': rgb(115 115 255),
), ),
); );
%basic { %basic {
@include themed() { @include themed {
background: t($background); background: t($background);
border-radius: t($borderRadius); border-radius: t($borderRadius);
color: t($color); color: t($color);
@ -104,7 +99,7 @@ $themes: (
.title { .title {
font-size: 18px; font-size: 18px;
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
@ -112,7 +107,7 @@ $themes: (
.subtitle { .subtitle {
font-size: 14px; font-size: 14px;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
@ -126,14 +121,15 @@ $themes: (
font-weight: 600; font-weight: 600;
margin-bottom: 15px; margin-bottom: 15px;
@include themed() { @include themed {
color: t($color); color: t($color);
} }
.backTitle { .backTitle {
cursor: pointer; cursor: pointer;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
&:hover { &:hover {
color: t($color); color: t($color);
} }
@ -145,7 +141,7 @@ $themes: (
font-size: 24px; font-size: 24px;
font-weight: 600; font-weight: 600;
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
@ -153,7 +149,7 @@ $themes: (
.subtitle { .subtitle {
font-size: 16px; font-size: 16px;
@include themed() { @include themed {
color: t($subColor); color: t($subColor);
} }
} }
@ -163,7 +159,7 @@ $themes: (
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
@include themed() { @include themed {
color: t($link); color: t($link);
} }
@ -174,7 +170,7 @@ $themes: (
} }
@mixin modal-button($type) { @mixin modal-button($type) {
@include themed() { @include themed {
@if $type == 'standard' { @if $type == 'standard' {
background: t($modal-sidebar); background: t($modal-sidebar);
box-shadow: t($boxShadow); box-shadow: t($boxShadow);
@ -219,7 +215,7 @@ $themes: (
} }
@mixin basicIconButton($padding, $font-size, $type) { @mixin basicIconButton($padding, $font-size, $type) {
@include themed() { @include themed {
@if $type == 'ui' { @if $type == 'ui' {
background: t($btn-background); background: t($btn-background);
color: t($color); color: t($color);
@ -307,12 +303,12 @@ $themes: (
} }
@mixin legacyIconButton($padding, $font-size) { @mixin legacyIconButton($padding, $font-size) {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
&:hover { &:hover {
@include themed() { @include themed {
background: t($btn-background); background: t($btn-background);
} }
} }

View File

@ -8,7 +8,7 @@ body {
} }
* { * {
font-family: 'Lexend Deca', 'Montserrat', sans-serif !important; font-family: 'Lexend Deca', Montserrat, sans-serif !important;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
outline: none; outline: none;
@ -22,7 +22,7 @@ body {
bottom: 0; bottom: 0;
left: 0; left: 0;
right: 0; right: 0;
text-shadow: 0 0 25px rgba(0, 0, 0, 0.3); text-shadow: 0 0 25px rgb(0 0 0 / 30%);
display: grid; display: grid;
place-items: center; place-items: center;
margin: 0; margin: 0;
@ -46,9 +46,10 @@ body {
} }
::placeholder { ::placeholder {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
opacity: 1; opacity: 1;
} }
@ -57,7 +58,7 @@ body {
} }
#root { #root {
@include themed() { @include themed {
color: t($color); color: t($color);
} }
} }
@ -110,7 +111,7 @@ body {
} }
@font-face { @font-face {
font-family: 'Montserrat'; font-family: Montserrat;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
font-weight: 400; font-weight: 400;