Added "Show Task Description" Setting

This commit is contained in:
ransurf 2021-11-20 23:39:09 -08:00
parent d10a2ca747
commit 6384c98181
8 changed files with 41 additions and 9 deletions

View file

@ -5,6 +5,7 @@ import { HabiticaSyncView, VIEW_TYPE} from "./view"
interface HabiticaSyncSettings { interface HabiticaSyncSettings {
userID: string userID: string
apiToken: string apiToken: string
showTaskDescription: boolean
} }
const DEFAULT_SETTINGS: Partial<HabiticaSyncSettings> = { const DEFAULT_SETTINGS: Partial<HabiticaSyncSettings> = {
userID: "", userID: "",

View file

@ -38,5 +38,18 @@ export class HabiticaSyncSettingsTab extends PluginSettingTab {
await this.plugin.saveSettings(); await this.plugin.saveSettings();
}) })
); );
new Setting(containerEl)
.setName("Show Task Descriptions")
.setDesc("Updates require pane re-opening")
.addToggle(cb => {
cb
.setValue(this.plugin.settings.showTaskDescription)
.onChange(async (isEnable) => {
this.plugin.settings.showTaskDescription = isEnable;
await this.plugin.saveSettings();
})
});
} }
} }

View file

@ -195,7 +195,7 @@ class App extends React.Component<any, any> {
return (<div className="plugin-root"> return (<div className="plugin-root">
{content} {content}
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" /> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
<Taskview data={this.state.tasks} handleChangeTodos={this.handleChangeTodos} handleChangeDailys={this.handleChangeDailys} handleChangeHabits={this.handleChangeHabits} handleChangeRewards={this.handleChangeRewards}/> <Taskview data={this.state.tasks} handleChangeTodos={this.handleChangeTodos} settings = {this.props.plugin.settings} handleChangeDailys={this.handleChangeDailys} handleChangeHabits={this.handleChangeHabits} handleChangeRewards={this.handleChangeRewards}/>
<div></div> <div></div>
<Statsview user_data={this.state.user_data} /> <Statsview user_data={this.state.user_data} />
</div> </div>

View file

@ -9,7 +9,11 @@ export default function Index(props: any){
else { else {
const incompleteDailies = props.dailys.map((daily: any) => { const incompleteDailies = props.dailys.map((daily: any) => {
if(!daily.completed) if(!daily.completed)
if (props.settings.showTaskDescription) {
return <DailyItem key={daily.id} id={daily.id} daily_text={daily.text} daily_notes={daily.notes} onChange={props.onChange} completed={daily.completed}/> return <DailyItem key={daily.id} id={daily.id} daily_text={daily.text} daily_notes={daily.notes} onChange={props.onChange} completed={daily.completed}/>
} else {
return <DailyItem key={daily.id} id={daily.id} daily_text={daily.text} onChange={props.onChange} completed={daily.completed}/>
}
}) })
const completedDailies = props.dailys.map((daily: any) => { const completedDailies = props.dailys.map((daily: any) => {
if(daily.completed) if(daily.completed)

View file

@ -9,7 +9,11 @@ export default function Index(props: any){
} }
else { else {
const allHabits = props.habits.map((habit: any) => { const allHabits = props.habits.map((habit: any) => {
if (props.settings.showTaskDescription) {
return <HabitItem key={habit.id} id={habit.id} habit_text={habit.text} habit_notes={habit.notes} upCount={habit.counterUp} downCount={habit.counterDown} onChange={props.onChange}/> return <HabitItem key={habit.id} id={habit.id} habit_text={habit.text} habit_notes={habit.notes} upCount={habit.counterUp} downCount={habit.counterDown} onChange={props.onChange}/>
} else {
return <HabitItem key={habit.id} id={habit.id} habit_text={habit.text} upCount={habit.counterUp} downCount={habit.counterDown} onChange={props.onChange}/>
}
}) })
const display = <div id="classDisplay"> const display = <div id="classDisplay">
<ul>{allHabits}</ul> <ul>{allHabits}</ul>

View file

@ -9,7 +9,11 @@ export default function Index(props: any){
} }
else { else {
const allRewards = props.rewards.map((reward: any) => { const allRewards = props.rewards.map((reward: any) => {
if (props.settings.showTaskDescription) {
return <RewardItem key={reward.id} id={reward.id} reward_text={reward.text} reward_notes={reward.notes} reward_value={reward.value} onChange={props.onChange}/> return <RewardItem key={reward.id} id={reward.id} reward_text={reward.text} reward_notes={reward.notes} reward_value={reward.value} onChange={props.onChange}/>
} else {
return <RewardItem key={reward.id} id={reward.id} reward_text={reward.text} reward_value={reward.value} onChange={props.onChange}/>
}
}) })
const display = <div id="classDisplay"> const display = <div id="classDisplay">
<ul>{allRewards}</ul> <ul>{allRewards}</ul>

View file

@ -8,8 +8,14 @@ export default function Index(props: any){
} }
else { else {
const incompleteTodos = props.todos.map((todo: any) => { const incompleteTodos = props.todos.map((todo: any) => {
if(!todo.completed) if(!todo.completed) {
if (props.settings.showTaskDescription) {
return <TodoItem key={todo.id} id={todo.id} todo_text={todo.text} todo_notes={todo.notes} onChange={props.onChange} completed={todo.completed}/> return <TodoItem key={todo.id} id={todo.id} todo_text={todo.text} todo_notes={todo.notes} onChange={props.onChange} completed={todo.completed}/>
} else {
return <TodoItem key={todo.id} id={todo.id} todo_text={todo.text} onChange={props.onChange} completed={todo.completed}/>
}
}
}) })
const completedTodos = props.todos.map((todo: any) => { const completedTodos = props.todos.map((todo: any) => {
if(todo.completed) if(todo.completed)

View file

@ -24,16 +24,16 @@ export default function Index(props: any){
</Tab> </Tab>
</TabList> </TabList>
<TabPanel> <TabPanel>
<Dailiesview dailys={props.data.dailys} onChange={props.handleChangeDailys} /> <Dailiesview dailys={props.data.dailys} settings = {props.settings} onChange={props.handleChangeDailys} />
</TabPanel> </TabPanel>
<TabPanel> <TabPanel>
<Habitsview habits={props.data.habits} onChange={props.handleChangeHabits}/> <Habitsview habits={props.data.habits} settings = {props.settings} onChange={props.handleChangeHabits}/>
</TabPanel> </TabPanel>
<TabPanel> <TabPanel>
<Todoview todos={props.data.todos} onChange={props.handleChangeTodos} /> <Todoview todos={props.data.todos} settings = {props.settings} onChange={props.handleChangeTodos} />
</TabPanel> </TabPanel>
<TabPanel> <TabPanel>
<Rewardview rewards={props.data.rewards} onChange={props.handleChangeRewards} /> <Rewardview rewards={props.data.rewards} settings = {props.settings} onChange={props.handleChangeRewards} />
</TabPanel> </TabPanel>
</Tabs> </Tabs>
</div> </div>