diff --git a/README.md b/README.md index f806c64..ba0a604 100644 --- a/README.md +++ b/README.md @@ -1,80 +1,26 @@ -
-
-
- FREE Tools & Assets for Minecraft YouTube Creators
- No ads. No gimmicks. Just pure creative power.
- π renderdragon.org β’
- π¬ Join our Discord
-
- "Fuel your channel. Feed the dragon." π -
+Vite, React, Tailwind CSS, Shadcn/ui, Supabase, Cloudflare Workers. diff --git a/index.html b/index.html index 64953e7..5a74353 100644 --- a/index.html +++ b/index.html @@ -38,6 +38,7 @@ + diff --git a/public/VERT_Screencast_20260705_160503.gif b/public/VERT_Screencast_20260705_160503.gif new file mode 100644 index 0000000..263e260 Binary files /dev/null and b/public/VERT_Screencast_20260705_160503.gif differ diff --git a/public/modrinth.svg b/public/modrinth.svg new file mode 100644 index 0000000..5a65d3e --- /dev/null +++ b/public/modrinth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/resources/GreenVoidPopup.tsx b/src/components/resources/GreenVoidPopup.tsx new file mode 100644 index 0000000..30d4537 --- /dev/null +++ b/src/components/resources/GreenVoidPopup.tsx @@ -0,0 +1,98 @@ +import { useState, useEffect } from 'react'; +import { + Dialog, + DialogContent, +} from '@/components/ui/dialog'; +import { Button } from '@/components/ui/button'; +import { IconX, IconPalette, IconBrightness, IconEye, IconCloud, IconSparkles } from '@tabler/icons-react'; + +const GREEN_VOID_KEY = 'green-void-changelog-dismissed'; +const MC_PLAYLIST_KEY = 'mc-creator-playlist-changelog-dismissed'; + +const GreenVoidPopup = () => { + const [open, setOpen] = useState(false); + + useEffect(() => { + const greenVoidDismissed = localStorage.getItem(GREEN_VOID_KEY); + const mcPlaylistDismissed = localStorage.getItem(MC_PLAYLIST_KEY); + if (!greenVoidDismissed && mcPlaylistDismissed) { + setOpen(true); + } + }, []); + + const dismiss = () => { + localStorage.setItem(GREEN_VOID_KEY, 'true'); + setOpen(false); + }; + + return ( + + ); +}; + +export default GreenVoidPopup; diff --git a/src/components/resources/ResourceCard.tsx b/src/components/resources/ResourceCard.tsx index 6b5a22f..a82103c 100644 --- a/src/components/resources/ResourceCard.tsx +++ b/src/components/resources/ResourceCard.tsx @@ -21,11 +21,6 @@ interface ResourceCardProps { const ResourceCard = ({ resource, onClick }: ResourceCardProps) => { const [isImageLoaded, setIsImageLoaded] = useState(false); - const [isHovered, setIsHovered] = useState(false); - const [hoverToPlay] = useState(() => { - const stored = localStorage.getItem('hoverToPlay'); - return stored === null ? false : stored === 'true'; - }); const { user } = useAuth(); // Reset image loaded state when resource changes @@ -207,7 +202,7 @@ const ResourceCard = ({ resource, onClick }: ResourceCardProps) => { ); case "animations": - return isHovered && hoverToPlay ? ( + return (Auto-play video previews when hovering over animation cards
-