this repo has no description
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: build errors

TurtlePaw 4262ca14 7f54ba24

+22 -38
+2 -10
src/app/[did]/[uri]/page.tsx
··· 4 4 import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 5 5 import { Button } from "@/components/ui/button"; 6 6 import { useAuth } from "@/lib/useAuth"; 7 + import { paramAsString } from "@/lib/utils/params"; 7 8 import { $Typed, AtUri } from "@atproto/api"; 8 9 import { AppBskyEmbedImages, AppBskyFeedPost } from "@atproto/api/dist/client"; 9 10 import { PostView } from "@atproto/api/dist/client/types/app/bsky/feed/defs"; ··· 14 15 LoaderCircle, 15 16 MessagesSquare, 16 17 Repeat, 17 - Repeat2, 18 18 } from "lucide-react"; 19 - import { AnimatePresence, motion } from "motion/react"; 20 19 import Image, { ImageProps } from "next/image"; 21 20 import Link from "next/link"; 22 21 import { useParams, useSearchParams } from "next/navigation"; 23 - import { use, useEffect, useMemo, useRef, useState } from "react"; 24 - 25 - export function paramAsString(str: string | string[]): string { 26 - if (Array.isArray(str)) { 27 - return str[0]; 28 - } 29 - return str; 30 - } 22 + import { useEffect, useState } from "react"; 31 23 32 24 export const runtime = "edge"; 33 25
+1 -1
src/app/board/[did]/[rkey]/page.tsx
··· 1 1 "use client"; 2 - import { paramAsString } from "@/app/[did]/[uri]/page"; 3 2 import { Feed } from "@/components/Feed"; 4 3 import { LoaderCircle } from "lucide-react"; 5 4 import { useBoardItemsStore } from "@/lib/stores/boardItems"; ··· 11 10 import { useParams } from "next/navigation"; 12 11 import { useEffect, useMemo, useState } from "react"; 13 12 import { EditButton } from "@/components/EditButton"; 13 + import { paramAsString } from "@/lib/utils/params"; 14 14 15 15 export const runtime = "edge"; 16 16
+13 -25
src/app/boards/page.tsx
··· 1 1 "use client"; 2 - import { paramAsString } from "@/app/[did]/[uri]/page"; 3 - import LikeCounter from "@/components/LikeCounter"; 4 - import { SaveButton } from "@/components/SaveButton"; 5 - import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 6 - import { Button } from "@/components/ui/button"; 7 - import { LIST_COLLECTION } from "@/constants"; 8 - import { Board, useBoardsStore } from "@/lib/stores/boards"; 2 + import { useBoardsStore } from "@/lib/stores/boards"; 9 3 import { useAuth } from "@/lib/useAuth"; 10 - import { $Typed, AtUri } from "@atproto/api"; 11 - import { AppBskyEmbedImages, AppBskyFeedPost } from "@atproto/api/dist/client"; 12 - import { PostView } from "@atproto/api/dist/client/types/app/bsky/feed/defs"; 13 - import clsx from "clsx"; 14 - import { 15 - ExternalLink, 16 - Heart, 17 - LoaderCircle, 18 - MessagesSquare, 19 - Repeat, 20 - Repeat2, 21 - } from "lucide-react"; 22 - import { AnimatePresence, motion } from "motion/react"; 4 + import { $Typed } from "@atproto/api"; 5 + import { AppBskyEmbedImages } from "@atproto/api/dist/client"; 6 + import { LoaderCircle } from "lucide-react"; 23 7 import Image, { ImageProps } from "next/image"; 24 8 import Link from "next/link"; 25 - import { useParams, useSearchParams } from "next/navigation"; 26 - import { use, useEffect, useMemo, useRef, useState } from "react"; 27 - import z from "zod"; 9 + import { motion } from "motion/react"; 28 10 29 11 export const runtime = "edge"; 30 12 ··· 56 38 <div className="inline-block"> 57 39 {Array.from(boards.entries()).map(([key, it]) => ( 58 40 <Link href={`/board/${agent?.did ?? "unknown"}/${key}`} key={key}> 59 - <div className="bg-black/10 dark:bg-white/40 p-4 rounded-lg m-2 hover:bg-black/15 dark:hover:bg-white/60 min-w-lg min-h-2/5 transition-colors"> 41 + <motion.div 42 + initial={{ opacity: 0, y: 2 }} 43 + animate={{ opacity: 1, y: 0 }} 44 + transition={{ duration: 0.5, ease: "easeOut" }} 45 + whileTap={{ scale: 0.95 }} 46 + className="bg-black/10 dark:bg-white/3 p-4 rounded-lg m-2 hover:bg-black/15 dark:hover:bg-white/5 min-w-lg min-h-2/5 transition-colors" 47 + > 60 48 <h2 className="font-medium text-lg">{it.name}</h2> 61 49 <p className="text-sm text-black/80 dark:text-white/80"> 62 50 {truncateString(it.description, 50)} 63 51 </p> 64 - </div> 52 + </motion.div> 65 53 </Link> 66 54 ))} 67 55 </div>
+6
src/lib/utils/params.ts
··· 1 + export function paramAsString(str: string | string[]): string { 2 + if (Array.isArray(str)) { 3 + return str[0]; 4 + } 5 + return str; 6 + }
-2
src/nav/navbar.tsx
··· 73 73 </Button> 74 74 </DropdownMenuTrigger> 75 75 <DropdownMenuContent> 76 - <DropdownMenuLabel>My Account</DropdownMenuLabel> 77 - <DropdownMenuSeparator /> 78 76 {/* <DropdownMenuItem>Profile</DropdownMenuItem> */} 79 77 <Link href={"/boards"}> 80 78 <DropdownMenuItem className="cursor-pointer">