commit
3c347c854c
16 changed files with 14218 additions and 22841 deletions
2
.env
2
.env
|
@ -1,5 +1,5 @@
|
||||||
PORT=5005
|
PORT=5005
|
||||||
NODE_ENV=development
|
NODE_ENV=development
|
||||||
VERSION=2.3.0
|
VERSION=2.3.1
|
||||||
PASSWORD=flame_password
|
PASSWORD=flame_password
|
||||||
SECRET=e02eb43d69953658c6d07311d6313f2d4467672cb881f96b29368ba1f3f4da4b
|
SECRET=e02eb43d69953658c6d07311d6313f2d4467672cb881f96b29368ba1f3f4da4b
|
|
@ -1,3 +1,10 @@
|
||||||
|
### v2.3.1 (2023-07-23)
|
||||||
|
- Fixed bug where "Open search results in the same tab" setting was not respected if "Local search" was set as primary search provider ([#270](https://github.com/pawelmalak/flame/issues/270))
|
||||||
|
- Fixed bug where search bar had rounded input field on iOS ([#394](https://github.com/pawelmalak/flame/issues/394))
|
||||||
|
- Updated link to Material Design Icons reference page ([#414](https://github.com/pawelmalak/flame/issues/414))
|
||||||
|
- Fixed bug where color inputs in theme creator/editor were too small ([#429](https://github.com/pawelmalak/flame/issues/429))
|
||||||
|
- Changed input labels in settings for more consistent naming ([#430](https://github.com/pawelmalak/flame/issues/430))
|
||||||
|
|
||||||
### v2.3.0 (2022-03-25)
|
### v2.3.0 (2022-03-25)
|
||||||
- Added custom theme editor ([#246](https://github.com/pawelmalak/flame/issues/246))
|
- Added custom theme editor ([#246](https://github.com/pawelmalak/flame/issues/246))
|
||||||
- Added option to set secondary search provider ([#295](https://github.com/pawelmalak/flame/issues/295))
|
- Added option to set secondary search provider ([#295](https://github.com/pawelmalak/flame/issues/295))
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
REACT_APP_VERSION=2.3.0
|
REACT_APP_VERSION=2.3.1
|
36293
client/package-lock.json
generated
36293
client/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -24,7 +24,7 @@
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-redux": "^7.2.6",
|
"react-redux": "^7.2.6",
|
||||||
"react-router-dom": "^5.2.0",
|
"react-router-dom": "^5.2.0",
|
||||||
"react-scripts": "4.0.3",
|
"react-scripts": "^5.0.1",
|
||||||
"redux": "^4.1.2",
|
"redux": "^4.1.2",
|
||||||
"redux-devtools-extension": "^2.13.9",
|
"redux-devtools-extension": "^2.13.9",
|
||||||
"redux-thunk": "^2.4.0",
|
"redux-thunk": "^2.4.0",
|
||||||
|
|
|
@ -165,7 +165,7 @@ export const AppForm = ({ modalHandler }: Props): JSX.Element => {
|
||||||
/>
|
/>
|
||||||
<span>
|
<span>
|
||||||
Use icon name from MDI or pass a valid URL.
|
Use icon name from MDI or pass a valid URL.
|
||||||
<a href="https://materialdesignicons.com/" target="blank">
|
<a href="https://pictogrammers.com/library/mdi/" target="blank">
|
||||||
{' '}
|
{' '}
|
||||||
Click here for reference
|
Click here for reference
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
border-bottom: 2px solid var(--color-accent);
|
border-bottom: 2px solid var(--color-accent);
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
|
border-radius: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.SearchBar:focus {
|
.SearchBar:focus {
|
||||||
|
|
|
@ -15,7 +15,7 @@ import { Button, SettingsHeadline, InputGroup } from '../../UI';
|
||||||
import { inputHandler, generalSettingsTemplate } from '../../../utility';
|
import { inputHandler, generalSettingsTemplate } from '../../../utility';
|
||||||
|
|
||||||
// Data
|
// Data
|
||||||
import { queries } from '../../../utility/searchQueries.json';
|
import searchQueries from '../../../utility/searchQueries.json';
|
||||||
|
|
||||||
// Redux
|
// Redux
|
||||||
import { State } from '../../../store/reducers';
|
import { State } from '../../../store/reducers';
|
||||||
|
@ -32,6 +32,8 @@ export const GeneralSettings = (): JSX.Element => {
|
||||||
const { updateConfig, sortApps, sortCategories, sortBookmarks } =
|
const { updateConfig, sortApps, sortCategories, sortBookmarks } =
|
||||||
bindActionCreators(actionCreators, dispatch);
|
bindActionCreators(actionCreators, dispatch);
|
||||||
|
|
||||||
|
const queries = searchQueries.queries;
|
||||||
|
|
||||||
// Initial state
|
// Initial state
|
||||||
const [formData, setFormData] = useState<GeneralForm>(
|
const [formData, setFormData] = useState<GeneralForm>(
|
||||||
generalSettingsTemplate
|
generalSettingsTemplate
|
||||||
|
|
|
@ -24,9 +24,11 @@ import { ProtectedRoute } from '../Routing/ProtectedRoute';
|
||||||
import { Container, Headline } from '../UI';
|
import { Container, Headline } from '../UI';
|
||||||
|
|
||||||
// Data
|
// Data
|
||||||
import { routes } from './settings.json';
|
import clientRoutes from './settings.json';
|
||||||
|
|
||||||
export const Settings = (): JSX.Element => {
|
export const Settings = (): JSX.Element => {
|
||||||
|
const routes = clientRoutes.routes;
|
||||||
|
|
||||||
const { isAuthenticated } = useSelector((state: State) => state.auth);
|
const { isAuthenticated } = useSelector((state: State) => state.auth);
|
||||||
|
|
||||||
const tabs = isAuthenticated ? routes : routes.filter((r) => !r.authRequired);
|
const tabs = isAuthenticated ? routes : routes.filter((r) => !r.authRequired);
|
||||||
|
|
|
@ -2,5 +2,4 @@
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(3, 1fr);
|
||||||
grid-gap: 10px;
|
grid-gap: 10px;
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -223,9 +223,9 @@ export const UISettings = (): JSX.Element => {
|
||||||
</select>
|
</select>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
|
|
||||||
{/* HIDE CATEGORIES */}
|
{/* HIDE BOOKMARK CATEGORIES */}
|
||||||
<InputGroup>
|
<InputGroup>
|
||||||
<label htmlFor="hideCategories">Hide categories</label>
|
<label htmlFor="hideCategories">Hide bookmarks</label>
|
||||||
<select
|
<select
|
||||||
id="hideCategories"
|
id="hideCategories"
|
||||||
name="hideCategories"
|
name="hideCategories"
|
||||||
|
|
|
@ -40,5 +40,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.InputGroup input[type='color'] {
|
.InputGroup input[type='color'] {
|
||||||
all: unset;
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.InputGroup input[type='color']:hover {
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const classes = require('./SettingsHeadline.module.css');
|
import classes from './SettingsHeadline.module.css';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
text: string;
|
text: string;
|
||||||
|
|
|
@ -4,7 +4,7 @@ export const redirectUrl = (url: string, sameTab: boolean) => {
|
||||||
const parsedUrl = urlParser(url)[1];
|
const parsedUrl = urlParser(url)[1];
|
||||||
|
|
||||||
if (sameTab) {
|
if (sameTab) {
|
||||||
document.location.replace(parsedUrl);
|
document.location.assign(parsedUrl);
|
||||||
} else {
|
} else {
|
||||||
window.open(parsedUrl);
|
window.open(parsedUrl);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
import { queries } from './searchQueries.json';
|
import searchQueries from './searchQueries.json';
|
||||||
import { SearchResult } from '../interfaces';
|
import { SearchResult } from '../interfaces';
|
||||||
import { store } from '../store/store';
|
import { store } from '../store/store';
|
||||||
import { isUrlOrIp } from '.';
|
import { isUrlOrIp } from '.';
|
||||||
|
|
||||||
export const searchParser = (searchQuery: string): SearchResult => {
|
export const searchParser = (searchQuery: string): SearchResult => {
|
||||||
|
const queries = searchQueries.queries;
|
||||||
|
|
||||||
const result: SearchResult = {
|
const result: SearchResult = {
|
||||||
isLocal: false,
|
isLocal: false,
|
||||||
isURL: false,
|
isURL: false,
|
||||||
|
@ -53,10 +55,10 @@ export const searchParser = (searchQuery: string): SearchResult => {
|
||||||
|
|
||||||
if (prefix === 'l') {
|
if (prefix === 'l') {
|
||||||
result.isLocal = true;
|
result.isLocal = true;
|
||||||
} else {
|
|
||||||
result.sameTab = config.searchSameTab;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result.sameTab = config.searchSameTab;
|
||||||
|
|
||||||
if (secondarySearch) {
|
if (secondarySearch) {
|
||||||
result.secondarySearch = secondarySearch;
|
result.secondarySearch = secondarySearch;
|
||||||
}
|
}
|
||||||
|
|
907
package-lock.json
generated
907
package-lock.json
generated
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue