feat(V2-6/V2-7/V2-8): Mobile MVP + Teams + Billing 스캐폴딩

V2-6 — Mobile (Expo) MVP
- apps/mobile/ 신규, npm workspace에서 제외 (Expo deps 부담 회피)
- Expo SDK 51 + Expo Router + AsyncStorage Supabase 클라이언트
- 화면: index/login/(tabs)/{meetings,record,profile}
- expo-av로 녹음 → Edge Function stt-proxy 호출
- expo-web-browser + expo-linking으로 OAuth 콜백 처리
- README에 setup/EAS build 가이드
- 루트 package.json workspaces를 명시 나열로 변경 (apps/mobile 제외)

V2-7 — 팀 기능 (Web)
- apps/web/src/app/teams/page.tsx — 가입한 팀 카드 그리드
- apps/web/src/app/teams/[id]/page.tsx — 멤버 + 공유 회의
- components/teams/create-team-form.tsx — 팀 생성 + owner 자동 team_members
- components/teams/invite-member-form.tsx — user_id 직접 초대 (V2-7b에서 invite flow)
- Sidebar에 Teams/Billing 메뉴 + 아이콘
- ko.json에 nav.teams/nav.billing 키 추가
- V2-2 teams/team_members RLS 활용

V2-8 — 결제 스캐폴딩
- apps/web/src/app/billing/page.tsx — Free/Pro/Team 가격표 + 현재 구독
- components/billing/checkout-button.tsx — Edge Function 호출 후 redirect
- server/supabase/functions/stripe-checkout/index.ts:
  - JWT 인증 -> 기존 customer 조회/생성 -> Checkout Session 생성
  - subscriptions 테이블에 customer_id upsert
- server/supabase/functions/stripe-webhook/index.ts:
  - checkout.session.completed -> subscriptions tier=pro/team active
  - customer.subscription.updated/created -> status/period 업데이트
  - customer.subscription.deleted -> tier=free, status=canceled
  - signature 검증은 placeholder (V2-8b에서 정식)
- server/supabase/config.toml에 두 함수 등록 (webhook verify_jwt=false)

검증:
- desktop typecheck OK (회귀 없음)
- web typecheck OK
- web next build OK (11 라우트)
- mobile은 별도 install 필요 (workspace 제외)

memory/project_status.md 갱신 — V2 마스터 플랜 전 페이즈 로컬 완료
This commit is contained in:
yunchan8804 2026-04-09 16:39:54 +09:00
parent 5c0f4a2b98
commit 61a96b3e9b
136 changed files with 2641 additions and 251 deletions

View file

@ -1 +0,0 @@
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:7,errorRate:1e-4,numBits:135,numHashes:14,bitArray:[1,1,0,0,e,r,r,e,r,e,e,e,r,r,r,r,r,e,r,e,r,e,e,e,e,e,e,e,e,r,r,e,r,r,e,e,e,r,r,e,r,r,r,r,e,r,r,e,r,r,r,e,r,e,e,r,e,e,r,e,e,e,r,r,r,r,r,e,r,e,r,e,r,e,r,e,r,e,e,r,e,e,e,r,r,r,e,e,r,r,e,r,e,e,r,r,r,e,e,r,e,e,e,e,r,r,e,r,r,e,e,r,e,r,r,r,e,r,e,r,e,r,e,e,e,e,r,r,r,e,e,e,e,r,r]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,e,e,e,r,e,e,r,r,e,e,r,e,e,e,r,e,r,e]},"/_error":["static/chunks/pages/_error-19ea2e6a6da76d0f.js"],sortedPages:["/_app","/_error"]}}(0,1,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();

View file

@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[140],{4620:(e,t,o)=>{o.d(t,{A:()=>l});let l=function(e){return"string"==typeof e}},8703:(e,t,o)=>{o.d(t,{A:()=>y});var l=o(7620),n=o(2902),r=o(7138),i=o(9407),a=o(8613),s=o(9468),c=o(5120),u=o(8020),f=o(3664);function p(e){return(0,f.Ay)("MuiSvgIcon",e)}(0,u.A)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var d=o(4568);let m=(0,a.default)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:o}=e;return[t.root,"inherit"!==o.color&&t["color".concat((0,i.A)(o.color))],t["fontSize".concat((0,i.A)(o.fontSize))]]}})((0,s.A)(e=>{var t,o,l,n,r,i,a,s,c,u,f,p,d,m,v,y,h,S;let{theme:g}=e;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:null==(n=g.transitions)||null==(l=n.create)?void 0:l.call(n,"fill",{duration:null==(o=(null!=(v=g.vars)?v:g).transitions)||null==(t=o.duration)?void 0:t.shorter}),variants:[{props:e=>!e.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:(null==(i=g.typography)||null==(r=i.pxToRem)?void 0:r.call(i,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:(null==(s=g.typography)||null==(a=s.pxToRem)?void 0:a.call(s,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:(null==(u=g.typography)||null==(c=u.pxToRem)?void 0:c.call(u,35))||"2.1875rem"}},...Object.entries((null!=(y=g.vars)?y:g).palette).filter(e=>{let[,t]=e;return t&&t.main}).map(e=>{var t,o,l;let[n]=e;return{props:{color:n},style:{color:null==(o=(null!=(l=g.vars)?l:g).palette)||null==(t=o[n])?void 0:t.main}}}),{props:{color:"action"},style:{color:null==(p=(null!=(h=g.vars)?h:g).palette)||null==(f=p.action)?void 0:f.active}},{props:{color:"disabled"},style:{color:null==(m=(null!=(S=g.vars)?S:g).palette)||null==(d=m.action)?void 0:d.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),v=l.forwardRef(function(e,t){let o=(0,c.b)({props:e,name:"MuiSvgIcon"}),{children:a,className:s,color:u="inherit",component:f="svg",fontSize:v="medium",htmlColor:y,inheritViewBox:h=!1,titleAccess:S,viewBox:g="0 0 24 24",...A}=o,z=l.isValidElement(a)&&"svg"===a.type,N={...o,color:u,component:f,fontSize:v,instanceFontSize:e.fontSize,inheritViewBox:h,viewBox:g,hasSvgAsChild:z},b={};h||(b.viewBox=g);let k=(e=>{let{color:t,fontSize:o,classes:l}=e,n={root:["root","inherit"!==t&&"color".concat((0,i.A)(t)),"fontSize".concat((0,i.A)(o))]};return(0,r.A)(n,p,l)})(N);return(0,d.jsxs)(m,{as:f,className:(0,n.A)(k.root,s),focusable:"false",color:y,"aria-hidden":!S||void 0,role:S?"img":void 0,ref:t,...b,...A,...z&&a.props,ownerState:N,children:[z?a.props.children:a,S?(0,d.jsx)("title",{children:S}):null]})});function y(e,t){function o(t,o){return(0,d.jsx)(v,{"data-testid":void 0,ref:o,...t,children:e})}return o.muiName=v.muiName,l.memo(l.forwardRef(o))}v.muiName="SvgIcon"},8804:(e,t,o)=>{o.d(t,{A:()=>c});var l=o(3786),n=o(4620),r=o(2902);let i=function(e,t=[]){if(void 0===e)return{};let o={};return Object.keys(e).filter(o=>o.match(/^on[A-Z]/)&&"function"==typeof e[o]&&!t.includes(o)).forEach(t=>{o[t]=e[t]}),o},a=function(e){if(void 0===e)return{};let t={};return Object.keys(e).filter(t=>!(t.match(/^on[A-Z]/)&&"function"==typeof e[t])).forEach(o=>{t[o]=e[o]}),t},s=function(e){let{getSlotProps:t,additionalProps:o,externalSlotProps:l,externalForwardedProps:n,className:s}=e;if(!t){let e=(0,r.A)(o?.className,s,n?.className,l?.className),t={...o?.style,...n?.style,...l?.style},i={...o,...n,...l};return e.length>0&&(i.className=e),Object.keys(t).length>0&&(i.style=t),{props:i,internalRef:void 0}}let c=i({...n,...l}),u=a(l),f=a(n),p=t(c),d=(0,r.A)(p?.className,o?.className,s,n?.className,l?.className),m={...p?.style,...o?.style,...n?.style,...l?.style},v={...p,...o,...f,...u};return d.length>0&&(v.className=d),Object.keys(m).length>0&&(v.style=m),{props:v,internalRef:p.ref}};function c(e,t){var o,r;let{className:i,elementType:a,ownerState:c,externalForwardedProps:u,internalForwardedProps:f,shouldForwardComponentProp:p=!1,...d}=t,{component:m,slots:v={[e]:void 0},slotProps:y={[e]:void 0},...h}=u,S=v[e]||a,g=(o=y[e],"function"==typeof o?o(c,void 0):o),{props:{component:A,...z},internalRef:N}=s({className:i,...d,externalForwardedProps:"root"===e?h:void 0,externalSlotProps:g}),b=(0,l.A)(N,null==g?void 0:g.ref,t.ref),k="root"===e?A||m:A,w=(r={..."root"===e&&!m&&!v[e]&&f,..."root"!==e&&!v[e]&&f,...z,...k&&!p&&{as:k},...k&&p&&{component:k},ref:b},void 0===S||(0,n.A)(S)?r:{...r,ownerState:{...r.ownerState,...c}});return[S,w]}}}]);

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

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 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[949],{4620:(e,t,o)=>{o.d(t,{A:()=>l});let l=function(e){return"string"==typeof e}},6678:(e,t,o)=>{o.d(t,{A:()=>n});var l=o(4620);let n=function(e,t,o){return void 0===e||(0,l.A)(e)?t:{...t,ownerState:{...t.ownerState,...o}}}},6924:(e,t,o)=>{o.d(t,{A:()=>l});let l=function(e,t,o){return"function"==typeof e?e(t,o):e}},7814:(e,t,o)=>{o.d(t,{A:()=>l});let l=function(e,t=[]){if(void 0===e)return{};let o={};return Object.keys(e).filter(o=>o.match(/^on[A-Z]/)&&"function"==typeof e[o]&&!t.includes(o)).forEach(t=>{o[t]=e[t]}),o}},7972:(e,t,o)=>{o.d(t,{A:()=>a});var l=o(3786),n=o(6678),r=o(6924),i=o(9826);function a(e,t){let{className:o,elementType:a,ownerState:s,externalForwardedProps:c,internalForwardedProps:u,shouldForwardComponentProp:f=!1,...d}=t,{component:p,slots:m={[e]:void 0},slotProps:v={[e]:void 0},...y}=c,h=m[e]||a,S=(0,r.A)(v[e],s),{props:{component:A,...g},internalRef:z}=(0,i.A)({className:o,...d,externalForwardedProps:"root"===e?y:void 0,externalSlotProps:S}),N=(0,l.A)(z,null==S?void 0:S.ref,t.ref),b="root"===e?A||p:A,k=(0,n.A)(h,{..."root"===e&&!p&&!m[e]&&u,..."root"!==e&&!m[e]&&u,...g,...b&&!f&&{as:b},...b&&f&&{component:b},ref:N},s);return[h,k]}},8703:(e,t,o)=>{o.d(t,{A:()=>y});var l=o(7620),n=o(2902),r=o(7138),i=o(9407),a=o(8613),s=o(9468),c=o(5120),u=o(8020),f=o(3664);function d(e){return(0,f.Ay)("MuiSvgIcon",e)}(0,u.A)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var p=o(4568);let m=(0,a.default)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:o}=e;return[t.root,"inherit"!==o.color&&t["color".concat((0,i.A)(o.color))],t["fontSize".concat((0,i.A)(o.fontSize))]]}})((0,s.A)(e=>{var t,o,l,n,r,i,a,s,c,u,f,d,p,m,v,y,h,S;let{theme:A}=e;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:null==(n=A.transitions)||null==(l=n.create)?void 0:l.call(n,"fill",{duration:null==(o=(null!=(v=A.vars)?v:A).transitions)||null==(t=o.duration)?void 0:t.shorter}),variants:[{props:e=>!e.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:(null==(i=A.typography)||null==(r=i.pxToRem)?void 0:r.call(i,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:(null==(s=A.typography)||null==(a=s.pxToRem)?void 0:a.call(s,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:(null==(u=A.typography)||null==(c=u.pxToRem)?void 0:c.call(u,35))||"2.1875rem"}},...Object.entries((null!=(y=A.vars)?y:A).palette).filter(e=>{let[,t]=e;return t&&t.main}).map(e=>{var t,o,l;let[n]=e;return{props:{color:n},style:{color:null==(o=(null!=(l=A.vars)?l:A).palette)||null==(t=o[n])?void 0:t.main}}}),{props:{color:"action"},style:{color:null==(d=(null!=(h=A.vars)?h:A).palette)||null==(f=d.action)?void 0:f.active}},{props:{color:"disabled"},style:{color:null==(m=(null!=(S=A.vars)?S:A).palette)||null==(p=m.action)?void 0:p.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),v=l.forwardRef(function(e,t){let o=(0,c.b)({props:e,name:"MuiSvgIcon"}),{children:a,className:s,color:u="inherit",component:f="svg",fontSize:v="medium",htmlColor:y,inheritViewBox:h=!1,titleAccess:S,viewBox:A="0 0 24 24",...g}=o,z=l.isValidElement(a)&&"svg"===a.type,N={...o,color:u,component:f,fontSize:v,instanceFontSize:e.fontSize,inheritViewBox:h,viewBox:A,hasSvgAsChild:z},b={};h||(b.viewBox=A);let k=(e=>{let{color:t,fontSize:o,classes:l}=e,n={root:["root","inherit"!==t&&"color".concat((0,i.A)(t)),"fontSize".concat((0,i.A)(o))]};return(0,r.A)(n,d,l)})(N);return(0,p.jsxs)(m,{as:f,className:(0,n.A)(k.root,s),focusable:"false",color:y,"aria-hidden":!S||void 0,role:S?"img":void 0,ref:t,...b,...g,...z&&a.props,ownerState:N,children:[z?a.props.children:a,S?(0,p.jsx)("title",{children:S}):null]})});function y(e,t){function o(t,o){return(0,p.jsx)(v,{"data-testid":void 0,ref:o,...t,children:e})}return o.muiName=v.muiName,l.memo(l.forwardRef(o))}v.muiName="SvgIcon"},9826:(e,t,o)=>{o.d(t,{A:()=>i});var l=o(2902),n=o(7814);let r=function(e){if(void 0===e)return{};let t={};return Object.keys(e).filter(t=>!(t.match(/^on[A-Z]/)&&"function"==typeof e[t])).forEach(o=>{t[o]=e[o]}),t},i=function(e){let{getSlotProps:t,additionalProps:o,externalSlotProps:i,externalForwardedProps:a,className:s}=e;if(!t){let e=(0,l.A)(o?.className,s,a?.className,i?.className),t={...o?.style,...a?.style,...i?.style},n={...o,...a,...i};return e.length>0&&(n.className=e),Object.keys(t).length>0&&(n.style=t),{props:n,internalRef:void 0}}let c=(0,n.A)({...a,...i}),u=r(i),f=r(a),d=t(c),p=(0,l.A)(d?.className,o?.className,s,a?.className,i?.className),m={...d?.style,...o?.style,...a?.style,...i?.style},v={...d,...o,...f,...u};return p.length>0&&(v.className=p),Object.keys(m).length>0&&(v.style=m),{props:v,internalRef:d.ref}}}}]);

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([[954],{324:(e,s,l)=>{"use strict";l.d(s,{Sidebar:()=>M});var a=l(4568),r=l(7541),t=l(1284),n=l(6987),i=l(6763),o=l(6262),d=l(5431),c=l(3775),h=l(1084),x=l(2278),b=l(2775),p=l(812),u=l(1166),g=l(2010),y=l(1441),m=l(3791),j=l(7740),A=l(1037);function M(){var e,s,l,M,k,v;let f=(0,r.useRouter)(),P=(0,r.usePathname)(),{t:C}=(0,j.s9)(),R=[{key:"dashboard",path:"/dashboard",label:null!=(e=C("nav.dashboard"))?e:"Dashboard",icon:(0,a.jsx)(h.A,{})},{key:"meetings",path:"/meetings",label:null!=(s=C("nav.meetings"))?s:"Meetings",icon:(0,a.jsx)(x.A,{})},{key:"record",path:"/record",label:null!=(l=C("nav.record"))?l:"Record",icon:(0,a.jsx)(b.A,{})},{key:"teams",path:"/teams",label:null!=(M=C("nav.teams"))?M:"Teams",icon:(0,a.jsx)(p.A,{})},{key:"billing",path:"/billing",label:null!=(k=C("nav.billing"))?k:"Billing",icon:(0,a.jsx)(u.A,{})}];async function _(){let e=(0,A.c)();await e.auth.signOut(),f.replace("/login")}return(0,a.jsxs)(t.default,{sx:{width:240,minHeight:"100vh",bgcolor:m.sM.bg.sidebar,borderRight:"1px solid ".concat(m.sM.border.default),display:"flex",flexDirection:"column"},children:[(0,a.jsx)(t.default,{sx:{p:3,borderBottom:"1px solid ".concat(m.sM.border.default)},children:(0,a.jsx)(y.Rk,{variant:"heading",children:"D3RO VOICE"})}),(0,a.jsx)(n.A,{sx:{flex:1,py:2},children:R.map(e=>{let s=P===e.path||P.startsWith("".concat(e.path,"/"));return(0,a.jsx)(i.Ay,{disablePadding:!0,children:(0,a.jsxs)(o.A,{selected:s,onClick:()=>f.push(e.path),sx:{"&.Mui-selected":{bgcolor:m.sM.bg.inset,borderLeft:"3px solid ".concat(m.sM.accent.amber)}},children:[(0,a.jsx)(d.A,{sx:{color:s?m.sM.accent.amber:m.sM.text.label},children:e.icon}),(0,a.jsx)(c.A,{primary:e.label,primaryTypographyProps:{color:s?m.sM.text.primary:m.sM.text.secondary}})]})},e.key)})}),(0,a.jsx)(n.A,{sx:{borderTop:"1px solid ".concat(m.sM.border.default)},children:(0,a.jsx)(i.Ay,{disablePadding:!0,children:(0,a.jsxs)(o.A,{onClick:()=>void _(),children:[(0,a.jsx)(d.A,{sx:{color:m.sM.text.label},children:(0,a.jsx)(g.A,{})}),(0,a.jsx)(c.A,{primary:null!=(v=C("nav.logout"))?v:"Logout",primaryTypographyProps:{color:m.sM.text.secondary}})]})})})]})}},1441:(e,s,l)=>{"use strict";l.d(s,{Rk:()=>r.PhosphorText,Uu:()=>a.MetalCard}),l(4070),l(9006),l(5281),l(6652);var a=l(9502),r=l(215);l(2517),l(1459),l(984)},7963:(e,s,l)=>{Promise.resolve().then(l.bind(l,324)),Promise.resolve().then(l.bind(l,1284))}},e=>{e.O(0,[385,77,988,189,949,473,791,803,910,587,18,358],()=>e(e.s=7963)),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[954],{324:(e,s,r)=>{"use strict";r.d(s,{Sidebar:()=>m});var a=r(4568),l=r(7541),o=r(1284),t=r(6987),n=r(3133),i=r(5193),d=r(5431),c=r(3775),h=r(1084),x=r(2278),p=r(2775),b=r(2010),u=r(1441),y=r(3791),g=r(7740),j=r(1037);function m(){var e,s,r,m;let M=(0,l.useRouter)(),A=(0,l.usePathname)(),{t:f}=(0,g.s9)(),k=[{key:"dashboard",path:"/dashboard",label:null!=(e=f("nav.dashboard"))?e:"Dashboard",icon:(0,a.jsx)(h.A,{})},{key:"meetings",path:"/meetings",label:null!=(s=f("nav.meetings"))?s:"Meetings",icon:(0,a.jsx)(x.A,{})},{key:"record",path:"/record",label:null!=(r=f("nav.record"))?r:"Record",icon:(0,a.jsx)(p.A,{})}];async function v(){let e=(0,j.c)();await e.auth.signOut(),M.replace("/login")}return(0,a.jsxs)(o.default,{sx:{width:240,minHeight:"100vh",bgcolor:y.sM.bg.sidebar,borderRight:"1px solid ".concat(y.sM.border.default),display:"flex",flexDirection:"column"},children:[(0,a.jsx)(o.default,{sx:{p:3,borderBottom:"1px solid ".concat(y.sM.border.default)},children:(0,a.jsx)(u.Rk,{variant:"heading",children:"D3RO VOICE"})}),(0,a.jsx)(t.A,{sx:{flex:1,py:2},children:k.map(e=>{let s=A===e.path||A.startsWith("".concat(e.path,"/"));return(0,a.jsx)(n.Ay,{disablePadding:!0,children:(0,a.jsxs)(i.A,{selected:s,onClick:()=>M.push(e.path),sx:{"&.Mui-selected":{bgcolor:y.sM.bg.inset,borderLeft:"3px solid ".concat(y.sM.accent.amber)}},children:[(0,a.jsx)(d.A,{sx:{color:s?y.sM.accent.amber:y.sM.text.label},children:e.icon}),(0,a.jsx)(c.A,{primary:e.label,primaryTypographyProps:{color:s?y.sM.text.primary:y.sM.text.secondary}})]})},e.key)})}),(0,a.jsx)(t.A,{sx:{borderTop:"1px solid ".concat(y.sM.border.default)},children:(0,a.jsx)(n.Ay,{disablePadding:!0,children:(0,a.jsxs)(i.A,{onClick:()=>void v(),children:[(0,a.jsx)(d.A,{sx:{color:y.sM.text.label},children:(0,a.jsx)(b.A,{})}),(0,a.jsx)(c.A,{primary:null!=(m=f("nav.logout"))?m:"Logout",primaryTypographyProps:{color:y.sM.text.secondary}})]})})})]})}},1441:(e,s,r)=>{"use strict";r.d(s,{Rk:()=>l.PhosphorText,Uu:()=>a.MetalCard}),r(4070),r(9006),r(5281),r(6652);var a=r(9502),l=r(215);r(2517),r(1459),r(984)},7963:(e,s,r)=>{Promise.resolve().then(r.bind(r,324)),Promise.resolve().then(r.bind(r,1284))}},e=>{e.O(0,[385,77,988,189,140,576,791,184,910,587,18,358],()=>e(e.s=7963)),_N_E=e.O()}]);

View file

@ -1 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{255:(e,t,r)=>{Promise.resolve().then(r.bind(r,1598)),Promise.resolve().then(r.bind(r,1732)),Promise.resolve().then(r.bind(r,7455))},1598:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,AuthProvider:()=>s});var o=r(4568),n=r(7620),l=r(1037);let a=(0,n.createContext)({session:null,user:null,loading:!0});function s(e){var t;let{children:r}=e,[s,c]=(0,n.useState)(null),[i,u]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{let e=(0,l.c)();e.auth.getSession().then(e=>{let{data:t}=e;c(t.session)}).finally(()=>{u(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{c(t)});return()=>{t.unsubscribe()}},[]),(0,o.jsx)(a.Provider,{value:{session:s,user:null!=(t=null==s?void 0:s.user)?t:null,loading:i},children:r})}function c(){return(0,n.useContext)(a)}},1732:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>s});var o=r(4568),n=r(7740);let l="d3ro.voice.locale",a={load:()=>{try{return window.localStorage.getItem(l)}catch(e){return null}},save:e=>{try{window.localStorage.setItem(l,e)}catch(e){}}};function s(e){let{children:t}=e;return(0,o.jsx)(n.CY,{storage:a,children:t})}},7455:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>f});var o=r(4568),n=r(7620),l=r(9746),a=r(6480),s=r(5120);let c="function"==typeof(0,a.Dp)({}),i=function(e){var t,r;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n={};o&&e.colorSchemes&&"function"==typeof e.getColorSchemeSelector&&Object.entries(e.colorSchemes).forEach(t=>{var r,o;let[l,a]=t,s=e.getColorSchemeSelector(l);s.startsWith("@")?n[s]={":root":{colorScheme:null==(r=a.palette)?void 0:r.mode}}:n[s.replace(/\s*&/,"")]={colorScheme:null==(o=a.palette)?void 0:o.mode}});let l={html:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...o&&!e.vars&&{colorScheme:e.palette.mode}},"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:{margin:0,...{color:(e.vars||e).palette.text.primary,...e.typography.body1,backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}},"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}},...n},a=null==(r=e.components)||null==(t=r.MuiCssBaseline)?void 0:t.styleOverrides;return a&&(l=[l,a]),l},u="mui-ecs",h=(0,a.Dp)(c?e=>{let{theme:t,enableColorScheme:r}=e;return i(t,r)}:e=>{let{theme:t}=e;return(e=>{let t=i(e,!1),r=Array.isArray(t)?t[0]:t;return!e.vars&&r&&(r.html[":root:has(".concat(u,")")]={colorScheme:e.palette.mode}),e.colorSchemes&&Object.entries(e.colorSchemes).forEach(t=>{var o,n;let[l,a]=t,s=e.getColorSchemeSelector(l);s.startsWith("@")?r[s]={[":root:not(:has(.".concat(u,"))")]:{colorScheme:null==(o=a.palette)?void 0:o.mode}}:r[s.replace(/\s*&/,"")]={["&:not(:has(.".concat(u,"))")]:{colorScheme:null==(n=a.palette)?void 0:n.mode}}}),t})(t)}),d=function(e){let{children:t,enableColorScheme:r=!1}=(0,s.b)({props:e,name:"MuiCssBaseline"});return(0,o.jsxs)(n.Fragment,{children:[c&&(0,o.jsx)(h,{enableColorScheme:r}),!c&&!r&&(0,o.jsx)("span",{className:u,style:{display:"none"}}),t]})};var m=r(1828),v=r(3459),p=r(7541);function y(e){let{options:t,CacheProvider:r=v.C,children:l}=e,[a]=n.useState(()=>{var e;let r=(0,m.A)({...t,key:null!=(e=null==t?void 0:t.key)?e:"mui"});r.compat=!0;let o=r.insert,n=[];return r.insert=function(){for(var e=arguments.length,l=Array(e),a=0;a<e;a++)l[a]=arguments[a];(null==t?void 0:t.enableCssLayer)&&!l[1].styles.match(/^@layer\s+[^{]*$/)&&(l[1].styles="@layer mui {".concat(l[1].styles,"}"));let[s,c]=l;return void 0===r.inserted[c.name]&&n.push({name:c.name,isGlobal:!s}),o(...l)},{cache:r,flush:()=>{let e=n;return n=[],e}}});return(0,p.useServerInsertedHTML)(()=>{let e=a.flush();if(0===e.length)return null;let r="",l=a.cache.key,s=[];return e.forEach(e=>{let{name:t,isGlobal:o}=e,n=a.cache.inserted[t];"string"==typeof n&&(o?s.push({name:t,style:n}):(r+=n,l+=" ".concat(t)))}),(0,o.jsxs)(n.Fragment,{children:[s.map(e=>{let{name:r,style:n}=e;return(0,o.jsx)("style",{nonce:null==t?void 0:t.nonce,"data-emotion":"".concat(a.cache.key,"-global ").concat(r),dangerouslySetInnerHTML:{__html:n}},r)}),r&&(0,o.jsx)("style",{nonce:null==t?void 0:t.nonce,"data-emotion":l,dangerouslySetInnerHTML:{__html:r}})]})}),(0,o.jsx)(r,{value:a.cache,children:l})}var g=r(3791);function f(e){let{children:t}=e,r=(0,n.useMemo)(()=>(0,g.O4)("dark",!0),[]);return(0,o.jsx)(y,{options:{key:"d3ro-mui",enableCssLayer:!0},children:(0,o.jsxs)(l.default,{theme:r,children:[(0,o.jsx)(d,{}),t]})})}}},e=>{e.O(0,[385,77,988,746,791,184,587,18,358],()=>e(e.s=255)),_N_E=e.O()}]);
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{255:(e,t,r)=>{Promise.resolve().then(r.bind(r,1598)),Promise.resolve().then(r.bind(r,1732)),Promise.resolve().then(r.bind(r,7455))},1598:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,AuthProvider:()=>s});var o=r(4568),n=r(7620),l=r(1037);let a=(0,n.createContext)({session:null,user:null,loading:!0});function s(e){var t;let{children:r}=e,[s,c]=(0,n.useState)(null),[i,u]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{let e=(0,l.c)();e.auth.getSession().then(e=>{let{data:t}=e;c(t.session)}).finally(()=>{u(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{c(t)});return()=>{t.unsubscribe()}},[]),(0,o.jsx)(a.Provider,{value:{session:s,user:null!=(t=null==s?void 0:s.user)?t:null,loading:i},children:r})}function c(){return(0,n.useContext)(a)}},1732:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>s});var o=r(4568),n=r(7740);let l="d3ro.voice.locale",a={load:()=>{try{return window.localStorage.getItem(l)}catch(e){return null}},save:e=>{try{window.localStorage.setItem(l,e)}catch(e){}}};function s(e){let{children:t}=e;return(0,o.jsx)(n.CY,{storage:a,children:t})}},7455:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>f});var o=r(4568),n=r(7620),l=r(9746),a=r(6480),s=r(5120);let c="function"==typeof(0,a.Dp)({}),i=function(e){var t,r;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n={};o&&e.colorSchemes&&"function"==typeof e.getColorSchemeSelector&&Object.entries(e.colorSchemes).forEach(t=>{var r,o;let[l,a]=t,s=e.getColorSchemeSelector(l);s.startsWith("@")?n[s]={":root":{colorScheme:null==(r=a.palette)?void 0:r.mode}}:n[s.replace(/\s*&/,"")]={colorScheme:null==(o=a.palette)?void 0:o.mode}});let l={html:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...o&&!e.vars&&{colorScheme:e.palette.mode}},"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:{margin:0,...{color:(e.vars||e).palette.text.primary,...e.typography.body1,backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}},"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}},...n},a=null==(r=e.components)||null==(t=r.MuiCssBaseline)?void 0:t.styleOverrides;return a&&(l=[l,a]),l},u="mui-ecs",h=(0,a.Dp)(c?e=>{let{theme:t,enableColorScheme:r}=e;return i(t,r)}:e=>{let{theme:t}=e;return(e=>{let t=i(e,!1),r=Array.isArray(t)?t[0]:t;return!e.vars&&r&&(r.html[":root:has(".concat(u,")")]={colorScheme:e.palette.mode}),e.colorSchemes&&Object.entries(e.colorSchemes).forEach(t=>{var o,n;let[l,a]=t,s=e.getColorSchemeSelector(l);s.startsWith("@")?r[s]={[":root:not(:has(.".concat(u,"))")]:{colorScheme:null==(o=a.palette)?void 0:o.mode}}:r[s.replace(/\s*&/,"")]={["&:not(:has(.".concat(u,"))")]:{colorScheme:null==(n=a.palette)?void 0:n.mode}}}),t})(t)}),d=function(e){let{children:t,enableColorScheme:r=!1}=(0,s.b)({props:e,name:"MuiCssBaseline"});return(0,o.jsxs)(n.Fragment,{children:[c&&(0,o.jsx)(h,{enableColorScheme:r}),!c&&!r&&(0,o.jsx)("span",{className:u,style:{display:"none"}}),t]})};var m=r(1828),v=r(3459),p=r(7541);function y(e){let{options:t,CacheProvider:r=v.C,children:l}=e,[a]=n.useState(()=>{var e;let r=(0,m.A)({...t,key:null!=(e=null==t?void 0:t.key)?e:"mui"});r.compat=!0;let o=r.insert,n=[];return r.insert=function(){for(var e=arguments.length,l=Array(e),a=0;a<e;a++)l[a]=arguments[a];(null==t?void 0:t.enableCssLayer)&&!l[1].styles.match(/^@layer\s+[^{]*$/)&&(l[1].styles="@layer mui {".concat(l[1].styles,"}"));let[s,c]=l;return void 0===r.inserted[c.name]&&n.push({name:c.name,isGlobal:!s}),o(...l)},{cache:r,flush:()=>{let e=n;return n=[],e}}});return(0,p.useServerInsertedHTML)(()=>{let e=a.flush();if(0===e.length)return null;let r="",l=a.cache.key,s=[];return e.forEach(e=>{let{name:t,isGlobal:o}=e,n=a.cache.inserted[t];"string"==typeof n&&(o?s.push({name:t,style:n}):(r+=n,l+=" ".concat(t)))}),(0,o.jsxs)(n.Fragment,{children:[s.map(e=>{let{name:r,style:n}=e;return(0,o.jsx)("style",{nonce:null==t?void 0:t.nonce,"data-emotion":"".concat(a.cache.key,"-global ").concat(r),dangerouslySetInnerHTML:{__html:n}},r)}),r&&(0,o.jsx)("style",{nonce:null==t?void 0:t.nonce,"data-emotion":l,dangerouslySetInnerHTML:{__html:r}})]})}),(0,o.jsx)(r,{value:a.cache,children:l})}var g=r(3791);function f(e){let{children:t}=e,r=(0,n.useMemo)(()=>(0,g.O4)("dark",!0),[]);return(0,o.jsx)(y,{options:{key:"d3ro-mui",enableCssLayer:!0},children:(0,o.jsxs)(l.default,{theme:r,children:[(0,o.jsx)(d,{}),t]})})}}},e=>{e.O(0,[385,77,988,746,791,803,587,18,358],()=>e(e.s=255)),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[520],{1009:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>p});var l=n(4568),s=n(7541),a=n(7620),i=n(1284),r=n(5754),u=n(1181),o=n(2622),c=n(8703);let d=(0,c.A)((0,l.jsx)("path",{d:"M12.545,10.239v3.821h5.445c-0.712,2.315-2.647,3.972-5.445,3.972c-3.332,0-6.033-2.701-6.033-6.032s2.701-6.032,6.033-6.032c1.498,0,2.866,0.549,3.921,1.453l2.814-2.814C17.503,2.988,15.139,2,12.545,2C7.021,2,2.543,6.477,2.543,12s4.478,10,10.002,10c8.396,0,10.249-7.85,9.426-11.748L12.545,10.239z"}),"Google"),h=(0,c.A)((0,l.jsx)("path",{d:"M12 1.27a11 11 0 00-3.48 21.46c.55.09.73-.28.73-.55v-1.84c-3.03.64-3.67-1.46-3.67-1.46-.55-1.29-1.28-1.65-1.28-1.65-.92-.65.1-.65.1-.65 1.1 0 1.73 1.1 1.73 1.1.92 1.65 2.57 1.2 3.21.92a2 2 0 01.64-1.47c-2.47-.27-5.04-1.19-5.04-5.5 0-1.1.46-2.1 1.2-2.84a3.76 3.76 0 010-2.93s.91-.28 3.11 1.1c1.8-.49 3.7-.49 5.5 0 2.1-1.38 3.02-1.1 3.02-1.1a3.76 3.76 0 010 2.93c.83.74 1.2 1.74 1.2 2.94 0 4.21-2.57 5.13-5.04 5.4.45.37.82.92.82 2.02v3.03c0 .27.1.64.73.55A11 11 0 0012 1.27"}),"GitHub");var x=n(1441),g=n(3791),v=n(7740),f=n(1037),b=n(1598);function p(){var e,t,n,c;let p=(0,s.useRouter)(),{user:j,loading:A}=(0,b.A)(),{t:C}=(0,v.s9)(),[k,m]=(0,a.useState)(null),[w,S]=(0,a.useState)(!1),y=(0,f.$)();async function E(e){if(!y)return void m("Supabase 환경변수가 설정되지 않았습니다. apps/web/env.example.txt를 참고하세요.");m(null),S(!0);try{let t=(0,f.c)(),n="".concat(window.location.origin,"/auth/callback"),{error:l}=await t.auth.signInWithOAuth({provider:e,options:{redirectTo:n}});l&&(m(l.message),S(!1))}catch(e){m(e instanceof Error?e.message:"Unknown error"),S(!1)}}return(0,a.useEffect)(()=>{!A&&j&&p.replace("/dashboard")},[A,j,p]),(0,l.jsx)(i.default,{sx:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:g.sM.bg.app,p:4},children:(0,l.jsx)(x.Uu,{sx:{maxWidth:420,width:"100%",p:4},children:(0,l.jsxs)(r.default,{spacing:3,children:[(0,l.jsxs)(i.default,{sx:{textAlign:"center"},children:[(0,l.jsx)(x.Rk,{variant:"title",children:"D3RO VOICE"}),(0,l.jsx)(i.default,{sx:{mt:1,...(0,g.kR)("label"),color:g.sM.text.secondary},children:null!=(e=C("login.subtitle"))?e:"AI 음성 어시스턴트"})]}),!y&&(0,l.jsx)(u.A,{severity:"warning",variant:"outlined",children:"Supabase 환경변수가 설정되지 않았습니다. 로그인은 env 설정 후 가능합니다."}),k&&(0,l.jsx)(u.A,{severity:"error",variant:"outlined",children:k}),(0,l.jsxs)(r.default,{spacing:2,children:[(0,l.jsx)(o.A,{fullWidth:!0,variant:"contained",size:"large",startIcon:(0,l.jsx)(d,{}),disabled:w||!y,onClick:()=>void E("google"),children:null!=(t=C("login.google"))?t:"Google로 계속하기"}),(0,l.jsx)(o.A,{fullWidth:!0,variant:"outlined",size:"large",startIcon:(0,l.jsx)(h,{}),disabled:w||!y,onClick:()=>void E("github"),children:null!=(n=C("login.github"))?n:"GitHub로 계속하기"})]}),(0,l.jsx)(i.default,{sx:{textAlign:"center",color:g.sM.text.label,fontSize:12},children:null!=(c=C("login.terms"))?c:"계속 진행하면 이용약관 및 개인정보 처리방침에 동의합니다."})]})})})}},1441:(e,t,n)=>{"use strict";n.d(t,{Rk:()=>s.PhosphorText,Uu:()=>l.MetalCard}),n(4070),n(9006),n(5281),n(6652);var l=n(9502),s=n(215);n(2517),n(1459),n(984)},1598:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,AuthProvider:()=>r});var l=n(4568),s=n(7620),a=n(1037);let i=(0,s.createContext)({session:null,user:null,loading:!0});function r(e){var t;let{children:n}=e,[r,u]=(0,s.useState)(null),[o,c]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{let e=(0,a.c)();e.auth.getSession().then(e=>{let{data:t}=e;u(t.session)}).finally(()=>{c(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{u(t)});return()=>{t.unsubscribe()}},[]),(0,l.jsx)(i.Provider,{value:{session:r,user:null!=(t=null==r?void 0:r.user)?t:null,loading:o},children:n})}function u(){return(0,s.useContext)(i)}},8119:(e,t,n)=>{Promise.resolve().then(n.bind(n,1009))}},e=>{e.O(0,[385,77,988,189,140,374,791,184,910,587,18,358],()=>e(e.s=8119)),_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([[573],{324:(e,s,r)=>{"use strict";r.d(s,{Sidebar:()=>j});var o=r(4568),n=r(7541),i=r(1284),l=r(6987),t=r(6763),d=r(6262),a=r(5431),h=r(3775),b=r(1084),c=r(2278),m=r(2775),v=r(812),P=r(1166),x=r(2010),p=r(1441),u=r(3791),g=r(7740),y=r(1037);function j(){var e,s,r,j,M,f;let k=(0,n.useRouter)(),A=(0,n.usePathname)(),{t:C}=(0,g.s9)(),R=[{key:"dashboard",path:"/dashboard",label:null!=(e=C("nav.dashboard"))?e:"Dashboard",icon:(0,o.jsx)(b.A,{})},{key:"meetings",path:"/meetings",label:null!=(s=C("nav.meetings"))?s:"Meetings",icon:(0,o.jsx)(c.A,{})},{key:"record",path:"/record",label:null!=(r=C("nav.record"))?r:"Record",icon:(0,o.jsx)(m.A,{})},{key:"teams",path:"/teams",label:null!=(j=C("nav.teams"))?j:"Teams",icon:(0,o.jsx)(v.A,{})},{key:"billing",path:"/billing",label:null!=(M=C("nav.billing"))?M:"Billing",icon:(0,o.jsx)(P.A,{})}];async function T(){let e=(0,y.c)();await e.auth.signOut(),k.replace("/login")}return(0,o.jsxs)(i.default,{sx:{width:240,minHeight:"100vh",bgcolor:u.sM.bg.sidebar,borderRight:"1px solid ".concat(u.sM.border.default),display:"flex",flexDirection:"column"},children:[(0,o.jsx)(i.default,{sx:{p:3,borderBottom:"1px solid ".concat(u.sM.border.default)},children:(0,o.jsx)(p.Rk,{variant:"heading",children:"D3RO VOICE"})}),(0,o.jsx)(l.A,{sx:{flex:1,py:2},children:R.map(e=>{let s=A===e.path||A.startsWith("".concat(e.path,"/"));return(0,o.jsx)(t.Ay,{disablePadding:!0,children:(0,o.jsxs)(d.A,{selected:s,onClick:()=>k.push(e.path),sx:{"&.Mui-selected":{bgcolor:u.sM.bg.inset,borderLeft:"3px solid ".concat(u.sM.accent.amber)}},children:[(0,o.jsx)(a.A,{sx:{color:s?u.sM.accent.amber:u.sM.text.label},children:e.icon}),(0,o.jsx)(h.A,{primary:e.label,primaryTypographyProps:{color:s?u.sM.text.primary:u.sM.text.secondary}})]})},e.key)})}),(0,o.jsx)(l.A,{sx:{borderTop:"1px solid ".concat(u.sM.border.default)},children:(0,o.jsx)(t.Ay,{disablePadding:!0,children:(0,o.jsxs)(d.A,{onClick:()=>void T(),children:[(0,o.jsx)(a.A,{sx:{color:u.sM.text.label},children:(0,o.jsx)(x.A,{})}),(0,o.jsx)(h.A,{primary:null!=(f=C("nav.logout"))?f:"Logout",primaryTypographyProps:{color:u.sM.text.secondary}})]})})})]})}},1441:(e,s,r)=>{"use strict";r.d(s,{Rk:()=>n.PhosphorText,Uu:()=>o.MetalCard}),r(4070),r(9006),r(5281),r(6652);var o=r(9502),n=r(215);r(2517),r(1459),r(984)},3947:(e,s,r)=>{Promise.resolve().then(r.bind(r,324)),Promise.resolve().then(r.bind(r,1284)),Promise.resolve().then(r.bind(r,5754)),Promise.resolve().then(r.bind(r,7301)),Promise.resolve().then(r.bind(r,8613)),Promise.resolve().then(r.bind(r,9746)),Promise.resolve().then(r.bind(r,1379)),Promise.resolve().then(r.bind(r,1774)),Promise.resolve().then(r.bind(r,8448)),Promise.resolve().then(r.bind(r,7273)),Promise.resolve().then(r.bind(r,5608)),Promise.resolve().then(r.bind(r,1238)),Promise.resolve().then(r.bind(r,4590)),Promise.resolve().then(r.bind(r,3174)),Promise.resolve().then(r.bind(r,2421)),Promise.resolve().then(r.bind(r,8758)),Promise.resolve().then(r.bind(r,9969)),Promise.resolve().then(r.bind(r,8356)),Promise.resolve().then(r.bind(r,5845)),Promise.resolve().then(r.bind(r,3292)),Promise.resolve().then(r.bind(r,2406)),Promise.resolve().then(r.bind(r,2105)),Promise.resolve().then(r.bind(r,1374)),Promise.resolve().then(r.bind(r,1580)),Promise.resolve().then(r.bind(r,850)),Promise.resolve().then(r.bind(r,6310)),Promise.resolve().then(r.bind(r,984)),Promise.resolve().then(r.bind(r,4070)),Promise.resolve().then(r.bind(r,9006)),Promise.resolve().then(r.bind(r,5281)),Promise.resolve().then(r.bind(r,9502)),Promise.resolve().then(r.bind(r,2517)),Promise.resolve().then(r.bind(r,215)),Promise.resolve().then(r.bind(r,6652)),Promise.resolve().then(r.bind(r,1459))},5754:(e,s,r)=>{"use strict";r.d(s,{default:()=>l});var o=r(3292),n=r(8613),i=r(5120);let l=(0,o.default)({createStyledComponent:(0,n.default)("div",{name:"MuiStack",slot:"Root"}),useThemeProps:e=>(0,i.b)({props:e,name:"MuiStack"})})}},e=>{e.O(0,[385,77,988,189,949,473,746,605,791,803,910,587,18,358],()=>e(e.s=3947)),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[573],{324:(e,s,r)=>{"use strict";r.d(s,{Sidebar:()=>y});var o=r(4568),n=r(7541),i=r(1284),t=r(6987),l=r(3133),d=r(5193),a=r(5431),h=r(3775),b=r(1084),c=r(2278),m=r(2775),v=r(2010),P=r(1441),x=r(3791),p=r(7740),u=r(1037);function y(){var e,s,r,y;let g=(0,n.useRouter)(),j=(0,n.usePathname)(),{t:M}=(0,p.s9)(),f=[{key:"dashboard",path:"/dashboard",label:null!=(e=M("nav.dashboard"))?e:"Dashboard",icon:(0,o.jsx)(b.A,{})},{key:"meetings",path:"/meetings",label:null!=(s=M("nav.meetings"))?s:"Meetings",icon:(0,o.jsx)(c.A,{})},{key:"record",path:"/record",label:null!=(r=M("nav.record"))?r:"Record",icon:(0,o.jsx)(m.A,{})}];async function k(){let e=(0,u.c)();await e.auth.signOut(),g.replace("/login")}return(0,o.jsxs)(i.default,{sx:{width:240,minHeight:"100vh",bgcolor:x.sM.bg.sidebar,borderRight:"1px solid ".concat(x.sM.border.default),display:"flex",flexDirection:"column"},children:[(0,o.jsx)(i.default,{sx:{p:3,borderBottom:"1px solid ".concat(x.sM.border.default)},children:(0,o.jsx)(P.Rk,{variant:"heading",children:"D3RO VOICE"})}),(0,o.jsx)(t.A,{sx:{flex:1,py:2},children:f.map(e=>{let s=j===e.path||j.startsWith("".concat(e.path,"/"));return(0,o.jsx)(l.Ay,{disablePadding:!0,children:(0,o.jsxs)(d.A,{selected:s,onClick:()=>g.push(e.path),sx:{"&.Mui-selected":{bgcolor:x.sM.bg.inset,borderLeft:"3px solid ".concat(x.sM.accent.amber)}},children:[(0,o.jsx)(a.A,{sx:{color:s?x.sM.accent.amber:x.sM.text.label},children:e.icon}),(0,o.jsx)(h.A,{primary:e.label,primaryTypographyProps:{color:s?x.sM.text.primary:x.sM.text.secondary}})]})},e.key)})}),(0,o.jsx)(t.A,{sx:{borderTop:"1px solid ".concat(x.sM.border.default)},children:(0,o.jsx)(l.Ay,{disablePadding:!0,children:(0,o.jsxs)(d.A,{onClick:()=>void k(),children:[(0,o.jsx)(a.A,{sx:{color:x.sM.text.label},children:(0,o.jsx)(v.A,{})}),(0,o.jsx)(h.A,{primary:null!=(y=M("nav.logout"))?y:"Logout",primaryTypographyProps:{color:x.sM.text.secondary}})]})})})]})}},1441:(e,s,r)=>{"use strict";r.d(s,{Rk:()=>n.PhosphorText,Uu:()=>o.MetalCard}),r(4070),r(9006),r(5281),r(6652);var o=r(9502),n=r(215);r(2517),r(1459),r(984)},3947:(e,s,r)=>{Promise.resolve().then(r.bind(r,324)),Promise.resolve().then(r.bind(r,1284)),Promise.resolve().then(r.bind(r,5754)),Promise.resolve().then(r.bind(r,7301)),Promise.resolve().then(r.bind(r,8613)),Promise.resolve().then(r.bind(r,9746)),Promise.resolve().then(r.bind(r,1379)),Promise.resolve().then(r.bind(r,1774)),Promise.resolve().then(r.bind(r,8448)),Promise.resolve().then(r.bind(r,7273)),Promise.resolve().then(r.bind(r,5608)),Promise.resolve().then(r.bind(r,1238)),Promise.resolve().then(r.bind(r,4590)),Promise.resolve().then(r.bind(r,3174)),Promise.resolve().then(r.bind(r,2421)),Promise.resolve().then(r.bind(r,8758)),Promise.resolve().then(r.bind(r,9969)),Promise.resolve().then(r.bind(r,8356)),Promise.resolve().then(r.bind(r,5845)),Promise.resolve().then(r.bind(r,3292)),Promise.resolve().then(r.bind(r,2406)),Promise.resolve().then(r.bind(r,2105)),Promise.resolve().then(r.bind(r,1374)),Promise.resolve().then(r.bind(r,1580)),Promise.resolve().then(r.bind(r,850)),Promise.resolve().then(r.bind(r,6310)),Promise.resolve().then(r.bind(r,984)),Promise.resolve().then(r.bind(r,4070)),Promise.resolve().then(r.bind(r,9006)),Promise.resolve().then(r.bind(r,5281)),Promise.resolve().then(r.bind(r,9502)),Promise.resolve().then(r.bind(r,2517)),Promise.resolve().then(r.bind(r,215)),Promise.resolve().then(r.bind(r,6652)),Promise.resolve().then(r.bind(r,1459))},5754:(e,s,r)=>{"use strict";r.d(s,{default:()=>t});var o=r(3292),n=r(8613),i=r(5120);let t=(0,o.default)({createStyledComponent:(0,n.default)("div",{name:"MuiStack",slot:"Root"}),useThemeProps:e=>(0,i.b)({props:e,name:"MuiStack"})})}},e=>{e.O(0,[385,77,988,189,140,576,746,605,791,184,910,587,18,358],()=>e(e.s=3947)),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[873],{324:(e,s,r)=>{"use strict";r.d(s,{Sidebar:()=>y});var o=r(4568),n=r(7541),i=r(1284),t=r(6987),l=r(3133),d=r(5193),a=r(5431),h=r(3775),b=r(1084),c=r(2278),m=r(2775),v=r(2010),P=r(1441),x=r(3791),p=r(7740),u=r(1037);function y(){var e,s,r,y;let g=(0,n.useRouter)(),j=(0,n.usePathname)(),{t:M}=(0,p.s9)(),A=[{key:"dashboard",path:"/dashboard",label:null!=(e=M("nav.dashboard"))?e:"Dashboard",icon:(0,o.jsx)(b.A,{})},{key:"meetings",path:"/meetings",label:null!=(s=M("nav.meetings"))?s:"Meetings",icon:(0,o.jsx)(c.A,{})},{key:"record",path:"/record",label:null!=(r=M("nav.record"))?r:"Record",icon:(0,o.jsx)(m.A,{})}];async function f(){let e=(0,u.c)();await e.auth.signOut(),g.replace("/login")}return(0,o.jsxs)(i.default,{sx:{width:240,minHeight:"100vh",bgcolor:x.sM.bg.sidebar,borderRight:"1px solid ".concat(x.sM.border.default),display:"flex",flexDirection:"column"},children:[(0,o.jsx)(i.default,{sx:{p:3,borderBottom:"1px solid ".concat(x.sM.border.default)},children:(0,o.jsx)(P.Rk,{variant:"heading",children:"D3RO VOICE"})}),(0,o.jsx)(t.A,{sx:{flex:1,py:2},children:A.map(e=>{let s=j===e.path||j.startsWith("".concat(e.path,"/"));return(0,o.jsx)(l.Ay,{disablePadding:!0,children:(0,o.jsxs)(d.A,{selected:s,onClick:()=>g.push(e.path),sx:{"&.Mui-selected":{bgcolor:x.sM.bg.inset,borderLeft:"3px solid ".concat(x.sM.accent.amber)}},children:[(0,o.jsx)(a.A,{sx:{color:s?x.sM.accent.amber:x.sM.text.label},children:e.icon}),(0,o.jsx)(h.A,{primary:e.label,primaryTypographyProps:{color:s?x.sM.text.primary:x.sM.text.secondary}})]})},e.key)})}),(0,o.jsx)(t.A,{sx:{borderTop:"1px solid ".concat(x.sM.border.default)},children:(0,o.jsx)(l.Ay,{disablePadding:!0,children:(0,o.jsxs)(d.A,{onClick:()=>void f(),children:[(0,o.jsx)(a.A,{sx:{color:x.sM.text.label},children:(0,o.jsx)(v.A,{})}),(0,o.jsx)(h.A,{primary:null!=(y=M("nav.logout"))?y:"Logout",primaryTypographyProps:{color:x.sM.text.secondary}})]})})})]})}},1441:(e,s,r)=>{"use strict";r.d(s,{Rk:()=>n.PhosphorText,Uu:()=>o.MetalCard}),r(4070),r(9006),r(5281),r(6652);var o=r(9502),n=r(215);r(2517),r(1459),r(984)},3380:(e,s,r)=>{Promise.resolve().then(r.bind(r,324)),Promise.resolve().then(r.bind(r,1284)),Promise.resolve().then(r.bind(r,7960)),Promise.resolve().then(r.bind(r,7301)),Promise.resolve().then(r.bind(r,8613)),Promise.resolve().then(r.bind(r,9746)),Promise.resolve().then(r.bind(r,1379)),Promise.resolve().then(r.bind(r,1774)),Promise.resolve().then(r.bind(r,8448)),Promise.resolve().then(r.bind(r,7273)),Promise.resolve().then(r.bind(r,5608)),Promise.resolve().then(r.bind(r,1238)),Promise.resolve().then(r.bind(r,4590)),Promise.resolve().then(r.bind(r,3174)),Promise.resolve().then(r.bind(r,2421)),Promise.resolve().then(r.bind(r,8758)),Promise.resolve().then(r.bind(r,9969)),Promise.resolve().then(r.bind(r,8356)),Promise.resolve().then(r.bind(r,5845)),Promise.resolve().then(r.bind(r,3292)),Promise.resolve().then(r.bind(r,2406)),Promise.resolve().then(r.bind(r,2105)),Promise.resolve().then(r.bind(r,1374)),Promise.resolve().then(r.bind(r,1580)),Promise.resolve().then(r.bind(r,850)),Promise.resolve().then(r.bind(r,6310)),Promise.resolve().then(r.t.bind(r,9664,23)),Promise.resolve().then(r.bind(r,984)),Promise.resolve().then(r.bind(r,4070)),Promise.resolve().then(r.bind(r,9006)),Promise.resolve().then(r.bind(r,5281)),Promise.resolve().then(r.bind(r,9502)),Promise.resolve().then(r.bind(r,2517)),Promise.resolve().then(r.bind(r,215)),Promise.resolve().then(r.bind(r,6652)),Promise.resolve().then(r.bind(r,1459))}},e=>{e.O(0,[385,77,988,189,140,576,746,605,381,791,184,910,587,18,358],()=>e(e.s=3380)),_N_E=e.O()}]);

View file

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[873],{324:(e,s,r)=>{"use strict";r.d(s,{Sidebar:()=>j});var n=r(4568),i=r(7541),o=r(1284),l=r(6987),t=r(6763),d=r(6262),a=r(5431),h=r(3775),b=r(1084),c=r(2278),m=r(2775),v=r(812),P=r(1166),x=r(2010),p=r(1441),u=r(3791),g=r(7740),y=r(1037);function j(){var e,s,r,j,A,M;let k=(0,i.useRouter)(),f=(0,i.usePathname)(),{t:C}=(0,g.s9)(),R=[{key:"dashboard",path:"/dashboard",label:null!=(e=C("nav.dashboard"))?e:"Dashboard",icon:(0,n.jsx)(b.A,{})},{key:"meetings",path:"/meetings",label:null!=(s=C("nav.meetings"))?s:"Meetings",icon:(0,n.jsx)(c.A,{})},{key:"record",path:"/record",label:null!=(r=C("nav.record"))?r:"Record",icon:(0,n.jsx)(m.A,{})},{key:"teams",path:"/teams",label:null!=(j=C("nav.teams"))?j:"Teams",icon:(0,n.jsx)(v.A,{})},{key:"billing",path:"/billing",label:null!=(A=C("nav.billing"))?A:"Billing",icon:(0,n.jsx)(P.A,{})}];async function _(){let e=(0,y.c)();await e.auth.signOut(),k.replace("/login")}return(0,n.jsxs)(o.default,{sx:{width:240,minHeight:"100vh",bgcolor:u.sM.bg.sidebar,borderRight:"1px solid ".concat(u.sM.border.default),display:"flex",flexDirection:"column"},children:[(0,n.jsx)(o.default,{sx:{p:3,borderBottom:"1px solid ".concat(u.sM.border.default)},children:(0,n.jsx)(p.Rk,{variant:"heading",children:"D3RO VOICE"})}),(0,n.jsx)(l.A,{sx:{flex:1,py:2},children:R.map(e=>{let s=f===e.path||f.startsWith("".concat(e.path,"/"));return(0,n.jsx)(t.Ay,{disablePadding:!0,children:(0,n.jsxs)(d.A,{selected:s,onClick:()=>k.push(e.path),sx:{"&.Mui-selected":{bgcolor:u.sM.bg.inset,borderLeft:"3px solid ".concat(u.sM.accent.amber)}},children:[(0,n.jsx)(a.A,{sx:{color:s?u.sM.accent.amber:u.sM.text.label},children:e.icon}),(0,n.jsx)(h.A,{primary:e.label,primaryTypographyProps:{color:s?u.sM.text.primary:u.sM.text.secondary}})]})},e.key)})}),(0,n.jsx)(l.A,{sx:{borderTop:"1px solid ".concat(u.sM.border.default)},children:(0,n.jsx)(t.Ay,{disablePadding:!0,children:(0,n.jsxs)(d.A,{onClick:()=>void _(),children:[(0,n.jsx)(a.A,{sx:{color:u.sM.text.label},children:(0,n.jsx)(x.A,{})}),(0,n.jsx)(h.A,{primary:null!=(M=C("nav.logout"))?M:"Logout",primaryTypographyProps:{color:u.sM.text.secondary}})]})})})]})}},1441:(e,s,r)=>{"use strict";r.d(s,{Rk:()=>i.PhosphorText,Uu:()=>n.MetalCard}),r(4070),r(9006),r(5281),r(6652);var n=r(9502),i=r(215);r(2517),r(1459),r(984)},3380:(e,s,r)=>{Promise.resolve().then(r.bind(r,324)),Promise.resolve().then(r.bind(r,1284)),Promise.resolve().then(r.bind(r,7960)),Promise.resolve().then(r.bind(r,7301)),Promise.resolve().then(r.bind(r,8613)),Promise.resolve().then(r.bind(r,9746)),Promise.resolve().then(r.bind(r,1379)),Promise.resolve().then(r.bind(r,1774)),Promise.resolve().then(r.bind(r,8448)),Promise.resolve().then(r.bind(r,7273)),Promise.resolve().then(r.bind(r,5608)),Promise.resolve().then(r.bind(r,1238)),Promise.resolve().then(r.bind(r,4590)),Promise.resolve().then(r.bind(r,3174)),Promise.resolve().then(r.bind(r,2421)),Promise.resolve().then(r.bind(r,8758)),Promise.resolve().then(r.bind(r,9969)),Promise.resolve().then(r.bind(r,8356)),Promise.resolve().then(r.bind(r,5845)),Promise.resolve().then(r.bind(r,3292)),Promise.resolve().then(r.bind(r,2406)),Promise.resolve().then(r.bind(r,2105)),Promise.resolve().then(r.bind(r,1374)),Promise.resolve().then(r.bind(r,1580)),Promise.resolve().then(r.bind(r,850)),Promise.resolve().then(r.bind(r,6310)),Promise.resolve().then(r.t.bind(r,9664,23)),Promise.resolve().then(r.bind(r,984)),Promise.resolve().then(r.bind(r,4070)),Promise.resolve().then(r.bind(r,9006)),Promise.resolve().then(r.bind(r,5281)),Promise.resolve().then(r.bind(r,9502)),Promise.resolve().then(r.bind(r,2517)),Promise.resolve().then(r.bind(r,215)),Promise.resolve().then(r.bind(r,6652)),Promise.resolve().then(r.bind(r,1459))}},e=>{e.O(0,[385,77,988,189,949,473,746,605,381,791,803,910,587,18,358],()=>e(e.s=3380)),_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

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.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:9,errorRate:1e-4,numBits:173,numHashes:14,bitArray:[0,0,r,1,1,e,r,r,r,e,r,e,e,r,r,e,e,r,e,r,e,r,e,r,e,r,e,e,e,e,r,r,e,r,e,r,e,r,e,e,e,e,e,e,r,e,r,r,r,r,e,r,r,r,r,e,r,r,e,e,r,e,e,e,e,e,r,e,e,r,e,e,r,r,e,r,r,r,r,e,e,r,r,e,e,e,e,e,e,e,e,e,e,r,r,r,r,e,r,e,r,r,r,r,r,r,r,e,e,e,e,e,e,e,e,r,e,e,r,e,r,r,e,r,e,e,e,r,e,e,r,r,r,r,e,r,r,r,e,r,r,e,e,r,e,r,r,r,r,r,r,e,r,e,r,e,r,e,e,e,e,e,e,e,r,e,r,e,e,e,r,e,r]},__routerFilterDynamic:{numItems:2,errorRate:1e-4,numBits:39,numHashes:14,bitArray:[r,e,r,e,e,r,e,e,e,r,r,e,r,e,e,r,r,e,r,e,e,e,r,e,e,r,e,e,r,r,e,e,e,r,r,e,r,e,r]},"/_error":["static/chunks/pages/_error-19ea2e6a6da76d0f.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();