more stats
This commit is contained in:
parent
0779aa6199
commit
c552d0dc8f
5 changed files with 88 additions and 4 deletions
15
.dockerignore
Normal file
15
.dockerignore
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/.devcontainer
|
||||||
|
/.github
|
||||||
|
/.vscode
|
||||||
|
/.next
|
||||||
|
/data
|
||||||
|
/target
|
||||||
|
/node_modules
|
||||||
|
.dockerignore
|
||||||
|
.env
|
||||||
|
.gitignore
|
||||||
|
Cargo.lock
|
||||||
|
docker-compose.dev.yml
|
||||||
|
docker-compose.yml
|
||||||
|
dockerfile
|
||||||
|
*.md
|
43
docker-compose.dev.yml
Normal file
43
docker-compose.dev.yml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
nextjs:
|
||||||
|
build: .
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
depends_on:
|
||||||
|
- surrealdb
|
||||||
|
networks:
|
||||||
|
- surrealdb
|
||||||
|
|
||||||
|
surrealdb:
|
||||||
|
container_name: surrealdb
|
||||||
|
image: surrealdb/surrealdb:latest-dev
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
entrypoint:
|
||||||
|
- /surreal
|
||||||
|
- start
|
||||||
|
- --user
|
||||||
|
- $DB_USER
|
||||||
|
- --pass
|
||||||
|
- $DB_PASSWORD
|
||||||
|
- file:/data/surrealdb
|
||||||
|
restart: always
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
cpus: "1"
|
||||||
|
ports:
|
||||||
|
- 8000:8000
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
networks:
|
||||||
|
- surrealdb
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
surrealdb:
|
|
@ -18,7 +18,10 @@ export const columns: ColumnDef<UrlTable>[] = [
|
||||||
accessorKey: "long_url",
|
accessorKey: "long_url",
|
||||||
header: "URL",
|
header: "URL",
|
||||||
},
|
},
|
||||||
{ accessorKey: "id", header: "ID" },
|
{
|
||||||
|
accessorKey: "id",
|
||||||
|
header: "Short URL",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "date_accessed",
|
accessorKey: "date_accessed",
|
||||||
header: "Date Accessed",
|
header: "Date Accessed",
|
||||||
|
|
|
@ -10,8 +10,6 @@ export async function querydb() {
|
||||||
limit 50;
|
limit 50;
|
||||||
`);
|
`);
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
console.log(stats);
|
|
||||||
return stats;
|
return stats;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -6,10 +6,35 @@ import { querydb } from "./db";
|
||||||
|
|
||||||
export default async function StatsPage() {
|
export default async function StatsPage() {
|
||||||
let data = await querydb();
|
let data = await querydb();
|
||||||
|
// @ts-ignore
|
||||||
|
data = data[0];
|
||||||
|
|
||||||
|
if (data !== undefined) {
|
||||||
|
const formatDate = (dateString: string | number | Date) => {
|
||||||
|
const date = new Date(dateString);
|
||||||
|
const day = String(date.getDate()).padStart(2, '0');
|
||||||
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||||
|
const year = String(date.getFullYear()).slice(-2);
|
||||||
|
return `${month}/${day}/${year}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
data = data.map(item => ({
|
||||||
|
// @ts-ignore
|
||||||
|
...item,
|
||||||
|
// @ts-ignore
|
||||||
|
date_accessed: formatDate(item.date_accessed),
|
||||||
|
// @ts-ignore
|
||||||
|
date_added: formatDate(item.date_added),
|
||||||
|
// @ts-ignore
|
||||||
|
id: item.id.replace(/^url:\['(.*)'\]$/, '$1')
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CardGrid max_rows={1}>
|
<CardGrid max_rows={1}>
|
||||||
<Card>
|
<Card>
|
||||||
<DataTable columns={columns} data={data[0]} />
|
{/* @ts-ignore */}
|
||||||
|
<DataTable columns={columns} data={data} />
|
||||||
</Card>
|
</Card>
|
||||||
</CardGrid>
|
</CardGrid>
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue