From bc82c96ca326c4053b6c4fd7f2a0b6c65cf9664e Mon Sep 17 00:00:00 2001 From: KambojRajan Date: Thu, 4 Jul 2024 18:45:44 +0530 Subject: [PATCH 1/3] feat: sections-landing --- app/[locale]/institute/sections/page.tsx | 88 +++++++++++++++++++++++- i18n/en.ts | 3 + i18n/hi.ts | 3 + i18n/translations.ts | 3 + 4 files changed, 94 insertions(+), 3 deletions(-) diff --git a/app/[locale]/institute/sections/page.tsx b/app/[locale]/institute/sections/page.tsx index 30320042..04bda9cf 100644 --- a/app/[locale]/institute/sections/page.tsx +++ b/app/[locale]/institute/sections/page.tsx @@ -1,9 +1,91 @@ -import { WorkInProgressStatus } from '~/components/status'; +import Link from 'next/link'; +import { Fragment } from 'react'; +import { IconType } from 'react-icons'; +import { + MdLibraryBooks, + MdOutlineAccountBalance, + MdOutlineAdminPanelSettings, + MdOutlineElectricalServices, + MdOutlineGroupWork, + MdOutlineHealthAndSafety, + MdOutlineRealEstateAgent, + MdOutlineSecurity, + MdOutlineSportsTennis, + MdOutlineStore, +} from 'react-icons/md'; +import { BsHddNetworkFill } from 'react-icons/bs'; -export default function Sections({ +import Heading from '~/components/heading'; +import { cn } from '~/lib/utils'; +import { db } from '~/server/db'; +import { getTranslations } from '~/i18n/translations'; + +export default async function Sections({ params: { locale }, }: { params: { locale: string }; }) { - return ; + const sections = await db.query.sections.findMany(); + + const sectionIcons: Record = { + accounts: MdOutlineAccountBalance, + 'central-library': MdLibraryBooks, + 'central-workshop': MdOutlineGroupWork, + 'centre-of-computing-and-networking': BsHddNetworkFill, + 'electrical-maintenance': MdOutlineElectricalServices, + estate: MdOutlineRealEstateAgent, + 'general-administration': MdOutlineAdminPanelSettings, + 'health-centre': MdOutlineHealthAndSafety, + security: MdOutlineSecurity, + sports: MdOutlineSportsTennis, + store: MdOutlineStore, + }; + const text = (await getTranslations(locale)).Sections; + + return ( +
+ + +
    + {sections.map((section, i) => { + const Icon = sectionIcons[section.urlName]; + return ( +
  • + + + {section.name.toUpperCase()} + +
  • + ); + })} +
+
+
+ ); } diff --git a/i18n/en.ts b/i18n/en.ts index 2f62dc03..4ab95acf 100644 --- a/i18n/en.ts +++ b/i18n/en.ts @@ -357,6 +357,9 @@ Saturdays & Holidays: 09.00 am to 05.00 pm`, Sports: {}, Store: {}, }, + Sections: { + title: 'Sections', + }, Status: { NoResult: { title: 'No results found', diff --git a/i18n/hi.ts b/i18n/hi.ts index 09f69779..8c97d674 100644 --- a/i18n/hi.ts +++ b/i18n/hi.ts @@ -353,6 +353,9 @@ const text: Translations = { Sports: {}, Store: {}, }, + Sections: { + title: 'प्रशासनिक और अवसंरचना सेवाएँ', + }, Status: { NoResult: { title: 'कोई परिणाम नहीं मिला', diff --git a/i18n/translations.ts b/i18n/translations.ts index 4286197f..aa7d705a 100644 --- a/i18n/translations.ts +++ b/i18n/translations.ts @@ -318,6 +318,9 @@ export interface Translations { Sports: {}; Store: {}; }; + Sections: { + title: string; + }; Status: { NoResult: { title: string; description: string }; Unauthorised: { title: string; description: string }; From 4cd5a67ffdf824486b6f76d91ac3508ff2a35e0c Mon Sep 17 00:00:00 2001 From: KambojRajan Date: Tue, 27 Aug 2024 17:55:06 +0530 Subject: [PATCH 2/3] fix: null icon issue --- app/[locale]/institute/sections/page.tsx | 10 ++++++---- server/db/schema/club-event.schema.ts | 0 server/db/schema/event.shema.ts | 8 ++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 server/db/schema/club-event.schema.ts create mode 100644 server/db/schema/event.shema.ts diff --git a/app/[locale]/institute/sections/page.tsx b/app/[locale]/institute/sections/page.tsx index 04bda9cf..13108846 100644 --- a/app/[locale]/institute/sections/page.tsx +++ b/app/[locale]/institute/sections/page.tsx @@ -1,6 +1,7 @@ import Link from 'next/link'; import { Fragment } from 'react'; import { IconType } from 'react-icons'; +import { BsHddNetworkFill } from 'react-icons/bs'; import { MdLibraryBooks, MdOutlineAccountBalance, @@ -13,12 +14,11 @@ import { MdOutlineSportsTennis, MdOutlineStore, } from 'react-icons/md'; -import { BsHddNetworkFill } from 'react-icons/bs'; import Heading from '~/components/heading'; +import { getTranslations } from '~/i18n/translations'; import { cn } from '~/lib/utils'; import { db } from '~/server/db'; -import { getTranslations } from '~/i18n/translations'; export default async function Sections({ params: { locale }, @@ -26,16 +26,17 @@ export default async function Sections({ params: { locale: string }; }) { const sections = await db.query.sections.findMany(); + console.log('section =>', sections); const sectionIcons: Record = { accounts: MdOutlineAccountBalance, - 'central-library': MdLibraryBooks, 'central-workshop': MdOutlineGroupWork, - 'centre-of-computing-and-networking': BsHddNetworkFill, + 'centre-of-computing-networking': BsHddNetworkFill, 'electrical-maintenance': MdOutlineElectricalServices, estate: MdOutlineRealEstateAgent, 'general-administration': MdOutlineAdminPanelSettings, 'health-centre': MdOutlineHealthAndSafety, + library: MdLibraryBooks, security: MdOutlineSecurity, sports: MdOutlineSportsTennis, store: MdOutlineStore, @@ -61,6 +62,7 @@ export default async function Sections({ > {sections.map((section, i) => { const Icon = sectionIcons[section.urlName]; + if (!Icon) return null; return (
  • Date: Fri, 13 Sep 2024 20:17:14 +0530 Subject: [PATCH 3/3] fix: remove console issues --- app/[locale]/institute/sections/page.tsx | 6 +++--- server/db/schema/club-event.schema.ts | 0 server/db/schema/event.shema.ts | 8 -------- 3 files changed, 3 insertions(+), 11 deletions(-) delete mode 100644 server/db/schema/club-event.schema.ts delete mode 100644 server/db/schema/event.shema.ts diff --git a/app/[locale]/institute/sections/page.tsx b/app/[locale]/institute/sections/page.tsx index 13108846..53765bfc 100644 --- a/app/[locale]/institute/sections/page.tsx +++ b/app/[locale]/institute/sections/page.tsx @@ -25,13 +25,14 @@ export default async function Sections({ }: { params: { locale: string }; }) { + const text = (await getTranslations(locale)).Sections; + const sections = await db.query.sections.findMany(); - console.log('section =>', sections); const sectionIcons: Record = { accounts: MdOutlineAccountBalance, 'central-workshop': MdOutlineGroupWork, - 'centre-of-computing-networking': BsHddNetworkFill, + 'centre-of-computing-and-networking': BsHddNetworkFill, 'electrical-maintenance': MdOutlineElectricalServices, estate: MdOutlineRealEstateAgent, 'general-administration': MdOutlineAdminPanelSettings, @@ -41,7 +42,6 @@ export default async function Sections({ sports: MdOutlineSportsTennis, store: MdOutlineStore, }; - const text = (await getTranslations(locale)).Sections; return (
    diff --git a/server/db/schema/club-event.schema.ts b/server/db/schema/club-event.schema.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/server/db/schema/event.shema.ts b/server/db/schema/event.shema.ts deleted file mode 100644 index 22a8d6b7..00000000 --- a/server/db/schema/event.shema.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { date, pgTable, serial, varchar } from 'drizzle-orm/pg-core'; - -export const event = pgTable('event', { - id: serial('id').primaryKey(), - name: varchar('name', { length: 128 }).notNull(), - description: varchar('description', { length: 256 }).notNull(), - date: date('date').notNull(), -});