Add ability to fill magnet link title on post creation.

This commit is contained in:
Dessalines 2024-08-07 13:14:59 -04:00
parent 62c62bf038
commit 546189d04f
2 changed files with 24 additions and 5 deletions

View file

@ -45,6 +45,9 @@ import { MarkdownTextArea } from "../common/markdown-textarea";
import { SearchableSelect } from "../common/searchable-select";
import { PostListings } from "./post-listings";
import { isBrowser } from "@utils/browser";
import isMagnetLink, {
extractMagnetLinkDownloadName,
} from "@utils/media/is-magnet-link";
const MAX_POST_TITLE_LENGTH = 200;
@ -806,10 +809,25 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
async fetchPageTitle() {
const url = this.state.form.url;
if (url && validURL(url)) {
this.setState({ metadataRes: LOADING_REQUEST });
this.setState({
metadataRes: await HttpService.client.getSiteMetadata({ url }),
});
// If its a magnet link, fill in the download name
if (isMagnetLink(url)) {
const title = extractMagnetLinkDownloadName(url);
if (title) {
this.setState({
metadataRes: {
state: "success",
data: {
metadata: { title },
},
},
});
}
} else {
this.setState({ metadataRes: LOADING_REQUEST });
this.setState({
metadataRes: await HttpService.client.getSiteMetadata({ url }),
});
}
}
}

View file

@ -336,7 +336,8 @@ export function getEmojiMart(
}
export async function setupTribute() {
if (Tribute === null) {
// eslint-disable-next-line eqeqeq
if (Tribute == null) {
console.debug("Tribute is null, importing...");
Tribute = (await import("tributejs")).default;
}