landed community join and unjoin functionality

This commit is contained in:
2025-10-22 16:27:01 -06:00
parent 6d3403cd53
commit 11537d5d7f
7 changed files with 249 additions and 4 deletions
+34
View File
@@ -0,0 +1,34 @@
#
# Amsterdam Web Communities System
# Copyright (c) 2025 Erbosoft Metaverse Design Solutions, All Rights Reserved
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
#
name: "join"
formName: "joinkeyform"
menuSelector: "community"
title: "Join Community"
subtitle: "[CNAME]"
action: "/comm/[CID]/join"
instructions: >
You must specify a join key before you can join this community. You might have received the join key from
the community's host, or via an invitation e-mail message. Please enter it in the box below.
fields:
- type: "hidden"
name: "cc"
value: ""
- type: "text"
name: "key"
caption: "Join Key"
size: 32
maxLength: 64
- type: "button"
name: "join_now"
caption: "Join Now"
param: "blue"
- type: "button"
name: "cancel"
caption: "Cancel"
param: "red"
+2 -2
View File
@@ -33,7 +33,7 @@
</div>
{{ if isset(canJoin) }}
<div class="text-center">
<a href="/TODO/comm/join"
<a href="/comm/{{ commAlias }}/join"
class="inline-block bg-blue-600 hover:bg-blue-700 text-white px-4 py-1 rounded text-xs font-medium transition-colors">
Join Now
</a>
@@ -41,7 +41,7 @@
{{ end }}
{{ if isset(canInvite) }}
<div class="text-center">
<a href="/TODO/comm/invite"
<a href="/TODO/comm/{{ commAlias }}/invite"
class="inline-block bg-blue-600 hover:bg-blue-700 text-white px-4 py-1 rounded text-xs font-medium transition-colors">
Invite
</a>
+1 -1
View File
@@ -24,6 +24,6 @@
{{ end }}
{{ end }}
{{ if .IsMember() && !.IsMemberLocked() }}
<div class="mb-1"><a href="/TODO/comm/{{ comm.Alias }}/unjoin" class="text-red-700 hover:text-red-900">⚠️ Unjoin</a></div>
<div class="mb-1"><a href="/comm/{{ comm.Alias }}/unjoin" class="text-red-700 hover:text-red-900">⚠️ Unjoin</a></div>
{{ end }}
</div>
+41
View File
@@ -0,0 +1,41 @@
{*
* Amsterdam Web Communities System
* Copyright (c) 2025 Erbosoft Metaverse Design Solutions, All Rights Reserved
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*}
<div class="p-4">
<div class="mb-6">
<h1 class="text-blue-800 text-4xl font-bold mb-2">Unjoin Community</h1>
<span class="text-blue-800 text-2xl font-bold ml-2">{{ comm.Name }}</span>
<hr class="border-2 border-gray-400 w-4/5 mb-4">
</div>
<div class="bg-yellow-50 p-6 rounded-lg">
<div class="space-y-4">
<h2 class="text-lg font-bold text-black mb-4">⚠️ Warning</h2>
<p class="text-black">
You are about to unjoin the {{ comm.Name }} community.
{{ if comm.MembersOnly }}
You will lose access to all content of the community, as well as the ability to interact with
the community as a whole.
{{ else }}
You will lose the ability to interact with the community's members and content.
{{ end }}
</p>
<p class="text-black">Please confirm if you wish to proceed.</p>
</div>
<div class="flex justify-center gap-4 mt-6">
<form method="POST" action="/comm/{{ comm.Alias }}/unjoin">
<button type="submit" name="cancel"
class="bg-blue-600 hover:bg-blue-700 text-white px-6 py-2 rounded font-medium transition-colors">Cancel</button>
<button type="submit" name="unjoin"
class="bg-red-600 hover:bg-red-700 text-white px-6 py-2 rounded font-medium transition-colors">
Unjoin {{ comm.Name }}
</button>
</form>
</div>
</div>
</div>