🌿 Collaborative wiki on ATProto lichen.wiki
atproto
14
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix small UI issues

juprodh cf9d910f f613e072

+18 -2
+1
src/lib/i18n/en.ts
··· 128 128 }, 129 129 settings: { 130 130 heading: "Settings", 131 + backToWiki: "Back to wiki", 131 132 details: "Wiki details", 132 133 nameLabel: "Name", 133 134 descriptionLabel: "Description",
+1
src/lib/i18n/fr.ts
··· 130 130 }, 131 131 settings: { 132 132 heading: "Paramètres", 133 + backToWiki: "Retour au wiki", 133 134 details: "Détails du wiki", 134 135 nameLabel: "Nom", 135 136 descriptionLabel: "Description",
+1
src/lib/i18n/index.ts
··· 128 128 }; 129 129 settings: { 130 130 heading: string; 131 + backToWiki: string; 131 132 details: string; 132 133 nameLabel: string; 133 134 descriptionLabel: string;
+5 -2
src/views/settings.ts
··· 9 9 dangerSmallButtonClass, 10 10 errorBanner, 11 11 primarySmallButtonClass, 12 + successBanner, 12 13 THEME, 13 14 } from "./theme.ts"; 14 15 ··· 203 204 ): string { 204 205 const msg = t(locale as "en" | "fr"); 205 206 const savedBanner = detailsSaved 206 - ? `<div class="mb-4 px-3 py-2 text-sm rounded ${THEME.accentLightHoverBg} ${THEME.accentText}">${msg.settings.detailsSaved}</div>` 207 + ? successBanner(msg.settings.detailsSaved) 207 208 : ""; 208 209 209 210 return `<section class="mb-10"> ··· 256 257 const msg = t(locale); 257 258 const dangerHtml = renderDangerZone(wikiName, wikiSlug, isOwner, locale); 258 259 260 + const backLink = `<a href="/wiki/${wikiSlug}" class="inline-flex items-center gap-1 text-sm ${THEME.accentText} hover:underline mb-4">&larr; ${msg.settings.backToWiki}</a>`; 261 + 259 262 return layout( 260 263 `${msg.settings.heading} — ${wikiName}`, 261 - `<h1 class="text-2xl font-bold mb-8">${msg.settings.heading}</h1>${errorHtml}${detailsHtml}${membersHtml}${dangerHtml}`, 264 + `${backLink}<h1 class="text-2xl font-bold mb-8">${msg.settings.heading}</h1>${errorHtml}${detailsHtml}${membersHtml}${dangerHtml}`, 262 265 { ...options, wikiName, wikiSlug }, 263 266 ); 264 267 }
+10
src/views/theme.ts
··· 44 44 errorActionBg: "bg-red-700", 45 45 errorActionDarkHoverBg: "hover:bg-red-800", 46 46 47 + // Success (banner/flash confirmations — uses the accent family on purpose) 48 + successBg: "bg-teal-50", 49 + successBorder: "border-teal-200", 50 + successText: "text-teal-800", 51 + 47 52 // Fonts 48 53 fontMono: "font-mono", 49 54 fontSans: "", ··· 70 75 export function errorBanner(message: string | undefined): string { 71 76 if (!message) return ""; 72 77 return `<div class="mb-4 p-3 ${THEME.errorBg} border ${THEME.errorBorder} ${THEME.errorText} text-sm rounded">${escapeHtml(message)}</div>`; 78 + } 79 + 80 + export function successBanner(message: string | undefined): string { 81 + if (!message) return ""; 82 + return `<div class="mb-4 p-3 ${THEME.successBg} border ${THEME.successBorder} ${THEME.successText} text-sm rounded">${escapeHtml(message)}</div>`; 73 83 } 74 84 75 85 export const THEME_HEX = {