Skip to content

Commit

Permalink
Removing community and user routes in favor of shortnames. Fixes #317 (
Browse files Browse the repository at this point in the history
  • Loading branch information
dessalines authored Jul 21, 2021
1 parent 79ce0e8 commit cffdfab
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 55 deletions.
9 changes: 4 additions & 5 deletions src/shared/components/community/community-link.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,10 @@ export class CommunityLink extends Component<CommunityLinkProps, any> {
title = community.title;
link = `/c/${community.name}`;
} else {
name_ = `${community.name}@${hostname(community.actor_id)}`;
title = `${community.title}@${hostname(community.actor_id)}`;
link = !this.props.realLink
? `/community/${community.id}`
: community.actor_id;
let domain = hostname(community.actor_id);
name_ = `${community.name}@${domain}`;
title = `${community.title}@${domain}`;
link = !this.props.realLink ? `/c/${name_}` : community.actor_id;
}

let apubName = `!${name_}`;
Expand Down
20 changes: 4 additions & 16 deletions src/shared/components/community/community.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ import { CommunityLink } from "./community-link";
interface State {
communityRes: GetCommunityResponse;
siteRes: GetSiteResponse;
communityId: number;
communityName: string;
communityLoading: boolean;
postsLoading: boolean;
Expand Down Expand Up @@ -91,7 +90,6 @@ export class Community extends Component<any, State> {
private subscription: Subscription;
private emptyState: State = {
communityRes: undefined,
communityId: Number(this.props.match.params.id),
communityName: this.props.match.params.name,
communityLoading: true,
postsLoading: true,
Expand Down Expand Up @@ -136,7 +134,6 @@ export class Community extends Component<any, State> {

fetchCommunity() {
let form: GetCommunity = {
id: this.state.communityId ? this.state.communityId : null,
name: this.state.communityName ? this.state.communityName : null,
auth: authField(false),
};
Expand Down Expand Up @@ -198,7 +195,7 @@ export class Community extends Component<any, State> {
saved_only: false,
};
setOptionalAuth(getPostsForm, req.auth);
this.setIdOrName(getPostsForm, id, name_);
this.setName(getPostsForm, name_);
promises.push(req.client.getPosts(getPostsForm));
} else {
let getCommentsForm: GetComments = {
Expand All @@ -209,19 +206,14 @@ export class Community extends Component<any, State> {
saved_only: false,
};
setOptionalAuth(getCommentsForm, req.auth);
this.setIdOrName(getCommentsForm, id, name_);
promises.push(req.client.getComments(getCommentsForm));
}

return promises;
}

static setIdOrName(obj: any, id: number, name_: string) {
if (id) {
obj.community_id = id;
} else {
obj.community_name = name_;
}
static setName(obj: any, name_: string) {
obj.community_name = name_;
}

componentDidUpdate(_: any, lastState: State) {
Expand Down Expand Up @@ -404,9 +396,7 @@ export class Community extends Component<any, State> {
const sortStr = paramUpdates.sort || this.state.sort;
const page = paramUpdates.page || this.state.page;

let typeView = this.state.communityName
? `/c/${this.state.communityName}`
: `/community/${this.state.communityId}`;
let typeView = `/c/${this.state.communityName}`;

this.props.history.push(
`${typeView}/data_type/${dataTypeStr}/sort/${sortStr}/page/${page}`
Expand All @@ -420,7 +410,6 @@ export class Community extends Component<any, State> {
limit: fetchLimit,
sort: this.state.sort,
type_: ListingType.Community,
community_id: this.state.communityId,
community_name: this.state.communityName,
saved_only: false,
auth: authField(false),
Expand All @@ -432,7 +421,6 @@ export class Community extends Component<any, State> {
limit: fetchLimit,
sort: this.state.sort,
type_: ListingType.Community,
community_id: this.state.communityId,
community_name: this.state.communityName,
saved_only: false,
auth: authField(false),
Expand Down
7 changes: 5 additions & 2 deletions src/shared/components/person/person-listing.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,11 @@ export class PersonListing extends Component<PersonListingProps, any> {
apubName = `@${person.name}`;
link = `/u/${person.name}`;
} else {
apubName = `@${person.name}@${hostname(person.actor_id)}`;
link = !this.props.realLink ? `/user/${person.id}` : person.actor_id;
let domain = hostname(person.actor_id);
apubName = `@${person.name}@${domain}`;
link = !this.props.realLink
? `/u/${person.name}@${domain}`
: person.actor_id;
}

let displayName = this.props.useApubName
Expand Down
8 changes: 1 addition & 7 deletions src/shared/components/person/person.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import {
editPostFindRes,
elementUrl,
fetchLimit,
getIdFromProps,
getLanguage,
getUsernameFromProps,
languages,
Expand Down Expand Up @@ -67,7 +66,6 @@ import { PersonListing } from "./person-listing";

interface PersonState {
personRes: GetPersonDetailsResponse;
personId: number;
userName: string;
view: PersonDetailsView;
sort: SortType;
Expand Down Expand Up @@ -102,7 +100,6 @@ export class Person extends Component<any, PersonState> {
private subscription: Subscription;
private emptyState: PersonState = {
personRes: undefined,
personId: getIdFromProps(this.props),
userName: getUsernameFromProps(this.props),
loading: true,
view: Person.getViewFromProps(this.props.match.view),
Expand Down Expand Up @@ -164,7 +161,6 @@ export class Person extends Component<any, PersonState> {

fetchUserData() {
let form: GetPersonDetails = {
person_id: this.state.personId,
username: this.state.userName,
sort: this.state.sort,
saved_only: this.state.view === PersonDetailsView.Saved,
Expand Down Expand Up @@ -969,9 +965,7 @@ export class Person extends Component<any, PersonState> {
const viewStr = paramUpdates.view || PersonDetailsView[this.state.view];
const sortStr = paramUpdates.sort || this.state.sort;

let typeView = this.state.userName
? `/u/${this.state.userName}`
: `/user/${this.state.personId}`;
let typeView = `/u/${this.state.userName}`;

this.props.history.push(
`${typeView}/view/${viewStr}/sort/${sortStr}/page/${page}`
Expand Down
5 changes: 0 additions & 5 deletions src/shared/components/post/create-post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,6 @@ export class CreatePost extends Component<any, CreatePostState> {
get prevCommunityId(): number {
if (this.props.match.params.id) {
return this.props.match.params.id;
} else if (this.props.location.state) {
let lastLocation = this.props.location.state.prevPath;
if (lastLocation.includes("/community/")) {
return Number(lastLocation.split("/community/")[1]);
}
}
return null;
}
Expand Down
20 changes: 0 additions & 20 deletions src/shared/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,6 @@ export const routes: IRoutePropsWithFetch[] = [
component: Post,
fetchInitialData: req => Post.fetchInitialData(req),
},
{
path: `/community/:id/data_type/:data_type/sort/:sort/page/:page`,
component: Community,
fetchInitialData: req => Community.fetchInitialData(req),
},
{
path: `/community/:id`,
component: Community,
fetchInitialData: req => Community.fetchInitialData(req),
},
{
path: `/c/:name/data_type/:data_type/sort/:sort/page/:page`,
component: Community,
Expand All @@ -96,16 +86,6 @@ export const routes: IRoutePropsWithFetch[] = [
component: Person,
fetchInitialData: req => Person.fetchInitialData(req),
},
{
path: `/user/:id/view/:view/sort/:sort/page/:page`,
component: Person,
fetchInitialData: req => Person.fetchInitialData(req),
},
{
path: `/user/:id`,
component: Person,
fetchInitialData: req => Person.fetchInitialData(req),
},
{
path: `/u/:username`,
component: Person,
Expand Down

0 comments on commit cffdfab

Please sign in to comment.