Fixing RSS for non-local communities. Fixes #53

This commit is contained in:
Dessalines 2020-10-13 16:04:44 -05:00
parent ecb54ed43d
commit 7cb650dbd3
2 changed files with 10 additions and 1 deletions

View file

@ -52,6 +52,7 @@ import {
isBrowser,
lemmyHttp,
setAuth,
communityRSSUrl,
} from '../utils';
import { i18n } from '../i18next';
@ -320,7 +321,10 @@ export class Community extends Component<any, State> {
<SortSelect sort={this.state.sort} onChange={this.handleSortChange} />
</span>
<a
href={`/feeds/c/${this.state.communityName}.xml?sort=${this.state.sort}`}
href={communityRSSUrl(
this.state.communityRes.community.actor_id,
this.state.sort
)}
target="_blank"
title="RSS"
rel="noopener"

View file

@ -278,6 +278,11 @@ export function validURL(str: string) {
// }
}
export function communityRSSUrl(actorId: string, sort: string): string {
let url = new URL(actorId);
return `${url.origin}/feeds${url.pathname}.xml?sort=${sort}`;
}
export function validEmail(email: string) {
let re = /^(([^\s"(),.:;<>@[\\\]]+(\.[^\s"(),.:;<>@[\\\]]+)*)|(".+"))@((\[(?:\d{1,3}\.){3}\d{1,3}])|(([\dA-Za-z\-]+\.)+[A-Za-z]{2,}))$/;
return re.test(String(email).toLowerCase());