Adding new site setup fields. (#840)

This commit is contained in:
Dessalines 2022-11-09 14:53:07 -05:00 committed by GitHub
parent 8fdbaf4499
commit 24548ccba8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 1207 additions and 568 deletions

View file

@ -131,10 +131,7 @@ export class Home extends Component<any, HomeState> {
listingType: getListingTypeFromProps(
this.props,
ListingType[
this.isoData.site_res.site_view.match({
some: type_ => type_.site.default_post_listing_type,
none: ListingType.Local,
})
this.isoData.site_res.site_view.local_site.default_post_listing_type
]
),
dataType: getDataTypeFromProps(this.props),
@ -199,7 +196,7 @@ export class Home extends Component<any, HomeState> {
componentDidMount() {
// This means it hasn't been set up yet
if (this.state.siteRes.site_view.isNone()) {
if (!this.state.siteRes.site_view.local_site.site_setup) {
this.context.router.history.push("/setup");
}
setupTippy();
@ -313,13 +310,10 @@ export class Home extends Component<any, HomeState> {
}
get documentTitle(): string {
return this.state.siteRes.site_view.match({
some: siteView =>
siteView.site.description.match({
some: desc => `${siteView.site.name} - ${desc}`,
none: siteView.site.name,
}),
none: "Lemmy",
let siteView = this.state.siteRes.site_view;
return this.state.siteRes.site_view.site.description.match({
some: desc => `${siteView.site.name} - ${desc}`,
none: siteView.site.name,
});
}
@ -332,7 +326,7 @@ export class Home extends Component<any, HomeState> {
description={None}
image={None}
/>
{this.state.siteRes.site_view.isSome() && (
{this.state.siteRes.site_view.local_site.site_setup && (
<div className="row">
<main role="main" className="col-12 col-md-8">
<div className="d-block d-md-none">{this.mobileView()}</div>
@ -356,6 +350,7 @@ export class Home extends Component<any, HomeState> {
mobileView() {
let siteRes = this.state.siteRes;
let siteView = siteRes.site_view;
return (
<div className="row">
<div className="col-12">
@ -399,19 +394,15 @@ export class Home extends Component<any, HomeState> {
classes="icon-inline"
/>
</button>
{this.state.showSidebarMobile &&
siteRes.site_view.match({
some: siteView => (
<SiteSidebar
site={siteView.site}
admins={Some(siteRes.admins)}
counts={Some(siteView.counts)}
online={Some(siteRes.online)}
showLocal={showLocal(this.isoData)}
/>
),
none: <></>,
})}
{this.state.showSidebarMobile && (
<SiteSidebar
site={siteView.site}
admins={Some(siteRes.admins)}
counts={Some(siteView.counts)}
online={Some(siteRes.online)}
showLocal={showLocal(this.isoData)}
/>
)}
{this.state.showTrendingMobile && (
<div className="col-12 card border-secondary mb-3">
<div className="card-body">{this.trendingCommunities()}</div>
@ -429,6 +420,7 @@ export class Home extends Component<any, HomeState> {
mySidebar() {
let siteRes = this.state.siteRes;
let siteView = siteRes.site_view;
return (
<div>
{!this.state.loading && (
@ -441,18 +433,13 @@ export class Home extends Component<any, HomeState> {
{this.exploreCommunitiesButton()}
</div>
</div>
{siteRes.site_view.match({
some: siteView => (
<SiteSidebar
site={siteView.site}
admins={Some(siteRes.admins)}
counts={Some(siteView.counts)}
online={Some(siteRes.online)}
showLocal={showLocal(this.isoData)}
/>
),
none: <></>,
})}
<SiteSidebar
site={siteView.site}
admins={Some(siteRes.admins)}
counts={Some(siteView.counts)}
online={Some(siteRes.online)}
showLocal={showLocal(this.isoData)}
/>
{this.hasFollows && (
<div className="card border-secondary mb-3">
<div className="card-body">{this.subscribedCommunities()}</div>
@ -749,7 +736,7 @@ export class Home extends Component<any, HomeState> {
this.setState({ trendingCommunities: data.communities });
} else if (op == UserOperation.EditSite) {
let data = wsJsonToRes<SiteResponse>(msg, SiteResponse);
this.setState(s => ((s.siteRes.site_view = Some(data.site_view)), s));
this.setState(s => ((s.siteRes.site_view = data.site_view), s));
toast(i18n.t("site_saved"));
} else if (op == UserOperation.GetPosts) {
let data = wsJsonToRes<GetPostsResponse>(msg, GetPostsResponse);