3
4// Fetch messages query
5export function useMessages(initialData?: Message[]) {
6 return useQuery({
7 queryKey: ["messages"],
20
21// Post message mutation
22export function usePostMessage() {
23 const queryClient = useQueryClient();
24
5import { useMessages } from "../lib/queries.ts";
6
7export function App(
8 { initialMessages = [], thisProjectURL }: { initialMessages?: Message[]; thisProjectURL?: string },
9) {
48}
49
50function MessageList({ messages }: { messages: Message[] }) {
51 const displayedMessages = messages.slice(0, MESSAGE_LIMIT);
52 return (
57}
58
59function MessageItem({ message }) {
60 const formattedDate = new Date(message.timestamp).toLocaleString();
61
66
67// Export the RouterProvider component with QueryClient
68export function RouterApp() {
69 return (
70 <QueryClientProvider client={queryClient}>
11await createTables();
12
13export async function getMessages(limit = MESSAGE_LIMIT) {
14 const messages = await db
15 .select()
22}
23
24export async function insertMessage(content: string) {
25 await db
26 .insert(schema.messages)
2import { db } from "./db.ts";
3
4export async function createTables() {
5 // Create messages table
6 await db.run(sql`
3import { isProdBranch } from "../../shared/is-prod-branch.ts";
4
5export default function PurchaseCreditsRoute() {
6 const [amount, setAmount] = useState<number>(10);
7 const [balance, setBalance] = useState<number | null>(null);
1/** @jsxImportSource https://esm.sh/react@18.2.0?dev */
2
3export function ValTownLogo () {
4 return (
5 <svg
5 * Get usage data for a specific val
6 */
7export async function getValSummary(valId: string) {
8 // Get summary data for the val from the usage table
9 const usageSummaryResult = await sqlite.execute(`
36}
37
38export function renderValDetail(valId: string, summary: ValSummary, requests: UsageRequest[] = []): string {
39 // Generate the content
40 const content = `
3const USER_ENDPOINT = "/api/user";
4
5export function useUser() {
6 const [data, setData] = useState<any>(null);
7 const [loading, setLoading] = useState(true);
Simple functional CSS library for Val Town
A helper function to build a file's email
import { OpenAI } from "https://esm.town/v/std/openai";
export default async function(req: Request): Promise<Response> {
if (req.method === "OPTIONS") {
return new Response(null, {
headers: {
"Access-Control-Allow-Origin": "*",
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.