more stats

This commit is contained in:
Elijah McMorris 2024-02-16 04:52:06 -08:00
parent 0779aa6199
commit c552d0dc8f
Signed by: NexVeridian
SSH key fingerprint: SHA256:bsA1SKZxuEcEVHAy3gY1HUeM5ykRJl0U0kQHQn0hMg8
5 changed files with 88 additions and 4 deletions

15
.dockerignore Normal file
View 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
View 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:

View file

@ -18,7 +18,10 @@ export const columns: ColumnDef<UrlTable>[] = [
accessorKey: "long_url",
header: "URL",
},
{ accessorKey: "id", header: "ID" },
{
accessorKey: "id",
header: "Short URL",
},
{
accessorKey: "date_accessed",
header: "Date Accessed",

View file

@ -10,8 +10,6 @@ export async function querydb() {
limit 50;
`);
// @ts-ignore
console.log(stats);
return stats;
} catch (e) {
return;

View file

@ -6,10 +6,35 @@ import { querydb } from "./db";
export default async function StatsPage() {
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 (
<CardGrid max_rows={1}>
<Card>
<DataTable columns={columns} data={data[0]} />
{/* @ts-ignore */}
<DataTable columns={columns} data={data} />
</Card>
</CardGrid>
);