diff --git a/packages/pages.main/package.json b/packages/pages.main/package.json
index 28167eb1..ec9c9a9c 100644
--- a/packages/pages.main/package.json
+++ b/packages/pages.main/package.json
@@ -35,6 +35,7 @@
"features.group.add": "*",
"features.materials.duplicate": "*",
"features.invoice.card": "*",
+ "features.classroom": "*",
"pages.classrooms": "*",
"pages.materials": "*",
"react-hook-form": "^7.55.0",
diff --git a/packages/pages.main/src/ui/components/Classrooms/Classroom.tsx b/packages/pages.main/src/ui/components/Classrooms/Classroom.tsx
index 2e403579..696f27c2 100644
--- a/packages/pages.main/src/ui/components/Classrooms/Classroom.tsx
+++ b/packages/pages.main/src/ui/components/Classrooms/Classroom.tsx
@@ -5,7 +5,7 @@ import { Arrow, Conference } from '@xipkg/icons';
import { Tooltip, TooltipContent, TooltipTrigger } from '@xipkg/tooltip';
import { Avatar, AvatarFallback, AvatarImage } from '@xipkg/avatar';
import { useCurrentUser, useUserByRole } from 'common.services';
-import { SubjectBadge } from './SubjectBadge';
+import { SubjectBadge } from 'features.classroom';
type UserAvatarPropsT = {
classroom: IndividualClassroomT;
@@ -85,7 +85,12 @@ export const Classroom = ({ classroom, isLoading }: ClassroomProps) => {
{classroom.subject_id ? (
-
+
) : (
)}
diff --git a/packages/pages.main/src/ui/components/Classrooms/SubjectBadge.tsx b/packages/pages.main/src/ui/components/Classrooms/SubjectBadge.tsx
deleted file mode 100644
index cd50ba7b..00000000
--- a/packages/pages.main/src/ui/components/Classrooms/SubjectBadge.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Badge } from '@xipkg/badge';
-
-import { useSubjectsById } from 'common.services';
-
-type SubjectBadgePropsT = {
- subject_id: number;
-};
-
-export const SubjectBadge = ({ subject_id }: SubjectBadgePropsT) => {
- const { data: subject } = useSubjectsById(subject_id);
-
- return (
-
- {subject?.name}
-
- );
-};
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b9e91718..2006514c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1057,6 +1057,70 @@ importers:
specifier: ^8.22.0
version: 8.53.0(eslint@9.39.2)(typescript@5.7.3)
+ packages/features.classroom:
+ dependencies:
+ '@xipkg/badge':
+ specifier: 2.0.12
+ version: 2.0.12(react@19.2.3)
+ '@xipkg/tooltip':
+ specifier: 2.1.0
+ version: 2.1.0(@types/react-dom@19.2.3)(@types/react@19.2.8)(react-dom@19.2.3)(react@19.2.3)
+ '@xipkg/utils':
+ specifier: 1.8.0
+ version: 1.8.0(react@19.2.3)
+ common.services:
+ specifier: '*'
+ version: link:../common.services
+ react:
+ specifier: '19'
+ version: 19.2.3
+ devDependencies:
+ '@eslint/js':
+ specifier: ^9.19.0
+ version: 9.39.2
+ '@types/node':
+ specifier: ^20.3.1
+ version: 20.19.30
+ '@types/react':
+ specifier: ^19.0.2
+ version: 19.2.8
+ '@types/react-dom':
+ specifier: ^19.0.2
+ version: 19.2.3(@types/react@19.2.8)
+ '@xipkg/eslint':
+ specifier: 3.2.0
+ version: 3.2.0(eslint-plugin-jsx-a11y@6.10.2)(eslint@9.39.2)(turbo@2.7.5)(typescript@5.7.3)
+ '@xipkg/tailwind':
+ specifier: 0.8.1
+ version: 0.8.1
+ '@xipkg/typescript':
+ specifier: latest
+ version: 0.2.0
+ common.eslint:
+ specifier: '*'
+ version: link:../common.eslint
+ common.typescript:
+ specifier: '*'
+ version: link:../common.typescript
+ eslint:
+ specifier: ^9.19.0
+ version: 9.39.2
+ eslint-plugin-react-hooks:
+ specifier: ^5.0.0
+ version: 5.2.0(eslint@9.39.2)
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.18
+ version: 0.4.18(eslint@9.39.2)
+ globals:
+ specifier: ^15.14.0
+ version: 15.15.0
+ typescript:
+ specifier: ~5.7.2
+ version: 5.7.3
+ typescript-eslint:
+ specifier: ^8.22.0
+ version: 8.53.0(eslint@9.39.2)(typescript@5.7.3)
+
packages/features.group.add:
dependencies:
'@hookform/resolvers':
@@ -3315,6 +3379,9 @@ importers:
common.ui:
specifier: '*'
version: link:../common.ui
+ features.classroom:
+ specifier: '*'
+ version: link:../features.classroom
features.group.add:
specifier: '*'
version: link:../features.group.add
@@ -3754,6 +3821,9 @@ importers:
common.ui:
specifier: '*'
version: link:../common.ui
+ features.classroom:
+ specifier: '*'
+ version: link:../features.classroom
features.group.add:
specifier: '*'
version: link:../features.group.add