diff --git a/apps/portal/prisma/migrations/20221023100925_update_last_seen_val_to_be_optional/migration.sql b/apps/portal/prisma/migrations/20221023100925_update_last_seen_val_to_be_optional/migration.sql new file mode 100644 index 00000000..e4c76fc9 --- /dev/null +++ b/apps/portal/prisma/migrations/20221023100925_update_last_seen_val_to_be_optional/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "QuestionsQuestion" ALTER COLUMN "lastSeenAt" DROP NOT NULL; diff --git a/apps/portal/prisma/migrations/20221027052436_resumes_add_is_resolved_status/migration.sql b/apps/portal/prisma/migrations/20221027052436_resumes_add_is_resolved_status/migration.sql new file mode 100644 index 00000000..5716b7a2 --- /dev/null +++ b/apps/portal/prisma/migrations/20221027052436_resumes_add_is_resolved_status/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "ResumesResume" ADD COLUMN "isResolved" BOOLEAN NOT NULL DEFAULT false; diff --git a/apps/portal/prisma/schema.prisma b/apps/portal/prisma/schema.prisma index 1b82f5fd..62f8a526 100644 --- a/apps/portal/prisma/schema.prisma +++ b/apps/portal/prisma/schema.prisma @@ -1,7 +1,8 @@ // Refer to the Prisma schema docs: https://pris.ly/d/prisma-schema generator client { - provider = "prisma-client-js" + provider = "prisma-client-js" + previewFeatures = ["interactiveTransactions"] } datasource db { @@ -119,6 +120,7 @@ model ResumesResume { location String @db.Text url String additionalInfo String? @db.Text + isResolved Boolean @default(false) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@ -402,7 +404,7 @@ model QuestionsQuestion { userId String? content String @db.Text questionType QuestionsQuestionType - lastSeenAt DateTime + lastSeenAt DateTime? upvotes Int @default(0) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt diff --git a/apps/portal/src/components/global/AppShell.tsx b/apps/portal/src/components/global/AppShell.tsx index a458a433..20306d7f 100644 --- a/apps/portal/src/components/global/AppShell.tsx +++ b/apps/portal/src/components/global/AppShell.tsx @@ -13,6 +13,7 @@ import OffersNavigation from '~/components/offers/OffersNavigation'; import QuestionsNavigation from '~/components/questions/QuestionsNavigation'; import ResumesNavigation from '~/components/resumes/ResumesNavigation'; +import GoogleAnalytics from './GoogleAnalytics'; import MobileNavigation from './MobileNavigation'; import type { ProductNavigationItems } from './ProductNavigation'; import ProductNavigation from './ProductNavigation'; @@ -106,6 +107,7 @@ export default function AppShell({ children }: Props) { const router = useRouter(); const currentProductNavigation: Readonly<{ + googleAnalyticsMeasurementID: string; navigation: ProductNavigationItems; showGlobalNav: boolean; title: string; @@ -128,84 +130,87 @@ export default function AppShell({ children }: Props) { })(); return ( -
- {/* Narrow sidebar */} - {currentProductNavigation.showGlobalNav && ( -
-
-
- - Tech Interview Handbook - -
-
- {GlobalNavigation.map((item) => ( - -