+
{project.title}
setRenameDialogOpen(true)}>
Rename
@@ -192,7 +291,7 @@ const ProjectDropdown = ({
- Select
+ {selected ? "Deselect" : "Select"}
console.log("Edit Project")}>
Edit
@@ -291,7 +390,7 @@ const ProjectContainer = ({
{selecting && (
- setSelected(checked as boolean)}/>
+ setSelected(checked as boolean)} />
)}
@@ -302,13 +401,20 @@ const ProjectContainer = ({
export default function Home(): ReactNode {
const isMobile = useIsMobile();
const [search, setSearch] = useState('');
+ const [debouncedSearch] = useDebounce(search, 300);
const [selecting, setSelecting] = useState(false);
const [selectedProjects, setSelectedProjects] = useState
([]);
- const [debouncedSearch] = useDebounce(search, 300);
+ const [sortingType, setSortingType] = useState(defaultSortingType);
+ const [descendingSort, setDescendingSort] = useState(false);
const projects = useLiveQuery(() => (
- db.projects.filter((project) => project.title.toLowerCase().includes(debouncedSearch.toLowerCase())).toArray()
- ), [debouncedSearch]);
+ db.projects.toArray()
+ ));
+
+ const filteredProjects = projects && (
+ projects.filter((project) => project.title.toLowerCase().includes(debouncedSearch.toLowerCase()))
+ .sort((a, b) => sortProjects(a, b, sortingType) * (descendingSort ? -1 : 1))
+ );
const newProjectForm = useForm>({
resolver: zodResolver(ProjectInfoFormSchema),
@@ -345,8 +451,8 @@ export default function Home(): ReactNode {
Project Library
{projects && }
-