mirror of https://github.com/usememos/memos
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import MemoView from "@/components/MemoView";
|
|
import PagedMemoList from "@/components/PagedMemoList";
|
|
import { useView } from "@/contexts/ViewContext";
|
|
import { useMemoFilters, useMemoSorting } from "@/hooks";
|
|
import useCurrentUser from "@/hooks/useCurrentUser";
|
|
import { State } from "@/types/proto/api/v1/common_pb";
|
|
import { Memo } from "@/types/proto/api/v1/memo_service_pb";
|
|
|
|
const Archived = () => {
|
|
const user = useCurrentUser();
|
|
const { compactMode } = useView();
|
|
|
|
// Build filter using unified hook (no shortcuts or pinned filter)
|
|
const memoFilter = useMemoFilters({
|
|
creatorName: user?.name,
|
|
includeShortcuts: false,
|
|
includePinned: false,
|
|
});
|
|
|
|
// Get sorting logic using unified hook (pinned first, archived state)
|
|
const { listSort, orderBy } = useMemoSorting({
|
|
pinnedFirst: true,
|
|
state: State.ARCHIVED,
|
|
});
|
|
|
|
return (
|
|
<PagedMemoList
|
|
renderer={(memo: Memo) => <MemoView key={`${memo.name}-${memo.updateTime}`} memo={memo} showVisibility compact={compactMode} />}
|
|
listSort={listSort}
|
|
state={State.ARCHIVED}
|
|
orderBy={orderBy}
|
|
filter={memoFilter}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default Archived;
|