Move older frontend-poc to .claude/f0-frontend-poc/

This is an earlier POC version (pre-F3 demo) preserved for reference.
This commit is contained in:
Cal Corum 2026-01-31 22:02:22 -06:00
parent 8685e3e16e
commit dc06a93e2e
8 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,2 @@
VITE_API_URL=http://localhost:8001
VITE_FRONTEND_URL=http://localhost:5173

View File

@ -0,0 +1 @@
import{d as f,u as h,o as v,c as r,F as p,a,t as x,b as g,w as k,e as w,f as _,g as y,r as d,h as b,i,j as C}from"./index-NzMRRiBf.js";const N={class:"flex flex-col items-center justify-center min-h-[80vh] px-4"},S={key:1,class:"text-center"},R={class:"text-slate-400 mb-6"},A=f({__name:"LoginCallback",setup(T){const m=_(),l=y(),u=h(),t=d(null),o=d(!0);return v(async()=>{try{if(l.query.error){t.value=l.query.message||"Authentication failed",o.value=!1;return}const s=window.location.hash.substring(1),e=new URLSearchParams(s),n=e.get("access_token"),c=e.get("refresh_token");if(!n||!c){t.value="No tokens received from authentication",o.value=!1;return}u.setTokens(n,c),await u.fetchUser(),window.history.replaceState({},document.title,window.location.pathname),m.push("/")}catch(s){t.value=s instanceof Error?s.message:"Unknown error during authentication",o.value=!1}}),(s,e)=>{const n=b("router-link");return i(),r("div",N,[o.value?(i(),r(p,{key:0},[e[0]||(e[0]=a("div",{class:"text-xl text-slate-300"},"Completing login...",-1)),e[1]||(e[1]=a("div",{class:"mt-4 animate-spin rounded-full h-8 w-8 border-b-2 border-indigo-500"},null,-1))],64)):t.value?(i(),r("div",S,[e[3]||(e[3]=a("div",{class:"text-red-400 text-xl mb-4"},"Authentication Failed",-1)),a("div",R,x(t.value),1),g(n,{to:"/",class:"text-indigo-400 hover:text-indigo-300"},{default:k(()=>[...e[2]||(e[2]=[C(" Return to Home ",-1)])]),_:1})])):w("",!0)])}}});export{A as default};

View File

@ -0,0 +1 @@
.game-container[data-v-a07255e9]{min-height:600px}.game-container[data-v-a07255e9] canvas{border-radius:8px;box-shadow:0 4px 6px -1px #0000004d}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.mx-auto{margin-inline:auto}.flex{display:flex}.inline-block{display:inline-block}.h-full{height:100%}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[1200px\]{max-width:1200px}.flex-1{flex:1}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.rounded-full{border-radius:3.40282e38px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.text-center{text-align:center}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a2e;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0}#app{flex-direction:column;min-height:100vh;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}

File diff suppressed because one or more lines are too long

14
.claude/f0-frontend-poc/dist/index.html vendored Normal file
View File

@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>frontend-poc</title>
<script type="module" crossorigin src="/assets/index-NzMRRiBf.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DtLW8FGp.css">
</head>
<body>
<div id="app"></div>
</body>
</html>

1
.claude/f0-frontend-poc/dist/vite.svg vendored Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB