Global (I think?) clipboard listener added

This commit is contained in:
Fergal Moran
2024-09-25 12:37:57 +01:00
parent c67de98fdc
commit cd091ec9dd
6 changed files with 43 additions and 40 deletions

BIN
bun.lockb

Binary file not shown.

View File

@@ -1,6 +1,8 @@
"use client" "use client";
import React from "react"; import React from "react";
import { SessionProvider } from "next-auth/react"; import { SessionProvider } from "next-auth/react";
import { clipboardImageToFile } from "@/lib/image";
import { logger } from "@/lib/logger";
export default function SiteLayout({ export default function SiteLayout({
children, children,

View File

@@ -14,7 +14,7 @@ import { dashboardConfig } from "@/config/top-nav.config";
import { siteConfig } from "@/config/site.config"; import { siteConfig } from "@/config/site.config";
import { getServerSession } from "next-auth"; import { getServerSession } from "next-auth";
import { SessionProvider } from "next-auth/react"; import { SessionProvider } from "next-auth/react";
import { GlobalPasteListener } from "@/components/global-paste-listener"; import { ClipboardListener } from "@/components/clipboard-listener";
export const viewport: Viewport = { export const viewport: Viewport = {
themeColor: [ themeColor: [
@@ -55,7 +55,7 @@ export default async function RootLayout({
> >
<TRPCReactProvider> <TRPCReactProvider>
<ThemeProvider attribute="class" defaultTheme="system" enableSystem> <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
<GlobalPasteListener /> <ClipboardListener />
<Toaster /> <Toaster />
<TailwindIndicator /> <TailwindIndicator />

View File

@@ -1,7 +1,10 @@
import React from "react";
import LandingPage from "@/components/pages/landing-page"; import LandingPage from "@/components/pages/landing-page";
import { TrendingPosts } from "@/components/trending-posts"; import { TrendingPosts } from "@/components/trending-posts";
import { getServerAuthSession } from "@/server/auth"; import { getServerAuthSession } from "@/server/auth";
import { api, HydrateClient } from "@/trpc/server"; import { api, HydrateClient } from "@/trpc/server";
import { clipboardImageToFile } from "@/lib/image";
import { logger } from "@/lib/logger";
export default async function Home() { export default async function Home() {
const session = await getServerAuthSession(); const session = await getServerAuthSession();

View File

@@ -1,3 +0,0 @@
export function GlobalPasteListener() {
return <></>;
}

View File

@@ -29,51 +29,52 @@ body {
@layer base { @layer base {
:root { :root {
--background: 0 0% 100%; --background: 0 0% 100%;
--foreground: 240 10% 3.9%; --foreground: 224 71.4% 4.1%;
--card: 0 0% 100%; --card: 0 0% 100%;
--card-foreground: 240 10% 3.9%; --card-foreground: 224 71.4% 4.1%;
--popover: 0 0% 100%; --popover: 0 0% 100%;
--popover-foreground: 240 10% 3.9%; --popover-foreground: 224 71.4% 4.1%;
--primary: 240 5.9% 10%; --primary: 262.1 83.3% 57.8%;
--primary-foreground: 0 0% 98%; --primary-foreground: 210 20% 98%;
--secondary: 240 4.8% 95.9%; --secondary: 220 14.3% 95.9%;
--secondary-foreground: 240 5.9% 10%; --secondary-foreground: 220.9 39.3% 11%;
--muted: 240 4.8% 95.9%; --muted: 220 14.3% 95.9%;
--muted-foreground: 240 3.8% 46.1%; --muted-foreground: 220 8.9% 46.1%;
--accent: 240 4.8% 95.9%; --accent: 220 14.3% 95.9%;
--accent-foreground: 240 5.9% 10%; --accent-foreground: 220.9 39.3% 11%;
--destructive: 0 84.2% 60.2%; --destructive: 0 84.2% 60.2%;
--destructive-foreground: 0 0% 98%; --destructive-foreground: 210 20% 98%;
--border: 240 5.9% 90%; --border: 220 13% 91%;
--input: 240 5.9% 90%; --input: 220 13% 91%;
--ring: 240 10% 3.9%; --ring: 262.1 83.3% 57.8%;
--radius: 0.5rem;
--chart-1: 12 76% 61%; --chart-1: 12 76% 61%;
--chart-2: 173 58% 39%; --chart-2: 173 58% 39%;
--chart-3: 197 37% 24%; --chart-3: 197 37% 24%;
--chart-4: 43 74% 66%; --chart-4: 43 74% 66%;
--chart-5: 27 87% 67%; --chart-5: 27 87% 67%;
--radius: 0.5rem;
} }
.dark { .dark {
--background: 240 10% 3.9%; --background: 224 71.4% 4.1%;
--foreground: 0 0% 98%; --foreground: 210 20% 98%;
--card: 240 10% 3.9%; --card: 224 71.4% 4.1%;
--card-foreground: 0 0% 98%; --card-foreground: 210 20% 98%;
--popover: 240 10% 3.9%; --popover: 224 71.4% 4.1%;
--popover-foreground: 0 0% 98%; --popover-foreground: 210 20% 98%;
--primary: 0 0% 98%; --primary: 263.4 70% 50.4%;
--primary-foreground: 240 5.9% 10%; --primary-foreground: 210 20% 98%;
--secondary: 240 3.7% 15.9%; --secondary: 215 27.9% 16.9%;
--secondary-foreground: 0 0% 98%; --secondary-foreground: 210 20% 98%;
--muted: 240 3.7% 15.9%; --muted: 215 27.9% 16.9%;
--muted-foreground: 240 5% 64.9%; --muted-foreground: 217.9 10.6% 64.9%;
--accent: 240 3.7% 15.9%; --accent: 215 27.9% 16.9%;
--accent-foreground: 0 0% 98%; --accent-foreground: 210 20% 98%;
--destructive: 0 62.8% 30.6%; --destructive: 0 62.8% 30.6%;
--destructive-foreground: 0 0% 98%; --destructive-foreground: 210 20% 98%;
--border: 240 3.7% 15.9%; --border: 215 27.9% 16.9%;
--input: 240 3.7% 15.9%; --input: 215 27.9% 16.9%;
--ring: 240 4.9% 83.9%; --ring: 263.4 70% 50.4%;
--chart-1: 220 70% 50%; --chart-1: 220 70% 50%;
--chart-2: 160 60% 45%; --chart-2: 160 60% 45%;
--chart-3: 30 80% 55%; --chart-3: 30 80% 55%;