redtt / index.html
andyroony's picture
create a mirror of reddit titty drop community with functioning links and posts - Initial Deployment
bf56b06 verified
Raw
History Blame Contribute Delete
32 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Titty Drop Community</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
.post-image {
max-height: 80vh;
object-fit: contain;
}
.nsfw-tag {
background-color: #ff4500;
color: white;
}
.sidebar-sticky {
position: sticky;
top: 20px;
}
.vote-button:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.upvoted {
color: #ff4500;
}
.downvoted {
color: #7193ff;
}
.post:hover {
background-color: rgba(0, 0, 0, 0.02);
}
.comment-box {
resize: none;
}
.dropdown-content {
display: none;
position: absolute;
right: 0;
background-color: white;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
border-radius: 4px;
}
.dropdown:hover .dropdown-content {
display: block;
}
@media (max-width: 768px) {
.sidebar {
display: none;
}
}
</style>
</head>
<body class="bg-gray-100">
<!-- Header -->
<header class="bg-white shadow-sm sticky top-0 z-10">
<div class="container mx-auto px-4 py-2 flex items-center justify-between">
<div class="flex items-center space-x-2">
<div class="text-2xl font-bold text-red-500">titty<span class="text-gray-800">drop</span></div>
<span class="text-xs bg-red-500 text-white px-2 py-1 rounded-full">NSFW</span>
</div>
<div class="hidden md:flex items-center space-x-4">
<a href="#" class="text-gray-600 hover:text-gray-900">Home</a>
<a href="#" class="text-gray-600 hover:text-gray-900">Popular</a>
<a href="#" class="text-gray-600 hover:text-gray-900">All</a>
<div class="relative">
<input type="text" placeholder="Search" class="bg-gray-100 rounded-full px-4 py-1 text-sm w-64 focus:outline-none focus:ring-1 focus:ring-red-500">
<i class="fas fa-search absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400"></i>
</div>
</div>
<div class="flex items-center space-x-2">
<button class="bg-gray-200 hover:bg-gray-300 text-gray-800 px-3 py-1 rounded-full text-sm hidden md:block">
<i class="fas fa-plus mr-1"></i> Create Post
</button>
<button class="bg-red-500 hover:bg-red-600 text-white px-3 py-1 rounded-full text-sm">
<i class="fas fa-user-plus mr-1"></i> Join
</button>
<div class="relative dropdown">
<button class="w-8 h-8 rounded-full bg-gray-300 flex items-center justify-center">
<i class="fas fa-user text-gray-600"></i>
</button>
<div class="dropdown-content mt-2">
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Profile</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Settings</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Logout</a>
</div>
</div>
</div>
</div>
</header>
<!-- Mobile Menu -->
<div class="md:hidden bg-white shadow-sm sticky top-14 z-10">
<div class="container mx-auto px-4 py-2 flex justify-between items-center">
<a href="#" class="text-gray-600 hover:text-gray-900"><i class="fas fa-home"></i></a>
<a href="#" class="text-gray-600 hover:text-gray-900"><i class="fas fa-fire"></i></a>
<a href="#" class="text-gray-600 hover:text-gray-900"><i class="fas fa-globe"></i></a>
<div class="relative w-1/2">
<input type="text" placeholder="Search" class="bg-gray-100 rounded-full px-4 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-red-500">
<i class="fas fa-search absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400"></i>
</div>
</div>
</div>
<!-- Main Content -->
<div class="container mx-auto px-4 py-6 flex flex-col md:flex-row">
<!-- Posts Column -->
<div class="w-full md:w-2/3 lg:w-3/4 md:pr-6">
<!-- Sort Options -->
<div class="bg-white rounded-md shadow mb-4 p-2">
<div class="flex space-x-2">
<button class="flex items-center space-x-1 px-3 py-1 rounded-full bg-gray-100 hover:bg-gray-200">
<i class="fas fa-bolt"></i>
<span>Hot</span>
</button>
<button class="flex items-center space-x-1 px-3 py-1 rounded-full hover:bg-gray-100">
<i class="fas fa-chart-line"></i>
<span>Top</span>
</button>
<button class="flex items-center space-x-1 px-3 py-1 rounded-full hover:bg-gray-100">
<i class="fas fa-certificate"></i>
<span>New</span>
</button>
<button class="flex items-center space-x-1 px-3 py-1 rounded-full hover:bg-gray-100">
<i class="fas fa-question-circle"></i>
<span>Rising</span>
</button>
</div>
</div>
<!-- Create Post Card -->
<div class="bg-white rounded-md shadow mb-4 p-4">
<div class="flex items-center">
<div class="w-8 h-8 rounded-full bg-gray-300 flex items-center justify-center mr-2">
<i class="fas fa-user text-gray-600"></i>
</div>
<input type="text" placeholder="Create Post" class="bg-gray-100 rounded-full px-4 py-2 text-sm w-full focus:outline-none focus:ring-1 focus:ring-red-500">
</div>
<div class="flex mt-3">
<button class="flex items-center space-x-1 px-3 py-1 rounded-full hover:bg-gray-100 text-gray-600">
<i class="fas fa-image text-green-500"></i>
<span>Image</span>
</button>
<button class="flex items-center space-x-1 px-3 py-1 rounded-full hover:bg-gray-100 text-gray-600">
<i class="fas fa-link text-blue-500"></i>
<span>Link</span>
</button>
</div>
</div>
<!-- Posts -->
<div id="posts-container">
<!-- Post 1 -->
<div class="post bg-white rounded-md shadow mb-4 overflow-hidden">
<div class="flex">
<!-- Vote buttons -->
<div class="bg-gray-50 w-10 flex flex-col items-center py-2">
<button class="vote-button upvote" onclick="vote(this)">
<i class="fas fa-arrow-up text-gray-500 hover:text-red-500"></i>
</button>
<span class="text-xs font-semibold my-1">4.2k</span>
<button class="vote-button downvote" onclick="vote(this)">
<i class="fas fa-arrow-down text-gray-500 hover:text-blue-500"></i>
</button>
</div>
<!-- Post content -->
<div class="flex-1 p-3">
<div class="flex items-center text-xs text-gray-500 mb-1">
<span>Posted by u/throwaway1234</span>
<span class="mx-1"></span>
<span>5 hours ago</span>
<span class="mx-1"></span>
<span class="font-medium">tittydrop</span>
</div>
<h3 class="text-lg font-medium mb-2">The perfect reveal after a long day at work</h3>
<div class="mb-3">
<img src="https://via.placeholder.com/800x600/ff9999/ffffff?text=Titty+Drop+Post" alt="Post image" class="post-image w-full rounded">
</div>
<div class="flex items-center text-xs text-gray-500">
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-comment-alt mr-1"></i>
<span>342 Comments</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-share mr-1"></i>
<span>Share</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-bookmark mr-1"></i>
<span>Save</span>
</button>
<button class="flex items-center hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
</div>
</div>
<!-- Post 2 -->
<div class="post bg-white rounded-md shadow mb-4 overflow-hidden">
<div class="flex">
<!-- Vote buttons -->
<div class="bg-gray-50 w-10 flex flex-col items-center py-2">
<button class="vote-button upvote" onclick="vote(this)">
<i class="fas fa-arrow-up text-gray-500 hover:text-red-500"></i>
</button>
<span class="text-xs font-semibold my-1">3.7k</span>
<button class="vote-button downvote" onclick="vote(this)">
<i class="fas fa-arrow-down text-gray-500 hover:text-blue-500"></i>
</button>
</div>
<!-- Post content -->
<div class="flex-1 p-3">
<div class="flex items-center text-xs text-gray-500 mb-1">
<span>Posted by u/secretaccount</span>
<span class="mx-1"></span>
<span>8 hours ago</span>
<span class="mx-1"></span>
<span class="font-medium">tittydrop</span>
</div>
<h3 class="text-lg font-medium mb-2">Slow motion drop for your viewing pleasure</h3>
<div class="mb-3">
<div class="relative">
<img src="https://via.placeholder.com/800x600/99ccff/ffffff?text=Slow+Motion+Drop" alt="Post image" class="post-image w-full rounded">
<div class="absolute bottom-2 left-2 bg-black bg-opacity-70 text-white px-2 py-1 rounded flex items-center">
<i class="fas fa-play mr-1"></i>
<span>0:24</span>
</div>
</div>
</div>
<div class="flex items-center text-xs text-gray-500">
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-comment-alt mr-1"></i>
<span>278 Comments</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-share mr-1"></i>
<span>Share</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-bookmark mr-1"></i>
<span>Save</span>
</button>
<button class="flex items-center hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
</div>
</div>
<!-- Post 3 -->
<div class="post bg-white rounded-md shadow mb-4 overflow-hidden">
<div class="flex">
<!-- Vote buttons -->
<div class="bg-gray-50 w-10 flex flex-col items-center py-2">
<button class="vote-button upvote" onclick="vote(this)">
<i class="fas fa-arrow-up text-gray-500 hover:text-red-500"></i>
</button>
<span class="text-xs font-semibold my-1">2.9k</span>
<button class="vote-button downvote" onclick="vote(this)">
<i class="fas fa-arrow-down text-gray-500 hover:text-blue-500"></i>
</button>
</div>
<!-- Post content -->
<div class="flex-1 p-3">
<div class="flex items-center text-xs text-gray-500 mb-1">
<span>Posted by u/throwaway5678</span>
<span class="mx-1"></span>
<span>12 hours ago</span>
<span class="mx-1"></span>
<span class="font-medium">tittydrop</span>
</div>
<h3 class="text-lg font-medium mb-2">Outdoor drop with a view</h3>
<div class="mb-3">
<img src="https://via.placeholder.com/800x600/99ff99/ffffff?text=Outdoor+Drop" alt="Post image" class="post-image w-full rounded">
</div>
<div class="flex items-center text-xs text-gray-500">
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-comment-alt mr-1"></i>
<span>189 Comments</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-share mr-1"></i>
<span>Share</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-bookmark mr-1"></i>
<span>Save</span>
</button>
<button class="flex items-center hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Load More Button -->
<div class="text-center mt-4">
<button class="bg-gray-200 hover:bg-gray-300 text-gray-800 px-4 py-2 rounded-full font-medium" onclick="loadMorePosts()">
<i class="fas fa-sync-alt mr-2"></i>Load More Posts
</button>
</div>
</div>
<!-- Sidebar -->
<div class="w-full md:w-1/3 lg:w-1/4 mt-6 md:mt-0">
<div class="sidebar-sticky">
<!-- Community Info -->
<div class="bg-white rounded-md shadow mb-4 overflow-hidden">
<div class="bg-red-500 h-16"></div>
<div class="p-4">
<div class="flex items-center mb-4">
<div class="w-12 h-12 rounded-full bg-white border-4 border-white -mt-6">
<div class="w-full h-full rounded-full bg-red-500 flex items-center justify-center">
<i class="fas fa-venus text-white text-xl"></i>
</div>
</div>
<div class="ml-2">
<h2 class="font-bold">r/tittydrop</h2>
<p class="text-xs text-gray-500">NSFW Community</p>
</div>
</div>
<p class="text-sm mb-4">The best place for titty drop gifs and videos. Please follow the rules and enjoy!</p>
<div class="flex mb-4">
<div class="flex-1">
<p class="text-xs text-gray-500">Members</p>
<p class="font-medium">1.2m</p>
</div>
<div class="flex-1">
<p class="text-xs text-gray-500">Online</p>
<p class="font-medium">4.8k</p>
</div>
<div class="flex-1">
<p class="text-xs text-gray-500">Created</p>
<p class="font-medium">Jan 2015</p>
</div>
</div>
<button class="w-full bg-red-500 hover:bg-red-600 text-white py-1 rounded-full font-medium">
Joined
</button>
</div>
</div>
<!-- Community Rules -->
<div class="bg-white rounded-md shadow mb-4 p-4">
<h3 class="font-bold mb-3">Community Rules</h3>
<ol class="text-sm space-y-3">
<li class="flex items-start">
<span class="text-red-500 font-bold mr-2">1.</span>
<span>No underage content</span>
</li>
<li class="flex items-start">
<span class="text-red-500 font-bold mr-2">2.</span>
<span>Only titty drops (no other NSFW content)</span>
</li>
<li class="flex items-start">
<span class="text-red-500 font-bold mr-2">3.</span>
<span>No paid promotions or OnlyFans spam</span>
</li>
<li class="flex items-start">
<span class="text-red-500 font-bold mr-2">4.</span>
<span>Be respectful in comments</span>
</li>
<li class="flex items-start">
<span class="text-red-500 font-bold mr-2">5.</span>
<span>No reposts from top 100</span>
</li>
</ol>
<a href="#" class="text-xs text-blue-500 mt-2 block">View all rules</a>
</div>
<!-- Moderators -->
<div class="bg-white rounded-md shadow mb-4 p-4">
<h3 class="font-bold mb-3">Moderators</h3>
<div class="space-y-2">
<div class="flex items-center">
<div class="w-6 h-6 rounded-full bg-gray-300 mr-2"></div>
<span class="text-sm">u/mod1</span>
</div>
<div class="flex items-center">
<div class="w-6 h-6 rounded-full bg-gray-300 mr-2"></div>
<span class="text-sm">u/mod2</span>
</div>
<div class="flex items-center">
<div class="w-6 h-6 rounded-full bg-gray-300 mr-2"></div>
<span class="text-sm">u/mod3</span>
</div>
</div>
<a href="#" class="text-xs text-blue-500 mt-2 block">Message the mods</a>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="bg-white border-t mt-8 py-6">
<div class="container mx-auto px-4">
<div class="flex flex-col md:flex-row justify-between">
<div class="mb-4 md:mb-0">
<div class="text-2xl font-bold text-red-500 mb-2">titty<span class="text-gray-800">drop</span></div>
<p class="text-xs text-gray-500">© 2023 Reddit, Inc. All rights reserved.</p>
</div>
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
<div>
<h4 class="font-medium mb-2">Help</h4>
<ul class="text-xs space-y-1">
<li><a href="#" class="text-gray-600 hover:underline">Reddit Help</a></li>
<li><a href="#" class="text-gray-600 hover:underline">Reddiquette</a></li>
<li><a href="#" class="text-gray-600 hover:underline">Mod Guidelines</a></li>
</ul>
</div>
<div>
<h4 class="font-medium mb-2">About</h4>
<ul class="text-xs space-y-1">
<li><a href="#" class="text-gray-600 hover:underline">About Reddit</a></li>
<li><a href="#" class="text-gray-600 hover:underline">Advertise</a></li>
<li><a href="#" class="text-gray-600 hover:underline">Careers</a></li>
</ul>
</div>
<div>
<h4 class="font-medium mb-2">Apps</h4>
<ul class="text-xs space-y-1">
<li><a href="#" class="text-gray-600 hover:underline">iOS App</a></li>
<li><a href="#" class="text-gray-600 hover:underline">Android App</a></li>
</ul>
</div>
</div>
</div>
</div>
</footer>
<script>
// Voting functionality
function vote(button) {
const post = button.closest('.post');
const voteCount = post.querySelector('.vote-button + span');
let count = parseInt(voteCount.textContent.replace(/[^\d]/g, ''));
if (button.classList.contains('upvote')) {
const downvote = post.querySelector('.downvote i');
if (button.classList.contains('upvoted')) {
// Already upvoted - remove vote
button.classList.remove('upvoted');
button.querySelector('i').classList.remove('text-red-500');
count--;
} else {
// New upvote
button.classList.add('upvoted');
button.querySelector('i').classList.add('text-red-500');
if (downvote.classList.contains('text-blue-500')) {
// Was previously downvoted
downvote.classList.remove('text-blue-500');
post.querySelector('.downvote').classList.remove('downvoted');
count += 2;
} else {
count++;
}
}
} else if (button.classList.contains('downvote')) {
const upvote = post.querySelector('.upvote i');
if (button.classList.contains('downvoted')) {
// Already downvoted - remove vote
button.classList.remove('downvoted');
button.querySelector('i').classList.remove('text-blue-500');
count++;
} else {
// New downvote
button.classList.add('downvoted');
button.querySelector('i').classList.add('text-blue-500');
if (upvote.classList.contains('text-red-500')) {
// Was previously upvoted
upvote.classList.remove('text-red-500');
post.querySelector('.upvote').classList.remove('upvoted');
count -= 2;
} else {
count--;
}
}
}
// Format the count (e.g., 4200 -> 4.2k)
if (count >= 1000) {
voteCount.textContent = (count / 1000).toFixed(1) + 'k';
} else {
voteCount.textContent = count;
}
}
// Load more posts
function loadMorePosts() {
const postsContainer = document.getElementById('posts-container');
const loadingButton = event.target;
// Show loading state
loadingButton.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i>Loading...';
loadingButton.disabled = true;
// Simulate loading delay
setTimeout(() => {
// Create a new post (similar to existing ones)
const newPost = document.createElement('div');
newPost.className = 'post bg-white rounded-md shadow mb-4 overflow-hidden';
newPost.innerHTML = `
<div class="flex">
<div class="bg-gray-50 w-10 flex flex-col items-center py-2">
<button class="vote-button upvote" onclick="vote(this)">
<i class="fas fa-arrow-up text-gray-500 hover:text-red-500"></i>
</button>
<span class="text-xs font-semibold my-1">${Math.floor(Math.random() * 5) + 1}.${Math.floor(Math.random() * 9)}k</span>
<button class="vote-button downvote" onclick="vote(this)">
<i class="fas fa-arrow-down text-gray-500 hover:text-blue-500"></i>
</button>
</div>
<div class="flex-1 p-3">
<div class="flex items-center text-xs text-gray-500 mb-1">
<span>Posted by u/randomuser${Math.floor(Math.random() * 9000) + 1000}</span>
<span class="mx-1">•</span>
<span>${Math.floor(Math.random() * 24) + 1} hours ago</span>
<span class="mx-1">•</span>
<span class="font-medium">tittydrop</span>
</div>
<h3 class="text-lg font-medium mb-2">New titty drop ${['with a smile', 'in slow motion', 'outdoors', 'after work', 'with a twist'][Math.floor(Math.random() * 5)]}</h3>
<div class="mb-3">
<img src="https://via.placeholder.com/800x600/ffccff/ffffff?text=New+Titty+Drop" alt="Post image" class="post-image w-full rounded">
</div>
<div class="flex items-center text-xs text-gray-500">
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-comment-alt mr-1"></i>
<span>${Math.floor(Math.random() * 500) + 50} Comments</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-share mr-1"></i>
<span>Share</span>
</button>
<button class="flex items-center mr-4 hover:bg-gray-100 px-2 py-1 rounded">
<i class="far fa-bookmark mr-1"></i>
<span>Save</span>
</button>
<button class="flex items-center hover:bg-gray-100 px-2 py-1 rounded">
<i class="fas fa-ellipsis-h"></i>
</button>
</div>
</div>
</div>
`;
// Add the new post
postsContainer.appendChild(newPost);
// Reset button
loadingButton.innerHTML = '<i class="fas fa-sync-alt mr-2"></i>Load More Posts';
loadingButton.disabled = false;
}, 1500);
}
// Mobile menu toggle (if needed)
function toggleMobileMenu() {
const menu = document.getElementById('mobile-menu');
menu.classList.toggle('hidden');
}
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=andyroony/redtt" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>