mirror of
https://github.com/remvze/moodist.git
synced 2025-12-17 08:54:13 +00:00
refactor: use the ID instead of index
This commit is contained in:
parent
78222be011
commit
7658842324
2 changed files with 11 additions and 11 deletions
|
|
@ -26,15 +26,15 @@ export function List({ close }: ListProps) {
|
||||||
<p className={styles.empty}>You don't have any presets yet.</p>
|
<p className={styles.empty}>You don't have any presets yet.</p>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{presets.map((preset, index) => (
|
{presets.map(preset => (
|
||||||
<div className={styles.preset} key={index}>
|
<div className={styles.preset} key={preset.id}>
|
||||||
<input
|
<input
|
||||||
placeholder="Untitled"
|
placeholder="Untitled"
|
||||||
type="text"
|
type="text"
|
||||||
value={preset.label}
|
value={preset.label}
|
||||||
onChange={e => changeName(index, e.target.value)}
|
onChange={e => changeName(preset.id, e.target.value)}
|
||||||
/>
|
/>
|
||||||
<button onClick={() => deletePreset(index)}>
|
<button onClick={() => deletePreset(preset.id)}>
|
||||||
<FaRegTrashAlt />
|
<FaRegTrashAlt />
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ import { v4 as uuid } from 'uuid';
|
||||||
|
|
||||||
interface PresetStore {
|
interface PresetStore {
|
||||||
addPreset: (label: string, sounds: Record<string, number>) => void;
|
addPreset: (label: string, sounds: Record<string, number>) => void;
|
||||||
changeName: (index: number, newName: string) => void;
|
changeName: (id: string, newName: string) => void;
|
||||||
deletePreset: (index: number) => void;
|
deletePreset: (id: string) => void;
|
||||||
presets: Array<{
|
presets: Array<{
|
||||||
id: string;
|
id: string;
|
||||||
label: string;
|
label: string;
|
||||||
|
|
@ -21,9 +21,9 @@ export const usePresetStore = create<PresetStore>()(
|
||||||
set({ presets: [{ id: uuid(), label, sounds }, ...get().presets] });
|
set({ presets: [{ id: uuid(), label, sounds }, ...get().presets] });
|
||||||
},
|
},
|
||||||
|
|
||||||
changeName(index: number, newName: string) {
|
changeName(id: string, newName: string) {
|
||||||
const presets = get().presets.map((preset, i) => {
|
const presets = get().presets.map(preset => {
|
||||||
if (i === index) return { ...preset, label: newName };
|
if (preset.id === id) return { ...preset, label: newName };
|
||||||
|
|
||||||
return preset;
|
return preset;
|
||||||
});
|
});
|
||||||
|
|
@ -31,8 +31,8 @@ export const usePresetStore = create<PresetStore>()(
|
||||||
set({ presets });
|
set({ presets });
|
||||||
},
|
},
|
||||||
|
|
||||||
deletePreset(index: number) {
|
deletePreset(id: string) {
|
||||||
set({ presets: get().presets.filter((_, i) => index !== i) });
|
set({ presets: get().presets.filter(preset => preset.id !== id) });
|
||||||
},
|
},
|
||||||
|
|
||||||
presets: [],
|
presets: [],
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue