feat: #62 add title section in website
This commit is contained in:
parent
ab03eddfa1
commit
d5895dc4a9
@ -16,6 +16,7 @@ interface MetricsTableProps {
|
|||||||
| 'url'
|
| 'url'
|
||||||
| 'language'
|
| 'language'
|
||||||
| 'referrer'
|
| 'referrer'
|
||||||
|
| 'title'
|
||||||
| 'browser'
|
| 'browser'
|
||||||
| 'os'
|
| 'os'
|
||||||
| 'device'
|
| 'device'
|
||||||
|
@ -128,7 +128,16 @@ function WebsiteDetailComponent() {
|
|||||||
endAt={endAt}
|
endAt={endAt}
|
||||||
/>
|
/>
|
||||||
</Card.Grid>
|
</Card.Grid>
|
||||||
<Card.Grid hoverable={false} className="min-h-[470px] !w-1/2">
|
<Card.Grid hoverable={false} className="min-h-[470px] !w-1/3">
|
||||||
|
<WebsiteMetricsTable
|
||||||
|
websiteId={websiteId}
|
||||||
|
type="title"
|
||||||
|
title={[t('Title'), t('Views')]}
|
||||||
|
startAt={startAt}
|
||||||
|
endAt={endAt}
|
||||||
|
/>
|
||||||
|
</Card.Grid>
|
||||||
|
<Card.Grid hoverable={false} className="min-h-[470px] !w-1/3">
|
||||||
<WebsiteMetricsTable
|
<WebsiteMetricsTable
|
||||||
websiteId={websiteId}
|
websiteId={websiteId}
|
||||||
type="country"
|
type="country"
|
||||||
@ -141,7 +150,7 @@ function WebsiteDetailComponent() {
|
|||||||
<WebsiteVisitorMapBtn websiteId={websiteId} />
|
<WebsiteVisitorMapBtn websiteId={websiteId} />
|
||||||
</div>
|
</div>
|
||||||
</Card.Grid>
|
</Card.Grid>
|
||||||
<Card.Grid hoverable={false} className="min-h-[470px] !w-1/2">
|
<Card.Grid hoverable={false} className="min-h-[470px] !w-1/3">
|
||||||
<WebsiteMetricsTable
|
<WebsiteMetricsTable
|
||||||
websiteId={websiteId}
|
websiteId={websiteId}
|
||||||
type="event"
|
type="event"
|
||||||
|
@ -36,6 +36,9 @@ export default defineConfig({
|
|||||||
'/api/workspace': {
|
'/api/workspace': {
|
||||||
target: 'http://localhost:12345',
|
target: 'http://localhost:12345',
|
||||||
},
|
},
|
||||||
|
'/api/website/send': {
|
||||||
|
target: 'http://localhost:12345',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -184,15 +184,18 @@ export const websiteRouter = router({
|
|||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const stats = Object.keys(metrics[0]).reduce((obj, key) => {
|
const stats = Object.keys(metrics[0]).reduce(
|
||||||
const current = Number(metrics[0][key]) || 0;
|
(obj, key) => {
|
||||||
const prev = Number(prevPeriod[0][key]) || 0;
|
const current = Number(metrics[0][key]) || 0;
|
||||||
obj[key] = {
|
const prev = Number(prevPeriod[0][key]) || 0;
|
||||||
value: current,
|
obj[key] = {
|
||||||
prev,
|
value: current,
|
||||||
};
|
prev,
|
||||||
return obj;
|
};
|
||||||
}, {} as Record<string, { value: number; prev: number }>);
|
return obj;
|
||||||
|
},
|
||||||
|
{} as Record<string, { value: number; prev: number }>
|
||||||
|
);
|
||||||
|
|
||||||
return websiteStatsSchema.parse(stats);
|
return websiteStatsSchema.parse(stats);
|
||||||
}),
|
}),
|
||||||
@ -330,6 +333,7 @@ export const websiteRouter = router({
|
|||||||
'url',
|
'url',
|
||||||
'language',
|
'language',
|
||||||
'referrer',
|
'referrer',
|
||||||
|
'title',
|
||||||
'browser',
|
'browser',
|
||||||
'os',
|
'os',
|
||||||
'device',
|
'device',
|
||||||
|
Loading…
Reference in New Issue
Block a user