Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion components/home-page-client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { useRouter } from 'next/navigation'
import { useEffect, useRef, useState } from 'react'

import { AppProviders } from '@/components/app-providers'
import { HubFooter } from '@/components/hub-footer'
import { HubHeader } from '@/components/hub-header'
import { HubHero } from '@/components/hub-hero'
import { ProjectList } from '@/components/project-list'
Expand Down Expand Up @@ -96,7 +97,7 @@ export function HomePageClient() {

return (
<AppProviders>
<div className="min-h-screen bg-background">
<div className="flex min-h-screen flex-col bg-background">
<HubHeader />
<HubHero onNewMap={handleNewMap} onOpenFromFile={handleOpenFromFile} />
<ProjectList
Expand All @@ -106,6 +107,7 @@ export function HomePageClient() {
onDeleteProject={handleDeleteProject}
onNewMap={handleNewMap}
/>
<HubFooter />
<input
ref={fileInputRef}
type="file"
Expand Down
35 changes: 35 additions & 0 deletions components/hub-footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
'use client'

import Link from 'next/link'

import { hubInsetClass } from './hub-layout'

const externalLinkClass = 'underline-offset-4 hover:underline'

export function HubFooter() {
return (
<footer className="mt-auto border-t border-border py-8">
<div className={hubInsetClass}>
<p className="font-mono text-[11px] text-muted-foreground">
© 2026 The DataFace · Built with 🌎 by{' '}
<Link
href="https://samvickars.com"
className={externalLinkClass}
target="_blank"
rel="noopener noreferrer">
Sam
</Link>{' '}
and{' '}
<Link
href="https://thedataface.com"
className={externalLinkClass}
target="_blank"
rel="noopener noreferrer">
The DataFace team
</Link>
.
</p>
</div>
</footer>
)
}
11 changes: 10 additions & 1 deletion components/hub-hero.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use client'

import Link from 'next/link'
import { FolderOpen, Plus } from 'lucide-react'

import { Button } from '@/components/ui/button'
Expand All @@ -22,7 +23,15 @@ export function HubHero({ onNewMap, onOpenFromFile }: HubHeroProps) {
</h1>
<p className="mt-3 max-w-lg text-sm leading-relaxed text-muted-foreground">
Import a dataset, geocode locations, style choropleths or symbol maps, and export production-ready SVG in
minutes.
minutes. By{' '}
<Link
href="https://labs.thedataface.com"
className="text-foreground underline-offset-4 hover:underline"
target="_blank"
rel="noopener noreferrer">
DFLabs
</Link>
.
</p>
<div className="mt-6 flex flex-wrap items-center gap-2">
<Button
Expand Down
Loading