Skip to content

Commit d266b31

Browse files
committed
Move title setting to RulePanel
1 parent 91eca1b commit d266b31

File tree

5 files changed

+44
-5
lines changed

5 files changed

+44
-5
lines changed

src/renderer/component/rule/Panel.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useCallback } from 'react';
22
import PropTypes from 'prop-types';
33
import { HotKeys } from 'react-hotkeys';
4-
import { Tab, Button } from 'semantic-ui-react';
4+
import { Tab, Button, Input } from 'semantic-ui-react';
55
import Icon from '@mdi/react';
66
import { mdiFloppy, mdiDelete } from '@mdi/js';
77

@@ -14,11 +14,11 @@ const keyMap = {
1414

1515
function RulePanel({rule}) {
1616
const api = useApi();
17-
const {id, committing, committed} = rule;
17+
const {id, data, committing, committed} = rule;
1818
const confirm = useConfirm();
1919
const commit = useCallback(() => api.rule.commit(id), [id]);
2020
const delete_ = useCallback(() => confirm(() => api.rule.delete(id)), [id]);
21-
// const onNameChange = useCallback(name => api.rule.update(id, {name}), [id]);
21+
const onNameChange = useCallback(event => api.rule.update(id, {name: event.target.value}), [id]);
2222
const RuleTabs = UserscriptTabs;
2323

2424
return (
@@ -34,6 +34,13 @@ function RulePanel({rule}) {
3434
save: commit
3535
}}
3636
>
37+
<div className="hm rule name">
38+
<Input
39+
placeholder="(untitled)"
40+
defaultValue={data.name || ''}
41+
onInput={onNameChange}
42+
/>
43+
</div>
3744
<Tab.View>
3845
{
3946
RuleTabs({rule}).props.children

src/renderer/component/rule/userscript/Tabs.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,23 @@ import PropTypes from 'prop-types';
33
import { Tab } from 'semantic-ui-react';
44

55
import { useApi } from '../../../hook';
6-
import SettingsTab from './Settings';
6+
// import SettingsTab from './Settings';
77
import EditorTab from './Editor';
88

99
function UserscriptTabs({rule}) {
1010
const api = useApi();
1111
const {id} = rule;
1212
const onContentChange = useCallback(content => api.rule.update(id, {content}), [id]);
13-
const onNameChange = useCallback(name => api.rule.update(id, {name}), [id]);
1413
return (
1514
<>
1615
<Tab.View.Tab value="editor" label="Editor" default>
1716
<EditorTab {...{rule, onContentChange}} />
1817
</Tab.View.Tab>
18+
{/*
1919
<Tab.View.Tab value="settings" label="Settings">
2020
<SettingsTab {...{rule, onNameChange}} />
2121
</Tab.View.Tab>
22+
*/}
2223
</>
2324
);
2425
}

src/renderer/hook/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export { default as usePersistentState } from './persistent-state';
22
export { default as useConfirm } from './confirm';
33
export { default as useApi } from './api';
4+
export { default as useTriggerSelection } from './trigger-selection';
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function useTriggerSelection(event) {
2+
event.target.select();
3+
}

src/renderer/style/index.scss

+27
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,33 @@
77
@import 'inventory';
88
@import 'console';
99

10+
.hm.rule.name {
11+
display: flex;
12+
font-size: 16px;
13+
margin-top: -1em;
14+
margin-bottom: 0.5em;
15+
16+
> .ui.input > input {
17+
border: 1px dashed transparent;
18+
background-color: transparent;
19+
padding: 0.5em;
20+
box-shadow: none;
21+
border-radius: 1px;
22+
color: #333;
23+
cursor: pointer;
24+
25+
&:hover {
26+
border-color: #CCC;
27+
background: #FFF;
28+
}
29+
&:focus {
30+
border-color: #AAA;
31+
background: #FFF;
32+
cursor: initial;
33+
}
34+
}
35+
}
36+
1037
textarea.hm.userscript {
1138
border: none;
1239
padding: 0.5em;

0 commit comments

Comments
 (0)