getHttpBookmarkClient()
                    .list(user.username)
                    .then((p) => p.items)
                }
                editHandler={{
                  onDelete: (owner, timeline) => {
                    return getHttpBookmarkClient()
                      .delete(user.username, owner, timeline)
                      .catch((e) => {
                        pushAlert({
                          message: "home.message.deleteBookmarkFail",
                          type: "danger",
                        });
                        throw e;
                      });
                  },
                  onMove: (owner, timeline, index, offset) => {
                    return getHttpBookmarkClient()
                      .move(
                        user.username,
                        owner,
                        timeline,
                        index + offset + 1 // +1 because backend contract: index starts at 1
                      )
                      .catch((e) => {
                        pushAlert({
                          message: "home.message.moveBookmarkFail",
                          type: "danger",
                        });
                        throw e;
                      })
                      .then();
                  },
                }}
              />
            
            
              
                  getHttpBookmarkClient()
                    .list(highlightTimelineUsername)
                    .then((p) => p.items)
                }
                editHandler={
                  user.username === highlightTimelineUsername
                    ? {
                        onDelete: (owner, timeline) => {
                          return getHttpBookmarkClient()
                            .delete(highlightTimelineUsername, owner, timeline)
                            .catch((e) => {
                              pushAlert({
                                message: "home.message.deleteHighlightFail",
                                type: "danger",
                              });
                              throw e;
                            });
                        },
                        onMove: (owner, timeline, index, offset) => {
                          return getHttpBookmarkClient()
                            .move(
                              highlightTimelineUsername,
                              owner,
                              timeline,
                              index + offset + 1 // +1 because backend contract: index starts at 1
                            )
                            .catch((e) => {
                              pushAlert({
                                message: "home.message.moveBookmarkFail",
                                type: "danger",
                              });
                              throw e;
                            })
                            .then();
                        },
                      }
                    : undefined
                }
              />