Merge pull request #14 from fullsizemalt/claude/build-frontend-home-012xoTDMpYDsGdrWYRe2kVZ2

Build frontend home screen with API integration
This commit is contained in:
fullsizemalt 2025-11-17 23:28:10 -07:00 committed by GitHub
commit 65be7e1522
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 333 additions and 19 deletions

View file

@ -126,6 +126,7 @@ services:
- ./ssl:/etc/nginx/ssl:ro - ./ssl:/etc/nginx/ssl:ro
- ./certbot/conf:/etc/letsencrypt:ro - ./certbot/conf:/etc/letsencrypt:ro
- ./certbot/www:/var/www/certbot:ro - ./certbot/www:/var/www/certbot:ro
- ../web/out:/usr/share/nginx/html:ro
networks: networks:
- mtad-network - mtad-network
depends_on: depends_on:

View file

@ -75,6 +75,26 @@ services:
retries: 3 retries: 3
start_period: 10s start_period: 10s
nginx:
image: nginx:alpine
container_name: mtad-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ../web/out:/usr/share/nginx/html:ro
networks:
- mtad-network
depends_on:
- api
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health"]
interval: 30s
timeout: 10s
retries: 3
networks: networks:
mtad-network: mtad-network:
driver: bridge driver: bridge

View file

@ -151,9 +151,16 @@ http {
proxy_set_header Host $host; proxy_set_header Host $host;
} }
# Default response # Frontend static files
location / { location / {
return 404; root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
# Cache static assets
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
} }
# Deny access to sensitive files # Deny access to sensitive files

31
web/.gitignore vendored Normal file
View file

@ -0,0 +1,31 @@
# Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Next.js
.next/
.env*.local
# Production - commit out/ directory for deployment
# out/
# Testing
coverage/
# Misc
.DS_Store
*.pem
# Debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# IDE
.vscode/
.idea/
*.swp
*.swo
*~

View file

@ -1,6 +1,6 @@
'use client' 'use client'
import React, { useState, useEffect } from 'react' import React, { useState, useEffect, Suspense } from 'react'
import { useSearchParams, useRouter } from 'next/navigation' import { useSearchParams, useRouter } from 'next/navigation'
import { AuthLayout } from '@/components/layouts/AuthLayout' import { AuthLayout } from '@/components/layouts/AuthLayout'
import { Input } from '@/components/common/Input' import { Input } from '@/components/common/Input'
@ -8,7 +8,7 @@ import { Button } from '@/components/common/Button'
import { Link } from '@/components/common/Link' import { Link } from '@/components/common/Link'
import { useApi } from '@/lib/hooks/useApi' import { useApi } from '@/lib/hooks/useApi'
export default function ResetPasswordConfirmPage() { function ResetPasswordConfirmContent() {
const searchParams = useSearchParams() const searchParams = useSearchParams()
const router = useRouter() const router = useRouter()
const { execute, isLoading, error } = useApi() const { execute, isLoading, error } = useApi()
@ -193,3 +193,17 @@ export default function ResetPasswordConfirmPage() {
</AuthLayout> </AuthLayout>
) )
} }
export default function ResetPasswordConfirmPage() {
return (
<Suspense fallback={
<AuthLayout title="Loading..." subtitle="Please wait">
<div className="flex justify-center py-8">
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-primary-600"></div>
</div>
</AuthLayout>
}>
<ResetPasswordConfirmContent />
</Suspense>
)
}

View file

@ -1,9 +1,6 @@
import type { Metadata } from 'next' import type { Metadata } from 'next'
import { Inter } from 'next/font/google'
import './globals.css' import './globals.css'
const inter = Inter({ subsets: ['latin'] })
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'MoreThanADiagnosis', title: 'MoreThanADiagnosis',
description: 'Community platform for health advocacy and support', description: 'Community platform for health advocacy and support',
@ -16,7 +13,7 @@ export default function RootLayout({
}) { }) {
return ( return (
<html lang="en"> <html lang="en">
<body className={inter.className}>{children}</body> <body className="font-sans antialiased">{children}</body>
</html> </html>
) )
} }

View file

@ -1,14 +1,175 @@
export default function Home() { export default function Home() {
return ( return (
<main className="min-h-screen flex items-center justify-center bg-gray-50"> <main className="min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50">
<div className="text-center"> {/* Header */}
<h1 className="text-4xl font-bold text-gray-900 mb-4"> <header className="bg-white shadow-sm border-b border-gray-200">
MoreThanADiagnosis <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
</h1> <div className="flex items-center justify-between">
<p className="text-lg text-gray-600"> <h1 className="text-2xl font-bold text-gray-900">MoreThanADiagnosis</h1>
Web frontend implementation in progress... <nav className="flex gap-6">
</p> <a href="/docs" className="text-gray-600 hover:text-blue-600 transition-colors">API Docs</a>
<a href="/redoc" className="text-gray-600 hover:text-blue-600 transition-colors">ReDoc</a>
<a href="/health" className="text-gray-600 hover:text-blue-600 transition-colors">Health</a>
</nav>
</div>
</div>
</header>
{/* Hero Section */}
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
<div className="text-center mb-16">
<h2 className="text-5xl font-extrabold text-gray-900 mb-6">
Welcome to MoreThanADiagnosis
</h2>
<p className="text-xl text-gray-600 max-w-3xl mx-auto mb-8">
A community platform for health advocacy and support. Connect, share, and find resources for your health journey.
</p>
<div className="flex gap-4 justify-center">
<a
href="/docs"
className="px-8 py-3 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors shadow-lg hover:shadow-xl"
>
Explore API
</a>
<a
href="/api/v1"
className="px-8 py-3 bg-white text-blue-600 font-semibold rounded-lg border-2 border-blue-600 hover:bg-blue-50 transition-colors"
>
API Endpoints
</a>
</div>
</div>
{/* Features Grid */}
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 mt-16">
{/* API Status */}
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-shadow border border-gray-100">
<div className="flex items-center mb-4">
<div className="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center">
<svg className="w-6 h-6 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
</svg>
</div>
<h3 className="ml-4 text-lg font-semibold text-gray-900">API Status</h3>
</div>
<p className="text-gray-600 mb-4">Backend API is live and operational</p>
<a href="/health" className="text-blue-600 hover:text-blue-700 font-medium">
Check Health
</a>
</div>
{/* Interactive Docs */}
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-shadow border border-gray-100">
<div className="flex items-center mb-4">
<div className="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center">
<svg className="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
</svg>
</div>
<h3 className="ml-4 text-lg font-semibold text-gray-900">Documentation</h3>
</div>
<p className="text-gray-600 mb-4">Interactive API documentation with Swagger UI</p>
<a href="/docs" className="text-blue-600 hover:text-blue-700 font-medium">
View Docs
</a>
</div>
{/* ReDoc */}
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-shadow border border-gray-100">
<div className="flex items-center mb-4">
<div className="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center">
<svg className="w-6 h-6 text-purple-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
</svg>
</div>
<h3 className="ml-4 text-lg font-semibold text-gray-900">ReDoc</h3>
</div>
<p className="text-gray-600 mb-4">Beautiful API reference documentation</p>
<a href="/redoc" className="text-blue-600 hover:text-blue-700 font-medium">
View ReDoc
</a>
</div>
{/* Authentication */}
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-shadow border border-gray-100">
<div className="flex items-center mb-4">
<div className="w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center">
<svg className="w-6 h-6 text-yellow-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />
</svg>
</div>
<h3 className="ml-4 text-lg font-semibold text-gray-900">Authentication</h3>
</div>
<p className="text-gray-600 mb-4">Secure JWT-based authentication (HS256)</p>
<span className="text-gray-500">Access & Refresh tokens</span>
</div>
{/* Rate Limiting */}
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-shadow border border-gray-100">
<div className="flex items-center mb-4">
<div className="w-12 h-12 bg-red-100 rounded-lg flex items-center justify-center">
<svg className="w-6 h-6 text-red-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
<h3 className="ml-4 text-lg font-semibold text-gray-900">Rate Limiting</h3>
</div>
<p className="text-gray-600 mb-4">Protected endpoints with intelligent rate limiting</p>
<span className="text-gray-500">10 req/sec for API</span>
</div>
{/* HTTPS Secure */}
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-shadow border border-gray-100">
<div className="flex items-center mb-4">
<div className="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center">
<svg className="w-6 h-6 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
</svg>
</div>
<h3 className="ml-4 text-lg font-semibold text-gray-900">HTTPS Enabled</h3>
</div>
<p className="text-gray-600 mb-4">Cloudflare SSL with full security headers</p>
<span className="text-gray-500">Production ready</span>
</div>
</div>
{/* API Info */}
<div className="mt-16 bg-white rounded-xl shadow-md p-8 border border-gray-100">
<h3 className="text-2xl font-bold text-gray-900 mb-4">API Information</h3>
<div className="grid md:grid-cols-2 gap-6">
<div>
<h4 className="font-semibold text-gray-900 mb-2">Base URL</h4>
<code className="bg-gray-100 px-3 py-1 rounded text-sm text-gray-800">
https://mtd.runfoo.run/api/v1
</code>
</div>
<div>
<h4 className="font-semibold text-gray-900 mb-2">Authentication</h4>
<code className="bg-gray-100 px-3 py-1 rounded text-sm text-gray-800">
Bearer {'{'}token{'}'}
</code>
</div>
<div>
<h4 className="font-semibold text-gray-900 mb-2">Protocol</h4>
<span className="text-gray-600">HTTPS (Cloudflare Flexible SSL)</span>
</div>
<div>
<h4 className="font-semibold text-gray-900 mb-2">Database</h4>
<span className="text-gray-600">PostgreSQL 15 + Redis 7</span>
</div>
</div>
</div>
</div> </div>
{/* Footer */}
<footer className="bg-white border-t border-gray-200 mt-20">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div className="text-center text-gray-600">
<p className="mb-2">MoreThanADiagnosis Platform</p>
<p className="text-sm text-gray-500">Backend API v1.0 Deployed on nexus-vector</p>
</div>
</div>
</footer>
</main> </main>
) )
} }

View file

@ -3,7 +3,7 @@
import React from 'react' import React from 'react'
export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> { export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
label?: string label?: React.ReactNode
error?: string error?: string
} }

View file

@ -9,6 +9,7 @@ export interface LinkProps {
variant?: 'primary' | 'secondary' | 'neutral' variant?: 'primary' | 'secondary' | 'neutral'
external?: boolean external?: boolean
className?: string className?: string
onClick?: () => void
} }
const variantStyles = { const variantStyles = {
@ -23,6 +24,7 @@ export const Link = ({
variant = 'primary', variant = 'primary',
external = false, external = false,
className = '', className = '',
onClick,
}: LinkProps) => { }: LinkProps) => {
const baseStyles = 'underline decoration-1 underline-offset-2 hover:decoration-2 transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 rounded-sm' const baseStyles = 'underline decoration-1 underline-offset-2 hover:decoration-2 transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 rounded-sm'
@ -35,6 +37,7 @@ export const Link = ({
className={combinedClassName} className={combinedClassName}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
onClick={onClick}
> >
{children} {children}
</a> </a>
@ -42,7 +45,7 @@ export const Link = ({
} }
return ( return (
<NextLink href={href} className={combinedClassName}> <NextLink href={href} className={combinedClassName} onClick={onClick}>
{children} {children}
</NextLink> </NextLink>
) )

View file

@ -1,8 +1,10 @@
/** @type {import('next').NextConfig} */ /** @type {import('next').NextConfig} */
const nextConfig = { const nextConfig = {
output: 'export',
reactStrictMode: true, reactStrictMode: true,
swcMinify: true, swcMinify: true,
images: { images: {
unoptimized: true, // Required for static export
remotePatterns: [ remotePatterns: [
{ {
protocol: 'https', protocol: 'https',
@ -11,7 +13,7 @@ const nextConfig = {
], ],
}, },
env: { env: {
NEXT_PUBLIC_API_BASE_URL: process.env.NEXT_PUBLIC_API_BASE_URL || 'http://localhost:8000/api/v1', NEXT_PUBLIC_API_BASE_URL: process.env.NEXT_PUBLIC_API_BASE_URL || 'https://mtd.runfoo.run/api/v1',
}, },
} }

1
web/out/404.html Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[665],{3663:function(e,r,a){Promise.resolve().then(a.bind(a,1734))},1734:function(e,r,a){"use strict";a.r(r),a.d(r,{default:function(){return c}});var s=a(7437),t=a(2265),i=a(5965),l=a(3813),n=a(4274),o=a(3607),d=a(1649),m=a(4774);function c(){let{login:e,isLoading:r,error:a}=(0,m.a)(),[c,u]=(0,t.useState)({email:"",password:"",rememberMe:!1}),[p,h]=(0,t.useState)({}),x=()=>{let e={};return c.email?/\S+@\S+\.\S+/.test(c.email)||(e.email="Email is invalid"):e.email="Email is required",c.password?c.password.length<8&&(e.password="Password must be at least 8 characters"):e.password="Password is required",h(e),0===Object.keys(e).length},b=async r=>{r.preventDefault(),x()&&await e({email:c.email,password:c.password})},w=e=>{let{name:r,value:a,type:s,checked:t}=e.target;u(e=>({...e,[r]:"checkbox"===s?t:a})),p[r]&&h(e=>{let a={...e};return delete a[r],a})};return(0,s.jsx)(i.g,{title:"Welcome back",subtitle:"Sign in to your account to continue",children:(0,s.jsxs)("form",{onSubmit:b,className:"space-y-6",children:[a&&(0,s.jsx)("div",{className:"bg-error-50 border border-error-200 text-error-800 px-4 py-3 rounded-md",role:"alert",children:(0,s.jsx)("p",{className:"text-sm",children:a.message||"Login failed. Please check your credentials and try again."})}),(0,s.jsx)(l.I,{type:"email",name:"email",label:"Email address",placeholder:"you@example.com",value:c.email,onChange:w,error:p.email,required:!0,fullWidth:!0,autoComplete:"email"}),(0,s.jsx)(l.I,{type:"password",name:"password",label:"Password",placeholder:"••••••••",value:c.password,onChange:w,error:p.password,required:!0,fullWidth:!0,autoComplete:"current-password"}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(o.X,{name:"rememberMe",label:"Remember me",checked:c.rememberMe,onChange:w}),(0,s.jsx)(d.r,{href:"/auth/reset-password",variant:"primary",className:"text-sm",children:"Forgot password?"})]}),(0,s.jsx)(n.z,{type:"submit",variant:"primary",size:"lg",fullWidth:!0,isLoading:r,disabled:r,children:"Sign in"}),(0,s.jsxs)("div",{className:"text-center text-sm text-gray-600 dark:text-gray-400",children:["Don't have an account?"," ",(0,s.jsx)(d.r,{href:"/auth/signup",variant:"primary",children:"Sign up"})]})]})})}}},function(e){e.O(0,[634,299,238,971,117,744],function(){return e(e.s=3663)}),_N_E=e.O()}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[129],{3220:function(e,a,r){Promise.resolve().then(r.bind(r,819))},819:function(e,a,r){"use strict";r.r(a),r.d(a,{default:function(){return m}});var s=r(7437),t=r(2265),l=r(5965),o=r(3813),i=r(4274),n=r(3607),d=r(1649),c=r(4774);function m(){let{signup:e,isLoading:a,error:r}=(0,c.a)(),[m,p]=(0,t.useState)({email:"",password:"",confirmPassword:"",display_name:"",acceptTerms:!1}),[u,h]=(0,t.useState)({}),w=()=>{let e={};return m.email?/\S+@\S+\.\S+/.test(m.email)||(e.email="Email is invalid"):e.email="Email is required",m.password?m.password.length<8?e.password="Password must be at least 8 characters":/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/.test(m.password)||(e.password="Password must contain uppercase, lowercase, and number"):e.password="Password is required",m.confirmPassword?m.password!==m.confirmPassword&&(e.confirmPassword="Passwords do not match"):e.confirmPassword="Please confirm your password",m.acceptTerms||(e.acceptTerms="You must accept the terms and conditions"),h(e),0===Object.keys(e).length},y=async a=>{a.preventDefault(),w()&&await e({email:m.email,password:m.password,display_name:m.display_name||void 0})},f=e=>{let{name:a,value:r,type:s,checked:t}=e.target;p(e=>({...e,[a]:"checkbox"===s?t:r})),u[a]&&h(e=>{let r={...e};return delete r[a],r})};return(0,s.jsx)(l.g,{title:"Create your account",subtitle:"Join the MoreThanADiagnosis community",children:(0,s.jsxs)("form",{onSubmit:y,className:"space-y-6",children:[r&&(0,s.jsx)("div",{className:"bg-error-50 border border-error-200 text-error-800 px-4 py-3 rounded-md",role:"alert",children:(0,s.jsx)("p",{className:"text-sm",children:r.message||"Signup failed. Please try again."})}),(0,s.jsx)(o.I,{type:"email",name:"email",label:"Email address",placeholder:"you@example.com",value:m.email,onChange:f,error:u.email,required:!0,fullWidth:!0,autoComplete:"email"}),(0,s.jsx)(o.I,{type:"text",name:"display_name",label:"Display name (optional)",placeholder:"How should we call you?",value:m.display_name,onChange:f,helperText:"This will be your public display name",fullWidth:!0,autoComplete:"name"}),(0,s.jsx)(o.I,{type:"password",name:"password",label:"Password",placeholder:"••••••••",value:m.password,onChange:f,error:u.password,helperText:"At least 8 characters with uppercase, lowercase, and number",required:!0,fullWidth:!0,autoComplete:"new-password"}),(0,s.jsx)(o.I,{type:"password",name:"confirmPassword",label:"Confirm password",placeholder:"••••••••",value:m.confirmPassword,onChange:f,error:u.confirmPassword,required:!0,fullWidth:!0,autoComplete:"new-password"}),(0,s.jsx)("div",{children:(0,s.jsx)(n.X,{name:"acceptTerms",checked:m.acceptTerms,onChange:f,error:u.acceptTerms,label:(0,s.jsxs)("span",{children:["I accept the"," ",(0,s.jsx)(d.r,{href:"/legal/terms",external:!0,variant:"primary",children:"Terms of Service"})," ","and"," ",(0,s.jsx)(d.r,{href:"/legal/privacy",external:!0,variant:"primary",children:"Privacy Policy"})]})})}),(0,s.jsx)(i.z,{type:"submit",variant:"primary",size:"lg",fullWidth:!0,isLoading:a,disabled:a,children:"Create account"}),(0,s.jsxs)("div",{className:"text-center text-sm text-gray-600 dark:text-gray-400",children:["Already have an account?"," ",(0,s.jsx)(d.r,{href:"/auth/login",variant:"primary",children:"Sign in"})]})]})})}}},function(e){e.O(0,[634,299,238,971,117,744],function(){return e(e.s=3220)}),_N_E=e.O()}]);

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{7589:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return n(3634)}])},3634:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),n(7043);let i=n(7437);n(2265);let o={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},l={display:"inline-block"},r={display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},d={fontSize:14,fontWeight:400,lineHeight:"49px",margin:0};function s(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("title",{children:"404: This page could not be found."}),(0,i.jsx)("div",{style:o,children:(0,i.jsxs)("div",{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,i.jsx)("h1",{className:"next-error-h1",style:r,children:"404"}),(0,i.jsx)("div",{style:l,children:(0,i.jsx)("h2",{style:d,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},function(e){e.O(0,[971,117,744],function(){return e(e.s=7589)}),_N_E=e.O()}]);

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{5206:function(n,e,u){Promise.resolve().then(u.t.bind(u,7960,23))},7960:function(){}},function(n){n.O(0,[587,971,117,744],function(){return n(n.s=5206)}),_N_E=n.O()}]);

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{3521:function(){}},function(n){n.O(0,[971,117,744],function(){return n(n.s=3521)}),_N_E=n.O()}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{6803:function(e,n,t){Promise.resolve().then(t.t.bind(t,2846,23)),Promise.resolve().then(t.t.bind(t,9107,23)),Promise.resolve().then(t.t.bind(t,1060,23)),Promise.resolve().then(t.t.bind(t,4707,23)),Promise.resolve().then(t.t.bind(t,80,23)),Promise.resolve().then(t.t.bind(t,6423,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[971,117],function(){return n(4278),n(6803)}),_N_E=e.O()}]);

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{1597:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return u(8141)}])}},function(n){var _=function(_){return n(n.s=_)};n.O(0,[774,179],function(){return _(1597),_(7253)}),_N_E=n.O()}]);

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{1981:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return u(8529)}])}},function(n){n.O(0,[888,774,179],function(){return n(n.s=1981)}),_N_E=n.O()}]);

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}},r=!0;try{a[e](n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=r();void 0!==a&&(t=a)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);d.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var i=2&r&&e;"object"==typeof i&&!~t.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},d.d(o,u),o},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){},d.miniCssF=function(e){},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",d.l=function(e,t,n,u){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,d.nc&&i.setAttribute("nonce",d.nc),i.setAttribute("data-webpack",o+n),i.src=d.tu(e)),r[e]=[t];var s=function(t,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=s.bind(null,i.onerror),i.onload=s.bind(null,i.onload),c&&document.head.appendChild(i)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/_next/",i={272:0,587:0},d.f.j=function(e,t){var n=d.o(i,e)?i[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(272|587)$/.test(e))i[e]=0;else{var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),u=Error();d.l(o,function(t){if(d.o(i,e)&&(0!==(n=i[e])&&(i[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+e,e)}}},d.O.j=function(e){return 0===i[e]},c=function(e,t){var n,r,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(n in u)d.o(u,n)&&(d.m[n]=u[n]);if(c)var a=c(d)}for(e&&e(t);f<o.length;f++)r=o[f],d.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return d.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f))}();

View file

@ -0,0 +1 @@
@tailwind base;@tailwind components;@tailwind utilities;:root{--color-primary:#3b82f6;--color-secondary:#8b5cf6;--color-error:#ef4444;--color-success:#10b981;--color-warning:#f59e0b;--color-bg:#fff;--color-bg-secondary:#f9fafb;--color-text:#111827;--color-text-secondary:#6b7280;--color-border:#d1d5db;--spacing-unit:4px}.dark{--color-bg:#1f2937;--color-bg-secondary:#111827;--color-text:#f9fafb;--color-text-secondary:#d1d5db;--color-border:#4b5563}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--color-text);background:var(--color-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--color-border:#000}.dark{--color-border:#fff}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

View file

@ -0,0 +1 @@
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-7ba65e1336b92748.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();

View file

@ -0,0 +1 @@
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()

1
web/out/index.html Normal file

File diff suppressed because one or more lines are too long

5
web/out/index.txt Normal file

File diff suppressed because one or more lines are too long

1
web/out/login.html Normal file

File diff suppressed because one or more lines are too long

11
web/out/login.txt Normal file
View file

@ -0,0 +1,11 @@
2:I[9107,[],"ClientPageRoot"]
3:I[1734,["634","static/chunks/634-c9bfd8cab683cbb5.js","299","static/chunks/299-3c70e0f8b88ecbb2.js","238","static/chunks/238-b84527dc4d0e8072.js","665","static/chunks/app/(auth)/login/page-67e9ce6dd7b9fa5f.js"],"default",1]
4:I[4707,[],""]
5:I[6423,[],""]
6:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
7:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
8:{"display":"inline-block"}
9:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
0:["yGcYFFIcEuqzxcriqkURO",[[["",{"children":["(auth)",{"children":["login",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(auth)",{"children":["login",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children","login","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/24908548532a696d.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$6","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$7","children":"404"}],["$","div",null,{"style":"$8","children":["$","h2",null,{"style":"$9","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$La",null]]]]
a:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"MoreThanADiagnosis"}],["$","meta","3",{"name":"description","content":"Community platform for health advocacy and support"}]]
1:null

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
2:I[9107,[],"ClientPageRoot"]
3:I[9395,["634","static/chunks/634-c9bfd8cab683cbb5.js","277","static/chunks/app/(auth)/reset-password/page-2d31eb2010a928fb.js"],"default",1]
4:I[4707,[],""]
5:I[6423,[],""]
6:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
7:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
8:{"display":"inline-block"}
9:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
0:["yGcYFFIcEuqzxcriqkURO",[[["",{"children":["(auth)",{"children":["reset-password",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(auth)",{"children":["reset-password",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children","reset-password","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/24908548532a696d.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$6","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$7","children":"404"}],["$","div",null,{"style":"$8","children":["$","h2",null,{"style":"$9","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$La",null]]]]
a:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"MoreThanADiagnosis"}],["$","meta","3",{"name":"description","content":"Community platform for health advocacy and support"}]]
1:null

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
2:I[9107,[],"ClientPageRoot"]
3:I[1108,["634","static/chunks/634-c9bfd8cab683cbb5.js","49","static/chunks/app/(auth)/reset-password/confirm/page-d6e9a36138bfaaec.js"],"default",1]
4:I[4707,[],""]
5:I[6423,[],""]
6:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
7:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
8:{"display":"inline-block"}
9:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
0:["yGcYFFIcEuqzxcriqkURO",[[["",{"children":["(auth)",{"children":["reset-password",{"children":["confirm",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(auth)",{"children":["reset-password",{"children":["confirm",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children","reset-password","children","confirm","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children","reset-password","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/24908548532a696d.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$6","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$7","children":"404"}],["$","div",null,{"style":"$8","children":["$","h2",null,{"style":"$9","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$La",null]]]]
a:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"MoreThanADiagnosis"}],["$","meta","3",{"name":"description","content":"Community platform for health advocacy and support"}]]
1:null

1
web/out/signup.html Normal file

File diff suppressed because one or more lines are too long

11
web/out/signup.txt Normal file
View file

@ -0,0 +1,11 @@
2:I[9107,[],"ClientPageRoot"]
3:I[819,["634","static/chunks/634-c9bfd8cab683cbb5.js","299","static/chunks/299-3c70e0f8b88ecbb2.js","238","static/chunks/238-b84527dc4d0e8072.js","129","static/chunks/app/(auth)/signup/page-1d0dfb555947c1ff.js"],"default",1]
4:I[4707,[],""]
5:I[6423,[],""]
6:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
7:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
8:{"display":"inline-block"}
9:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
0:["yGcYFFIcEuqzxcriqkURO",[[["",{"children":["(auth)",{"children":["signup",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(auth)",{"children":["signup",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children","signup","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(auth)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/24908548532a696d.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$6","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$7","children":"404"}],["$","div",null,{"style":"$8","children":["$","h2",null,{"style":"$9","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$La",null]]]]
a:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"MoreThanADiagnosis"}],["$","meta","3",{"name":"description","content":"Community platform for health advocacy and support"}]]
1:null