[Calendar] Introduce permissions for editing events

This commit is contained in:
metacryst
2026-04-30 02:07:35 -05:00
parent 8b083ae7bb
commit 19a810ef78
7 changed files with 91 additions and 63 deletions

View File

@@ -1,4 +1,4 @@
import server from "/@server/server.js"
import server from "/calendar/@server/calendar.js"
import calendarUtil from "../../calendarUtil.js"
import "../../../components/Avatar.js"
@@ -19,10 +19,10 @@ class DesktopEventDetails extends Shadow {
if (!this.event) return
const eventCals = this.calendars.filter(c => this.event.calendars?.includes(c.id))
const isOwner = this.event.creator_id === global.profile?.id
const canEdit = global.currentNetwork.permissions.includes("events.edit")
VStack(() => {
this.renderHeader(isOwner)
this.renderHeader(canEdit)
this.renderBody(eventCals)
HStack(() => {
const members = global.currentNetwork.data?.members || []
@@ -53,7 +53,7 @@ class DesktopEventDetails extends Shadow {
// ── Header ────────────────────────────────────────────────────────────────
renderHeader(isOwner) {
renderHeader(canEdit) {
HStack(() => {
VStack(() => {
h2(this.event.title || "Untitled")
@@ -69,7 +69,8 @@ class DesktopEventDetails extends Shadow {
.paddingBottom(0.5, em)
.justifyContent("center")
if (isOwner) {
// Non-owners never see the controls that open the edit form or delete flow.
if (canEdit) {
button("Delete")
.paddingVertical(0.34, em)
.paddingHorizontal(0.85, em)