fix: clear commands after entering
This commit is contained in:
parent
6e82d9ca73
commit
6112d007c2
@ -127,6 +127,9 @@ export const KMenu = (
|
||||
|
||||
if (ev.key === "Enter") {
|
||||
activateEntry(entries[activeIndex.value]);
|
||||
if (input.current) {
|
||||
input.current.value = "";
|
||||
}
|
||||
}
|
||||
|
||||
if (ev.key === "ArrowUp") {
|
||||
|
@ -2,11 +2,13 @@ import { PageProps } from "$fresh/server.ts";
|
||||
|
||||
import { Head } from "$fresh/runtime.ts";
|
||||
export default function App({ Component }: PageProps) {
|
||||
const css = Deno.readTextFileSync("./static/global.css").replace("\n", "");
|
||||
const globalCss = Deno
|
||||
.readTextFileSync("./static/global.css")
|
||||
.replaceAll("\n", "");
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<link href="/prism-material-dark.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="/styles.css" />
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
@ -25,14 +27,13 @@ export default function App({ Component }: PageProps) {
|
||||
href="/favicon-16x16.png"
|
||||
/>
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" />
|
||||
<link rel="stylesheet" href="/styles.css" />
|
||||
<meta name="msapplication-TileColor" content="#da532c" />
|
||||
<meta name="theme-color" content="#141218" />
|
||||
<script src="/thumbnails.js" type="module"></script>
|
||||
<style>{css}</style>
|
||||
<style>{globalCss}</style>
|
||||
<title>app</title>
|
||||
</Head>
|
||||
<Component />
|
||||
<script src="/thumbnails.js" type="module" async defer />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
import { PageProps } from "$fresh/server.ts";
|
||||
import { resources } from "@lib/resources.ts";
|
||||
import { CSS, KATEX_CSS } from "gfm";
|
||||
import { Head } from "$fresh/runtime.ts";
|
||||
import { Emoji } from "@components/Emoji.tsx";
|
||||
|
||||
export default function MyLayout({ Component }: PageProps) {
|
||||
@ -10,10 +8,6 @@ export default function MyLayout({ Component }: PageProps) {
|
||||
class="md:grid mx-auto"
|
||||
style={{ gridTemplateColumns: "200px 1fr", maxWidth: "1024px" }}
|
||||
>
|
||||
<Head>
|
||||
<style>{CSS}</style>
|
||||
<style>{KATEX_CSS}</style>
|
||||
</Head>
|
||||
<aside class="p-4 hidden md:block">
|
||||
<nav class="min-h-fit rounded-3xl p-3 grid gap-3 fixed t-0">
|
||||
{Object.values(resources).map((m) => {
|
||||
|
@ -61,11 +61,17 @@ function parseParams(reqUrl: URL): ImageParams | string {
|
||||
return "Invalid parameters provided.";
|
||||
}
|
||||
}
|
||||
// Helper function to generate ETag
|
||||
async function generateETag(content: ArrayBuffer): Promise<string> {
|
||||
const hashBuffer = await crypto.subtle.digest("SHA-256", content);
|
||||
return `"${
|
||||
Array.from(new Uint8Array(hashBuffer))
|
||||
.map((b) => b.toString(16).padStart(2, "0"))
|
||||
.join("")
|
||||
}"`;
|
||||
}
|
||||
|
||||
const GET = async (
|
||||
req: Request,
|
||||
_ctx: FreshContext,
|
||||
): Promise<Response> => {
|
||||
async function GET(req: Request, _ctx: FreshContext): Promise<Response> {
|
||||
try {
|
||||
const url = new URL(req.url);
|
||||
const params = parseParams(url);
|
||||
@ -85,9 +91,16 @@ const GET = async (
|
||||
|
||||
const image = await getImageContent(imageUrl, params);
|
||||
|
||||
// Generate ETag based on image content
|
||||
const eTag = await generateETag(image.content);
|
||||
|
||||
// Set caching headers
|
||||
return new Response(image.content, {
|
||||
headers: {
|
||||
"Content-Type": image.mimeType,
|
||||
"Cache-Control": "public, max-age=31536000, immutable", // Cache for 1 year
|
||||
"ETag": eTag,
|
||||
"Last-Modified": new Date().toUTCString(), // Replace with image's actual modified date if available
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
@ -97,7 +110,7 @@ const GET = async (
|
||||
headers: { "Content-Type": "text/plain" },
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export const handler: Handlers = {
|
||||
GET,
|
||||
|
@ -1,4 +1,3 @@
|
||||
import { Head } from "$fresh/runtime.ts";
|
||||
import { MainLayout } from "@components/layouts/main.tsx";
|
||||
import { Card } from "@components/Card.tsx";
|
||||
import { PageProps } from "$fresh/server.ts";
|
||||
@ -9,9 +8,6 @@ import { KMenu } from "@islands/KMenu.tsx";
|
||||
export default function Home(props: PageProps) {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>app</title>
|
||||
</Head>
|
||||
<RedirectSearchHandler />
|
||||
<KMenu type="main" context={false} />
|
||||
<MainLayout url={props.url}>
|
||||
|
Loading…
x
Reference in New Issue
Block a user