summaryrefslogtreecommitdiff
path: root/src/data
diff options
context:
space:
mode:
authorBobby <[email protected]>2025-05-13 08:21:33 +0530
committerBobby <[email protected]>2025-05-13 08:21:33 +0530
commitd4014e851029116ea730121a015bcc53690ab2d7 (patch)
tree84cdab9e6294c623c2dd415ba154edf2589ecd77 /src/data
parent6ad5e8c8ecb41d8fb6fb19dd501a7e68a47b1ba1 (diff)
downloadpagoda-d4014e851029116ea730121a015bcc53690ab2d7.tar.xz
pagoda-d4014e851029116ea730121a015bcc53690ab2d7.zip
site list in districts; page implementation in districts
Diffstat (limited to 'src/data')
-rw-r--r--src/data/districts/arcadia.ts3
-rw-r--r--src/data/districts/arles.ts3
-rw-r--r--src/data/districts/districts.ts (renamed from src/data/districts.ts)11
-rw-r--r--src/data/districts/functions.ts58
-rw-r--r--src/data/districts/hollywood.ts3
-rw-r--r--src/data/districts/oxford.ts3
-rw-r--r--src/data/districts/petsburg.ts3
-rw-r--r--src/data/districts/purgatory.ts3
-rw-r--r--src/data/districts/siliconValley.ts3
-rw-r--r--src/data/districts/silverLake.ts3
-rw-r--r--src/data/districts/stratfordUponAvon.ts3
-rw-r--r--src/data/districts/tokyo.ts3
-rw-r--r--src/data/districts/types.ts16
13 files changed, 105 insertions, 10 deletions
diff --git a/src/data/districts/arcadia.ts b/src/data/districts/arcadia.ts
new file mode 100644
index 0000000..f28d23a
--- /dev/null
+++ b/src/data/districts/arcadia.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const arcadia: Site[] = [];
diff --git a/src/data/districts/arles.ts b/src/data/districts/arles.ts
new file mode 100644
index 0000000..246553a
--- /dev/null
+++ b/src/data/districts/arles.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const arles: Site[] = [];
diff --git a/src/data/districts.ts b/src/data/districts/districts.ts
index 0428b59..a134d56 100644
--- a/src/data/districts.ts
+++ b/src/data/districts/districts.ts
@@ -1,9 +1,4 @@
-export interface District {
- id: string;
- name: string;
- description: string;
- image: string;
-}
+import type { District } from "./types";
export const districts: District[] = [
{
@@ -67,7 +62,3 @@ export const districts: District[] = [
image: "/images/districts/internal/tokyo.png",
},
];
-
-export const getDistrictById = (id: string): District | undefined => {
- return districts.find((district) => district.id === id);
-};
diff --git a/src/data/districts/functions.ts b/src/data/districts/functions.ts
new file mode 100644
index 0000000..6e34f11
--- /dev/null
+++ b/src/data/districts/functions.ts
@@ -0,0 +1,58 @@
+import type { District, Site } from "./types";
+import { districts } from "./districts";
+import { arcadia } from "./arcadia";
+import { arles } from "./arles";
+import { hollywood } from "./hollywood";
+import { oxford } from "./oxford";
+import { petsburg } from "./petsburg";
+import { purgatory } from "./purgatory";
+import { siliconValley } from "./siliconValley";
+import { silverLake } from "./silverLake";
+import { stratfordUponAvon } from "./stratfordUponAvon";
+import { tokyo } from "./tokyo";
+
+export const getDistrictById = (id: string): District | undefined => {
+ return districts.find((district) => district.id === id);
+};
+
+export const getSitesByDistrictId = (id: string): Site[] => {
+ switch (id) {
+ case "arcadia":
+ return arcadia;
+ case "arles":
+ return arles;
+ case "hollywood":
+ return hollywood;
+ case "oxford":
+ return oxford;
+ case "petsburg":
+ return petsburg;
+ case "purgatory":
+ return purgatory;
+ case "silicon-valley":
+ return siliconValley;
+ case "silver-lake":
+ return silverLake;
+ case "stratford-upon-avon":
+ return stratfordUponAvon;
+ case "tokyo":
+ return tokyo;
+ default:
+ return [];
+ }
+};
+
+export const getPaginatedSitesByDistrictId = (
+ id: string,
+ page: number,
+ limit: number
+): { sites: Site[]; totalPages: number; currentPage: number } => {
+ const sites = getSitesByDistrictId(id);
+ const startIndex = (page - 1) * limit;
+ const endIndex = startIndex + limit;
+ return {
+ sites: sites.slice(startIndex, endIndex),
+ totalPages: Math.ceil(sites.length / limit),
+ currentPage: page,
+ };
+};
diff --git a/src/data/districts/hollywood.ts b/src/data/districts/hollywood.ts
new file mode 100644
index 0000000..9689426
--- /dev/null
+++ b/src/data/districts/hollywood.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const hollywood: Site[] = [];
diff --git a/src/data/districts/oxford.ts b/src/data/districts/oxford.ts
new file mode 100644
index 0000000..599b46b
--- /dev/null
+++ b/src/data/districts/oxford.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const oxford: Site[] = [];
diff --git a/src/data/districts/petsburg.ts b/src/data/districts/petsburg.ts
new file mode 100644
index 0000000..56b62d5
--- /dev/null
+++ b/src/data/districts/petsburg.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const petsburg: Site[] = [];
diff --git a/src/data/districts/purgatory.ts b/src/data/districts/purgatory.ts
new file mode 100644
index 0000000..8aee047
--- /dev/null
+++ b/src/data/districts/purgatory.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const purgatory: Site[] = [];
diff --git a/src/data/districts/siliconValley.ts b/src/data/districts/siliconValley.ts
new file mode 100644
index 0000000..8b0fe61
--- /dev/null
+++ b/src/data/districts/siliconValley.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const siliconValley: Site[] = [];
diff --git a/src/data/districts/silverLake.ts b/src/data/districts/silverLake.ts
new file mode 100644
index 0000000..878762e
--- /dev/null
+++ b/src/data/districts/silverLake.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const silverLake: Site[] = [];
diff --git a/src/data/districts/stratfordUponAvon.ts b/src/data/districts/stratfordUponAvon.ts
new file mode 100644
index 0000000..3e818bb
--- /dev/null
+++ b/src/data/districts/stratfordUponAvon.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const stratfordUponAvon: Site[] = [];
diff --git a/src/data/districts/tokyo.ts b/src/data/districts/tokyo.ts
new file mode 100644
index 0000000..804bceb
--- /dev/null
+++ b/src/data/districts/tokyo.ts
@@ -0,0 +1,3 @@
+import type { Site } from "./types";
+
+export const tokyo: Site[] = [];
diff --git a/src/data/districts/types.ts b/src/data/districts/types.ts
new file mode 100644
index 0000000..e495070
--- /dev/null
+++ b/src/data/districts/types.ts
@@ -0,0 +1,16 @@
+export interface District {
+ id: string;
+ name: string;
+ description: string;
+ image: string;
+}
+
+export interface Site {
+ name: string;
+ url: string;
+ description: string;
+ owner: string;
+ tags: string[];
+ added: Date;
+ screenshotUrl: string;
+}