mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: tweak linter
This commit is contained in:
@@ -30,11 +30,7 @@ func (s *APIV2Service) ListInboxes(ctx context.Context, _ *apiv2pb.ListInboxesRe
|
||||
Inboxes: []*apiv2pb.Inbox{},
|
||||
}
|
||||
for _, inbox := range inboxes {
|
||||
inboxMessage, err := s.convertInboxFromStore(ctx, inbox)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "failed to convert inbox from store: %v", err)
|
||||
}
|
||||
response.Inboxes = append(response.Inboxes, inboxMessage)
|
||||
response.Inboxes = append(response.Inboxes, convertInboxFromStore(inbox))
|
||||
}
|
||||
|
||||
return response, nil
|
||||
@@ -66,12 +62,8 @@ func (s *APIV2Service) UpdateInbox(ctx context.Context, request *apiv2pb.UpdateI
|
||||
return nil, status.Errorf(codes.Internal, "failed to update inbox: %v", err)
|
||||
}
|
||||
|
||||
inboxMessage, err := s.convertInboxFromStore(ctx, inbox)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "failed to convert inbox from store: %v", err)
|
||||
}
|
||||
return &apiv2pb.UpdateInboxResponse{
|
||||
Inbox: inboxMessage,
|
||||
Inbox: convertInboxFromStore(inbox),
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -89,7 +81,7 @@ func (s *APIV2Service) DeleteInbox(ctx context.Context, request *apiv2pb.DeleteI
|
||||
return &apiv2pb.DeleteInboxResponse{}, nil
|
||||
}
|
||||
|
||||
func (s *APIV2Service) convertInboxFromStore(_ context.Context, inbox *store.Inbox) (*apiv2pb.Inbox, error) {
|
||||
func convertInboxFromStore(inbox *store.Inbox) *apiv2pb.Inbox {
|
||||
return &apiv2pb.Inbox{
|
||||
Name: fmt.Sprintf("%s%d", InboxNamePrefix, inbox.ID),
|
||||
Sender: fmt.Sprintf("%s%d", UserNamePrefix, inbox.SenderID),
|
||||
@@ -98,7 +90,7 @@ func (s *APIV2Service) convertInboxFromStore(_ context.Context, inbox *store.Inb
|
||||
CreateTime: timestamppb.New(time.Unix(inbox.CreatedTs, 0)),
|
||||
Type: apiv2pb.Inbox_Type(inbox.Message.Type),
|
||||
ActivityId: inbox.Message.ActivityId,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
|
||||
func convertInboxStatusFromStore(status store.InboxStatus) apiv2pb.Inbox_Status {
|
||||
|
38
web/src/components/ExploreSidebar/TagsSection.tsx
Normal file
38
web/src/components/ExploreSidebar/TagsSection.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import { tagServiceClient } from "@/grpcweb";
|
||||
import { Tag } from "@/types/proto/api/v2/tag_service";
|
||||
import Icon from "../Icon";
|
||||
|
||||
const TagsSection = () => {
|
||||
const [tags, setTags] = useState<Tag[]>([]);
|
||||
|
||||
useEffect(() => {
|
||||
(async () => {
|
||||
const { tags } = await tagServiceClient.listTags({});
|
||||
setTags(tags);
|
||||
})();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
tags.length > 0 && (
|
||||
<div className="w-full mt-2 flex flex-col p-2 bg-gray-50 dark:bg-black rounded-lg">
|
||||
<div className="w-full flex flex-row justify-between items-center">
|
||||
<span className="text-gray-400 font-medium text-sm pl-1">Tags</span>
|
||||
</div>
|
||||
<div className="w-full flex flex-row justify-start items-center flex-wrap">
|
||||
{tags.map((tag) => (
|
||||
<div
|
||||
key={tag.name}
|
||||
className="w-auto max-w-full px-1 flex flex-row justify-start items-center text-gray-500 hover:bg-gray-100 dark:hover:bg-zinc-900 rounded-lg"
|
||||
>
|
||||
<Icon.Hash className="w-4 h-auto opacity-80" />
|
||||
{tag.name}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
export default TagsSection;
|
Reference in New Issue
Block a user