Merge branch 'main' into more-upgrade-apub-3

This commit is contained in:
dessalines 2020-07-17 21:10:48 +00:00
commit 04be93d2a3
4 changed files with 48 additions and 34 deletions

View File

@ -101,6 +101,9 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
this.state.upvotes = nextProps.post.upvotes; this.state.upvotes = nextProps.post.upvotes;
this.state.downvotes = nextProps.post.downvotes; this.state.downvotes = nextProps.post.downvotes;
this.state.score = nextProps.post.score; this.state.score = nextProps.post.score;
if (this.props.post.id !== nextProps.post.id) {
this.state.imageExpanded = false;
}
this.setState(this.state); this.setState(this.state);
} }

View File

@ -17,6 +17,8 @@ interface SilverUser {
} }
let general = [ let general = [
'Rachel Schmitz',
'comradeda',
'ybaumy', 'ybaumy',
'dude in phx', 'dude in phx',
'twilight loki', 'twilight loki',

View File

@ -93,7 +93,7 @@ export class User extends Component<any, UserState> {
username: null, username: null,
follows: [], follows: [],
moderates: [], moderates: [],
loading: false, loading: true,
avatarLoading: false, avatarLoading: false,
view: User.getViewFromProps(this.props.match.view), view: User.getViewFromProps(this.props.match.view),
sort: User.getSortTypeFromProps(this.props.match.sort), sort: User.getSortTypeFromProps(this.props.match.sort),
@ -208,47 +208,50 @@ export class User extends Component<any, UserState> {
render() { render() {
return ( return (
<div class="container"> <div class="container">
{this.state.loading ? ( <div class="row">
<h5> <div class="col-12 col-md-8">
<svg class="icon icon-spinner spin"> <h5>
<use xlinkHref="#icon-spinner"></use> {this.state.user.avatar && showAvatars() && (
</svg> <img
</h5> height="80"
) : ( width="80"
<div class="row"> src={this.state.user.avatar}
<div class="col-12 col-md-8"> class="rounded-circle mr-2"
/>
)}
<span>/u/{this.state.username}</span>
</h5>
{this.state.loading ? (
<h5> <h5>
{this.state.user.avatar && showAvatars() && ( <svg class="icon icon-spinner spin">
<img <use xlinkHref="#icon-spinner"></use>
height="80" </svg>
width="80"
src={this.state.user.avatar}
class="rounded-circle mr-2"
/>
)}
<span>/u/{this.state.username}</span>
</h5> </h5>
{this.selects()} ) : (
<UserDetails this.selects()
user_id={this.state.user_id} )}
username={this.state.username} <UserDetails
sort={SortType[this.state.sort]} user_id={this.state.user_id}
page={this.state.page} username={this.state.username}
limit={fetchLimit} sort={SortType[this.state.sort]}
enableDownvotes={this.state.site.enable_downvotes} page={this.state.page}
enableNsfw={this.state.site.enable_nsfw} limit={fetchLimit}
view={this.state.view} enableDownvotes={this.state.site.enable_downvotes}
onPageChange={this.handlePageChange} enableNsfw={this.state.site.enable_nsfw}
/> view={this.state.view}
</div> onPageChange={this.handlePageChange}
/>
</div>
{!this.state.loading && (
<div class="col-12 col-md-4"> <div class="col-12 col-md-4">
{this.userInfo()} {this.userInfo()}
{this.isCurrentUser && this.userSettings()} {this.isCurrentUser && this.userSettings()}
{this.moderates()} {this.moderates()}
{this.follows()} {this.follows()}
</div> </div>
</div> )}
)} </div>
</div> </div>
); );
} }
@ -1042,6 +1045,7 @@ export class User extends Component<any, UserState> {
UserService.Instance.user.show_avatars; UserService.Instance.user.show_avatars;
this.state.userSettingsForm.matrix_user_id = this.state.user.matrix_user_id; this.state.userSettingsForm.matrix_user_id = this.state.user.matrix_user_id;
} }
this.state.loading = false;
this.setState(this.state); this.setState(this.state);
} }
} else if (res.op == UserOperation.SaveUserSettings) { } else if (res.op == UserOperation.SaveUserSettings) {

5
ui/src/utils.ts vendored
View File

@ -825,6 +825,11 @@ export function editPostRes(data: PostResponse, post: Post) {
post.url = data.post.url; post.url = data.post.url;
post.name = data.post.name; post.name = data.post.name;
post.nsfw = data.post.nsfw; post.nsfw = data.post.nsfw;
post.deleted = data.post.deleted;
post.removed = data.post.removed;
post.stickied = data.post.stickied;
post.body = data.post.body;
post.locked = data.post.locked;
} }
} }