feat(webmail): the new interface - logo, dark and light themes, command menu

A mark (a lambda on an ultramarine tile with the flap of an envelope), the
favicon, home-screen icons and an install manifest. Every colour is a variable
defined once per theme, and the Tailwind scales the screens already use read
them, so dark (the default) and light are a change of values and not of
classes. Geist is served by the app itself. Ctrl+K opens a command menu for
folders, actions, accounts and appearance, and typing something that matches no
command searches the mail; c writes a message and / goes to the search field.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Sonnet 5.5 committed 2026-10-22 22:33:15 -03:00
1 parent 6b97807856
commit e667843b59
38 files changed
+1161 -316

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
import type { MetadataRoute } from "next";
/**
* What lets the webmail be installed like an app: its own window, its own
* icon, and a splash that matches the ground it opens onto.
*/
export default function manifest(): MetadataRoute.Manifest {
return {
name: "LambdaMail",
short_name: "LambdaMail",
description: "Your own mail server, with a webmail that is a pleasure to use.",
start_url: "/user/mail/inbox",
scope: "/",
display: "standalone",
background_color: "#0F1218",
theme_color: "#0F1218",
icons: [
{ src: "/icons/icon-192.png", sizes: "192x192", type: "image/png" },
{ src: "/icons/icon-512.png", sizes: "512x512", type: "image/png" },
{ src: "/icons/maskable-512.png", sizes: "512x512", type: "image/png", purpose: "maskable" },
],
};
}