diff --git a/src/pages/bases/DashMemoryCardView.tsx b/src/pages/bases/DashMemoryCardView.tsx index eac145d..c496db8 100644 --- a/src/pages/bases/DashMemoryCardView.tsx +++ b/src/pages/bases/DashMemoryCardView.tsx @@ -1,9 +1,10 @@ -import {BasesView, MarkdownRenderer, QueryController, TFile,Component} from 'obsidian'; +import {BasesView, MarkdownRenderer, QueryController, TFile, Component} from 'obsidian'; import React, {useEffect, useRef, useState} from 'react'; import {createRoot} from 'react-dom/client'; import {Button, Space, Card, Modal, notification} from 'antd'; import dayjs from 'dayjs'; import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'; + dayjs.extend(isSameOrBefore); export const MemoryCardViewType = 'dash-memory-card-view'; @@ -24,19 +25,21 @@ export class DashMemoryCardView extends BasesView { const allCards = this.data.data; // 按 sr-due 升序排序 this.sortedCards = [...allCards] - .map(card => ({card, due: card.getValue('properties.sr-due')})) + .map(function (card) { + return {card, due: card.getValue('note.sr-due')}; + }) .sort((a, b) => { if (!a.due && !b.due) return 0; if (!a.due) return 1; if (!b.due) return -1; - return dayjs(a.due).valueOf() - dayjs(b.due).valueOf(); + return dayjs(a.due).isSameOrBefore(b.due) ? -1 : 1; }) .map(item => item.card); // 找到 sr-due 最近的卡片 let idx = 0; const now = dayjs(); for (let i = 0; i < this.sortedCards.length; i++) { - const due = this.sortedCards[i].getValue('properties.sr-due'); + const due = this.sortedCards[i].getValue('note.sr-due'); if (due && dayjs(due).isSameOrBefore(now, 'day')) { idx = i; break; @@ -159,7 +162,17 @@ const updateSRFrontmatter = async ( return false; }; -const MemoryCard: React.FC = ({markdown, app, filePath, title, frontmatter, onPrev, onNext, isPrevDisabled, isNextDisabled}) => { +const MemoryCard: React.FC = ({ + markdown, + app, + filePath, + title, + frontmatter, + onPrev, + onNext, + isPrevDisabled, + isNextDisabled + }) => { const mdRef = useRef(null); const [rendered, setRendered] = useState(false); const [fm, setFM] = useState(frontmatter);