+
🔑 You will get a secret to use for your API requests.
diff --git a/apps/dashboard/src/styles/globals.css b/apps/dashboard/src/styles/globals.css
index 8737cbb2..454a7a50 100644
--- a/apps/dashboard/src/styles/globals.css
+++ b/apps/dashboard/src/styles/globals.css
@@ -7,6 +7,18 @@
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
+ --slate-50: 210 40% 98%;
+ --slate-100: 210 40% 96.1%;
+ --slate-200: 210 40% 91.4%;
+ --slate-300: 210 40% 83.9%;
+ --slate-400: 210 40% 65.1%;
+ --slate-500: 210 40% 46.9%;
+ --slate-600: 210 40% 30.6%;
+ --slate-700: 210 40% 17.5%;
+ --slate-800: 210 40% 11.2%;
+ --slate-900: 210 40% 8.2%;
+ --slate-950: 210 40% 7.2%;
+
--card: 0 0% 100%;
--card-foreground: 222.2 84% 4.9%;
@@ -36,9 +48,21 @@
}
.dark {
- --background: 222.2 84% 4.9%;
+ --background: 222.86 32.05% 12.02%;
--foreground: 210 40% 98%;
+ --slate-950: 210 40% 98%;
+ --slate-900: 210 40% 96.1%;
+ --slate-800: 210 40% 91.4%;
+ --slate-700: 210 40% 83.9%;
+ --slate-600: 210 40% 65.1%;
+ --slate-500: 210 40% 46.9%;
+ --slate-400: 210 40% 30.6%;
+ --slate-300: 210 40% 17.5%;
+ --slate-200: 210 40% 11.2%;
+ --slate-100: 210 40% 8.2%;
+ --slate-50: 210 40% 7.2%;
+
--card: 222.2 84% 4.9%;
--card-foreground: 210 40% 98%;
@@ -120,9 +144,9 @@
}
.card {
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px 0.5px rgba(0, 0, 0, 0.08);
border: 0 !important;
- @apply bg-white rounded-xl;
+ @apply rounded-xl bg-background;
}
}
diff --git a/apps/dashboard/tailwind.config.js b/apps/dashboard/tailwind.config.js
index 311eb4ef..603f31ee 100644
--- a/apps/dashboard/tailwind.config.js
+++ b/apps/dashboard/tailwind.config.js
@@ -42,6 +42,7 @@ const twColorVariants = ['50', '100', '200', '700', '800', '900'];
/** @type {import('tailwindcss').Config} */
const config = {
+ darkMode: 'class',
safelist: [
...colors.flatMap((color) =>
['text', 'bg'].map((prefix) => `${prefix}-chart-${color}`)
@@ -53,6 +54,8 @@ const config = {
`bg-${color}-${variant}`,
`hover:bg-${color}-${variant}`,
`border-${color}-${variant}`,
+ `dark:bg-${color}-${variant}`,
+ `dark:hover:bg-${color}-${variant}`,
];
});
}),
@@ -71,6 +74,19 @@ const config = {
ring: 'hsl(var(--ring))',
background: 'hsl(var(--background))',
foreground: 'hsl(var(--foreground))',
+ slate: {
+ 50: 'hsl(var(--slate-50))',
+ 100: 'hsl(var(--slate-100))',
+ 200: 'hsl(var(--slate-200))',
+ 300: 'hsl(var(--slate-300))',
+ 400: 'hsl(var(--slate-400))',
+ 500: 'hsl(var(--slate-500))',
+ 600: 'hsl(var(--slate-600))',
+ 700: 'hsl(var(--slate-700))',
+ 800: 'hsl(var(--slate-800))',
+ 900: 'hsl(var(--slate-900))',
+ 950: 'hsl(var(--slate-950))',
+ },
primary: {
DEFAULT: 'hsl(var(--primary))',
foreground: 'hsl(var(--primary-foreground))',
diff --git a/packages/db/src/services/event.service.ts b/packages/db/src/services/event.service.ts
index d1f11595..1ebcdb76 100644
--- a/packages/db/src/services/event.service.ts
+++ b/packages/db/src/services/event.service.ts
@@ -260,7 +260,7 @@ export async function getEventList({
const { sb, getSql, join } = createSqlBuilder();
sb.limit = take;
- sb.offset = (cursor ?? 0) * take;
+ sb.offset = Math.max(0, (cursor ?? 0) * take);
sb.where.projectId = `project_id = '${projectId}'`;
if (profileId) {
diff --git a/packages/db/src/services/profile.service.ts b/packages/db/src/services/profile.service.ts
index 76411dc4..3fe47ee4 100644
--- a/packages/db/src/services/profile.service.ts
+++ b/packages/db/src/services/profile.service.ts
@@ -84,7 +84,7 @@ export async function getProfileList({
};
}
sb.limit = take;
- sb.offset = (cursor ?? 0) * take;
+ sb.offset = Math.max(0, (cursor ?? 0) * take);
sb.orderBy.created_at = 'max_created_at DESC';
const data = await chQuery
(getSql());
return data.map(transformProfile);