fix: find memo list order (#1149)

This commit is contained in:
boojack 2023-02-24 20:34:54 +08:00 committed by GitHub
parent c24b7097fa
commit 904a6bd97f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 17 additions and 16 deletions

View File

@ -42,7 +42,7 @@ type Memo struct {
Pinned bool `json:"pinned"`
// Related fields
Creator *User `json:"creator"`
CreatorName string `json:"creatorName"`
ResourceList []*Resource `json:"resourceList"`
}

View File

@ -302,11 +302,11 @@ func findMemoRawList(ctx context.Context, tx *sql.Tx, find *api.MemoFind) ([]*me
memo.row_status,
memo.content,
memo.visibility,
memo_organizer.pinned
IFNULL(memo_organizer.pinned, 0) AS pinned
FROM memo
LEFT JOIN memo_organizer ON memo_organizer.memo_id = memo.id
LEFT JOIN memo_organizer ON memo_organizer.memo_id = memo.id AND memo_organizer.user_id = memo.creator_id
WHERE ` + strings.Join(where, " AND ") + `
ORDER BY memo_organizer.pinned DESC, memo.created_ts DESC
ORDER BY pinned DESC, memo.created_ts DESC
`
if find.Limit != nil {
query = fmt.Sprintf("%s LIMIT %d", query, *find.Limit)

View File

@ -56,10 +56,11 @@ func (s *Store) ComposeMemoCreator(ctx context.Context, memo *api.Memo) error {
return err
}
user.Email = ""
user.OpenID = ""
user.UserSettingList = nil
memo.Creator = user
if user.Nickname != "" {
memo.CreatorName = user.Nickname
} else {
memo.CreatorName = user.Username
}
return nil
}
func (s *Store) CreateUser(ctx context.Context, create *api.UserCreate) (*api.User, error) {

View File

@ -17,6 +17,6 @@ export const VISIBILITY_SELECTOR_ITEMS = [
export const TAB_SPACE_WIDTH = 2;
// default fetch memo amount
export const DEFAULT_MEMO_LIMIT = 30;
export const DEFAULT_MEMO_LIMIT = 20;
export const MEMOS_LOGO_URL = "https://usememos.com/logo.png";

View File

@ -49,8 +49,8 @@ const EmbedMemo = () => {
<div className="w-full flex flex-col justify-start items-start">
<div className="w-full mb-2 flex flex-row justify-start items-center text-sm text-gray-400 dark:text-gray-300">
<span>{dayjs(state.memo.createdTs).locale(i18n.language).format("YYYY/MM/DD HH:mm:ss")}</span>
<a className="ml-2 hover:underline hover:text-green-600" href={`/u/${state.memo.creator.id}`}>
@{state.memo.creator.nickname || state.memo.creator.username}
<a className="ml-2 hover:underline hover:text-green-600" href={`/u/${state.memo.creatorId}`}>
@{state.memo.creatorName}
</a>
</div>
<MemoContent className="memo-content" content={state.memo.content} onMemoContentClick={() => undefined} />

View File

@ -142,8 +142,8 @@ const Explore = () => {
{memo.pinned && <div className="corner-container"></div>}
<div className="memo-header">
<span className="time-text">{createdAtStr}</span>
<a className="name-text" href={`/u/${memo.creator.id}`}>
@{memo.creator.nickname || memo.creator.username}
<a className="name-text" href={`/u/${memo.creatorId}`}>
@{memo.creatorName}
</a>
</div>
<MemoContent className="memo-content" content={memo.content} onMemoContentClick={handleMemoContentClick} />

View File

@ -79,8 +79,8 @@ const MemoDetail = () => {
<div className="memo-header">
<div className="status-container">
<span className="time-text">{dayjs(state.memo.createdTs).locale(i18n.language).format("YYYY/MM/DD HH:mm:ss")}</span>
<a className="name-text" href={`/u/${state.memo.creator.id}`}>
@{state.memo.creator.nickname || state.memo.creator.username}
<a className="name-text" href={`/u/${state.memo.creatorId}`}>
@{state.memo.creatorName}
</a>
</div>
</div>

View File

@ -14,7 +14,7 @@ interface Memo {
visibility: Visibility;
pinned: boolean;
creator: User;
creatorName: string;
resourceList: Resource[];
}