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:
1 parent
6b97807856
commit
e667843b59
38 files changed
+1161
-316
No files matched your search
@@ -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" },
|
||||
],
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user