Compare commits

..

31 Commits

Author SHA1 Message Date
Robin Dadswell 0be2aee9c3 Fixed: Instance Name validation 2022-05-16 21:29:00 +01:00
Servarr a3a8f1417d Automated API Docs update 2022-05-15 09:46:40 -05:00
Qstick 86f2f074e7 New: Dark Theme 2022-05-14 21:54:44 -05:00
Qstick 2b58f3131e New: Move to CSS Variables for Colorings 2022-05-14 21:54:44 -05:00
Qstick 8d39d5c6bb New: Native Theme Engine 2022-05-14 21:54:44 -05:00
twolaw beabd10f06 diversify chartcolors for doughnut & stackedbar 2022-05-14 19:38:23 -05:00
Weblate d56dc313b4 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 99.7% (447 of 448 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (448 of 448 strings)

Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 99.3% (445 of 448 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (448 of 448 strings)

Translated using Weblate (Spanish)

Currently translated at 79.6% (357 of 448 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (448 of 448 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (448 of 448 strings)

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translated using Weblate (Russian)

Currently translated at 77.9% (349 of 448 strings)

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translated using Weblate (Italian)

Currently translated at 100.0% (446 of 446 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (446 of 446 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (446 of 446 strings)

Translated using Weblate (Italian)

Currently translated at 84.5% (377 of 446 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (446 of 446 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Csaba <csab0825@gmail.com>
Co-authored-by: Francesco <francy.ammirati@hotmail.com>
Co-authored-by: Giorgio <sannagiorgio1997@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: RqLiu <sukiqwq@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: zpengcom <z.peng.com@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/zh_CN/
Translation: Servarr/Prowlarr
2022-05-14 12:59:53 -05:00
Qstick a738cfb23a Catch Postgres log connection errors 2022-05-14 10:05:42 -05:00
Qstick adf38f256b Clean lingering Postgres Connections on Close 2022-05-14 10:05:25 -05:00
Qstick ba2d1b3e68 New: Instance name in System/Status API endpoint 2022-05-13 20:13:41 -05:00
Qstick 96d64afcca New: Instance name for Page Title 2022-05-13 20:13:41 -05:00
Robin Dadswell fc55aa4bd8 New: Instance Name used for Syslog 2022-05-13 20:13:41 -05:00
Robin Dadswell 9d5d92b74c New: Set Instance Name 2022-05-13 20:13:41 -05:00
Qstick 6783514525 Fixed: Use separate guid for download protection
Fixes #963
2022-05-13 18:41:36 -05:00
Qstick bc50fd937d Fixed: (RuTracker) Support Raw search from apps
Fixes #987
2022-05-13 17:56:23 -05:00
Qstick 166038a3b8 Fixed: Localization for two part language dialects
Fixes #999
2022-05-13 17:49:27 -05:00
Amos (LFlare) Ng 5207527716 Fixed: (AnimeBytes) Handle series synonyms with commas (#984)
Fixed: (AnimeBytes) Avoid repeating synonyms on key "3"
2022-05-12 20:44:42 -05:00
Qstick bb9969feb5 New: Add Lidarr and Readarr DiscographySeedTime Sync 2022-05-11 22:03:08 -05:00
Qstick f5685c1ca6 New: Add Sonarr SeasonSeedTime Sync 2022-05-11 22:03:08 -05:00
bakerboy448 ac7896b67b Fixed: Indexer Tags Helptext 2022-05-10 20:15:49 -05:00
Servarr 452f32d46b Automated API Docs update 2022-05-10 19:43:32 -05:00
Qstick e90a796b27 New: Seed Settings Sync 2022-05-10 19:32:05 -05:00
Qstick af50a1d3a8 New: Only sync indexers with matching app tags 2022-05-10 19:32:05 -05:00
Qstick 1a71375c3f Indexer Cleanup 2022-05-10 19:32:05 -05:00
Qstick f87aa820c7 Bump version to 0.4.0 2022-05-10 19:31:47 -05:00
Qstick 8e4082a60d Bump version to 0.3.1 2022-05-09 17:41:29 -05:00
Weblate 57996666a3 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 100.0% (446 of 446 strings)

Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (446 of 446 strings)

Translated using Weblate (Russian)

Currently translated at 77.1% (344 of 446 strings)

Translated using Weblate (Italian)

Currently translated at 84.3% (376 of 446 strings)

Translated using Weblate (Italian)

Currently translated at 84.3% (376 of 446 strings)

Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (446 of 446 strings)

Co-authored-by: Casselluu <jack10193@163.com>
Co-authored-by: DarkFighterLuke <luca-consoli@live.it>
Co-authored-by: Giorgio <sannagiorgio1997@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: ZakiZtraki <vovanjudo@gmail.com>
Co-authored-by: lhquark <lhquark@gmail.com>
Co-authored-by: wubinbin0403 <wubinbin0403@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/zh_CN/
Translation: Servarr/Prowlarr
2022-05-08 08:24:46 -05:00
Qstick d0803bc51b Fixed: Correct User-Agent api logging 2022-05-06 08:38:38 -05:00
Qstick a0f7d5e309 Fixed: Prevent endless loop when calling IndexerUrls for Torznab 2022-05-01 23:02:30 -05:00
Qstick bbc3e6df13 Deleted translation using Weblate (Chinese (Min Nan)) 2022-05-01 22:28:28 -05:00
Qstick b0376c07f5 Fix some translations
Fixes #975
2022-05-01 22:20:59 -05:00
227 changed files with 1772 additions and 5776 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ variables:
testsFolder: './_tests'
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
majorVersion: '0.3.0'
majorVersion: '0.4.0'
minorVersion: $[counter('minorVersion', 1)]
prowlarrVersion: '$(majorVersion).$(minorVersion)'
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'
-1
View File
@@ -1,7 +1,6 @@
const reload = require('require-nocache')(module);
const cssVarsFiles = [
'./src/Styles/Variables/colors',
'./src/Styles/Variables/dimensions',
'./src/Styles/Variables/fonts',
'./src/Styles/Variables/animations',
+7 -4
View File
@@ -4,16 +4,19 @@ import React from 'react';
import DocumentTitle from 'react-document-title';
import { Provider } from 'react-redux';
import PageConnector from 'Components/Page/PageConnector';
import ApplyTheme from './ApplyTheme';
import AppRoutes from './AppRoutes';
function App({ store, history }) {
return (
<DocumentTitle title="Prowlarr">
<DocumentTitle title={window.Prowlarr.instanceName}>
<Provider store={store}>
<ConnectedRouter history={history}>
<PageConnector>
<AppRoutes app={App} />
</PageConnector>
<ApplyTheme>
<PageConnector>
<AppRoutes app={App} />
</PageConnector>
</ApplyTheme>
</ConnectedRouter>
</Provider>
</DocumentTitle>
+49
View File
@@ -0,0 +1,49 @@
import PropTypes from 'prop-types';
import React, { Fragment, useEffect } from 'react';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import themes from 'Styles/Themes';
function createMapStateToProps() {
return createSelector(
(state) => state.settings.ui.item.theme || window.Prowlarr.theme,
(
theme
) => {
return {
theme
};
}
);
}
function ApplyTheme({ theme, children }) {
// Update the CSS Variables
function updateCSSVariables() {
const arrayOfVariableKeys = Object.keys(themes[theme]);
const arrayOfVariableValues = Object.values(themes[theme]);
// Loop through each array key and set the CSS Variables
arrayOfVariableKeys.forEach((cssVariableKey, index) => {
// Based on our snippet from MDN
document.documentElement.style.setProperty(
`--${cssVariableKey}`,
arrayOfVariableValues[index]
);
});
}
// On Component Mount and Component Update
useEffect(() => {
updateCSSVariables(theme);
}, [theme]);
return <Fragment>{children}</Fragment>;
}
ApplyTheme.propTypes = {
theme: PropTypes.string.isRequired,
children: PropTypes.object.isRequired
};
export default connect(createMapStateToProps)(ApplyTheme);
+12 -12
View File
@@ -7,25 +7,25 @@
}
.danger {
border-color: $alertDangerBorderColor;
background-color: $alertDangerBackgroundColor;
color: $alertDangerColor;
border-color: var(--alertDangerBorderColor);
background-color: var(--alertDangerBackgroundColor);
color: var(--alertDangerColor);
}
.info {
border-color: $alertInfoBorderColor;
background-color: $alertInfoBackgroundColor;
color: $alertInfoColor;
border-color: var(--alertInfoBorderColor);
background-color: var(--alertInfoBackgroundColor);
color: var(--alertInfoColor);
}
.success {
border-color: $alertSuccessBorderColor;
background-color: $alertSuccessBackgroundColor;
color: $alertSuccessColor;
border-color: var(--alertSuccessBorderColor);
background-color: var(--alertSuccessBackgroundColor);
color: var(--alertSuccessColor);
}
.warning {
border-color: $alertWarningBorderColor;
background-color: $alertWarningBackgroundColor;
color: $alertWarningColor;
border-color: var(--alertWarningBorderColor);
background-color: var(--alertWarningBackgroundColor);
color: var(--alertWarningColor);
}
+3 -3
View File
@@ -3,9 +3,9 @@
margin: 10px;
padding: 10px;
border-radius: 3px;
background-color: $white;
box-shadow: 0 0 10px 1px $cardShadowColor;
color: $defaultColor;
background-color: var(--cardBackgroundColor);
box-shadow: 0 0 10px 1px var(--cardShadowColor);
color: var(--defaultColor);
}
.underlay {
+4 -3
View File
@@ -2,15 +2,16 @@ import Chart from 'chart.js/auto';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { kinds } from 'Helpers/Props';
import colors from 'Styles/Variables/colors';
function getColors(kind) {
const style = getComputedStyle(document.body);
if (kind === kinds.WARNING) {
return colors.failedColors.reverse();
return style.getPropertyValue('--failedColors').split(',');
}
return colors.chartColors;
return style.getPropertyValue('--chartColors').split(',');
}
class BarChart extends Component {
@@ -1,7 +1,12 @@
import Chart from 'chart.js/auto';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import colors from 'Styles/Variables/colors';
function getColors(kind) {
const style = getComputedStyle(document.body);
return style.getPropertyValue('--chartColorsDiversified').split(',');
}
class DoughnutChart extends Component {
constructor(props) {
@@ -29,7 +34,7 @@ class DoughnutChart extends Component {
datasets: [{
label: this.props.title,
data: this.props.data.map((d) => d.value),
backgroundColor: colors.chartColors
backgroundColor: getColors()
}]
}
});
@@ -1,7 +1,12 @@
import Chart from 'chart.js/auto';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import colors from 'Styles/Variables/colors';
function getColors(index) {
const style = getComputedStyle(document.body);
return style.getPropertyValue('--chartColorsDiversified').split(',')[index];
}
class StackedBarChart extends Component {
constructor(props) {
@@ -41,7 +46,7 @@ class StackedBarChart extends Component {
return {
label: d.label,
data: d.data,
backgroundColor: colors.chartColors[index]
backgroundColor: getColors(index)
};
})
}
@@ -54,7 +59,7 @@ class StackedBarChart extends Component {
return {
label: d.label,
data: d.data,
backgroundColor: colors.chartColors[index]
backgroundColor: getColors(index)
};
});
this.myChart.update();
+1 -1
View File
@@ -13,7 +13,7 @@
width: 100%;
border: 0;
border-bottom: 1px solid #e5e5e5;
color: #3a3f51;
color: var(--textColor);
font-size: 21px;
line-height: inherit;
}
@@ -13,7 +13,7 @@
}
.faqLink {
color: $alertWarningColor;
color: var(--alertWarningColor);
font-weight: bold;
}
@@ -3,7 +3,7 @@
margin-bottom: 5px;
&:hover {
background-color: $tableRowHoverBackgroundColor;
background-color: var(--tableRowHoverBackgroundColor);
}
}
@@ -17,5 +17,5 @@
.or {
margin: 0 3px;
color: $themeDarkColor;
color: var(--themeDarkColor);
}
@@ -4,7 +4,7 @@
padding: 5px;
&:hover {
background-color: $tableRowHoverBackgroundColor;
background-color: var(--tableRowHoverBackgroundColor);
}
}
@@ -27,10 +27,10 @@
overflow-y: auto;
max-height: 200px;
width: 100%;
border: 1px solid $inputBorderColor;
border: 1px solid var(--inputBorderColor);
border-radius: 4px;
background-color: $white;
box-shadow: inset 0 1px 1px $inputBoxShadowColor;
background-color: var(--inputBackgroundColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor);
}
}
@@ -46,5 +46,5 @@
}
.suggestionHighlighted {
background-color: $menuItemHoverBackgroundColor;
background-color: var(--menuItemHoverBackgroundColor);
}
+16 -16
View File
@@ -32,21 +32,21 @@
height: 20px;
border: 1px solid #ccc;
border-radius: 2px;
background-color: $white;
color: $white;
background-color: var(--white);
color: var(--white);
text-align: center;
line-height: 20px;
}
.checkbox:focus + .input {
outline: 0;
border-color: $inputFocusBorderColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor, 0 0 8px $inputFocusBoxShadowColor;
border-color: var(--inputFocusBorderColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor), 0 0 8px var(--inputFocusBoxShadowColor);
}
.dangerIsChecked {
border-color: $dangerColor;
background-color: $dangerColor;
border-color: var(--dangerColor);
background-color: var(--dangerColor);
&.isDisabled {
opacity: 0.7;
@@ -54,8 +54,8 @@
}
.primaryIsChecked {
border-color: $primaryColor;
background-color: $primaryColor;
border-color: var(--primaryColor);
background-color: var(--primaryColor);
&.isDisabled {
opacity: 0.7;
@@ -63,8 +63,8 @@
}
.successIsChecked {
border-color: $successColor;
background-color: $successColor;
border-color: var(--successColor);
background-color: var(--successColor);
&.isDisabled {
opacity: 0.7;
@@ -72,8 +72,8 @@
}
.warningIsChecked {
border-color: $warningColor;
background-color: $warningColor;
border-color: var(--warningColor);
background-color: var(--warningColor);
&.isDisabled {
opacity: 0.7;
@@ -82,15 +82,15 @@
.isNotChecked {
&.isDisabled {
border-color: $disabledCheckInputColor;
background-color: $disabledCheckInputColor;
border-color: var(--disabledCheckInputColor);
background-color: var(--disabledCheckInputColor);
opacity: 0.7;
}
}
.isIndeterminate {
border-color: $gray;
background-color: $gray;
border-color: var(--gray);
background-color: var(--gray);
}
.helpText {
@@ -39,7 +39,7 @@
.dropdownArrowContainerDisabled {
composes: dropdownArrowContainer;
color: $disabledInputColor;
color: var(--disabledInputColor);
}
.optionsContainer {
@@ -50,9 +50,9 @@
.options {
composes: scroller from '~Components/Scroller/Scroller.css';
border: 1px solid $inputBorderColor;
border: 1px solid var(--inputBorderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--inputBackgroundColor);
}
.optionsModal {
@@ -76,9 +76,9 @@
.optionsModalScroller {
composes: scroller from '~Components/Scroller/Scroller.css';
border: 1px solid $inputBorderColor;
border: 1px solid var(--inputBorderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--white);
}
.loading {
@@ -90,7 +90,7 @@
display: flex;
justify-content: flex-end;
height: 40px;
border-bottom: 1px solid $borderColor;
border-bottom: 1px solid var(--borderColor);
}
.mobileCloseButton {
@@ -100,6 +100,6 @@
line-height: 40px;
&:hover {
color: $modalCloseButtonHoverColor;
color: var(--modalCloseButtonHoverColor);
}
}
@@ -7,7 +7,7 @@
cursor: default;
&:hover {
background-color: #f8f8f8;
background-color: var(--inputHoverBackgroundColor);
}
}
@@ -24,17 +24,17 @@
}
.isSelected {
background-color: #e2e2e2;
background-color: var(--inputSelectedBackgroundColor);
&:hover {
background-color: #e2e2e2;
background-color: var(--inputSelectedBackgroundColor);
}
&.isMobile {
background-color: inherit;
.iconContainer {
color: $primaryColor;
color: var(--primaryColor);
}
}
}
@@ -49,7 +49,7 @@
.isMobile {
height: 50px;
border-bottom: 1px solid $borderColor;
border-bottom: 1px solid var(--borderColor);
&:last-child {
border: none;
@@ -3,5 +3,5 @@
}
.isDisabled {
color: $disabledInputColor;
color: var(--disabledInputColor);
}
@@ -40,7 +40,7 @@
}
.pendingChangesIcon {
color: $warningColor;
color: var(--warningColor);
font-size: 20px;
line-height: 35px;
}
@@ -1,14 +1,14 @@
.helpText {
margin-top: 5px;
color: $helpTextColor;
color: var(--helpTextColor);
line-height: 20px;
}
.isError {
color: $dangerColor;
color: var(--dangerColor);
.link {
color: $dangerColor;
color: var(--dangerColor);
&:hover {
color: #e01313;
@@ -17,10 +17,10 @@
}
.isWarning {
color: $warningColor;
color: var(--warningColor);
.link {
color: $warningColor;
color: var(--warningColor);
&:hover {
color: #e36c00;
+2 -2
View File
@@ -7,11 +7,11 @@
}
.hasError {
color: $dangerColor;
color: var(--dangerColor);
}
.isAdvanced {
color: $advancedFormLabelColor;
color: var(--advancedFormLabelColor);
}
@media only screen and (max-width: $breakpointLarge) {
@@ -18,6 +18,6 @@
@add-mixin truncate;
margin-left: 15px;
color: $darkGray;
color: var(--darkGray);
font-size: $smallFontSize;
}
@@ -18,7 +18,7 @@
flex: 1 10 0;
margin-left: 15px;
color: $gray;
color: var(--gray);
text-align: right;
font-size: $smallFontSize;
}
+10 -9
View File
@@ -2,26 +2,27 @@
padding: 6px 16px;
width: 100%;
height: 35px;
border: 1px solid $inputBorderColor;
border: 1px solid var(--inputBorderColor);
border-radius: 4px;
background-color: $white;
box-shadow: inset 0 1px 1px $inputBoxShadowColor;
background-color: var(--inputBackgroundColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor);
color: var(--textColor);
&:focus {
outline: 0;
border-color: $inputFocusBorderColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor, 0 0 8px $inputFocusBoxShadowColor;
border-color: var(--inputFocusBorderColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor), 0 0 8px var(--inputFocusBoxShadowColor);
}
}
.hasError {
border-color: $inputErrorBorderColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor, 0 0 8px $inputErrorBoxShadowColor;
border-color: var(--inputErrorBorderColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor), 0 0 8px var(--inputErrorBoxShadowColor);
}
.hasWarning {
border-color: $inputWarningBorderColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor, 0 0 8px $inputWarningBoxShadowColor;
border-color: var(--inputWarningBorderColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor), 0 0 8px var(--inputWarningBoxShadowColor);
}
.hasButton {
@@ -7,8 +7,8 @@
&.isFocused {
outline: 0;
border-color: $inputFocusBorderColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor, 0 0 8px $inputFocusBoxShadowColor;
border-color: var(--inputFocusBorderColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor), 0 0 8px var(--inputFocusBoxShadowColor);
}
}
@@ -1,7 +1,7 @@
.itemContainer {
display: flex;
margin-bottom: 3px;
border-bottom: 1px solid $inputBorderColor;
border-bottom: 1px solid var(--inputBorderColor);
&:last-child {
margin-bottom: 0;
+4 -2
View File
@@ -7,8 +7,8 @@
&.isFocused {
outline: 0;
border-color: $inputFocusBorderColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor, 0 0 8px $inputFocusBoxShadowColor;
border-color: var(--inputFocusBorderColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor), 0 0 8px var(--inputFocusBoxShadowColor);
}
}
@@ -20,4 +20,6 @@
width: 0%;
height: 31px;
border: none;
background-color: var(--inputBackground);
color: var(--textColor);
}
+1 -1
View File
@@ -7,7 +7,7 @@
}
.readOnly {
background-color: #eee;
background-color: var(--inputReadOnlyBackgroundColor);
}
.hasError {
+1 -1
View File
@@ -3,7 +3,7 @@
}
.readOnly {
background-color: #eee;
background-color: var(--inputReadOnlyBackgroundColor);
}
.hasError {
+6 -10
View File
@@ -1,5 +1,5 @@
.danger {
color: $dangerColor;
color: var(--dangerColor);
}
.default {
@@ -7,25 +7,21 @@
}
.disabled {
color: $disabledColor;
color: var(--disabledColor);
}
.info {
color: $infoColor;
}
.pink {
color: $pink;
color: var(--infoColor);
}
.success {
color: $successColor;
color: var(--successColor);
}
.warning {
color: $warningColor;
color: var(--warningColor);
}
.purple {
color: $purple;
color: var(--purple);
}
+3 -3
View File
@@ -1,7 +1,7 @@
.label {
display: inline-block;
margin: 2px;
color: $white;
color: var(--white);
/** text-align: center; **/
white-space: nowrap;
line-height: 1;
@@ -10,7 +10,7 @@
.title {
margin-bottom: 2px;
color: $helpTextColor;
color: var(--helpTextColor);
font-size: 10px;
}
@@ -36,5 +36,5 @@
/** Outline **/
.outline {
background-color: $white;
background-color: var(--white);
}
+28 -37
View File
@@ -3,7 +3,7 @@
margin: 2px;
border: 1px solid;
border-radius: 2px;
color: $white;
color: var(--white);
text-align: center;
white-space: nowrap;
line-height: 1;
@@ -13,86 +13,77 @@
/** Kinds **/
.danger {
border-color: $dangerColor;
background-color: $dangerColor;
border-color: var(--dangerColor);
background-color: var(--dangerColor);
&.outline {
color: $dangerColor;
color: var(--dangerColor);
}
}
.default {
border-color: $themeLightColor;
background-color: $themeLightColor;
border-color: var(--themeLightColor);
background-color: var(--themeLightColor);
&.outline {
color: $themeLightColor;
color: var(--themeLightColor);
}
}
.disabled {
border-color: $disabledColor;
background-color: $disabledColor;
border-color: var(--disabledColor);
background-color: var(--disabledColor);
&.outline {
color: $disabledColor;
color: var(--disabledColor);
}
}
.info {
border-color: $infoColor;
background-color: $infoColor;
border-color: var(--infoColor);
background-color: var(--infoColor);
&.outline {
color: $infoColor;
color: var(--infoColor);
}
}
.inverse {
border-color: $lightGray;
background-color: $lightGray;
color: $defaultColor;
border-color: var(--inverseLabelColor);
background-color: var(--inverseLabelColor);
color: var(--inverseLabelTextColor);
&.outline {
background-color: $defaultColor !important;
color: $lightGray;
background-color: var(--inverseLabelTextColor) !important;
color: var(--inverseLabelColor);
}
}
.primary {
border-color: $primaryColor;
background-color: $primaryColor;
border-color: var(--primaryColor);
background-color: var(--primaryColor);
&.outline {
color: $primaryColor;
color: var(--primaryColor);
}
}
.success {
border-color: $successColor;
background-color: $successColor;
border-color: var(--successColor);
background-color: var(--successColor);
color: #eee;
&.outline {
color: $successColor;
color: var(--successColor);
}
}
.warning {
border-color: $warningColor;
background-color: $warningColor;
border-color: var(--warningColor);
background-color: var(--warningColor);
&.outline {
color: $warningColor;
}
}
.queue {
border-color: $queueColor;
background-color: $queueColor;
&.outline {
color: $queueColor;
color: var(--warningColor);
}
}
@@ -117,5 +108,5 @@
/** Outline **/
.outline {
background-color: $white;
background-color: var(--white);
}
+30 -30
View File
@@ -19,62 +19,62 @@
}
.danger {
border-color: $dangerBorderColor;
background-color: $dangerBackgroundColor;
color: $white;
border-color: var(--dangerBorderColor);
background-color: var(--dangerBackgroundColor);
color: var(--white);
&:hover {
border-color: $dangerHoverBorderColor;
background-color: $dangerHoverBackgroundColor;
color: $white;
border-color: var(--dangerHoverBorderColor);
background-color: var(--dangerHoverBackgroundColor);
color: var(--white);
}
}
.default {
border-color: $defaultBorderColor;
background-color: $defaultBackgroundColor;
color: $defaultColor;
border-color: var(--defaultBorderColor);
background-color: var(--defaultButtonBackgroundColor);
color: var(--defaultButtonTextColor);
&:hover {
border-color: $defaultHoverBorderColor;
background-color: $defaultHoverBackgroundColor;
color: $defaultColor;
border-color: var(--defaultHoverBorderColor);
background-color: var(--defaultHoverBackgroundColor);
color: var(--defaultButtonTextColor);
}
}
.primary {
border-color: $primaryBorderColor;
background-color: $primaryBackgroundColor;
color: $white;
border-color: var(--primaryBorderColor);
background-color: var(--primaryBackgroundColor);
color: var(--white);
&:hover {
border-color: $primaryHoverBorderColor;
background-color: $primaryHoverBackgroundColor;
color: $white;
border-color: var(--primaryHoverBorderColor);
background-color: var(--primaryHoverBackgroundColor);
color: var(--white);
}
}
.success {
border-color: $successBorderColor;
background-color: $successBackgroundColor;
color: $white;
border-color: var(--successBorderColor);
background-color: var(--successBackgroundColor);
color: var(--white);
&:hover {
border-color: $successHoverBorderColor;
background-color: $successHoverBackgroundColor;
color: $white;
border-color: var(--successHoverBorderColor);
background-color: var(--successHoverBackgroundColor);
color: var(--white);
}
}
.warning {
border-color: $warningBorderColor;
background-color: $warningBackgroundColor;
color: $white;
border-color: var(--warningBorderColor);
background-color: var(--warningBackgroundColor);
color: var(--white);
&:hover {
border-color: $warningHoverBorderColor;
background-color: $warningHoverBackgroundColor;
color: $white;
border-color: var(--warningHoverBorderColor);
background-color: var(--warningHoverBackgroundColor);
color: var(--white);
}
}
+2 -2
View File
@@ -12,10 +12,10 @@
&:hover {
border: none;
background-color: inherit;
color: $iconButtonHoverColor;
color: var(--iconButtonHoverColor);
}
&.isDisabled {
color: $iconButtonDisabledColor;
color: var(--iconButtonDisabledColor);
}
}
+2 -2
View File
@@ -15,10 +15,10 @@
}
.to {
color: $linkColor;
color: var(--linkColor);
&:hover {
color: $linkHoverColor;
color: var(--linkHoverColor);
text-decoration: underline;
}
}
@@ -26,7 +26,7 @@
.ripple {
position: absolute;
border: 2px solid #3a3f51;
border: 2px solid var(--themeDarkColor);
border-radius: 100%;
animation: rippleContainer 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
animation-fill-mode: both;
+2 -2
View File
@@ -10,12 +10,12 @@
}
&:hover {
color: $toobarButtonHoverColor;
color: var(--toobarButtonHoverColor);
}
}
.isDisabled {
color: $disabledColor;
color: var(--disabledColor);
pointer-events: none;
}
+1 -1
View File
@@ -2,7 +2,7 @@
z-index: $popperZIndex;
display: flex;
flex-direction: column;
background-color: $toolbarMenuItemBackgroundColor;
background-color: var(--toolbarMenuItemBackgroundColor);
line-height: 20px;
}
+5 -5
View File
@@ -5,19 +5,19 @@
padding: 10px 20px;
min-width: 150px;
max-width: 250px;
background-color: $toolbarMenuItemBackgroundColor;
color: $menuItemColor;
background-color: var(--toolbarMenuItemBackgroundColor);
color: var(--menuItemColor);
line-height: 20px;
&:hover,
&:focus {
background-color: $toolbarMenuItemHoverBackgroundColor;
color: $menuItemHoverColor;
background-color: var(--toolbarMenuItemHoverBackgroundColor);
color: var(--menuItemHoverColor);
text-decoration: none;
}
}
.isDisabled {
color: $disabledColor;
color: var(--disabledColor);
pointer-events: none;
}
@@ -2,5 +2,5 @@
overflow: hidden;
min-height: 1px;
height: 1px;
background-color: $themeDarkColor;
background-color: var(--themeDarkColor);
}
+1 -1
View File
@@ -12,7 +12,7 @@
justify-content: center;
width: 100%;
height: 100%;
background-color: $modalBackdropBackgroundColor;
background-color: var(--modalBackdropBackgroundColor);
opacity: 1;
}
@@ -4,7 +4,7 @@
flex-direction: column;
flex-grow: 1;
width: 100%;
background-color: $modalBackgroundColor;
background-color: var(--modalBackgroundColor);
}
.closeButton {
@@ -18,6 +18,6 @@
line-height: 60px;
&:hover {
color: $modalCloseButtonHoverColor;
color: var(--modalCloseButtonHoverColor);
}
}
@@ -4,7 +4,7 @@
justify-content: flex-end;
flex-shrink: 0;
padding: 15px 30px;
border-top: 1px solid $borderColor;
border-top: 1px solid var(--borderColor);
a,
button {
@@ -3,6 +3,6 @@
flex-shrink: 0;
padding: 15px 50px 15px 30px;
border-bottom: 1px solid $borderColor;
border-bottom: 1px solid var(--borderColor);
font-size: 18px;
}
@@ -12,22 +12,22 @@
.ripple {
composes: ripple from '~Components/Loading/LoadingIndicator.css';
border: 1px solid $toolbarColor;
border: 1px solid var(--toolbarColor);
}
.input {
margin-left: 8px;
width: 200px;
border: none;
border-bottom: solid 1px $white;
border-bottom: solid 1px var(--white);
border-radius: 0;
background-color: transparent;
box-shadow: none;
color: $white;
color: var(--white);
transition: border 0.3s ease-out;
&::placeholder {
color: $white;
color: var(--white);
transition: color 0.3s ease-out;
}
@@ -60,13 +60,13 @@
overflow-y: auto;
min-width: 100%;
max-height: 230px;
border: 1px solid $themeDarkColor;
border: 1px solid var(--themeDarkColor);
border-radius: 4px;
border-top-left-radius: 0;
border-top-right-radius: 0;
background-color: $themeDarkColor;
box-shadow: inset 0 1px 1px $inputBoxShadowColor;
color: $menuItemColor;
background-color: var(--themeDarkColor);
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor);
color: var(--menuItemColor);
}
}
@@ -82,12 +82,12 @@
}
.highlighted {
background-color: $themeLightColor;
background-color: var(--themeLightColor);
}
.sectionTitle {
padding: 5px 8px;
color: $disabledColor;
color: var(--disabledColor);
}
.addNewMovieSuggestion {
@@ -21,7 +21,7 @@
.alternateTitle {
composes: title;
color: $disabledColor;
color: var(--disabledColor);
font-size: $smallFontSize;
}
@@ -8,8 +8,8 @@
.key {
padding: 2px 4px;
border-radius: 3px;
background-color: $defaultColor;
background-color: var(--defaultColor);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
color: $white;
color: var(--white);
font-size: 16px;
}
@@ -4,9 +4,9 @@
align-items: center;
flex: 0 0 auto;
height: $headerHeight;
background-color: $prowlarrOrange;
background-color: var(--pageHeaderBackgroundColor);
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
color: $white;
color: var(--white);
}
.logoContainer {
@@ -80,7 +80,7 @@
align-items: center;
justify-content: center;
width: 30px;
color: $themeRed;
color: var(--themeRed);
text-align: center;
line-height: 60px;
@@ -5,7 +5,7 @@
text-align: center;
&:hover {
color: $toobarButtonHoverColor;
color: var(--toobarButtonHoverColor);
}
}
@@ -1,5 +1,7 @@
.page {
composes: page from '~./Page.css';
background-color: var(--pageBackground);
}
.logoFull {
+1 -1
View File
@@ -14,7 +14,7 @@ function PageContent(props) {
return (
<ErrorBoundary errorComponent={PageContentError}>
<DocumentTitle title={title ? `${title} - Prowlarr` : 'Prowlarr'}>
<DocumentTitle title={title ? `${title} - ${window.Prowlarr.instanceName}` : window.Prowlarr.instanceName}>
<div className={className}>
{children}
</div>
@@ -2,7 +2,7 @@
display: flex;
flex: 0 0 auto;
padding: 20px;
background-color: #f1f1f1;
background-color: var(--pageFooterBackground);
}
@media only screen and (max-width: $breakpointSmall) {
@@ -1,6 +1,6 @@
.jumpBarItem {
flex: 1 1 $jumpBarItemHeight;
border-bottom: 1px solid $borderColor;
border-bottom: 1px solid var(--borderColor);
text-align: center;
font-weight: bold;
@@ -1,6 +1,6 @@
.message {
display: flex;
border-left: 3px solid $infoColor;
border-left: 3px solid var(--infoColor);
}
.iconContainer,
@@ -9,7 +9,7 @@
justify-content: center;
flex-direction: column;
padding: 2px 0;
color: $sidebarColor;
color: var(--sidebarColor);
}
.iconContainer {
@@ -26,17 +26,17 @@
/* Types */
.error {
border-left-color: $dangerColor;
border-left-color: var(--dangerColor);
}
.info {
border-left-color: $infoColor;
border-left-color: var(--infoColor);
}
.success {
border-left-color: $successColor;
border-left-color: var(--successColor);
}
.warning {
border-left-color: $warningColor;
border-left-color: var(--warningColor);
}
@@ -2,7 +2,7 @@
flex: 0 0 $sidebarWidth;
overflow: hidden;
width: $sidebarWidth;
background-color: $sidebarBackgroundColor;
background-color: var(--sidebarBackgroundColor);
transition: transform 300ms ease-in-out;
transform: translateX(0);
}
@@ -11,8 +11,8 @@
display: flex;
flex-direction: column;
overflow: hidden;
background-color: $sidebarBackgroundColor;
color: $white;
background-color: var(--sidebarBackgroundColor);
color: var(--white);
}
@media only screen and (max-width: $breakpointSmall) {
@@ -1,21 +1,21 @@
.item {
border-left: 3px solid transparent;
color: $sidebarColor;
color: var(--sidebarColor);
transition: border-left 0.3s ease-in-out;
}
.isActiveItem {
border-left: 3px solid $themeBlue;
border-left: 3px solid var(--themeBlue);
}
.link {
display: block;
padding: 12px 24px;
color: $sidebarColor;
color: var(--sidebarColor);
&:hover,
&:focus {
color: $themeBlue;
color: var(--themeBlue);
text-decoration: none;
}
}
@@ -27,11 +27,11 @@
}
.isActiveLink {
color: $themeBlue;
color: var(--themeBlue);
}
.isActiveParentLink {
background-color: $sidebarActiveBackgroundColor;
background-color: var(--sidebarActiveBackgroundColor);
}
.iconContainer {
@@ -4,8 +4,8 @@
flex: 0 0 auto;
padding: 0 20px;
height: $toolbarHeight;
background-color: $toolbarBackgroundColor;
color: $toolbarColor;
background-color: var(--toolbarBackgroundColor);
color: var(--toolbarColor);
line-height: 60px;
}
@@ -6,16 +6,16 @@
text-align: center;
&:hover {
color: $toobarButtonHoverColor;
color: var(--toobarButtonHoverColor);
}
&.isDisabled {
color: $disabledColor;
color: var(--disabledColor);
}
}
.isDisabled {
color: $disabledColor;
color: var(--disabledColor);
}
.labelContainer {
@@ -27,7 +27,7 @@
.label {
padding: 0 3px;
color: $toolbarLabelColor;
color: var(--toolbarLabelColor);
font-size: $extraSmallFontSize;
line-height: calc($extraSmallFontSize + 1px);
}
+10 -14
View File
@@ -14,13 +14,13 @@
width: 0;
height: 100%;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
color: $white;
color: var(--white);
transition: width 0.6s ease;
}
.frontTextContainer {
z-index: 1;
color: $white;
color: var(--white);
}
.backTextContainer,
@@ -42,39 +42,35 @@
}
.primary {
background-color: $primaryColor;
background-color: var(--primaryColor);
}
.danger {
background-color: $dangerColor;
background-color: var(--dangerColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(90deg, color($dangerColor shade(5%)), color($dangerColor shade(5%)) 5px, color($dangerColor shade(15%)) 5px, color($dangerColor shade(15%)) 10px);
background: repeating-linear-gradient(90deg, color(var(--dangerColor) shade(5%)), color(var(--dangerColor) shade(5%)) 5px, color(var(--dangerColor) shade(15%)) 5px, color(var(--dangerColor) shade(15%)) 10px);
}
}
.success {
background-color: $successColor;
background-color: var(--successColor);
}
.purple {
background-color: $purple;
background-color: var(--purple);
}
.warning {
background-color: $warningColor;
background-color: var(--warningColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(45deg, $warningColor, $warningColor 5px, color($warningColor tint(15%)) 5px, color($warningColor tint(15%)) 10px);
background: repeating-linear-gradient(45deg, var(--warningColor), var(--warningColor) 5px, color(var(--warningColor) tint(15%)) 5px, color(var(--warningColor) tint(15%)) 10px);
}
}
.info {
background-color: $infoColor;
}
.queue {
background-color: $queueColor;
background-color: var(--infoColor);
}
.small {
@@ -10,10 +10,10 @@
min-height: 100px;
border: 1px solid transparent;
border-radius: 5px;
background-color: $scrollbarBackgroundColor;
background-color: var(--scrollbarBackgroundColor);
background-clip: padding-box;
&:hover {
background-color: $scrollbarHoverBackgroundColor;
background-color: var(--scrollbarHoverBackgroundColor);
}
}
@@ -4,7 +4,7 @@
width: 100%;
border: 1px solid #aaa;
border-radius: 4px;
background: #fafafa;
background: var(--inputBackgroundColor);
}
.checkContainer {
+2 -2
View File
@@ -46,11 +46,11 @@
}
.records {
color: $disabledColor;
color: var(--disabledColor);
}
.disabledPageButton {
color: $disabledColor;
color: var(--disabledColor);
}
.pageSelect {
+1 -1
View File
@@ -2,6 +2,6 @@
transition: background-color 500ms;
&:hover {
background-color: $tableRowHoverBackgroundColor;
background-color: var(--tableRowHoverBackgroundColor);
}
}
@@ -3,7 +3,7 @@
transition: background-color 500ms;
&:hover {
background-color: #fafbfc;
background-color: var(--tableRowHoverBackgroundColor);
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
.title {
padding: 10px 20px;
border-bottom: 1px solid $popoverTitleBorderColor;
background-color: $popoverTitleBackgroundColor;
border-bottom: 1px solid var(--popoverTitleBorderColor);
background-color: var(--popoverTitleBackgroundColor);
font-size: 16px;
}
+20 -20
View File
@@ -7,13 +7,13 @@
position: relative;
&.default {
background-color: $white;
box-shadow: 0 5px 10px $popoverShadowColor;
background-color: var(--white);
box-shadow: 0 5px 10px var(--popoverShadowColor);
}
&.inverse {
background-color: $themeDarkColor;
box-shadow: 0 5px 10px $popoverShadowInverseColor;
background-color: var(--themeDarkColor);
box-shadow: 0 5px 10px var(--popoverShadowInverseColor);
}
}
@@ -49,20 +49,20 @@
content: ' ';
&.default {
border-top-color: $popoverArrowBorderColor;
border-top-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-top-color: $popoverArrowBorderInverseColor;
border-top-color: var(--popoverArrowBorderInverseColor);
}
}
&.default {
border-top-color: $popoverArrowBorderColor;
border-top-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-top-color: $popoverArrowBorderInverseColor;
border-top-color: var(--popoverArrowBorderInverseColor);
}
}
@@ -78,20 +78,20 @@
content: ' ';
&.default {
border-right-color: $popoverArrowBorderColor;
border-right-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-right-color: $popoverArrowBorderInverseColor;
border-right-color: var(--popoverArrowBorderInverseColor);
}
}
&.default {
border-right-color: $popoverArrowBorderColor;
border-right-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-right-color: $popoverArrowBorderInverseColor;
border-right-color: var(--popoverArrowBorderInverseColor);
}
}
@@ -107,20 +107,20 @@
content: ' ';
&.default {
border-bottom-color: $popoverArrowBorderColor;
border-bottom-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-bottom-color: $popoverArrowBorderInverseColor;
border-bottom-color: var(--popoverArrowBorderInverseColor);
}
}
&.default {
border-bottom-color: $popoverArrowBorderColor;
border-bottom-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-bottom-color: $popoverArrowBorderInverseColor;
border-bottom-color: var(--popoverArrowBorderInverseColor);
}
}
@@ -136,20 +136,20 @@
content: ' ';
&.default {
border-left-color: $popoverArrowBorderColor;
border-left-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-left-color: $popoverArrowBorderInverseColor;
border-left-color: var(--popoverArrowBorderInverseColor);
}
}
&.default {
border-left-color: $popoverArrowBorderColor;
border-left-color: var(--popoverArrowBorderColor);
}
&.inverse {
border-left-color: $popoverArrowBorderInverseColor;
border-left-color: var(--popoverArrowBorderInverseColor);
}
}
-2
View File
@@ -3,7 +3,6 @@ export const DEFAULT = 'default';
export const DISABLED = 'disabled';
export const INFO = 'info';
export const INVERSE = 'inverse';
export const PINK = 'pink';
export const PRIMARY = 'primary';
export const PURPLE = 'purple';
export const SUCCESS = 'success';
@@ -16,7 +15,6 @@ export const all = [
DISABLED,
INFO,
INVERSE,
PINK,
PRIMARY,
PURPLE,
SUCCESS,
+4 -4
View File
@@ -3,9 +3,9 @@
align-items: stretch;
overflow: hidden;
margin: 2px 4px;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
border-radius: 4px;
background-color: #eee;
background-color: var(--defaultHoverBackgroundColor);
cursor: default;
}
@@ -16,7 +16,7 @@
.value {
padding: 0 4px;
background-color: $white;
color: $defaultColor;
background-color: var(--defaultButtonBackgroundColor);
color: var(--defaultColor);
white-space: nowrap;
}
@@ -112,7 +112,7 @@ function EditIndexerModalContent(props) {
</FormGroup>
<FormGroup>
<FormLabel>{translate('AppProfile')}</FormLabel>
<FormLabel>{translate('SyncProfile')}</FormLabel>
<FormInputGroup
type={inputTypes.APP_PROFILE_SELECT}
@@ -9,5 +9,5 @@
.path {
margin-left: 5px;
color: $dangerColor;
color: var(--dangerColor);
}
@@ -133,7 +133,7 @@ class IndexerEditorFooter extends Component {
<div className={styles.inputContainer}>
<IndexerEditorFooterLabel
label={translate('AppProfile')}
label={translate('SyncProfile')}
isSaving={isSaving && appProfileId !== NO_CHANGE}
/>
@@ -21,28 +21,28 @@
.disabled {
composes: legendItemColor;
background-color: $darkGray;
background-color: var(--darkGray);
}
.enabled {
composes: legendItemColor;
background-color: $successColor;
background-color: var(--successColor);
}
.redirected {
composes: legendItemColor;
background-color: $infoColor;
background-color: var(--infoColor);
}
.error {
composes: legendItemColor;
background-color: $dangerColor;
background-color: var(--dangerColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(90deg, color($dangerColor shade(5%)), color($dangerColor shade(5%)) 5px, color($dangerColor shade(15%)) 5px, color($dangerColor shade(15%)) 10px);
background: repeating-linear-gradient(90deg, color(var(--dangerColor) shade(5%)), color(var(--dangerColor) shade(5%)) 5px, color(var(--dangerColor) shade(15%)) 5px, color(var(--dangerColor) shade(15%)) 10px);
}
}
@@ -53,7 +53,7 @@ function IndexerIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
{translate('AppProfile')}
{translate('SyncProfile')}
</SortMenuItem>
<SortMenuItem
@@ -65,5 +65,5 @@
.externalLink {
composes: link from '~Components/Link/Link.css';
color: $textColor;
color: var(--textColor);
}
@@ -1,13 +1,13 @@
.torrent {
composes: label from '~Components/Label.css';
border-color: $torrentColor;
background-color: $torrentColor;
border-color: var(--torrentColor);
background-color: var(--torrentColor);
}
.usenet {
composes: label from '~Components/Label.css';
border-color: $usenetColor;
background-color: $usenetColor;
border-color: var(--usenetColor);
background-color: var(--usenetColor);
}
+2 -2
View File
@@ -19,7 +19,7 @@
.footNote {
display: flex;
color: $helpTextColor;
color: var(--helpTextColor);
.icon {
margin-top: 3px;
@@ -29,7 +29,7 @@
code {
padding: 0 1px;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
background-color: #f7f7f7;
}
}
+5 -5
View File
@@ -3,15 +3,15 @@
align-items: stretch;
flex-wrap: wrap;
margin: 3px;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
&:hover {
.token {
background-color: #ddd;
background-color: rgba(0, 0, 0, 0.01);
}
.example {
background-color: #ccc;
background-color: rgba(0, 0, 0, 0.01);
}
}
}
@@ -27,7 +27,7 @@
.token {
flex: 0 0 50%;
padding: 6px 16px;
background-color: #eee;
background-color: var(--defaultButtonBackgroundColor);
font-family: $monoSpaceFontFamily;
}
@@ -37,7 +37,7 @@
justify-content: space-between;
flex: 0 0 50%;
padding: 6px 16px;
background-color: #ddd;
background-color: var(--defaultHoverBackgroundColor);
.footNote {
padding: 2px;
+4 -4
View File
@@ -1,13 +1,13 @@
.torrent {
composes: label from '~Components/Label.css';
border-color: $torrentColor;
background-color: $torrentColor;
border-color: var(--torrentColor);
background-color: var(--torrentColor);
}
.usenet {
composes: label from '~Components/Label.css';
border-color: $usenetColor;
background-color: $usenetColor;
border-color: var(--usenetColor);
background-color: var(--usenetColor);
}
+1 -1
View File
@@ -58,7 +58,7 @@
margin: 0 2px;
width: 22px;
color: $textColor;
color: var(--textColor);
}
.externalLinks {
@@ -19,13 +19,13 @@
}
.indicatorBackground {
color: $themeDarkColor;
color: var(--themeDarkColor);
}
.enabled {
color: $successColor;
color: var(--successColor);
}
.disabled {
color: $dangerColor;
color: var(--dangerColor);
}
@@ -6,15 +6,15 @@
.addApplication {
composes: application from '~./Application.css';
background-color: $cardAlternateBackgroundColor;
color: $gray;
background-color: var(--cardAlternateBackgroundColor);
color: var(--gray);
text-align: center;
}
.center {
display: inline-block;
padding: 5px 20px 0;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--cardCenterBackgroundColor);
}
@@ -6,15 +6,15 @@
.addDownloadClient {
composes: downloadClient from '~./DownloadClient.css';
background-color: $cardAlternateBackgroundColor;
color: $gray;
background-color: var(--cardAlternateBackgroundColor);
color: var(--gray);
text-align: center;
}
.center {
display: inline-block;
padding: 5px 20px 0;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--cardCenterBackgroundColor);
}
@@ -21,6 +21,7 @@ const requiresRestartKeys = [
'bindAddress',
'port',
'urlBase',
'instanceName',
'enableSsl',
'sslPort',
'sslCertPath',
@@ -20,6 +20,7 @@ function HostSettings(props) {
bindAddress,
port,
urlBase,
instanceName,
enableSsl,
sslPort,
sslCertPath,
@@ -72,6 +73,22 @@ function HostSettings(props) {
/>
</FormGroup>
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
>
<FormLabel>{translate('InstanceName')}</FormLabel>
<FormInputGroup
type={inputTypes.TEXT}
name="instanceName"
helpText={translate('InstanceNameHelpText')}
helpTextWarning={translate('RestartRequiredHelpTextWarning')}
onChange={onInputChange}
{...instanceName}
/>
</FormGroup>
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
@@ -6,15 +6,15 @@
.addIndexerProxy {
composes: indexerProxy from '~./IndexerProxy.css';
background-color: $cardAlternateBackgroundColor;
color: $gray;
background-color: var(--cardAlternateBackgroundColor);
color: var(--gray);
text-align: center;
}
.center {
display: inline-block;
padding: 5px 20px 0;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--cardCenterBackgroundColor);
}
@@ -6,15 +6,15 @@
.addNotification {
composes: notification from '~./Notification.css';
background-color: $cardAlternateBackgroundColor;
color: $gray;
background-color: var(--cardAlternateBackgroundColor);
color: var(--gray);
text-align: center;
}
.center {
display: inline-block;
padding: 5px 20px 0;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--cardCenterBackgroundColor);
}
@@ -6,8 +6,8 @@
.addAppProfile {
composes: appProfile from '~./AppProfile.css';
background-color: $cardAlternateBackgroundColor;
color: $gray;
background-color: var(--cardAlternateBackgroundColor);
color: var(--gray);
text-align: center;
font-size: 45px;
}
@@ -15,7 +15,7 @@
.center {
display: inline-block;
padding: 5px 20px 0;
border: 1px solid $borderColor;
border: 1px solid var(--borderColor);
border-radius: 4px;
background-color: $white;
background-color: var(--cardCenterBackgroundColor);
}
@@ -52,7 +52,7 @@ class AppProfiles extends Component {
} = this.props;
return (
<FieldSet legend={translate('AppProfiles')}>
<FieldSet legend={translate('SyncProfiles')}>
<PageSectionContent
errorMessage={translate('UnableToLoadAppProfiles')}
{...otherProps}c={true}
@@ -40,14 +40,15 @@ class EditAppProfileModalContent extends Component {
name,
enableRss,
enableInteractiveSearch,
enableAutomaticSearch
enableAutomaticSearch,
minimumSeeders
} = item;
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{id ? translate('EditAppProfile') : translate('AddAppProfile')}
{id ? translate('EditSyncProfile') : translate('AddSyncProfile')}
</ModalHeader>
<ModalBody>
@@ -123,6 +124,20 @@ class EditAppProfileModalContent extends Component {
onChange={onInputChange}
/>
</FormGroup>
<FormGroup>
<FormLabel>
{translate('MinimumSeeders')}
</FormLabel>
<FormInputGroup
type={inputTypes.NUMBER}
name="minimumSeeders"
{...minimumSeeders}
helpText={translate('MinimumSeedersHelpText')}
onChange={onInputChange}
/>
</FormGroup>
</Form>
}
</div>
+2 -2
View File
@@ -2,7 +2,7 @@
composes: link from '~Components/Link/Link.css';
border-bottom: 1px solid #e5e5e5;
color: #3a3f51;
color: var(--textColor);
font-size: 21px;
&:hover {
@@ -14,5 +14,5 @@
.summary {
margin-top: 10px;
margin-bottom: 30px;
color: $dimColor;
color: var(--helpTextColor);
}
@@ -10,7 +10,7 @@
.restriction {
margin-bottom: 5px;
padding-bottom: 5px;
border-bottom: 1px solid $borderColor;
border-bottom: 1px solid var(--borderColor);
&:last-child {
margin: 0;
+16
View File
@@ -10,6 +10,8 @@ import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import { inputTypes } from 'Helpers/Props';
import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
import themes from 'Styles/Themes';
import titleCase from 'Utilities/String/titleCase';
import translate from 'Utilities/String/translate';
export const firstDayOfWeekOptions = [
@@ -62,6 +64,9 @@ class UISettings extends Component {
const uiLanguages = languages.filter((item) => item.value !== 'Original');
const themeOptions = Object.keys(themes)
.map((theme) => ({ key: theme, value: titleCase(theme) }));
return (
<PageContent title={translate('UISettings')}>
<SettingsToolbarConnector
@@ -138,6 +143,17 @@ class UISettings extends Component {
</FieldSet>
<FieldSet legend={translate('Style')}>
<FormGroup>
<FormLabel>{translate('Theme')}</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
name="theme"
helpText={translate('ThemeHelpText', ['Theme.Park'])}
values={themeOptions}
onChange={onInputChange}
{...settings.theme}
/>
</FormGroup>
<FormGroup>
<FormLabel>{translate('SettingsEnableColorImpairedMode')}</FormLabel>
<FormInputGroup
@@ -76,7 +76,7 @@ export const defaultState = {
},
{
name: 'appProfileId',
label: translate('AppProfile'),
label: translate('SyncProfile'),
isSortable: true,
isVisible: true
},
@@ -152,7 +152,7 @@ export const defaultState = {
},
{
name: 'appProfileId',
label: translate('AppProfile'),
label: translate('SyncProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.APP_PROFILE
},
+2 -2
View File
@@ -16,11 +16,11 @@
min-height: 100px;
border: 1px solid transparent;
border-radius: 5px;
background-color: $scrollbarBackgroundColor;
background-color: var(--scrollbarBackgroundColor);
background-clip: padding-box;
&:hover {
background-color: $scrollbarHoverBackgroundColor;
background-color: var(--scrollbarHoverBackgroundColor);
}
}
}
+192
View File
@@ -0,0 +1,192 @@
const prowlarrOrange = '#e66000';
module.exports = {
textColor: '#ccc',
defaultColor: '#ccc',
disabledColor: '#999',
dimColor: '#555',
black: '#000',
white: '#fff',
primaryColor: '#5d9cec',
selectedColor: '#f9be03',
successColor: '#00853d',
dangerColor: '#f05050',
warningColor: '#ffa500',
infoColor: '#5d9cec',
purple: '#7a43b6',
prowlarrOrange,
helpTextColor: '#909293',
darkGray: '#888',
gray: '#adadad',
// Theme Colors
themeBlue: prowlarrOrange,
themeRed: '#c4273c',
themeDarkColor: '#595959',
themeLightColor: prowlarrOrange,
pageBackground: '#202020',
pageFooterBackgroud: 'rgba(0, 0, 0, .25)',
torrentColor: '#00853d',
usenetColor: '#17b1d9',
// Labels
inverseLabelColor: '#ddd',
inverseLabelTextColor: prowlarrOrange,
// Links
defaultLinkHoverColor: '#fff',
linkColor: '#rgb(230, 96, 0)',
linkHoverColor: '#rgb(230, 96, 0, .8)',
// Header
pageHeaderBackgroundColor: '#2a2a2a',
// Sidebar
sidebarColor: '#e1e2e3',
sidebarBackgroundColor: '#2a2a2a',
sidebarActiveBackgroundColor: '#333333',
// Toolbar
toolbarColor: '#e1e2e3',
toolbarBackgroundColor: '#262626',
toolbarMenuItemBackgroundColor: '#333',
toolbarMenuItemHoverBackgroundColor: '#414141',
toolbarLabelColor: '#e1e2e3',
// Accents
borderColor: '#e5e5e5',
inputBorderColor: '#dde6e9',
inputBoxShadowColor: 'rgba(0, 0, 0, 0.075)',
inputFocusBorderColor: '#66afe9',
inputFocusBoxShadowColor: 'rgba(102, 175, 233, 0.6)',
inputErrorBorderColor: '#f05050',
inputErrorBoxShadowColor: 'rgba(240, 80, 80, 0.6)',
inputWarningBorderColor: '#ffa500',
inputWarningBoxShadowColor: 'rgba(255, 165, 0, 0.6)',
colorImpairedGradient: '#ffffff',
colorImpairedGradientDark: '#f4f5f6',
//
// Buttons
defaultButtonTextColor: '#eee',
defaultButtonBackgroundColor: '#333',
defaultBorderColor: '#eaeaea',
defaultHoverBackgroundColor: '#444',
defaultHoverBorderColor: '#d6d6d6;',
primaryBackgroundColor: '#5d9cec',
primaryBorderColor: '#5899eb',
primaryHoverBackgroundColor: '#4b91ea',
primaryHoverBorderColor: '#3483e7;',
successBackgroundColor: '#27c24c',
successBorderColor: '#26be4a',
successHoverBackgroundColor: '#24b145',
successHoverBorderColor: '#1f9c3d;',
warningBackgroundColor: '#ff902b',
warningBorderColor: '#ff8d26',
warningHoverBackgroundColor: '#ff8517',
warningHoverBorderColor: '#fc7800;',
dangerBackgroundColor: '#f05050',
dangerBorderColor: '#f04b4b',
dangerHoverBackgroundColor: '#ee3d3d',
dangerHoverBorderColor: '#ec2626;',
iconButtonDisabledColor: '#7a7a7a',
iconButtonHoverColor: '#666',
iconButtonHoverLightColor: '#ccc',
//
// Modal
modalBackdropBackgroundColor: 'rgba(0, 0, 0, 0.6)',
modalBackgroundColor: '#2a2a2a',
modalCloseButtonHoverColor: '#888',
//
// Menu
menuItemColor: '#e1e2e3',
menuItemHoverColor: '#e66000',
menuItemHoverBackgroundColor: '#606060',
//
// Toolbar
toobarButtonHoverColor: '#e66000',
toobarButtonSelectedColor: '#e66000',
//
// Scroller
scrollbarBackgroundColor: '#707070',
scrollbarHoverBackgroundColor: '#606060',
//
// Card
cardBackgroundColor: '#333333',
cardShadowColor: '#111',
cardAlternateBackgroundColor: '#333333',
cardCenterBackgroundColor: '#2a2a2a',
//
// Alert
alertDangerBorderColor: '#a94442',
alertDangerBackgroundColor: 'rgba(255,0,0,0.1)',
alertDangerColor: '#ccc',
alertInfoBorderColor: '#31708f',
alertInfoBackgroundColor: 'rgba(0,0,255,0.1)',
alertInfoColor: '#ccc',
alertSuccessBorderColor: '#3c763d',
alertSuccessBackgroundColor: 'rgba(0,255,0,0.1)',
alertSuccessColor: '#ccc',
alertWarningBorderColor: '#8a6d3b',
alertWarningBackgroundColor: 'rgba(255,255,0,0.1)',
alertWarningColor: '#ccc',
//
// Form
inputBackgroundColor: '#333',
inputReadOnlyBackgroundColor: '#222',
inputHoverBackgroundColor: 'rgba(255, 255, 255, 0.20)',
inputSelectedBackgroundColor: 'rgba(255, 255, 255, 0.05)',
advancedFormLabelColor: '#ff902b',
disabledCheckInputColor: '#ddd',
disabledInputColor: '#808080',
//
// Popover
popoverTitleBackgroundColor: '#f7f7f7',
popoverTitleBorderColor: '#ebebeb',
popoverShadowColor: 'rgba(0, 0, 0, 0.2)',
popoverArrowBorderColor: '#fff',
popoverTitleBackgroundInverseColor: '#595959',
popoverTitleBorderInverseColor: '#707070',
popoverShadowInverseColor: 'rgba(0, 0, 0, 0.2)',
popoverArrowBorderInverseColor: 'rgba(58, 63, 81, 0.75)',
//
// Table
tableRowHoverBackgroundColor: 'rgba(255, 255, 255, 0.08)',
//
// Charts
failedColors: ['#ffbeb2', '#feb4a6', '#fdab9b', '#fca290', '#fb9984', '#fa8f79', '#f9856e', '#f77b66', '#f5715d', '#f36754', '#f05c4d', '#ec5049', '#e74545', '#e13b42', '#da323f', '#d3293d', '#ca223c', '#c11a3b', '#b8163a', '#ae123a'],
chartColorsDiversified: ['#90caf9', '#f4d166', '#ff8a65', '#ce93d8', '#80cba9', '#ffab91', '#8097ea', '#bcaaa4', '#a57583', '#e4e498', '#9e96af', '#c6ab81', '#6972c6', '#619fc6', '#81ad81', '#f48fb1', '#82afca', '#b5b071', '#8b959b', '#7ec0b4'],
chartColors: ['#f4d166', '#f6c760', '#f8bc58', '#f8b252', '#f7a84a', '#f69e41', '#f49538', '#f38b2f', '#f28026', '#f0751e', '#eb6c1c', '#e4641e', '#de5d1f', '#d75521', '#cf4f22', '#c64a22', '#bc4623', '#b24223', '#a83e24', '#9e3a26']
};
+7
View File
@@ -0,0 +1,7 @@
import * as dark from './dark';
import * as light from './light';
export default {
light,
dark
};
@@ -7,22 +7,17 @@ module.exports = {
dimColor: '#555',
black: '#000',
white: '#fff',
offWhite: '#f5f7fa',
primaryColor: '#5d9cec',
selectedColor: '#f9be03',
successColor: '#27c24c',
dangerColor: '#f05050',
warningColor: '#ffa500',
infoColor: '#5d9cec',
queueColor: '#7a43b6',
purple: '#7a43b6',
pink: '#ff69b4',
prowlarrOrange,
helpTextColor: '#909293',
darkGray: '#888',
gray: '#adadad',
lightGray: '#ddd',
disabledInputColor: '#808080',
// Theme Colors
@@ -30,15 +25,24 @@ module.exports = {
themeRed: '#c4273c',
themeDarkColor: '#595959',
themeLightColor: '#707070',
pageBackground: '#f5f7fa',
pageFooterBackgroud: '#f1f1f1',
torrentColor: '#00853d',
usenetColor: '#17b1d9',
// Labels
inverseLabelColor: '#ddd',
inverseLabelTextColor: '#333',
// Links
defaultLinkHoverColor: '#fff',
linkColor: '#5d9cec',
linkHoverColor: '#1b72e2',
// Header
pageHeaderBackgroundColor: prowlarrOrange,
// Sidebar
sidebarColor: '#e1e2e3',
@@ -68,7 +72,8 @@ module.exports = {
//
// Buttons
defaultBackgroundColor: '#fff',
defaultButtonTextColor: '#333',
defaultButtonBackgroundColor: '#fff',
defaultBorderColor: '#eaeaea',
defaultHoverBackgroundColor: '#f5f5f5',
defaultHoverBorderColor: '#d6d6d6;',
@@ -125,8 +130,10 @@ module.exports = {
//
// Card
cardBackgroundColor: '#fff',
cardShadowColor: '#e1e1e1',
cardAlternateBackgroundColor: '#f5f5f5',
cardCenterBackgroundColor: '#fff',
//
// Alert
@@ -147,16 +154,16 @@ module.exports = {
alertWarningBackgroundColor: '#fcf8e3',
alertWarningColor: '#8a6d3b',
//
// Slider
sliderAccentColor: '#5d9cec',
//
// Form
inputBackgroundColor: '#fff',
inputReadOnlyBackgroundColor: '#eee',
inputHoverBackgroundColor: '#f8f8f8',
inputSelectedBackgroundColor: '#e2e2e2',
advancedFormLabelColor: '#ff902b',
disabledCheckInputColor: '#ddd',
disabledInputColor: '#808080',
//
// Popover
@@ -171,13 +178,6 @@ module.exports = {
popoverShadowInverseColor: 'rgba(0, 0, 0, 0.2)',
popoverArrowBorderInverseColor: 'rgba(58, 63, 81, 0.75)',
//
// Calendar
calendarTodayBackgroundColor: '#ddd',
calendarBorderColor: '#cecece',
calendarTextDim: '#666',
//
// Table
@@ -187,5 +187,6 @@ module.exports = {
// Charts
failedColors: ['#ffbeb2', '#feb4a6', '#fdab9b', '#fca290', '#fb9984', '#fa8f79', '#f9856e', '#f77b66', '#f5715d', '#f36754', '#f05c4d', '#ec5049', '#e74545', '#e13b42', '#da323f', '#d3293d', '#ca223c', '#c11a3b', '#b8163a', '#ae123a'],
chartColorsDiversified: ['#90caf9', '#f4d166', '#ff8a65', '#ce93d8', '#80cba9', '#ffab91', '#8097ea', '#bcaaa4', '#a57583', '#e4e498', '#9e96af', '#c6ab81', '#6972c6', '#619fc6', '#81ad81', '#f48fb1', '#82afca', '#b5b071', '#8b959b', '#7ec0b4'],
chartColors: ['#f4d166', '#f6c760', '#f8bc58', '#f8b252', '#f7a84a', '#f69e41', '#f49538', '#f38b2f', '#f28026', '#f0751e', '#eb6c1c', '#e4641e', '#de5d1f', '#d75521', '#cf4f22', '#c64a22', '#bc4623', '#b24223', '#a83e24', '#9e3a26']
};
+1 -1
View File
@@ -15,7 +15,7 @@
html,
body {
color: #515253;
color: var(--textColor);
font-family: 'Roboto', 'open sans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
}
@@ -7,7 +7,7 @@
border: 1px solid #ccc;
border-radius: 4px;
background-color: #f5f5f5;
color: #3a3f51;
color: var(--themeDarkColor);
white-space: pre;
word-wrap: break-word;
word-break: break-all;

Some files were not shown because too many files have changed in this diff Show More