1"use strict";(self.webpackChunkmy_app=self.webpackChunkmy_app||[]).push([[5153],{77673:(e,a,t)=>{t.r(a),t.d(a,{default:()=>i});var l=t(96540),s=t(56347),c=t(41327),m=t(1187),n=(t(42163),t(90550)),r=t(6960);const i=()=>{const{accessChecked:e,canAccess:a}=(0,r.b)(),[t,i]=(0,l.useState)(!0),[d,o]=(0,l.useState)("30d"),[E,u]=(0,l.useState)(null),[v,N]=(0,l.useState)(null),[b,g]=(0,l.useState)([]);(0,l.useEffect)(()=>{h()},[d]);const h=async()=>{try{i(!0);const e={overview:{totalViews:15420,totalRevenue:2847.5,totalSubscribers:342,avgEngagementRate:8.7,growthRate:12.5},viewsByDay:Array.from({length:30},(e,a)=>({date:new Date(Date.now()-24*(29-a)*60*60*1e3).toISOString().split("T")[0],views:Math.floor(200*Math.random())+100,uniqueViews:Math.floor(150*Math.random())+70})),revenueByMonth:[{month:"2024-05",revenue:1205.3,posts:8},{month:"2024-06",revenue:1847.2,posts:12},{month:"2024-07",revenue:2234.8,posts:15},{month:"2024-08",revenue:2847.5,posts:18}],topPerformingPosts:[{id:"1",title:"Complete Guide to React Hooks",views:2847,revenue:284.7,engagementRate:15.2},{id:"2",title:"JavaScript ES2024 Features",views:2134,revenue:213.4,engagementRate:12.8},{id:"3",title:"Building RESTful APIs",views:1892,revenue:189.2,engagementRate:11.4},{id:"4",title:"CSS Grid Masterclass",views:1654,revenue:165.4,engagementRate:9.7},{id:"5",title:"TypeScript Best Practices",views:1423,revenue:142.3,engagementRate:8.9}],demographics:{countries:{"United States":45,Germany:20,"United Kingdom":15,Canada:10,Others:10},ageGroups:{"18-24":25,"25-34":40,"35-44":20,"45-54":10,"55+":5},devices:{Desktop:60,Mobile:35,Tablet:5}}};u(e),g(e.topPerformingPosts)}catch(e){n.oR.error("Failed to load analytics data")}finally{i(!1)}},p=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e),f=e=>new Intl.NumberFormat("en-US").format(e),w=e=>"".concat(e.toFixed(1),"%");return e?a?t?l.createElement("div",{className:"d-flex"},l.createElement(c.A,null),l.createElement("div",{className:"flex-grow-1"},l.createElement(m.A,null),l.createElement("div",{className:"container-fluid p-4"},l.createElement("div",{className:"text-center py-5"},l.createElement("div",{className:"spinner-border text-success",role:"status"},l.createElement("span",{className:"visually-hidden"},"Loading...")),l.createElement("p",{className:"mt-3 text-muted"},"Loading analytics..."))))):l.createElement("div",{className:"d-flex"},l.createElement(c.A,null),l.createElement("div",{className:"flex-grow-1"},l.createElement(m.A,null),l.createElement("div",{className:"container-fluid p-4"},l.createElement("div",{className:"d-flex justify-content-between align-items-center mb-4"},l.createElement("div",null,l.createElement("h1",{className:"h3 mb-0"},l.createElement("i",{className:"fas fa-chart-line text-success me-2"}),"Post Analytics"),l.createElement("p",{className:"text-muted"},"Track your content performance and audience insights")),l.createElement("div",{className:"d-flex gap-3"},l.createElement("select",{className:"form-select",value:d,onChange:e=>o(e.target.value)},l.createElement("option",{value:"7d"},"Last 7 days"),l.createElement("option",{value:"30d"},"Last 30 days"),l.createElement("option",{value:"90d"},"Last 3 months"),l.createElement("option",{value:"1y"},"Last year")),l.createElement("button",{className:"btn btn-outline-success"},l.createElement("i",{className:"fas fa-download me-2"}),"Export Report"))),E&&l.createElement(l.Fragment,null,l.createElement("div",{className:"row mb-4"},l.createElement("div",{className:"col-md-3 mb-3"},l.createElement("div",{className:"card h-100 bg-gradient-primary text-white"},l.createElement("div",{className:"card-body"},l.createElement("div",{className:"d-flex justify-content-between"},l.createElement("div",null,l.createElement("h6",{className:"card-title mb-1"},"Total Views"),l.createElement("h3",{className:"mb-0"},f(E.overview.totalViews)),l.createElement("small",{className:"opacity-75"},l.createElement("i",{className:"fas fa-arrow-up me-1"}),"+",w(E.overview.growthRate)," vs last period")),l.createElement("div",{className:"align-self-center"},l.createElement("i",{className:"fas fa-eye fa-2x opacity-75"})))))),l.createElement("div",{className:"col-md-3 mb-3"},l.createElement("div",{className:"card h-100 bg-gradient-success text-white"},l.createElement("div",{className:"card-body"},l.createElement("div",{className:"d-flex justify-content-between"},l.createElement("div",null,l.createElement("h6",{className:"card-title mb-1"},"Total Revenue"),l.createElement("h3",{className:"mb-0"},p(E.overview.totalRevenue)),l.createElement("small",{className:"opacity-75"},l.createElement("i",{className:"fas fa-arrow-up me-1"}),"+15.3% vs last period")),l.createElement("div",{className:"align-self-center"},l.createElement("i",{className:"fas fa-dollar-sign fa-2x opacity-75"})))))),l.createElement("div",{className:"col-md-3 mb-3"},l.createElement("div",{className:"card h-100 bg-gradient-info text-white"},l.createElement("div",{className:"card-body"},l.createElement("div",{className:"d-flex justify-content-between"},l.createElement("div",null,l.createElement("h6",{className:"card-title mb-1"},"Subscribers"),l.createElement("h3",{className:"mb-0"},f(E.overview.totalSubscribers)),l.createElement("small",{className:"opacity-75"},l.createElement("i",{className:"fas fa-arrow-up me-1"}),"+8.7% vs last period")),l.createElement("div",{className:"align-self-center"},l.createElement("i",{className:"fas fa-users fa-2x opacity-75"})))))),l.createElement("div",{className:"col-md-3 mb-3"},l.createElement("div",{className:"card h-100 bg-gradient-warning text-white"},l.createElement("div",{className:"card-body"},l.createElement("div",{className:"d-flex justify-content-between"},l.createElement("div",null,l.createElement("h6",{className:"card-title mb-1"},"Engagement Rate"),l.createElement("h3",{className:"mb-0"},w(E.overview.avgEngagementRate)),l.createElement("small",{className:"opacity-75"},l.createElement("i",{className:"fas fa-arrow-up me-1"}),"+2.1% vs last period")),l.createElement("div",{className:"align-self-center"},l.createElement("i",{className:"fas fa-heart fa-2x opacity-75"}))))))),l.createElement("div",{className:"row mb-4"},l.createElement("div",{className:"col-lg-8 mb-4"},l.createElement("div",{className:"card h-100"},l.createElement("div",{className:"card-header bg-white"},l.createElement("h5",{className:"mb-0"},l.createElement("i",{className:"fas fa-chart-area text-primary me-2"}),"Views Over Time")),l.createElement("div",{className:"card-body"},l.createElement("div",{className:"chart-placeholder text-center py-5 bg-light rounded"},l.createElement("i",{className:"fas fa-chart-line fa-3x text-muted mb-3"}),l.createElement("h6",{className:"text-muted"},"Views Chart"),l.createElement("p",{className:"text-muted small"},"Interactive chart showing daily views and unique views over the selected time period.",l.createElement("br",null),"Chart.js integration coming soon!"),l.createElement("div",{className:"mt-3"},l.createElement("div",{className:"d-flex justify-content-center gap-4"},l.createElement("div",null,l.createElement("span",{className:"badge bg-primary"},"Total Views"),l.createElement("div",{className:"mt-1"},l.createElement("strong",null,f(E.viewsByDay.reduce((e,a)=>e+a.views,0))))),l.createElement("div",null,l.createElement("span",{className:"badge bg-info"},"Unique Views"),l.createElement("div",{className:"mt-1"},l.createElement("strong",null,f(E.viewsByDay.reduce((e,a)=>e+a.uniqueViews,0))))))))))),l.createElement("div",{className:"col-lg-4 mb-4"},l.createElement("div",{className:"card h-100"},l.createElement("div",{className:"card-header bg-white"},l.createElement("h5",{className:"mb-0"},l.createElement("i",{className:"fas fa-chart-pie text-success me-2"}),"Revenue by Month")),l.createElement("div",{className:"card-body"},l.createElement("div",{className:"chart-placeholder text-center py-4 bg-light rounded"},l.createElement("i",{className:"fas fa-chart-pie fa-2x text-muted mb-2"}),l.createElement("h6",{className:"text-muted"},"Revenue Chart"),l.createElement("p",{className:"text-muted small"},"Monthly revenue breakdown")),l.createElement("div",{className:"mt-3"},E.revenueByMonth.map((e,a)=>l.createElement("div",{key:a,className:"d-flex justify-content-between align-items-center py-2 border-bottom"},l.createElement("span",{className:"small"},e.month),l.createElement("div",{className:"text-end"},l.createElement("div",{className:"fw-bold"},p(e.revenue)),l.createElement("small",{className:"text-muted"},e.posts," posts"))))))))),l.createElement("div",{className:"row mb-4"},l.createElement("div",{className:"col-lg-8 mb-4"},l.createElement("div",{className:"card"},l.createElement("div",{className:"card-header bg-white"},l.createElement("h5",{className:"mb-0"},l.createElement("i",{className:"fas fa-trophy text-warning me-2"}),"Top Performing Posts")),l.createElement("div",{className:"card-body p-0"},l.createElement("div",{className:"table-responsive"},l.createElement("table",{className:"table table-hover mb-0"},l.createElement("thead",{className:"table-light"}
1,l.createElement("tr",null,l.createElement("th",null,"Post Title"),l.createElement("th",null,"Views"),l.createElement("th",null,"Revenue"),l.createElement("th",null,"Engagement"),l.createElement("th",null,"Actions"))),l.createElement("tbody",null,b.map((e,a)=>l.createElement("tr",{key:e.id},l.createElement("td",null,l.createElement("div",{className:"d-flex align-items-center"},l.createElement("span",{className:"badge bg-warning text-dark me-2"},"#",a+1),l.createElement("div",null,l.createElement("div",{className:"fw-bold"},e.title),l.createElement("small",{className:"text-muted"},"Post ID: ",e.id)))),l.createElement("td",null,l.createElement("span",{className:"fw-bold"},f(e.views))),l.createElement("td",null,l.createElement("span",{className:"fw-bold text-success"},p(e.revenue))),l.createElement("td",null,l.createElement("span",{className:"badge bg-info"},w(e.engagementRate))),l.createElement("td",null,l.createElement("button",{className:"btn btn-sm btn-outline-primary me-1"},l.createElement("i",{className:"fas fa-chart-bar"})),l.createElement("button",{className:"btn btn-sm btn-outline-secondary"},l.createElement("i",{className:"fas fa-edit"}))))))))))),l.createElement("div",{className:"col-lg-4 mb-4"},l.createElement("div",{className:"card"},l.createElement("div",{className:"card-header bg-white"},l.createElement("h5",{className:"mb-0"},l.createElement("i",{className:"fas fa-globe text-info me-2"}),"Audience Demographics")),l.createElement("div",{className:"card-body"},l.createElement("div",{className:"mb-4"},l.createElement("h6",{className:"fw-bold mb-3"},"Top Countries"),Object.entries(E.demographics.countries).map(e=>{let[a,t]=e;return l.createElement("div",{key:a,className:"d-flex justify-content-between align-items-center mb-2"},l.createElement("span",{className:"small"},a),l.createElement("div",{className:"d-flex align-items-center"},l.createElement("div",{className:"progress me-2",style:{width:"60px",height:"8px"}},l.createElement("div",{className:"progress-bar bg-info",style:{width:"".concat(t,"%")}})),l.createElement("span",{className:"small fw-bold"},t,"%")))})),l.createElement("div",{className:"mb-4"},l.createElement("h6",{className:"fw-bold mb-3"},"Age Groups"),Object.entries(E.demographics.ageGroups).map(e=>{let[a,t]=e;return l.createElement("div",{key:a,className:"d-flex justify-content-between align-items-center mb-2"},l.createElement("span",{className:"small"},a),l.createElement("div",{className:"d-flex align-items-center"},l.createElement("div",{className:"progress me-2",style:{width:"60px",height:"8px"}},l.createElement("div",{className:"progress-bar bg-success",style:{width:"".concat(t,"%")}})),l.createElement("span",{className:"small fw-bold"},t,"%")))})),l.createElement("div",null,l.createElement("h6",{className:"fw-bold mb-3"},"Devices"),Object.entries(E.demographics.devices).map(e=>{let[a,t]=e;return l.createElement("div",{key:a,className:"d-flex justify-content-between align-items-center mb-2"},l.createElement("span",{className:"small"},a),l.createElement("div",{className:"d-flex align-items-center"},l.createElement("div",{className:"progress me-2",style:{width:"60px",height:"8px"}},l.createElement("div",{className:"progress-bar bg-warning",style:{width:"".concat(t,"%")}})),l.createElement("span",{className:"small fw-bold"},t,"%")))})))))),l.createElement("div",{className:"row"},l.createElement("div",{className:"col-12"},l.createElement("div",{className:"card"},l.createElement("div",{className:"card-header bg-white"},l.createElement("h5",{className:"mb-0"},l.createElement("i",{className:"fas fa-lightbulb text-warning me-2"}),"Insights & Recommendations")),l.createElement("div",{className:"card-body"},l.createElement("div",{className:"row"},l.createElement("div",{className:"col-md-4 mb-3"},l.createElement("div",{className:"insight-card p-3 border rounded bg-light"},l.createElement("h6",{className:"text-success mb-2"},l.createElement("i",{className:"fas fa-thumbs-up me-2"}),"What's Working"),l.createElement("ul",{className:"small mb-0"},l.createElement("li",null,"Educational content performs 40% better"),l.createElement("li",null,"Posts with images get 3x more engagement"),l.createElement("li",null,"Thursday posts have highest reach")))),l.createElement("div",{className:"col-md-4 mb-3"},l.createElement("div",{className:"insight-card p-3 border rounded bg-light"},l.createElement("h6",{className:"text-warning mb-2"},l.createElement("i",{className:"fas fa-exclamation-triangle me-2"}),"Areas to Improve"),l.createElement("ul",{className:"small mb-0"},l.createElement("li",null,"Video content needs more optimization"),l.createElement("li",null,"Weekend posts have low engagement"),l.createElement("li",null,"Mobile experience could be enhanced")))),l.createElement("div",{className:"col-md-4 mb-3"},l.createElement("div",{className:"insight-card p-3 border rounded bg-light"},l.createElement("h6",{className:"text-info mb-2"},l.createElement("i",{className:"fas fa-rocket me-2"}),"Growth Opportunities"),l.createElement("ul",{className:"small mb-0"},l.createElement("li",null,"Expand to German and French markets"),l.createElement("li",null,"Create more beginner-friendly content"),l.createElement("li",null,"Consider live streaming sessions"))))))))))))):l.createElement(s.rd,{to:"/dashboard"}):null}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.