diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2b6af0a --- /dev/null +++ b/.dockerignore @@ -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 diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..6644956 --- /dev/null +++ b/docker-compose.dev.yml @@ -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: diff --git a/src/app/stats/columns.tsx b/src/app/stats/columns.tsx index bba7dbc..f83e5f0 100644 --- a/src/app/stats/columns.tsx +++ b/src/app/stats/columns.tsx @@ -18,7 +18,10 @@ export const columns: ColumnDef[] = [ accessorKey: "long_url", header: "URL", }, - { accessorKey: "id", header: "ID" }, + { + accessorKey: "id", + header: "Short URL", + }, { accessorKey: "date_accessed", header: "Date Accessed", diff --git a/src/app/stats/db.tsx b/src/app/stats/db.tsx index 9257ea9..77e7a2a 100644 --- a/src/app/stats/db.tsx +++ b/src/app/stats/db.tsx @@ -10,8 +10,6 @@ export async function querydb() { limit 50; `); - // @ts-ignore - console.log(stats); return stats; } catch (e) { return; diff --git a/src/app/stats/page.tsx b/src/app/stats/page.tsx index 537fc0d..243c9ca 100644 --- a/src/app/stats/page.tsx +++ b/src/app/stats/page.tsx @@ -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 ( - + {/* @ts-ignore */} + );