mirror of
https://git.sr.ht/~ashkeel/strimertul
synced 2024-09-20 02:00:49 +00:00
Remove "enabled" toggle on timer module
This commit is contained in:
parent
bcb15ab4a9
commit
776abe186e
3 changed files with 12 additions and 55 deletions
|
@ -155,13 +155,6 @@ export const modules = {
|
||||||
state.moduleConfigs.twitchBotConfig = payload;
|
state.moduleConfigs.twitchBotConfig = payload;
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
twitchBotModulesConfig: makeModule(
|
|
||||||
'twitch/bot-modules/config',
|
|
||||||
(state) => state.twitchBot?.modules,
|
|
||||||
(state, { payload }) => {
|
|
||||||
state.twitchBot.modules = payload;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
twitchBotCommands: makeModule(
|
twitchBotCommands: makeModule(
|
||||||
'twitch/bot-custom-commands',
|
'twitch/bot-custom-commands',
|
||||||
(state) => state.twitchBot?.commands,
|
(state) => state.twitchBot?.commands,
|
||||||
|
@ -252,7 +245,6 @@ const initialState: APIState = {
|
||||||
},
|
},
|
||||||
twitchBot: {
|
twitchBot: {
|
||||||
commands: null,
|
commands: null,
|
||||||
modules: null,
|
|
||||||
timers: null,
|
timers: null,
|
||||||
},
|
},
|
||||||
moduleConfigs: {
|
moduleConfigs: {
|
||||||
|
|
|
@ -31,10 +31,6 @@ interface TwitchBotConfig {
|
||||||
chat_history: number;
|
chat_history: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface TwitchModulesConfig {
|
|
||||||
enable_timers: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type AccessLevelType =
|
export type AccessLevelType =
|
||||||
| 'everyone'
|
| 'everyone'
|
||||||
| 'subscribers'
|
| 'subscribers'
|
||||||
|
@ -134,7 +130,6 @@ export interface APIState {
|
||||||
};
|
};
|
||||||
twitchBot: {
|
twitchBot: {
|
||||||
commands: TwitchBotCustomCommands;
|
commands: TwitchBotCustomCommands;
|
||||||
modules: TwitchModulesConfig;
|
|
||||||
timers: TwitchBotTimersConfig;
|
timers: TwitchBotTimersConfig;
|
||||||
};
|
};
|
||||||
moduleConfigs: {
|
moduleConfigs: {
|
||||||
|
|
|
@ -244,9 +244,6 @@ export default function TwitchBotTimersPage(
|
||||||
props: RouteComponentProps<unknown>,
|
props: RouteComponentProps<unknown>,
|
||||||
): React.ReactElement {
|
): React.ReactElement {
|
||||||
const [twitchConfig] = useModule(modules.twitchConfig);
|
const [twitchConfig] = useModule(modules.twitchConfig);
|
||||||
const [moduleConfig, setModuleConfig] = useModule(
|
|
||||||
modules.twitchBotModulesConfig,
|
|
||||||
);
|
|
||||||
const [timerConfig, setTimerConfig] = useModule(modules.twitchBotTimers);
|
const [timerConfig, setTimerConfig] = useModule(modules.twitchBotTimers);
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
@ -257,8 +254,6 @@ export default function TwitchBotTimersPage(
|
||||||
const timerFilterLC = timerFilter.toLowerCase();
|
const timerFilterLC = timerFilter.toLowerCase();
|
||||||
|
|
||||||
const botActive = twitchConfig?.enable_bot ?? false;
|
const botActive = twitchConfig?.enable_bot ?? false;
|
||||||
const timersActive = moduleConfig?.enable_timers ?? false;
|
|
||||||
const active = botActive && timersActive;
|
|
||||||
|
|
||||||
const createTimer = (name: string, data: TwitchBotTimer): void => {
|
const createTimer = (name: string, data: TwitchBotTimer): void => {
|
||||||
dispatch(
|
dispatch(
|
||||||
|
@ -333,31 +328,9 @@ export default function TwitchBotTimersPage(
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<h1 className="title is-4">{t('twitch.timers.header')}</h1>
|
<h1 className="title is-4">{t('twitch.timers.header')}</h1>
|
||||||
<Field>
|
|
||||||
<label className="checkbox">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
disabled={!botActive}
|
|
||||||
checked={active}
|
|
||||||
onChange={(ev) =>
|
|
||||||
dispatch(
|
|
||||||
setModuleConfig({
|
|
||||||
...moduleConfig,
|
|
||||||
enable_timers: ev.target.checked,
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
{` ${t('twitch.timers.enable')} `}
|
|
||||||
</label>
|
|
||||||
</Field>
|
|
||||||
<div className="field is-grouped">
|
<div className="field is-grouped">
|
||||||
<p className="control">
|
<p className="control">
|
||||||
<button
|
<button className="button" onClick={() => setCreateModal(true)}>
|
||||||
className="button"
|
|
||||||
disabled={!timersActive}
|
|
||||||
onClick={() => setCreateModal(true)}
|
|
||||||
>
|
|
||||||
{t('twitch.timers.new-timer')}
|
{t('twitch.timers.new-timer')}
|
||||||
</button>
|
</button>
|
||||||
</p>
|
</p>
|
||||||
|
@ -366,7 +339,6 @@ export default function TwitchBotTimersPage(
|
||||||
<input
|
<input
|
||||||
className="input"
|
className="input"
|
||||||
type="text"
|
type="text"
|
||||||
disabled={!timersActive}
|
|
||||||
placeholder={t('twitch.timers.search')}
|
placeholder={t('twitch.timers.search')}
|
||||||
value={timerFilter}
|
value={timerFilter}
|
||||||
onChange={(ev) => setTimerFilter(ev.target.value)}
|
onChange={(ev) => setTimerFilter(ev.target.value)}
|
||||||
|
@ -397,8 +369,7 @@ export default function TwitchBotTimersPage(
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
<div className="reward-list" style={{ marginTop: '1rem' }}>
|
<div className="reward-list" style={{ marginTop: '1rem' }}>
|
||||||
{timersActive
|
{Object.keys(timerConfig?.timers ?? {})
|
||||||
? Object.keys(timerConfig?.timers ?? {})
|
|
||||||
?.filter((cmd) => cmd.toLowerCase().includes(timerFilterLC))
|
?.filter((cmd) => cmd.toLowerCase().includes(timerFilterLC))
|
||||||
.map((timer) => (
|
.map((timer) => (
|
||||||
<TimerItem
|
<TimerItem
|
||||||
|
@ -408,8 +379,7 @@ export default function TwitchBotTimersPage(
|
||||||
onEdit={() => setShowModifyTimer(timer)}
|
onEdit={() => setShowModifyTimer(timer)}
|
||||||
onToggleState={() => toggleTimer(timer)}
|
onToggleState={() => toggleTimer(timer)}
|
||||||
/>
|
/>
|
||||||
))
|
))}
|
||||||
: null}
|
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue