Merge branch 'main' into release/v0.17

This commit is contained in:
Dessalines 2023-02-03 09:39:05 -05:00
commit 4eb902306d
15 changed files with 31 additions and 279 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -71,29 +71,18 @@ server.get("/css/themes/:name", async (req, res) => {
res.sendFile(customTheme);
} else {
const internalTheme = path.resolve(`./dist/assets/css/themes/${theme}`);
res.sendFile(internalTheme);
// If the theme doesn't exist, just send litely
if (fs.existsSync(internalTheme)) {
res.sendFile(internalTheme);
} else {
res.sendFile(path.resolve("./dist/assets/css/themes/litely.css"));
}
}
});
function buildThemeList(): string[] {
let themes = [
"litera",
"materia",
"minty",
"solar",
"united",
"cyborg",
"darkly",
"darkly-red",
"journal",
"sketchy",
"vaporwave",
"vaporwave-dark",
"i386",
"litely",
"litely-red",
"nord",
];
let themes = ["darkly", "darkly-red", "litely", "litely-red"];
if (fs.existsSync(extraThemesFolder)) {
let dirThemes = fs.readdirSync(extraThemesFolder);
let cssThemes = dirThemes

View file

@ -184,7 +184,7 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
let data = wsJsonToRes<CommentResponse>(msg);
// This only finishes this form, if the randomly generated form_id matches the one received
if (this.state.formId == data.form_id) {
if (this.state.formId && this.state.formId == data.form_id) {
this.setState({ finished: true });
// Necessary because it broke tribute for some reason

View file

@ -161,7 +161,6 @@ export class Post extends Component<any, PostState> {
}
fetchPost() {
this.setState({ commentsRes: undefined, postRes: undefined });
let auth = myAuth(false);
let postForm: GetPost = {
id: this.state.postId,
@ -498,6 +497,8 @@ export class Post extends Component<any, PostState> {
i.setState({
commentSort: CommentSortType[event.target.value],
commentViewType: CommentViewType.Tree,
commentsRes: undefined,
postRes: undefined,
});
i.fetchPost();
}
@ -694,9 +695,9 @@ export class Post extends Component<any, PostState> {
op == UserOperation.SavePost
) {
let data = wsJsonToRes<PostResponse>(msg);
let pv = this.state.postRes?.post_view;
if (pv) {
pv = data.post_view;
let res = this.state.postRes;
if (res) {
res.post_view = data.post_view;
this.setState(this.state);
setupTippy();
}
@ -716,10 +717,10 @@ export class Post extends Component<any, PostState> {
} else if (op == UserOperation.BanFromCommunity) {
let data = wsJsonToRes<BanFromCommunityResponse>(msg);
let postRes = this.state.postRes;
if (postRes) {
if (postRes.post_view.creator.id == data.person_view.person.id) {
postRes.post_view.creator_banned_from_community = data.banned;
let res = this.state.postRes;
if (res) {
if (res.post_view.creator.id == data.person_view.person.id) {
res.post_view.creator_banned_from_community = data.banned;
}
}
@ -729,9 +730,9 @@ export class Post extends Component<any, PostState> {
this.setState(this.state);
} else if (op == UserOperation.AddModToCommunity) {
let data = wsJsonToRes<AddModToCommunityResponse>(msg);
let postRes = this.state.postRes;
if (postRes) {
postRes.moderators = data.moderators;
let res = this.state.postRes;
if (res) {
res.moderators = data.moderators;
this.setState(this.state);
}
} else if (op == UserOperation.BanPerson) {
@ -740,10 +741,10 @@ export class Post extends Component<any, PostState> {
.filter(c => c.creator.id == data.person_view.person.id)
.forEach(c => (c.creator.banned = data.banned));
let postRes = this.state.postRes;
if (postRes) {
if (postRes.post_view.creator.id == data.person_view.person.id) {
postRes.post_view.creator.banned = data.banned;
let res = this.state.postRes;
if (res) {
if (res.post_view.creator.id == data.person_view.person.id) {
res.post_view.creator.banned = data.banned;
}
}
this.setState(this.state);
@ -753,7 +754,7 @@ export class Post extends Component<any, PostState> {
} else if (op == UserOperation.Search) {
let data = wsJsonToRes<SearchResponse>(msg);
let xPosts = data.posts.filter(
p => p.post.id != Number(this.props.match.params.id)
p => p.post.ap_id != this.state.postRes?.post_view.post.ap_id
);
this.setState({ crossPosts: xPosts.length > 0 ? xPosts : undefined });
} else if (op == UserOperation.LeaveAdmin) {
@ -761,11 +762,11 @@ export class Post extends Component<any, PostState> {
this.setState({ siteRes: data });
} else if (op == UserOperation.TransferCommunity) {
let data = wsJsonToRes<GetCommunityResponse>(msg);
let postRes = this.state.postRes;
if (postRes) {
postRes.community_view = data.community_view;
postRes.post_view.community = data.community_view.community;
postRes.moderators = data.moderators;
let res = this.state.postRes;
if (res) {
res.community_view = data.community_view;
res.post_view.community = data.community_view.community;
res.moderators = data.moderators;
this.setState(this.state);
}
} else if (op == UserOperation.BlockPerson) {