mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-25 13:51:13 +00:00
Adding only admins can create communities. Fixes #268
This commit is contained in:
parent
017121d0fb
commit
a93c7d93ee
5 changed files with 52 additions and 15 deletions
|
@ -1 +1 @@
|
|||
Subproject commit ef6c991e345a880d98b165508f28793fef3f922a
|
||||
Subproject commit 0cf2ad832d07d6c0232b3c9c1958d5572303410e
|
|
@ -68,7 +68,7 @@
|
|||
"eslint-plugin-prettier": "^3.3.1",
|
||||
"husky": "^6.0.0",
|
||||
"iso-639-1": "^2.1.9",
|
||||
"lemmy-js-client": "0.11.0-rc.11",
|
||||
"lemmy-js-client": "0.11.0-rc.12",
|
||||
"lint-staged": "^10.5.4",
|
||||
"mini-css-extract-plugin": "^1.4.1",
|
||||
"node-fetch": "^2.6.1",
|
||||
|
|
|
@ -247,15 +247,17 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
|
|||
{i18n.t("create_post")}
|
||||
</Link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<Link
|
||||
className="nav-link"
|
||||
to="/create_community"
|
||||
title={i18n.t("create_community")}
|
||||
>
|
||||
{i18n.t("create_community")}
|
||||
</Link>
|
||||
</li>
|
||||
{this.canCreateCommunity && (
|
||||
<li class="nav-item">
|
||||
<Link
|
||||
className="nav-link"
|
||||
to="/create_community"
|
||||
title={i18n.t("create_community")}
|
||||
>
|
||||
{i18n.t("create_community")}
|
||||
</Link>
|
||||
</li>
|
||||
)}
|
||||
<li class="nav-item">
|
||||
<a
|
||||
className="nav-link"
|
||||
|
@ -524,6 +526,12 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
|
|||
);
|
||||
}
|
||||
|
||||
get canCreateCommunity(): boolean {
|
||||
let adminOnly = this.props.site_res.site_view.site
|
||||
.community_creation_admin_only;
|
||||
return !adminOnly || this.canAdmin;
|
||||
}
|
||||
|
||||
requestNotificationPermission() {
|
||||
if (UserService.Instance.localUserView) {
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
|
|
|
@ -58,6 +58,8 @@ export class SiteForm extends Component<SiteFormProps, SiteFormState> {
|
|||
enable_downvotes: this.props.site.enable_downvotes,
|
||||
open_registration: this.props.site.open_registration,
|
||||
enable_nsfw: this.props.site.enable_nsfw,
|
||||
community_creation_admin_only: this.props.site
|
||||
.community_creation_admin_only,
|
||||
icon: this.props.site.icon,
|
||||
banner: this.props.site.banner,
|
||||
auth: authField(),
|
||||
|
@ -231,6 +233,28 @@ export class SiteForm extends Component<SiteFormProps, SiteFormState> {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="form-check">
|
||||
<input
|
||||
class="form-check-input"
|
||||
id="create-site-community-creation-admin-only"
|
||||
type="checkbox"
|
||||
checked={this.state.siteForm.community_creation_admin_only}
|
||||
onChange={linkEvent(
|
||||
this,
|
||||
this.handleSiteCommunityCreationAdminOnly
|
||||
)}
|
||||
/>
|
||||
<label
|
||||
class="form-check-label"
|
||||
htmlFor="create-site-community-creation-admin-only"
|
||||
>
|
||||
{i18n.t("community_creation_admin_only")}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<button
|
||||
|
@ -302,6 +326,11 @@ export class SiteForm extends Component<SiteFormProps, SiteFormState> {
|
|||
i.setState(i.state);
|
||||
}
|
||||
|
||||
handleSiteCommunityCreationAdminOnly(i: SiteForm, event: any) {
|
||||
i.state.siteForm.community_creation_admin_only = event.target.checked;
|
||||
i.setState(i.state);
|
||||
}
|
||||
|
||||
handleSiteEnableDownvotesChange(i: SiteForm, event: any) {
|
||||
i.state.siteForm.enable_downvotes = event.target.checked;
|
||||
i.setState(i.state);
|
||||
|
|
|
@ -5125,10 +5125,10 @@ lcid@^1.0.0:
|
|||
dependencies:
|
||||
invert-kv "^1.0.0"
|
||||
|
||||
lemmy-js-client@0.11.0-rc.11:
|
||||
version "0.11.0-rc.11"
|
||||
resolved "https://registry.yarnpkg.com/lemmy-js-client/-/lemmy-js-client-0.11.0-rc.11.tgz#f99be613d08d0c196a16a37f74fdaa3b196f0459"
|
||||
integrity sha512-IuNzU4+324fhb77JCQ/a/te/gXhQWUvxvtfV3xxQWJ0vG7kWOuz5Rd7KsfSF1d6LbuN9kbO9ebjSRW800ytbsA==
|
||||
lemmy-js-client@0.11.0-rc.12:
|
||||
version "0.11.0-rc.12"
|
||||
resolved "https://registry.yarnpkg.com/lemmy-js-client/-/lemmy-js-client-0.11.0-rc.12.tgz#b6f80f69425ae9699857f98640a3d5a9697955b1"
|
||||
integrity sha512-tAYL6g+OgJcNy4SP0tbN6x/qyScAV5XPVyIYGGZd2FDfVd3VFDvfoesqGBOSryLhW9jDE6YSC09jhNLMyNtMCA==
|
||||
|
||||
levn@^0.4.1:
|
||||
version "0.4.1"
|
||||
|
|
Loading…
Reference in a new issue