mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-12-22 19:01:26 +00:00
* Fix home page not using site-level listing type * Use null handling instead
This commit is contained in:
parent
778c3533f0
commit
26ff0f7e06
1 changed files with 17 additions and 8 deletions
|
@ -114,7 +114,7 @@ interface HomeState {
|
|||
}
|
||||
|
||||
interface HomeProps {
|
||||
listingType: ListingType;
|
||||
listingType?: ListingType;
|
||||
dataType: DataType;
|
||||
sort: SortType;
|
||||
page: number;
|
||||
|
@ -163,12 +163,12 @@ function getDataTypeFromQuery(type?: string): DataType {
|
|||
return type ? DataType[type] : DataType.Post;
|
||||
}
|
||||
|
||||
function getListingTypeFromQuery(type?: string): ListingType {
|
||||
function getListingTypeFromQuery(type?: string): ListingType | undefined {
|
||||
const myListingType =
|
||||
UserService.Instance.myUserInfo?.local_user_view?.local_user
|
||||
?.default_listing_type;
|
||||
|
||||
return (type ? (type as ListingType) : myListingType) ?? "Local";
|
||||
return type ? (type as ListingType) : myListingType;
|
||||
}
|
||||
|
||||
function getSortTypeFromQuery(type?: string): SortType {
|
||||
|
@ -311,11 +311,12 @@ export class Home extends Component<any, HomeState> {
|
|||
client,
|
||||
auth,
|
||||
query: { dataType: urlDataType, listingType, page: urlPage, sort: urlSort },
|
||||
site,
|
||||
}: InitialFetchRequest<QueryParams<HomeProps>>): Promise<HomeData> {
|
||||
const dataType = getDataTypeFromQuery(urlDataType);
|
||||
|
||||
// TODO figure out auth default_listingType, default_sort_type
|
||||
const type_ = getListingTypeFromQuery(listingType);
|
||||
const type_ =
|
||||
getListingTypeFromQuery(listingType) ??
|
||||
site.site_view.local_site.default_post_listing_type;
|
||||
const sort = getSortTypeFromQuery(urlSort);
|
||||
|
||||
const page = urlPage ? Number(urlPage) : 1;
|
||||
|
@ -761,7 +762,10 @@ export class Home extends Component<any, HomeState> {
|
|||
</div>
|
||||
<div className="col-auto">
|
||||
<ListingTypeSelect
|
||||
type_={listingType}
|
||||
type_={
|
||||
listingType ??
|
||||
this.state.siteRes.site_view.local_site.default_post_listing_type
|
||||
}
|
||||
showLocal={showLocal(this.isoData)}
|
||||
showSubscribed
|
||||
onChange={this.handleListingTypeChange}
|
||||
|
@ -770,7 +774,12 @@ export class Home extends Component<any, HomeState> {
|
|||
<div className="col-auto">
|
||||
<SortSelect sort={sort} onChange={this.handleSortChange} />
|
||||
</div>
|
||||
<div className="col-auto ps-0">{getRss(listingType)}</div>
|
||||
<div className="col-auto ps-0">
|
||||
{getRss(
|
||||
listingType ??
|
||||
this.state.siteRes.site_view.local_site.default_post_listing_type
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue