mirror of
https://github.com/sstent/aicyclingcoach-go.git
synced 2026-04-05 04:23:56 +00:00
1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[447],{6593:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return i},ACTION_PREFETCH:function(){return s},ACTION_REFRESH:function(){return l},ACTION_RESTORE:function(){return c},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return u},PrefetchCacheEntryStatus:function(){return o},PrefetchKind:function(){return a},isThenable:function(){return p}});var r,n,a,o,l="refresh",i="navigate",c="restore",u="server-patch",s="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(r=a||(a={})).AUTO="auto",r.FULL="full",r.TEMPORARY="temporary",(n=o||(o={})).fresh="fresh",n.reusable="reusable",n.expired="expired",n.stale="stale",("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)},3617:function(e,t,r){"use strict";function n(e,t,r,n){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return n}}),r(1063),("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)},8065:function(e,t,r){"use strict";var n=r(968),a=r(3171),o=r(7069),l=["href","as","children","prefetch","passHref","replace","shallow","scroll","locale","onClick","onMouseEnter","onTouchStart","legacyBehavior"];function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return Z}});var u=r(8754),s=r(5893),f=u._(r(7294)),d=r(8364),p=r(5656),h=r(2151),v=r(9642),m=r(3443),y=r(1770),b=r(5074),g=r(1561),_=r(3617),N=r(5439),O=r(6593),x=new Set;function j(e,t,r,n,a,o){if(o||(0,p.isLocalURL)(t)){if(!n.bypassPrefetchedCheck){var l=t+"%"+r+"%"+(void 0!==n.locale?n.locale:"locale"in e?e.locale:void 0);if(x.has(l))return;x.add(l)}Promise.resolve(o?e.prefetch(t,a):e.prefetch(t,r,n)).catch(function(e){})}}function w(e){return"string"==typeof e?e:(0,h.formatUrl)(e)}var Z=f.default.forwardRef(function(e,t){var r,n,i=e.href,u=e.as,h=e.children,x=e.prefetch,Z=void 0===x?null:x,P=e.passHref,E=e.replace,k=e.shallow,C=e.scroll,S=e.locale,T=e.onClick,A=e.onMouseEnter,M=e.onTouchStart,I=e.legacyBehavior,R=void 0!==I&&I,B=o(e,l);r=h,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,s.jsx)("a",{children:r}));var X=f.default.useContext(y.RouterContext),L=f.default.useContext(b.AppRouterContext),D=null!=X?X:L,U=!X,H=!1!==Z,F=null===Z?O.PrefetchKind.AUTO:O.PrefetchKind.FULL,K=f.default.useMemo(function(){if(!X){var e=w(i);return{href:e,as:u?w(u):e}}var t=a((0,d.resolveHref)(X,i,!0),2),r=t[0],n=t[1];return{href:r,as:u?(0,d.resolveHref)(X,u):n||r}},[X,i,u]),V=K.href,q=K.as,z=f.default.useRef(V),G=f.default.useRef(q);R&&(n=f.default.Children.only(r));var W=R?n&&"object"==typeof n&&n.ref:t,Y=a((0,g.useIntersection)({rootMargin:"200px"}),3),$=Y[0],J=Y[1],Q=Y[2],ee=f.default.useCallback(function(e){(G.current!==q||z.current!==V)&&(Q(),G.current=q,z.current=V),$(e),W&&("function"==typeof W?W(e):"object"==typeof W&&(W.current=e))},[q,W,V,Q,$]);f.default.useEffect(function(){D&&J&&H&&j(D,V,q,{locale:S},{kind:F},U)},[q,V,J,S,H,null==X?void 0:X.locale,D,U,F]);var et={ref:ee,onClick:function(e){R||"function"!=typeof T||T(e),R&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),D&&!e.defaultPrevented&&function(e,t,r,n,a,o,l,i,c){if(!("A"===e.currentTarget.nodeName.toUpperCase()&&((u=e.currentTarget.getAttribute("target"))&&"_self"!==u||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which||!c&&!(0,p.isLocalURL)(r)))){e.preventDefault();var u,s=function(){var e=null==l||l;"beforePopState"in t?t[a?"replace":"push"](r,n,{shallow:o,locale:i,scroll:e}):t[a?"replace":"push"](n||r,{scroll:e})};c?f.default.startTransition(s):s()}}(e,D,V,q,E,k,C,S,U)},onMouseEnter:function(e){R||"function"!=typeof A||A(e),R&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),D&&(H||!U)&&j(D,V,q,{locale:S,priority:!0,bypassPrefetchedCheck:!0},{kind:F},U)},onTouchStart:function(e){R||"function"!=typeof M||M(e),R&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),D&&(H||!U)&&j(D,V,q,{locale:S,priority:!0,bypassPrefetchedCheck:!0},{kind:F},U)}};if((0,v.isAbsoluteUrl)(q))et.href=q;else if(!R||P||"a"===n.type&&!("href"in n.props)){var er=void 0!==S?S:null==X?void 0:X.locale,en=(null==X?void 0:X.isLocaleDomain)&&(0,_.getDomainLocale)(q,er,null==X?void 0:X.locales,null==X?void 0:X.domainLocales);et.href=en||(0,N.addBasePath)((0,m.addLocale)(q,er,null==X?void 0:X.defaultLocale))}return R?f.default.cloneElement(n,et):(0,s.jsx)("a",c(c(c({},B),et),{},{children:r}))});("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)},1561:function(e,t,r){"use strict";var n=r(3171);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return u}});var a=r(7294),o=r(1650),l="function"==typeof IntersectionObserver,i=new Map,c=[];function u(e){var t=e.rootRef,r=e.rootMargin,u=e.disabled||!l,s=n((0,a.useState)(!1),2),f=s[0],d=s[1],p=(0,a.useRef)(null),h=(0,a.useCallback)(function(e){p.current=e},[]);return(0,a.useEffect)(function(){if(l){if(!u&&!f){var e,n,a,s,h,v=p.current;if(v&&v.tagName)return e=function(e){return e&&d(e)},a=(n=function(e){var t,r={root:e.root||null,margin:e.rootMargin||""},n=c.find(function(e){return e.root===r.root&&e.margin===r.margin});if(n&&(t=i.get(n)))return t;var a=new Map;return t={id:r,observer:new IntersectionObserver(function(e){e.forEach(function(e){var t=a.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e),elements:a},c.push(r),i.set(r,t),t}({root:null==t?void 0:t.current,rootMargin:r})).id,s=n.observer,(h=n.elements).set(v,e),s.observe(v),function(){if(h.delete(v),s.unobserve(v),0===h.size){s.disconnect(),i.delete(a);var e=c.findIndex(function(e){return e.root===a.root&&e.margin===a.margin});e>-1&&c.splice(e,1)}}}}else if(!f){var m=(0,o.requestIdleCallback)(function(){return d(!0)});return function(){return(0,o.cancelIdleCallback)(m)}}},[u,r,t,f,p.current]),[h,f,(0,a.useCallback)(function(){d(!1)},[])]}("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)},2059:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return h}});var n=r(7812),a=r(1163),o=r(6835),l=r(29),i=r(4687),c=r.n(i),u=r(7294),s=r(1664),f=r.n(s),d=r(2364),p=function(e){var t=e.planId,r=(0,u.useState)(null),a=r[0],i=r[1],s=(0,u.useState)([]),p=s[0],h=s[1],v=(0,u.useState)(!0),m=v[0],y=v[1],b=(0,u.useState)(null),g=b[0],_=b[1];return((0,u.useEffect)(function(){var e;(e=(0,l.Z)(c().mark(function e(){var r,n,a,l,u,s;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Promise.all([fetch("/api/plans/".concat(t)),fetch("/api/plans/".concat(t,"/evolution"))]);case 3:if(r=e.sent,a=(n=(0,o.Z)(r,2))[0],l=n[1],!(!a.ok||!l.ok)){e.next=9;break}throw Error("Failed to load plan data");case 9:return e.next=11,a.json();case 11:return u=e.sent,e.next=14,l.json();case 14:s=e.sent,i(u),h(s.evolution_history||[]),_(null),e.next=24;break;case 20:e.prev=20,e.t0=e.catch(0),console.error("Plan load error:",e.t0),_(e.t0.message);case 24:return e.prev=24,y(!1),e.finish(24);case 27:case"end":return e.stop()}},e,null,[[0,20,24,27]])})),function(){return e.apply(this,arguments)})()},[t]),m)?(0,d.tZ)("div",{className:"p-4 space-y-4",children:(0,d.BX)("div",{className:"animate-pulse space-y-4",children:[(0,d.tZ)("div",{className:"h-6 bg-gray-200 rounded w-1/4"}),(0,d.tZ)("div",{className:"h-4 bg-gray-200 rounded w-1/2"}),(0,d.tZ)("div",{className:"space-y-2",children:(0,n.Z)([,,,]).map(function(e,t){return(0,d.tZ)("div",{className:"h-12 bg-gray-100 rounded-lg"},t)})})]})}):g?(0,d.BX)("div",{className:"p-4 text-red-600",children:["Error loading plan: ",g]}):(0,d.BX)("div",{className:"plan-timeline p-4 bg-white rounded-lg shadow",children:[(0,d.BX)("div",{className:"mb-6",children:[(0,d.BX)("h2",{className:"text-2xl font-semibold",children:[a.jsonb_plan.overview.focus," Training Plan"]}),(0,d.BX)("p",{className:"text-gray-600",children:[a.jsonb_plan.overview.duration_weeks," weeks •"," ",a.jsonb_plan.overview.total_weekly_hours," hours/week"]})]}),(0,d.tZ)("div",{className:"space-y-8",children:a.jsonb_plan.weeks.map(function(e,t){return(0,d.BX)("div",{className:"relative pl-6 border-l-2 border-gray-200",children:[(0,d.tZ)("div",{className:"absolute w-4 h-4 bg-blue-500 rounded-full -left-[9px] top-0"}),(0,d.BX)("div",{className:"mb-2",children:[(0,d.BX)("h3",{className:"text-lg font-semibold",children:["Week ",e.week_number]}),(0,d.tZ)("p",{className:"text-gray-600",children:e.focus})]}),(0,d.tZ)("div",{className:"space-y-4",children:e.workouts.map(function(e,t){return(0,d.tZ)("div",{className:"p-4 bg-gray-50 rounded-lg",children:(0,d.BX)("div",{className:"flex justify-between items-start",children:[(0,d.BX)("div",{children:[(0,d.tZ)("h4",{className:"font-medium",children:e.type.replace(/_/g," ")}),(0,d.tZ)("p",{className:"text-sm text-gray-600",children:e.description})]}),(0,d.BX)("div",{className:"text-right",children:[(0,d.BX)("p",{className:"text-gray-900",children:[e.duration_minutes," minutes"]}),(0,d.tZ)("p",{className:"text-sm text-gray-500 capitalize",children:e.intensity})]})]})},t)})})]},t)})}),p.length>0&&(0,d.BX)("div",{className:"mt-8 pt-6 border-t border-gray-200",children:[(0,d.tZ)("h3",{className:"text-lg font-semibold mb-4",children:"Version History"}),(0,d.tZ)("div",{className:"space-y-4",children:p.map(function(e,t){return(0,d.tZ)("div",{className:"p-4 bg-gray-50 rounded-lg",children:(0,d.BX)("div",{className:"flex justify-between items-start",children:[(0,d.BX)("div",{children:[(0,d.BX)("h4",{className:"font-medium",children:["Version ",e.version]}),(0,d.tZ)("p",{className:"text-sm text-gray-600",children:new Date(e.created_at).toLocaleDateString()}),e.changes_summary&&(0,d.tZ)("p",{className:"text-sm mt-2 text-gray-600",children:e.changes_summary})]}),(0,d.tZ)(f(),{href:"/plans/".concat(e.parent_plan_id),className:"text-blue-500 hover:text-blue-700 text-sm",children:"View →"})]})},t)})})]})]})},h=function(){var e=(0,a.useRouter)().query.planId;return e?(0,d.tZ)("div",{className:"min-h-screen bg-gray-50 p-4 md:p-6",children:(0,d.tZ)("div",{className:"max-w-4xl mx-auto",children:(0,d.tZ)(p,{planId:e})})}):(0,d.tZ)("div",{className:"min-h-screen bg-gray-50 p-4 md:p-6",children:(0,d.tZ)("div",{className:"max-w-4xl mx-auto",children:(0,d.tZ)("div",{className:"p-4 space-y-4",children:(0,d.BX)("div",{className:"animate-pulse space-y-4",children:[(0,d.tZ)("div",{className:"h-6 bg-gray-200 rounded w-1/4"}),(0,d.tZ)("div",{className:"h-4 bg-gray-200 rounded w-1/2"}),(0,d.tZ)("div",{className:"space-y-2",children:(0,n.Z)([,,,]).map(function(e,t){return(0,d.tZ)("div",{className:"h-12 bg-gray-100 rounded-lg"},t)})})]})})})})}},817:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/PlanDetails",function(){return r(2059)}])},1664:function(e,t,r){e.exports=r(8065)},1163:function(e,t,r){e.exports=r(8194)},2587:function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}r.d(t,{Z:function(){return n}})},6835:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(2937);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,l,i=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(u)throw a}}return i}}(e,t)||(0,n.Z)(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},7812:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(2587),a=r(2937);function o(e){return function(e){if(Array.isArray(e))return(0,n.Z)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||(0,a.Z)(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},2937:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(2587);function a(e,t){if(e){if("string"==typeof e)return(0,n.Z)(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return(0,n.Z)(e,t)}}}},function(e){e.O(0,[888,774,179],function(){return e(e.s=817)}),_N_E=e.O()}]); |