Skip to content

Commit

Permalink
use get set notation, change icons, dont show default if none set
Browse files Browse the repository at this point in the history
  • Loading branch information
dtemkin1 committed Jan 30, 2025
1 parent d761e9c commit ffc85ca
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 23 deletions.
46 changes: 25 additions & 21 deletions src/components/ScheduleSwitcher.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ import {
LuEllipsis,
LuFilePlus2,
LuPencilLine,
LuPin,
LuPinOff,
LuSave,
LuShare2,
LuTrash2,
Expand All @@ -61,13 +63,9 @@ function SelectWithWarn(props: {
const { state, saveId, saves } = props;
const [confirmSave, setConfirmSave] = useState("");
const confirmName = saves.find((save) => save.id === confirmSave)?.name;
const defaultScheduleId = state.getDefaultSchedule();
const defaultScheduleId = state.defaultSchedule;

const formatScheduleName = (id: string, name: string) => {
// If no default is set, treat first schedule as default
if (!defaultScheduleId && saves.length > 0 && saves[0].id === id) {
return `${name} (default)`;
}
return id === defaultScheduleId ? `${name} (default)` : name;
};

Expand Down Expand Up @@ -226,7 +224,7 @@ export function ScheduleSwitcher(props: {
const currentName = saves.find((save) => save.id === saveId)?.name ?? "";
const [isRenaming, setIsRenaming] = useState(false);
const [name, setName] = useState(currentName);
const defaultScheduleId = state.getDefaultSchedule();
const defaultScheduleId = state.defaultSchedule;

useEffect(() => {
setName(saves.find((save) => save.id === saveId)?.name ?? "");
Expand Down Expand Up @@ -321,21 +319,27 @@ export function ScheduleSwitcher(props: {
</>
)}
</MenuItem>
<MenuItem
value="toggleDefault"
onClick={() => {
state.setDefaultSchedule(
defaultScheduleId === saveId ? null : saveId,
);
}}
>
<LuSave />
<Box flex="1">
{defaultScheduleId === saveId
? "Unset as default"
: "Set as default"}
</Box>
</MenuItem>
{saveId && (
<MenuItem
value="toggleDefault"
onClick={() => {
state.defaultSchedule =
defaultScheduleId === saveId ? null : saveId;
}}
>
{defaultScheduleId === saveId ? (
<>
<LuPinOff />
<Box flex="1">Unset as default</Box>
</>
) : (
<>
<LuPin />
<Box flex="1">Set as default</Box>
</>
)}
</MenuItem>
)}
<ExportDialog state={state}>
<MenuItem value="share">
<LuShare2 />
Expand Down
4 changes: 2 additions & 2 deletions src/lib/state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ export class State {
}

/** Set a schedule as the default schedule */
setDefaultSchedule(id: string | null): void {
set defaultSchedule(id: string | null) {
this.preferences = {
...this.preferences,
defaultScheduleId: id,
Expand All @@ -414,7 +414,7 @@ export class State {
}

/** Get the current default schedule id */
getDefaultSchedule(): string | null {
get defaultSchedule(): string | null {
return this.preferences.defaultScheduleId;
}

Expand Down

0 comments on commit ffc85ca

Please sign in to comment.