feat: implement instant download functionality with static link (#16)

This commit is contained in:
Owen Gretzinger
2025-07-14 22:32:57 -04:00
committed by GitHub
parent c449847752
commit b6c083ffce
9 changed files with 171 additions and 118 deletions
+8 -2
View File
@@ -75,11 +75,17 @@ export default function Features() {
<div className="bg-gradient-to-r from-blue-600/20 to-purple-600/20 rounded-xl p-8 border border-blue-600/30">
<h3 className="text-2xl font-bold mb-4 text-center">Coming Soon</h3>
<p className="text-gray-300 text-center mb-4">
Google Calendar integration, note templates, AI chat for questions,
and more integrations (email, Slack).
Google Calendar integration, AI chat for questions, and more
integrations (email, Slack).
</p>
<p className="text-blue-400 text-center font-semibold">
<a
href="https://github.com/owengretzinger/meetingnotes"
target="_blank"
className="text-blue-400 hover:text-blue-300 underline transition-colors"
>
Contribute on GitHub to help build these features!
</a>
</p>
</div>
</div>
+7 -6
View File
@@ -1,5 +1,8 @@
"use client"
import { Button } from "@/components/ui/button"
import { Download, Github, ArrowRight } from "lucide-react"
import { downloadAndNavigate } from "@/lib/utils"
export default function FinalCTA() {
return (
@@ -17,12 +20,10 @@ export default function FinalCTA() {
</p>
<div className="flex flex-col sm:flex-row gap-6 justify-center mb-12">
<Button size="lg" className="bg-blue-600 hover:bg-blue-700 text-lg px-8 py-4 group" asChild>
<a href="/download">
<Download className="w-5 h-5 mr-2" />
Download for macOS
<ArrowRight className="w-4 h-4 ml-2 group-hover:translate-x-1 transition-transform" />
</a>
<Button size="lg" className="bg-blue-600 hover:bg-blue-700 text-lg px-8 py-4 group" onClick={downloadAndNavigate}>
<Download className="w-5 h-5 mr-2" />
Download for macOS
<ArrowRight className="w-4 h-4 ml-2 group-hover:translate-x-1 transition-transform" />
</Button>
<Button
variant="outline"
+7 -4
View File
@@ -1,4 +1,7 @@
"use client"
import { Github, Twitter, Mail, Heart } from "lucide-react";
import { downloadAndNavigate } from "@/lib/utils"
export default function Footer() {
return (
@@ -59,12 +62,12 @@ export default function Footer() {
</a>
</li>
<li>
<a
href="/download"
className="hover:text-white transition-colors"
<button
onClick={downloadAndNavigate}
className="hover:text-white transition-colors text-left"
>
Download
</a>
</button>
</li>
<li>
<a
+6 -5
View File
@@ -1,5 +1,8 @@
"use client"
import { Button } from "@/components/ui/button"
import { Github, Download } from "lucide-react"
import { downloadAndNavigate } from "@/lib/utils"
export default function Header() {
return (
@@ -44,11 +47,9 @@ export default function Header() {
<span className="hidden md:inline">Star</span>
</a>
</Button>
<Button size="sm" className="bg-blue-600 hover:bg-blue-700" asChild>
<a href="/download">
<Download className="w-4 h-4 md:mr-2" />
<span className="hidden md:inline">Download</span>
</a>
<Button size="sm" className="bg-blue-600 hover:bg-blue-700" onClick={downloadAndNavigate}>
<Download className="w-4 h-4 md:mr-2" />
<span className="hidden md:inline">Download</span>
</Button>
</div>
</div>
+7 -6
View File
@@ -1,6 +1,9 @@
"use client"
import { Button } from "@/components/ui/button"
import { Badge } from "@/components/ui/badge"
import { Download, Github, Star, Shield, Code, Zap } from "lucide-react"
import { downloadAndNavigate } from "@/lib/utils"
export default function Hero() {
return (
@@ -19,7 +22,7 @@ export default function Hero() {
</h1>
<p className="text-xl md:text-2xl text-gray-300 mb-8 max-w-[52rem] mx-auto leading-relaxed">
Just you and your OpenAI API key.<br />Go crazy.
Just you and your OpenAI API key. <br className="block md:hidden" />Go crazy.
</p>
<div className="flex flex-wrap justify-center gap-6 mb-12">
@@ -41,11 +44,9 @@ export default function Hero() {
</div>
<div className="flex flex-col sm:flex-row gap-4 justify-center mb-16">
<Button size="lg" className="bg-blue-600 hover:bg-blue-700 text-lg px-8 py-4" asChild>
<a href="/download">
<Download className="w-5 h-5 mr-2" />
Download for macOS
</a>
<Button size="lg" className="bg-blue-600 hover:bg-blue-700 text-lg px-8 py-4" onClick={downloadAndNavigate}>
<Download className="w-5 h-5 mr-2" />
Download for macOS
</Button>
<Button
variant="outline"
+4 -1
View File
@@ -1,6 +1,9 @@
"use client"
import { Card, CardContent } from "@/components/ui/card"
import { Button } from "@/components/ui/button"
import { Check, DollarSign, Key, Shield } from "lucide-react"
import { downloadAndNavigate } from "@/lib/utils"
export default function Pricing() {
return (
@@ -122,7 +125,7 @@ export default function Pricing() {
</div>
</div>
<Button size="lg" className="bg-green-600 hover:bg-green-700 text-lg px-8 py-4">
<Button size="lg" className="bg-green-600 hover:bg-green-700 text-lg px-8 py-4" onClick={downloadAndNavigate}>
Download Free Now
</Button>