@@ -5,17 +5,51 @@ import { z } from "zod";
55
66import { getEnv } from "./env" ;
77import { supabaseMiddleware } from "./middleware/supabase" ;
8+ import { renderer } from "./renderer" ;
89import type { Env } from "./types" ;
910
1011const app = new Hono < Env > ( ) ;
1112app . use ( "/v1" , supabaseMiddleware ( ) ) ;
1213
1314app . get ( "/health" , ( c ) => c . text ( "OK" ) ) ;
14- app . get ( "/" , ( c ) => {
15- const allParams = c . req . query ( ) ;
15+ app . get ( "/" , renderer , ( c ) => {
16+ const params = c . req . query ( ) ;
17+ const code = params . code ;
18+ const deeplink = "hypr://auth/callback?" + new URLSearchParams ( params ) . toString ( ) ;
1619
1720 return c . render (
18- < pre > { JSON . stringify ( allParams , null , 2 ) } </ pre > ,
21+ < div class = "min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100 flex items-center justify-center p-4" >
22+ < div class = "bg-white rounded-2xl shadow-xl p-8 max-w-md w-full text-center" >
23+ < div class = "space-y-4" >
24+ < p class = "font-mono text-lg bg-gray-100 p-2 rounded" > Code: { code } </ p >
25+ < button
26+ id = "open"
27+ class = "w-full bg-blue-600 hover:bg-blue-700 text-white font-medium py-3 px-4 rounded-lg transition-colors"
28+ >
29+ Open App
30+ </ button >
31+ </ div >
32+
33+ < script
34+ dangerouslySetInnerHTML = { {
35+ __html : `
36+ function trigger() {
37+ const params = new URLSearchParams(window.location.search);
38+ const deeplink = 'hypr://auth/callback?' + new URLSearchParams(params).toString();
39+ window.open(deeplink);
40+ }
41+
42+ window.addEventListener('load', () => {
43+ trigger();
44+ });
45+ document.getElementById('open').addEventListener('click', () => {
46+ trigger();
47+ });
48+ ` ,
49+ } }
50+ />
51+ </ div >
52+ </ div > ,
1953 ) ;
2054} ) ;
2155
0 commit comments