diff --git a/components/ui/button.tsx b/components/ui/button.tsx
index e1c6b42..5882c1d 100644
--- a/components/ui/button.tsx
+++ b/components/ui/button.tsx
@@ -6,11 +6,12 @@ import { LucideIcon } from "lucide-react"
import { cn } from "@/lib/utils"
const buttonVariants = cva(
- "font-sans inline-flex items-center justify-center duration-100 rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
+ "font-sans inline-flex items-center justify-center duration-200 rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
{
variants: {
variant: {
default: "bg-primary text-primary-foreground hover:bg-primary/90",
+ orange: "bg-orangeDark text-white hover:bg-orangeDark/80",
destructive:
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
outline:
diff --git a/hooks/useYoutube.ts b/hooks/useYoutube.ts
new file mode 100644
index 0000000..a6e5b56
--- /dev/null
+++ b/hooks/useYoutube.ts
@@ -0,0 +1,26 @@
+import { useQuery } from "@tanstack/react-query"
+
+async function fetchYoutubeVideos() {
+ try {
+ const response = await fetch("/api/youtube", {
+ cache: "default",
+ })
+
+ if (!response.ok) {
+ throw new Error(`Failed to fetch videos: ${response.status}`)
+ }
+
+ const data = await response.json()
+ return data.videos || []
+ } catch (error) {
+ console.error("Error fetching videos:", error)
+ return []
+ }
+}
+
+export const useYoutube = () => {
+ return useQuery({
+ queryKey: ["pse-youtube-videos"],
+ queryFn: () => fetchYoutubeVideos(),
+ })
+}
diff --git a/next.config.mjs b/next.config.mjs
index 696f9a4..e9d4f86 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -24,6 +24,9 @@ const withMDX = nextMdx({
const nextConfig = {
pageExtensions: ["js", "jsx", "mdx", "ts", "tsx", "md"],
reactStrictMode: true,
+ images: {
+ domains: ["i.ytimg.com"],
+ },
experimental: {
mdxRs: true,