1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-25 22:09:36 +02:00

Local search for apps

This commit is contained in:
unknown 2021-09-06 12:24:01 +02:00
parent 8521995758
commit 6ae6c58f4c
14 changed files with 297 additions and 4751 deletions

View file

@ -6,7 +6,7 @@ import {
createNotification,
updateConfig,
sortApps,
sortCategories
sortCategories,
} from '../../../store/actions';
// Typescript
@ -14,7 +14,7 @@ import {
GlobalState,
NewNotification,
Query,
SettingsForm
SettingsForm,
} from '../../../interfaces';
// UI
@ -53,7 +53,7 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
searchSameTab: 0,
dockerApps: 1,
kubernetesApps: 1,
unpinStoppedApps: 1
unpinStoppedApps: 1,
});
// Get config
@ -73,7 +73,7 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
searchSameTab: searchConfig('searchSameTab', 0),
dockerApps: searchConfig('dockerApps', 0),
kubernetesApps: searchConfig('kubernetesApps', 0),
unpinStoppedApps: searchConfig('unpinStoppedApps', 0)
unpinStoppedApps: searchConfig('unpinStoppedApps', 0),
});
}, [props.loading]);
@ -105,115 +105,117 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
setFormData({
...formData,
[e.target.name]: value
[e.target.name]: value,
});
};
return (
<form onSubmit={e => formSubmitHandler(e)}>
<form onSubmit={(e) => formSubmitHandler(e)}>
{/* OTHER OPTIONS */}
<h2 className={classes.SettingsSection}>Miscellaneous</h2>
<InputGroup>
<label htmlFor='customTitle'>Custom page title</label>
<label htmlFor="customTitle">Custom page title</label>
<input
type='text'
id='customTitle'
name='customTitle'
placeholder='Flame'
type="text"
id="customTitle"
name="customTitle"
placeholder="Flame"
value={formData.customTitle}
onChange={e => inputChangeHandler(e)}
onChange={(e) => inputChangeHandler(e)}
/>
</InputGroup>
{/* BEAHVIOR OPTIONS */}
<h2 className={classes.SettingsSection}>App Behavior</h2>
<InputGroup>
<label htmlFor='pinAppsByDefault'>
<label htmlFor="pinAppsByDefault">
Pin new applications by default
</label>
<select
id='pinAppsByDefault'
name='pinAppsByDefault'
id="pinAppsByDefault"
name="pinAppsByDefault"
value={formData.pinAppsByDefault}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='pinCategoriesByDefault'>
<label htmlFor="pinCategoriesByDefault">
Pin new categories by default
</label>
<select
id='pinCategoriesByDefault'
name='pinCategoriesByDefault'
id="pinCategoriesByDefault"
name="pinCategoriesByDefault"
value={formData.pinCategoriesByDefault}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='useOrdering'>Sorting type</label>
<label htmlFor="useOrdering">Sorting type</label>
<select
id='useOrdering'
name='useOrdering'
id="useOrdering"
name="useOrdering"
value={formData.useOrdering}
onChange={e => inputChangeHandler(e)}
onChange={(e) => inputChangeHandler(e)}
>
<option value='createdAt'>By creation date</option>
<option value='name'>Alphabetical order</option>
<option value='orderId'>Custom order</option>
<option value="createdAt">By creation date</option>
<option value="name">Alphabetical order</option>
<option value="orderId">Custom order</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='defaultSearchProvider'>Default Search Provider</label>
<label htmlFor="defaultSearchProvider">Default Search Provider</label>
<select
id='defaultSearchProvider'
name='defaultSearchProvider'
id="defaultSearchProvider"
name="defaultSearchProvider"
value={formData.defaultSearchProvider}
onChange={e => inputChangeHandler(e)}
onChange={(e) => inputChangeHandler(e)}
>
{queries.map((query: Query) => (
<option value={query.prefix}>{query.name}</option>
{queries.map((query: Query, idx) => (
<option key={idx} value={query.prefix}>
{query.name}
</option>
))}
</select>
</InputGroup>
<InputGroup>
<label htmlFor='searchSameTab'>
<label htmlFor="searchSameTab">
Open search results in the same tab
</label>
<select
id='searchSameTab'
name='searchSameTab'
id="searchSameTab"
name="searchSameTab"
value={formData.searchSameTab}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='appsSameTab'>Open applications in the same tab</label>
<label htmlFor="appsSameTab">Open applications in the same tab</label>
<select
id='appsSameTab'
name='appsSameTab'
id="appsSameTab"
name="appsSameTab"
value={formData.appsSameTab}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='bookmarksSameTab'>Open bookmarks in the same tab</label>
<label htmlFor="bookmarksSameTab">Open bookmarks in the same tab</label>
<select
id='bookmarksSameTab'
name='bookmarksSameTab'
id="bookmarksSameTab"
name="bookmarksSameTab"
value={formData.bookmarksSameTab}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
@ -223,48 +225,48 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
{/* MODULES OPTIONS */}
<h2 className={classes.SettingsSection}>Modules</h2>
<InputGroup>
<label htmlFor='hideSearch'>Hide search bar</label>
<label htmlFor="hideSearch">Hide search bar</label>
<select
id='hideSearch'
name='hideSearch'
id="hideSearch"
name="hideSearch"
value={formData.hideSearch}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='hideHeader'>Hide greeting and date</label>
<label htmlFor="hideHeader">Hide greeting and date</label>
<select
id='hideHeader'
name='hideHeader'
id="hideHeader"
name="hideHeader"
value={formData.hideHeader}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='hideApps'>Hide applications</label>
<label htmlFor="hideApps">Hide applications</label>
<select
id='hideApps'
name='hideApps'
id="hideApps"
name="hideApps"
value={formData.hideApps}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='hideCategories'>Hide categories</label>
<label htmlFor="hideCategories">Hide categories</label>
<select
id='hideCategories'
name='hideCategories'
id="hideCategories"
name="hideCategories"
value={formData.hideCategories}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
@ -274,26 +276,26 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
{/* DOCKER SETTINGS */}
<h2 className={classes.SettingsSection}>Docker</h2>
<InputGroup>
<label htmlFor='dockerApps'>Use Docker API</label>
<label htmlFor="dockerApps">Use Docker API</label>
<select
id='dockerApps'
name='dockerApps'
id="dockerApps"
name="dockerApps"
value={formData.dockerApps}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
</select>
</InputGroup>
<InputGroup>
<label htmlFor='unpinStoppedApps'>
<label htmlFor="unpinStoppedApps">
Unpin stopped containers / other apps
</label>
<select
id='unpinStoppedApps'
name='unpinStoppedApps'
id="unpinStoppedApps"
name="unpinStoppedApps"
value={formData.unpinStoppedApps}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
@ -303,12 +305,12 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
{/* KUBERNETES SETTINGS */}
<h2 className={classes.SettingsSection}>Kubernetes</h2>
<InputGroup>
<label htmlFor='kubernetesApps'>Use Kubernetes Ingress API</label>
<label htmlFor="kubernetesApps">Use Kubernetes Ingress API</label>
<select
id='kubernetesApps'
name='kubernetesApps'
id="kubernetesApps"
name="kubernetesApps"
value={formData.kubernetesApps}
onChange={e => inputChangeHandler(e, true)}
onChange={(e) => inputChangeHandler(e, true)}
>
<option value={1}>True</option>
<option value={0}>False</option>
@ -321,7 +323,7 @@ const OtherSettings = (props: ComponentProps): JSX.Element => {
const mapStateToProps = (state: GlobalState) => {
return {
loading: state.config.loading
loading: state.config.loading,
};
};
@ -329,7 +331,7 @@ const actions = {
createNotification,
updateConfig,
sortApps,
sortCategories
sortCategories,
};
export default connect(mapStateToProps, actions)(OtherSettings);