added upload and changing of community logo, and fixed logo references in other files

This commit is contained in:
2025-10-18 20:41:06 -06:00
parent 94c3877819
commit 1797a6ec7e
8 changed files with 227 additions and 12 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ fields:
- type: "communitylogo"
name: "logo"
caption: "Community logo"
param: "/TODO/comm/[CID]/admin/logo"
param: "/comm/[CID]/admin/logo"
- type: "header"
name: "header2"
caption: "Location"
+6 -5
View File
@@ -35,11 +35,12 @@ var static_images embed.FS
// Constants for default photo sizes.
const (
UserPhotoWidth = 100
UserPhotoHeight = 100
UserPhotoMaxBytes = 2097152 // 2 Mb
CommunityLogoWidth = 110
CommunityLogoHeight = 60
UserPhotoWidth = 100
UserPhotoHeight = 100
UserPhotoMaxBytes = 2097152 // 2 Mb
CommunityLogoWidth = 110
CommunityLogoHeight = 60
CommunityLogoMaxBytes = 2097152 // 2 Mb
)
/* mimeTypeFromFilenane returns the MIME type of a file, given its filename.
+2 -2
View File
@@ -19,8 +19,8 @@
<!-- Left Column: Image and Metadata -->
<div class="flex-shrink-0 w-32">
<div class="border-2 border-gray-300 rounded mb-4">
<img src="/img/builtin/default-community.jpg"
alt="{{ commName}} community logo" class="w-full h-auto">
<img src="{{ logoURL }}"
alt="{{ commName }} community logo" class="w-full h-auto">
</div>
<div class="text-xs text-gray-700 space-y-2 mb-4">
<div><strong>Community created:</strong><br>{{ dateCreated }}</div>
+2 -2
View File
@@ -243,11 +243,11 @@
{{ if .Subcaption != "" }} {{ .Subcaption }}{{ end }} (click to change):</label>
<input type="hidden" name="{{ .Name }}_data" value="{{ .Value }}"/>
{{ if .Disabled }}
<img src="/img/builtin/default-community.jpg" class="w-28 h-16 rounded">
<img src="{{ .Value }}" class="w-28 h-16 rounded">
{{ else }}
<a href="{{ .Param }}"
class="border-2 border-gray-300 rounded hover:border-blue-500 transition-colors">
<img src="/img/builtin/default-community.jpg" alt="Click to upload logo" class="w-28 h-16 rounded">
<img src="{{ .Value }}" alt="Click to upload logo" class="w-28 h-16 rounded">
</a>
{{ end }}
</div>
+89
View File
@@ -0,0 +1,89 @@
{*
* 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/.
*}
<!-- Page Title -->
<div class="p-4">
<div class="mb-6">
<h1 class="text-blue-800 text-4xl font-bold mb-2">Upload Community Logo:</h1>
<span class="text-blue-800 text-2xl font-bold ml-2">{{ commName }}</span>
<hr class="border-2 border-gray-400 w-4/5 mb-4">
</div>
{{ if isset(errorMessage) }}
<!-- Error Message Banner -->
<div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded mb-6" id="error-banner">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-red-500 text-xl">⚠️</span>
</div>
<div class="ml-3">
<p class="text-sm font-medium" id="error-message">{{ CapitalizeString(errorMessage) }}.</p>
</div>
</div>
</div>
{{ end }}
<!-- Upload Form -->
<form method="POST" enctype="multipart/form-data" action="/comm/{{ commAlias }}/admin/logo" class="max-w-2xl">
<div class="bg-gray-50 p-6 rounded-lg">
<div class="flex items-start gap-6">
<!-- Current Logo -->
<div class="flex-shrink-0">
<div class="border-2 border-gray-300 rounded">
<img src="{{ logo_url }}" alt="Current community logo" class="w-28 h-16 rounded">
</div>
<p class="text-xs text-gray-600 text-center mt-2">Current Logo</p>
</div>
<!-- Upload Controls -->
<div class="flex-1">
<div class="mb-6">
<label for="thepic" class="block text-black text-sm font-medium mb-2">
New community logo:
</label>
<input type="file" id="thepic" name="thepic" accept="image/*"
class="block w-full text-sm text-gray-900 border border-gray-300 rounded cursor-pointer bg-white focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 file:mr-4 file:py-2 file:px-4 file:rounded file:border-0 file:text-sm file:font-semibold file:bg-blue-600 file:text-white hover:file:bg-blue-700">
<p class="mt-2 text-xs text-gray-600">
Recommended: Maximum file size: 2MB. Supported formats: JPG, PNG, GIF.
</p>
</div>
<!-- Action Buttons -->
<div class="flex gap-4">
<button type="submit"
name="upload"
class="bg-blue-600 hover:bg-blue-700 text-white px-8 py-2 rounded font-medium transition-colors">
Upload Logo
</button>
<button type="submit"
name="cancel"
class="bg-red-600 hover:bg-red-700 text-white px-8 py-2 rounded font-medium transition-colors">
Cancel
</button>
<button type="submit"
name="remove"
class="bg-red-600 hover:bg-red-700 text-white px-8 py-2 rounded font-medium transition-colors">
Remove
</button>
</div>
</div>
</div>
<!-- Additional Instructions -->
<div class="mt-6 p-4 bg-blue-50 border border-blue-200 rounded">
<h3 class="text-sm font-bold text-blue-900 mb-2">Logo Image Guidelines:</h3>
<ul class="text-xs text-blue-800 space-y-1 list-disc list-inside">
<li>Your logo will be visible to other users in the community</li>
<li>Photos should be appropriate for a professional community setting</li>
<li>The image will be automatically resized to fit the logo display</li>
<li>You can update or remove the communiity logo at any time</li>
</ul>
</div>
</div>
</form>
</div>