From 520d96b37bec1aaf8956cbe15e89b8277d339a67 Mon Sep 17 00:00:00 2001
From: Thomas
Date: Thu, 24 Jul 2025 08:18:57 +0200
Subject: [PATCH 1/6] Add a (Base for) Home Page
---
README.md | 10 +++
src/app/(home)/page.tsx | 138 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 146 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index bf383cb..959dbde 100644
--- a/README.md
+++ b/README.md
@@ -35,6 +35,16 @@ To apply the same base UI in a project, run the following command:
npx shadcn@latest add "https://v0.dev/chat/b/b_fFQhsfElqQi"
```
+#### 🏠 Homepage
+
+The homepage layout was also crafted using v0. The generation prompt for it was:
+
+```text
+A minimal homepage for a Google Drive clone named T4S Drive. It should be just a
+marketing page with a "get started" button. A gradient would be nice, please use
+black and dark neutral grays.
+```
+
### 🧰 Learn More about the T3 Stack
To explore more about the [T3 Stack](https://create.t3.gg/), refer to the
diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx
index 74ab28a..24a40b3 100644
--- a/src/app/(home)/page.tsx
+++ b/src/app/(home)/page.tsx
@@ -1,3 +1,137 @@
-export default async function HomePage() {
- return
Welcome to your Drive
;
+import { Cloud, Shield, Users, Zap } from "lucide-react";
+import Link from "next/link";
+import { Button } from "~/components/ui/button";
+
+export default function HomePage() {
+ return (
+
- Store, sync, and share your files with T4S Drive. Access your
- documents from any device, anywhere in the world.
-
-
-
-
-
- Free 15GB storage • No credit card required
-
-
-
-
- {/* Features Section */}
-
-
-
-
-
-
-
Secure Storage
-
- Your files are encrypted and protected with enterprise-grade
- security.
-
-
-
-
-
-
-
-
Lightning Fast
-
- Upload and download files at blazing speeds with our global CDN.
-
-
-
-
-
-
-
-
Easy Sharing
-
- Share files and folders with anyone, with granular permission
- controls.
-
-
-
-
-
- {/* Footer */}
-
-
+
);
}
diff --git a/src/app/(home)/sign-in/page.tsx b/src/app/(home)/sign-in/page.tsx
new file mode 100644
index 0000000..ae558ad
--- /dev/null
+++ b/src/app/(home)/sign-in/page.tsx
@@ -0,0 +1,15 @@
+import { SignInButton } from "@clerk/nextjs";
+
+import { Button } from "~/components/ui/button";
+
+export default function HomePage() {
+ return (
+
+ );
+}
diff --git a/src/app/sign-in/page.tsx b/src/app/sign-in/page.tsx
deleted file mode 100644
index 7c2f54c..0000000
--- a/src/app/sign-in/page.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { SignInButton } from "@clerk/nextjs";
-
-import { Button } from "~/components/ui/button";
-
-export default function HomePage() {
- return (
-
-
-
-
- Your files,
-
-
- everywhere
-
-
-
-
- Store, sync, and share your files with T4S Drive. Access your
- documents from any device, anywhere in the world.
-
-
-
-
-
-
- );
-}
From c6251ffe170a872a2ffbd032a9ff61dd58e9bd2f Mon Sep 17 00:00:00 2001
From: Thomas
Date: Sat, 26 Jul 2025 15:55:53 +0200
Subject: [PATCH 6/6] Update README.md
---
README.md | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 959dbde..d68667b 100644
--- a/README.md
+++ b/README.md
@@ -118,7 +118,7 @@ The database and UI are now connected, some improvements to make:
- [x] Change folders to link components, remove all client state
- [x] Clean up the database and data fetching patterns
-- [ ] Real homepage
+- [x] Real homepage
### 📝 Note from 7-4-2025
@@ -134,7 +134,13 @@ can be approved:
## 🎯 Fun Follow Ups
-### Folder deletion
-
-Make sure to fetch all of the folders that have it as a parent, and their
-children too.
+- [ ] **Folder creation** Make a server action that takes a name and
+ parentId, and creates a folder with that name and parentId (don't forget
+ to set the ownerId).
+- [ ] **Folder deletion** Make sure to fetch all of the folders that have
+ it as a parent, and their children too.
+- [ ] **Access Control** Check if user is owner before showing the folder
+ page.
+- [ ] **Make a "file view" page**
+- [ ] **Access control**
+- [ ] **Toasts notifications**