7e8f4859cd
- Add ADR-036 unified OCR architecture (typhoon-ocr via Ollama) - Extend AI execution profiles for OCR sandbox configuration - Add comprehensive frontend test coverage (components, hooks, services) - Add backend test coverage for document-numbering services - Update OCR sidecar with typhoon-ocr integration - Add AI policy service and execution profile management - Update AGENTS.md and architecture documentation
5416 lines
268 KiB
JSON
5416 lines
268 KiB
JSON
{
|
|
"version": "1.0.0",
|
|
"project": {
|
|
"name": "lcbp3-frontend",
|
|
"languages": [
|
|
"typescript",
|
|
"javascript",
|
|
"markdown",
|
|
"json"
|
|
],
|
|
"frameworks": [
|
|
"nextjs",
|
|
"react",
|
|
"tailwindcss"
|
|
],
|
|
"description": "Next.js frontend for LCBP3 project",
|
|
"analyzedAt": "2026-06-13T13:24:06.067Z",
|
|
"gitCommitHash": "190b9a3af5f505e9ec59ba8d447c4720b2cb7dae"
|
|
},
|
|
"nodes": [
|
|
{
|
|
"id": "file:lib/api/client.ts",
|
|
"type": "file",
|
|
"name": "client.ts",
|
|
"filePath": "lib/api/client.ts",
|
|
"summary": "คลาสหรือออบเจกต์ที่ใช้จัดการการเรียกดู API จากแหล่งข้อมูลภายนอก โดยมีหน้าที่เป็นตัวกลางในการสื่อสารระหว่างแอปพลิเคชันและเซิร์ฟเวอร์",
|
|
"tags": [
|
|
"api-client",
|
|
"http-client"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/admin-ai.service.ts",
|
|
"type": "file",
|
|
"name": "admin-ai.service.ts",
|
|
"filePath": "lib/services/admin-ai.service.ts",
|
|
"summary": "บริการสำหรับจัดการข้อมูล AI และสถานะโมเดล โดยมีฟังก์ชันหลักคือ extractData, normalizeLoadedModels และ normalizeVramStatus เพื่อเตรียมข้อมูลให้พร้อมใช้งานในระบบ",
|
|
"tags": [
|
|
"service",
|
|
"ai-management",
|
|
"data-normalization"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:types/ai.ts",
|
|
"type": "file",
|
|
"name": "ai.ts",
|
|
"filePath": "types/ai.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน ai.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/ai-intent.service.ts",
|
|
"type": "file",
|
|
"name": "ai-intent.service.ts",
|
|
"filePath": "lib/services/ai-intent.service.ts",
|
|
"summary": "บริการสำหรับดึงข้อมูลจาก AI โดยใช้ client API เพื่อวิเคราะห์เจตนาของผู้ใช้งาน ฟังก์ชัน extractData มีหน้าที่รับข้อความและส่งไปยัง backend เพื่อดำเนินการประมวลผล",
|
|
"tags": [
|
|
"service",
|
|
"ai-intent",
|
|
"api-client"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/ai-prompts.service.ts",
|
|
"type": "file",
|
|
"name": "ai-prompts.service.ts",
|
|
"filePath": "lib/services/ai-prompts.service.ts",
|
|
"summary": "บริการสำหรับจัดการคำขอ AI prompts โดยมีฟังก์ชัน extractData และ unwrapResponse ที่ใช้ในการดึงข้อมูลและแปลงรูปแบบคำตอบจาก API ส่งกลับมาให้เหมาะสมกับโครงสร้างของระบบ",
|
|
"tags": [
|
|
"service",
|
|
"ai-prompts",
|
|
"api-client"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/ai.service.ts",
|
|
"type": "file",
|
|
"name": "ai.service.ts",
|
|
"filePath": "lib/services/ai.service.ts",
|
|
"summary": "ไฟล์นี้เป็นบริการสำหรับจัดการการทำงานของ AI โดยมีฟังก์ชัน extractData และ normalizePaginated ที่ใช้ในการดึงข้อมูลและปรับรูปแบบผลลัพธ์ให้อยู่ในรูปแบบมาตรฐานตามความต้องการ",
|
|
"tags": [
|
|
"service",
|
|
"ai",
|
|
"data-processing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/migration.service.ts",
|
|
"type": "file",
|
|
"name": "migration.service.ts",
|
|
"filePath": "lib/services/migration.service.ts",
|
|
"summary": "บริการสำหรับจัดการข้อมูลย้ายฐานข้อมูล โดยมีฟังก์ชัน extractNestedData ใช้ดึงข้อมูลที่ซ้อนอยู่ในโครงสร้างหลายระดับ และ normalizePaginatedResponse เปลี่ยนรูปแบบคำตอบจาก API เพื่อให้ง่ายต่อการประมวลผล",
|
|
"tags": [
|
|
"service",
|
|
"migration",
|
|
"data-processing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:types/ai-prompts.ts",
|
|
"type": "file",
|
|
"name": "ai-prompts.ts",
|
|
"filePath": "types/ai-prompts.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน ai-prompts.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/layout/global-search.tsx",
|
|
"type": "file",
|
|
"name": "global-search.tsx",
|
|
"filePath": "components/layout/global-search.tsx",
|
|
"summary": "คอมโพเนนต์ค้นหาทั่วไปสำหรับผู้ใช้งาน โดยแสดงปุ่มค้นหาและช่องกรอกข้อมูลเพื่อค้นหารายการในระบบ",
|
|
"tags": [
|
|
"search",
|
|
"global"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/layout/header.tsx",
|
|
"type": "file",
|
|
"name": "header.tsx",
|
|
"filePath": "components/layout/header.tsx",
|
|
"summary": "คอมโพเนนต์หัวข้อ (Header) ที่ใช้แสดงแถบเมนูหลักและองค์ประกอบการจัดการโปรเจกต์ เช่น การค้นหาทั่วไป ส่วนย่อยของระบบแจ้งเตือน และปุ่มสลับธีม โดยเชื่อมโยงเข้ากับคอมโพเนนต์อื่นๆ ในโครงสร้าง layout",
|
|
"tags": [
|
|
"header",
|
|
"layout",
|
|
"navigation"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/layout/notifications-dropdown.tsx",
|
|
"type": "file",
|
|
"name": "notifications-dropdown.tsx",
|
|
"filePath": "components/layout/notifications-dropdown.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงเมนูแจ้งเตือนในส่วนหัวหน้าเว็บไซต์ โดยมีฟังก์ชัน NotificationsDropdown ที่ใช้จัดวางและควบคุมการแสดงผลของรายการแจ้งเตือน",
|
|
"tags": [
|
|
"component",
|
|
"layout",
|
|
"notifications-dropdown"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/layout/project-switcher.tsx",
|
|
"type": "file",
|
|
"name": "project-switcher.tsx",
|
|
"filePath": "components/layout/project-switcher.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับสลับโครงการ โดยมีฟังก์ชัน ProjectSwitcher ที่ใช้ในการแสดงรายการโครงการและให้ผู้ใช้งานเลือกได้ เหมาะสำหรับการจัดการหลายโครงการในแอปพลิเคชัน",
|
|
"tags": [
|
|
"component",
|
|
"layout",
|
|
"project-switch"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/layout/sidebar.tsx",
|
|
"type": "file",
|
|
"name": "sidebar.tsx",
|
|
"filePath": "components/layout/sidebar.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนประกอบหลักสำหรับการแสดงเมนูด้านซ้ายของระบบ โดยมีฟังก์ชัน Sidebar และ MobileSidebar ที่ใช้จัดวางโครงสร้างเมนูตามหน้าจอและอุปกรณ์ต่าง ๆ",
|
|
"tags": [
|
|
"layout",
|
|
"sidebar",
|
|
"navigation"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/layout/theme-toggle.tsx",
|
|
"type": "file",
|
|
"name": "theme-toggle.tsx",
|
|
"filePath": "components/layout/theme-toggle.tsx",
|
|
"summary": "คอมโพเนนต์ ThemeToggle เป็นส่วนหนึ-่งของระบบการจัดรูปแบบธีม โดยให้ผู้ใช้งานสามารถสลับระหว่างโหมดสว่างและมืดได้อย่างยืดหยุ่น",
|
|
"tags": [
|
|
"component",
|
|
"theme-toggle",
|
|
"layout"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/layout/user-menu.tsx",
|
|
"type": "file",
|
|
"name": "user-menu.tsx",
|
|
"filePath": "components/layout/user-menu.tsx",
|
|
"summary": "คอมโพเนนต์เมนูผู้ใช้งานที่แสดงข้อมูลโปรไฟล์และฟังก์ชันการจัดการบัญชี เช่น การเข้าสู่ระบบหรือออกจากระบบ โดยมีโครงสร้างภายในประกอบด้วยปุ่มย่อยต่างๆ และเชื่อมโยงไปยังหน้าต่างบริหารจัดการผู้ใช้งาน",
|
|
"tags": [
|
|
"component",
|
|
"layout",
|
|
"user-interface"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/rag/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/rag/page.tsx",
|
|
"summary": "หน้าแดชบอร์ดสำหรับการใช้งาน AI Chat Widget โดยมีฟังก์ชัน RagPage ที่จัดการการแสดงผลและเชื่อมโยงกับส่วนประกอบต่าง ๆ เช่น RagChatWidget และข้อมูลจาก project-store",
|
|
"tags": [
|
|
"dashboard",
|
|
"ai-chat-widget",
|
|
"rag-page",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/RagChatWidget.tsx",
|
|
"type": "file",
|
|
"name": "RagChat",
|
|
"filePath": "components/ai/RagChatWidget.tsx",
|
|
"summary": "คอมโพเนนต์แชทบอท AI แบบใช้ Retrieval-Augmented Generation (RAG) โดยมีฟังก์ชันแสดงสถานะการทำงานของระบบ และรายการคำอ้างอิงจากเอกสารที่ใช้อ้างอิงในการตอบสนอง",
|
|
"tags": [
|
|
"ai-chatbot",
|
|
"rag-component",
|
|
"citation-list",
|
|
"status-badge"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/stores/project-store.ts",
|
|
"type": "file",
|
|
"name": "project-store.ts",
|
|
"filePath": "lib/stores/project-store.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน project-store.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "service:.dockerignore",
|
|
"type": "service",
|
|
"name": ".dockerignore",
|
|
"filePath": ".dockerignore",
|
|
"summary": "ไฟล์บริการเสริม/คอนเทนเนอร์ .dockerignore",
|
|
"tags": [
|
|
"infrastructure"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "config:.env.example",
|
|
"type": "config",
|
|
"name": ".env.example",
|
|
"filePath": ".env.example",
|
|
"summary": "ไฟล์ตั้งค่าฝั่งหน้าบ้าน .env.example",
|
|
"tags": [
|
|
"configuration"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "document:README.md",
|
|
"type": "document",
|
|
"name": "README.md",
|
|
"filePath": "README.md",
|
|
"summary": "เอกสาร README.md",
|
|
"tags": [
|
|
"documentation"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "config:components.json",
|
|
"type": "config",
|
|
"name": "components.json",
|
|
"filePath": "components.json",
|
|
"summary": "ไฟล์ตั้งค่าฝั่งหน้าบ้าน components.json",
|
|
"tags": [
|
|
"configuration",
|
|
"component"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "config:tsconfig.json",
|
|
"type": "config",
|
|
"name": "tsconfig.json",
|
|
"filePath": "tsconfig.json",
|
|
"summary": "ไฟล์ตั้งค่าฝั่งหน้าบ้าน tsconfig.json",
|
|
"tags": [
|
|
"configuration"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/access-control/organizations/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/access-control/organizations/page.tsx",
|
|
"summary": "หน้าจัดการองค์กรสำหรับผู้ดูแลระบบ โดยมีฟังก์ชัน OrganizationsPage ที่ใช้จัดแสดงข้อมูลองค์กรและรองรับการทำงานของระบบรักษาความปลอดภัยระดับสูง",
|
|
"tags": [
|
|
"admin",
|
|
"access-control",
|
|
"organizations",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/access-control/roles/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/access-control/roles/page.tsx",
|
|
"summary": "หน้าจัดการบทบาท (Roles) สำหรับระบบบริหารจัดการ โดยมีฟังก์ชัน RolesPage เป็นหลักที่ใช้ในการแสดงผลข้อมูลบทบาทต่าง ๆ และจัดการสิทธิ์ผู้ใช้งาน",
|
|
"tags": [
|
|
"admin",
|
|
"access-control",
|
|
"roles"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:/app/(admin)/admin/access-control/users/page.tsx",
|
|
"type": "file",
|
|
"name": "users/page.tsx",
|
|
"filePath": "/app/(admin)/admin/access-control/users/page.tsx",
|
|
"summary": "หน้าจัดการผู้ใช้งาน (Users Page) สำหรับระบบบริหารจัดการภายใน โดยมีฟังก์ชัน UsersPage เป็นหลักที่ดูแลการแสดงผลและตรรกะการทำงานของหน้านี้ มีโค้ดรวมทั้งหมด 214 บรรทัด",
|
|
"tags": [
|
|
"admin",
|
|
"access-control",
|
|
"users-management",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/ai/intent-classification/analytics/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/ai/intent-classification/analytics/page.tsx",
|
|
"summary": "หน้าแดชบอร์ดวิเคราะห์ข้อมูลการจำแนกประเภทเจตนา (Intent Classification Analytics) สำหรับผู้ดูแลระบบ โดยมีฟังก์ชันหลักคือ IntentAnalyticsPage ที่จัดแสดงสถิติด้านประสิทธิภาพของโมเดล AI และพฤติกรรมข้อมูลการใช้งาน",
|
|
"tags": [
|
|
"analytics",
|
|
"intent-classification",
|
|
"admin-dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/ai/intent-classification/[intentCode]/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/ai/intent-classification/[intentCode]/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดการจัดประเภทเจตนา (Intent) โดยใช้ระบบ AI สำหรับบริษัท lcbp3-frontend มีฟังก์ชันหลักคือ IntentDetailPage ซึ่งทำงานร่วมกับโครงสร้าง routing และ context เพื่อแสดงข้อมูลเจตนาเฉพาะตามรหัส intentCode",
|
|
"tags": [
|
|
"intent-classification",
|
|
"admin-panel",
|
|
"ai-service",
|
|
"dynamic-routing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/ai/intent-classification/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/ai/intent-classification/page.tsx",
|
|
"summary": "หน้าเว็บไซต์สำหรับการจำแนกเจตนาของผู้ใช้ด้วยปัญญาประดิษฐ์ โดยมีฟังก์ชันหลักคือ IntentClassificationPage ที่จัดการการแสดงผลและตรรกะการทำงาน",
|
|
"tags": [
|
|
"page",
|
|
"intent-classification",
|
|
"ai"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/ai/intent-classification/test-console/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/ai/intent-classification/test-console/page.tsx",
|
|
"summary": "หน้าเว็บสำหรับทดสอบระบบจำแนกเจตนาของผู้ใช้ โดยมีฟังก์ชันหลักคือ TestConsolePage ที่จัดการการแสดงผลและโต้ตอบกับผู้ใช้งานในบริบทของการพัฒนาระบบ AI",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"ai",
|
|
"intent-classification",
|
|
"test-console"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/ai/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/ai/page.tsx",
|
|
"summary": "หน้าจัดการ AI เป็นไปตามโครงสร้างของระบบบริหารจัดการ โดยมีฟังก์ชันหลักคือ AiAdminConsolePage ที่ใช้ในการแสดงผลและควบคุมโมเดลต่าง ๆ เนื้อหาภายในประกอบด้วยการแปลงข้อมูลแบบ canonical และ normalizeLoadedModels เพื่อกำหนดรูปแบบการแสดงผล",
|
|
"tags": [
|
|
"admin",
|
|
"ai-console",
|
|
"page-component"
|
|
],
|
|
"complexity": "complex"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/audit-logs/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/audit-logs/page.tsx",
|
|
"summary": "หน้าแสดงรายการบันทึกการตรวจสอบ (Audit Logs) สำหรับผู้ดูแลระบบ โดยมีฟังก์ชันหลักชื่อ AuditLogsPage ซึ่งจัดวางโครงสร้างการแสดงข้อมูลอย่างเป็นระเบียบ",
|
|
"tags": [
|
|
"admin",
|
|
"audit-logs",
|
|
"page"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/contracts/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc-control/contracts/page.tsx",
|
|
"summary": "หน้าจัดการสัญญา (ContractsPage) ใช้ hook useContracts และ useProjectsList เพื่อดึงข้อมูลจาก backend โดยมีโครงสร้างหลักเป็นการแสดงผลรายการสัญญาและโปรเจกต์ที่เกี่ยวข้อง มีการจัดวางองค์ประกอบ UI เรียบร้อยพร้อมใช้งานในระบบบริหารเอกสาร",
|
|
"tags": [
|
|
"admin-dashboard",
|
|
"contracts-management",
|
|
"hook-based-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/drawings/contract/categories/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/drawings/contract/categories/page.tsx",
|
|
"summary": "หน้าจัดการหมวดหมู่สัญญา โดยมีฟังก์ชันหลักคือ ContractCategoriesPage ที่แสดงข้อมูลและควบคุมการแสดงผลของแต่ละหมวดหมู่ ส่วน ManageMappings เป็นคอมโพเนนต์สำหรับจัดการ mapping และ CategoryMappingSection เป็นส่วนย่อยที่แสดงรายละเอียดการแมป โดยใช้ ErrorBoundary เพื่อจัดการข้อผิดพลาดในกระบวนการ render",
|
|
"tags": [
|
|
"admin",
|
|
"contract",
|
|
"category-management",
|
|
"mapping-controller"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/drawings/contract/sub-categories/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/drawings/contract/sub-categories/page.tsx",
|
|
"summary": "หน้าจัดการหมวดหมู่สัญญาในระบบบริหารเอกสารแบบดีบุ๊ก โดยใช้ Component ContractSubCategoriesPage เพื่อแสดงข้อมูลรายละเอียดของแต่ละหมวดหมู่ และรองรับการทำงานตามโครงสร้างของระบบบริหารงานภายใน",
|
|
"tags": [
|
|
"admin",
|
|
"contract",
|
|
"sub-categories",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/drawings/contract/volumes/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/drawings/contract/volumes/page.tsx",
|
|
"summary": "หน้าแสดงรายการปริมาตรสัญญา โดยมีฟังก์ชันหลักชื่อ ContractVolumesPage ที่ใช้จัดการการแสดงผลข้อมูลและปฏิสัมพันธ์ผู้ใช้งานในระดับหน่วยงานบริหาร",
|
|
"tags": [
|
|
"admin",
|
|
"contract",
|
|
"volume-management",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/drawings/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc- control/drawings/page.tsx",
|
|
"summary": "หน้าจัดการร่างแบบดีไซน์สำหรับผู้ดูแลระบบ โดยมีฟังก์ชัน DrawingsAdminPage ที่ใช้ในการแสดงข้อมูลและควบคุมการทำงานของเอกสารการออกแบบ",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"drawings",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/drawings/shop/main-categories/page.tsx",
|
|
"type": "file",
|
|
"name": "main-categories/page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/drawings/shop/main-categories/page.tsx",
|
|
"summary": "หน้าแสดงรายการหมวดหมู่สินค้าสำหรับร้านค้า โดยมีฟังก์ชัน ShopMainCategoriesPage ที่จัดการการแสดงผลและตรรกะหลักของหน้าเว็บไซต์นี้ มีโค้ดรวมทั้งหมด 115 บรรทัด",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"shop",
|
|
"main-categories"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/drawings/shop/sub-categories/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/drawings/shop/sub-categories/page.tsx",
|
|
"summary": "หน้าแสดงรายการหมวดหมู่ย่อยของร้านค้าในระบบบริหารจัดการเอกสาร การเขียนโค้ดมีโครงสร้างชัดเจน โดยใช้งานฟังก์ชัน ShopSubCategoriesPage ซึ่งทำงานเป็นหน้าเว็บไซต์สำหรับแสดงข้อมูลหมวดหมู่ย่อยของร้านค้า",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"shop",
|
|
"sub-categories"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/numbering/[id]/edit/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/numbering/[id]/edit/page.tsx",
|
|
"summary": "หน้าจัดการแก้ไขระบบตัวเลขเอกสารสำหรับผู้ดูแลระบบ โดยมีฟังก์ชันหลักคือ EditTemplatePage ที่ใช้ในการแสดงและปรับแต่งข้อมูลตัวเลขเอกสารตาม ID เอกสาร",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"numbering",
|
|
"edit"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/numbering/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/numbering/new/page.tsx",
|
|
"summary": "หน้าจัดการเลขที่เอกสารใหม่ โดยมีฟังก์ชันหลักคือ NewTemplatePage ซึ่งใช้ในการสร้างหรือกำหนดรูปแบบเลขที่เอกสารต่าง ๆ เนื้อหาภายในยังไม่มีรายละเอียดเพิ่มเติม",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"numbering"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/numbering/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/numbering/page.tsx",
|
|
"summary": "หน้าจัดการเลขที่เอกสาร โดยมีฟังก์ชัน NumberingPage ซึ่งทำงานร่วมกับระบบบริหารจัดการเอกสารภายในโครงการ lcbp3-frontend",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"doc-control"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/projects/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc-ctrl/projects/page.tsx",
|
|
"summary": "หน้าจัดการโครงการสำหรับผู้ดูแลระบบ โดยมีฟังก์ชัน ProjectsPage ที่ใช้ในการแสดงข้อมูลและจัดการรายการโครงการต่าง ๆ มีโค้ดรวมทั้งหมด 231 บรรทัด",
|
|
"tags": [
|
|
"admin-page",
|
|
"projects-management",
|
|
"document-control"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/reference/correspondence-types/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc- control/reference/correspondence-types/page.tsx",
|
|
"summary": "หน้าแสดงรายการประเภทจดหมายภายในระบบบริหารเอกสาร โดยมีฟังก์ชันหลักคือ CorrespondenceTypesPage ที่ใช้ในการจัดการและนำเสนอข้อมูลเกี่ยวกับประเภทจดหมายต่าง ๆ ในระบบทั้งหมด",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"reference",
|
|
"correspondence-types",
|
|
"page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/reference/disciplines/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc-control/reference/disciplines/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดของสาขาต่าง ๆ ในระบบบริหารเอกสาร โดยมีฟังก์ชันหลักคือ DisciplinesPage ที่จัดการการแสดงผลข้อมูลสาขาตามโครงสร้างของระบบ และรองรับการทำงานร่วมกับโมดูลอื่น ๆ เช่น การจัดเก็บข้อมูลและการแสดงผลในหน้าเว็บ",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"discipline-management",
|
|
"reference-page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/reference/drawing-categories/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/reference/drawing-categories/page.tsx",
|
|
"summary": "หน้าจัดการหมวดหมู่ภาพวาด โดยมีฟังก์ชัน DrawingCategoriesPage ที่ใช้ในการแสดงข้อมูลและจัดการรายการหมวดหมู่ต่าง ๆ เน้นการแสดงผลแบบ responsive และรองรับการทำงานภายใต้ระบบทั่วไป",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"drawing-categories"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/reference/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-ctrl/reference/page.tsx",
|
|
"summary": "หน้าจัดการข้อมูลอ้างอิงสำหรับระบบบริหารเอกสาร โดยมีฟังก์ชันหลักคือ ReferenceDataPage ที่ใช้ในการแสดงผลและจัดการข้อมูลต่าง ๆ เช่น การดูรายละเอียดและการปรับแต่งข้อมูล",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"reference-data"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/reference/rfa-types/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc-control/reference/rfa-types/page.tsx",
|
|
"summary": "หน้าแสดงข้อมูลประเภทเอกสาร RFA โดยมีฟังก์ชันหลักคือ RfaTypesPage ที่จัดการการแสดงผลและตรรกะการทำงานของหน้านี้ มีโค้ดรวมทั้งหมด 136 บรรทัด",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"doc-control",
|
|
"rfa-types"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/reference/tags/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/doc",
|
|
"summary": "หน้าจัดการแท็กสำหรับระบบเอกสารภายในบริษัท โดยมีฟังก์ชันหลักคือ TagsPage ซึ่งใช้ในการแสดงและจัดการข้อมูลแท็กต่าง ๆ เน้นความเรียบง่ายและรองรับการทำงานร่วมกับระบบที่เกี่ยวข้อง",
|
|
"tags": [
|
|
"admin",
|
|
"doc-control",
|
|
"reference",
|
|
"tag-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/workflows/[id]/edit/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-ctrl/workflows/[id]/edit/page.tsx",
|
|
"summary": "หน้าจัดการแก้ไขกระบวนการ (workflow) โดยใช้งานระบบ routing แบบ dynamic parameter [id] เพื่อแสดงข้อมูลเฉพาะรายตาม ID เก็บไว้ใน state และเชื่อมโยงกับ component อื่น ๆ เช่น form, preview, และ action buttons",
|
|
"tags": [
|
|
"admin",
|
|
"workflow-edit",
|
|
"dynamic-routing",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/workflows/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/workflows/new/page.tsx",
|
|
"summary": "หน้าจัดการสร้างงานใหม่สำหรับระบบบริหารเอกสาร โดยมีฟังก์ชันหลักคือ NewWorkflowPage ที่ใช้ในการแสดงผลและจัดการข้อมูลแบบเรียลไทม์",
|
|
"tags": [
|
|
"admin",
|
|
"workflow",
|
|
"document-control"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/doc-control/workflows/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/doc-control/workflows/page.tsx",
|
|
"summary": "หน้าแสดงรายการ workflow โดยมีฟังก์ชัน WorkflowsPage ที่ใช้จัดการการแสดงผลและตรรกะการทำงานของแต่ละ workflow เน้นความเรียบง่ายในการเข้าถึงข้อมูลจาก backend และแสดงผลผ่าน UI",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"workflow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/migration/errors/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/migration/errors/page.tsx",
|
|
"summary": "หน้าแสดงข้อผิดพลาดในการย้ายข้อมูล โดยมีฟังก์ชัน MigrationErrorsPage ที่ใช้จัดการการแสดงผลข้อความและสถานะของข้อผิดพลาดต่าง ๆ เน้นการออกแบบให้มีความเข้าใจง่ายสำหรับผู้ใช้งานระดับบริหาร",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"migration-error"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/migration/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/migration/page.tsx",
|
|
"summary": "หน้าจัดการย้ายข้อมูล (Migration Management Page) สำหรับระบบบริหารจัดการผู้ใช้งาน โดยมีแท็บต่าง ๆ เช่น AiMigrationTab และ LegacyQueueTab เพื่อให้ผู้ดูแลระบบสามารถตรวจสอบและดำเนินการย้ายข้อมูลได้อย่างเป็นระบบ",
|
|
"tags": [
|
|
"migration-management",
|
|
"admin-dashboard",
|
|
"ai-migration-tab",
|
|
"legacy-queue-tab"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/migration/review/[id]/page.tsx",
|
|
"type": "file",
|
|
"name": "MigrationReviewPage",
|
|
"filePath": "/app/(admin)/admin/migration/review/[id]/page.tsx",
|
|
"summary": "หน้าแสดงผลการตรวจสอบการย้ายข้อมูล (migration review) โดยมีฟังก์ชันหลักชื่อ MigrationReviewPage ที่ใช้จัดรูปแบบการแสดงผลข้อมูลตาม ID จาก URL และรองรับการทำงานในสภาพแวดล้อมบริหารจัดการระบบ",
|
|
"tags": [
|
|
"admin",
|
|
"migration-review",
|
|
"page-component",
|
|
"dynamic-route"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/monitoring/audit-logs/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/monitoring/audit-logs/page.tsx",
|
|
"summary": "หน้าแสดงรายการบันทึกการตรวจสอบสิทธิ์ (Audit Logs) สำหรับผู้ดูแลระบบ โดยมีฟังก์ชันหลักคือ AuditLogsPage ซึ่งจัดวางโครงสร้างการแสดงผลตามมาตรฐานของแอปพลิเคชัน และรองรับการทำงานภายใต้ระบบที่ต้องการความปลอดภัยสูง",
|
|
"tags": [
|
|
"audit-logs",
|
|
"admin-dashboard",
|
|
"monitoring"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/monitoring/sessions/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/monitoring/sessions/page.tsx",
|
|
"summary": "หน้าจัดการเซสชันสำหรับผู้ดูแลระบบ โดยมีฟังก์ชัน SessionManagementPage ที่ใช้จัดแสดงข้อมูลและควบคุมการทำงานของเซสชันต่าง ๆ มีโค้ดรวมทั้งหมด 115 บรรทัด",
|
|
"tags": [
|
|
"admin",
|
|
"monitoring",
|
|
"session-management",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/monitoring/system-logs/numbering/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/monitoring/system-logs/numbering/page.tsx",
|
|
"summary": "หน้าแสดงรายการบันทึกเลขลำดับระบบ โดยมีฟังก์ชัน NumberingLogsPage รับค่าจาก component และจัดการการแสดงผลข้อมูลตามเงื่อนไขต่าง ๆ เช่น การกรองหรือเรียงลำดับ",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"monitoring",
|
|
"system-logs",
|
|
"numbering"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/numbering/[id]/edit/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/numbering/[id]/edit/page.tsx",
|
|
"summary": "หน้าแก้ไขเลขลำดับสำหรับระบบบริหารจัดการหมายเลข โดยใช้งานเฉพาะผู้มีสิทธิ์เข้าถึงระดับ admin เท่านั้น มีโครงสร้างเป็นหน้าเว็บไซต์แบบ single-page application ซึ่งเชื่อมโยงกับระบบบริหารจัดการหมายเลขโดยตรง",
|
|
"tags": [
|
|
"admin",
|
|
"edit",
|
|
"numbering"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/numbering/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/numbering/new/page.tsx",
|
|
"summary": "หน้าจัดทำเลขที่ใหม่สำหรับระบบบริหารจัดการเอกสาร โดยมีฟังก์ชันหลักคือ NumberingNewPage ซึ่งใช้ในการสร้างและจัดเก็บเลขที่ตามลำดับอัตโนมัติ",
|
|
"tags": [
|
|
"admin",
|
|
"numbering",
|
|
"new-page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/numbering/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/numbering/page.tsx",
|
|
"summary": "หน้าจัดเรียงเลข (Numbering Page) สำหรับระบบบริหารจัดการภายใน โดยมีฟังก์ชันหลักคือ NumberingPage เน้นการแสดงผลและจัดการลำดับเลขตามต้องการ",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"numbering"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/organizations/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/organizations/page.tsx",
|
|
"summary": "หน้าจัดการองค์กรสำหรับผู้ดูแลระบบ โดยมีฟังก์ชัน OrganizationsPage ที่ใช้แสดงข้อมูลองค์กรและจัดการรายการต่าง ๆ เน้นความเรียบง่ายและประสิทธิภาพในการทำงาน",
|
|
"tags": [
|
|
"admin",
|
|
"organizations",
|
|
"page"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/page.tsx",
|
|
"summary": "หน้าจัดการระบบ (Admin Page) โดยมีฟังก์ชันหลักคือ AdminPage ซึ่งใช้สำหรับแสดงข้อมูลและควบคุมการทำงานภายในระบบทั้งหมด มีโครงสร้างโค้ดยาวถึง 159 บรรทัด",
|
|
"tags": [
|
|
"admin",
|
|
"page",
|
|
"dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/settings/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/settings/page.tsx",
|
|
"summary": "หน้าตั้งค่าของระบบบริหารจัดการ โดยมีฟังก์ชัน SettingsPage ที่ใช้งานรวมถึงการจัดวางโครงสร้าง UI และการแสดงผลข้อมูลต่าง ๆ เน้นความเรียบง่ายและเข้าใจได้ง่าย",
|
|
"tags": [
|
|
"admin",
|
|
"settings",
|
|
"page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/users/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(admin)/admin/users/page.tsx",
|
|
"summary": "หน้าจัดการผู้ใช้งาน (Users Page) สำหรับระบบบริหารจัดการภายใน โดยมีฟังก์ชัน UsersPage ที่สร้างขึ้นเพื่อแสดงรายการผู้ใช้งานและจัดการข้อมูลได้อย่างเป็นระเบียบ",
|
|
"tags": [
|
|
"admin",
|
|
"user-management",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/workflows/[id]/edit/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/workflows/[id]/edit/page.tsx",
|
|
"summary": "หน้าจัดการแก้ไขกระบวนการ (Workflow) โดยใช้งานระบบ routing แบบ dynamic เพื่อแสดงข้อมูลตาม id และเชื่อมโยงกับ component WorkflowEditPage เน้นการแสดงผลและการควบคุมการทำงานของ workflow ในระบบที่มีโครงสร้าง admin",
|
|
"tags": [
|
|
"admin",
|
|
"workflow-edit",
|
|
"dynamic-routing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/workflows/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/workflows/new/page.tsx",
|
|
"summary": "หน้าสร้างงานใหม่สำหรับระบบบริหารจัดการ workflow โดยมีฟังก์ชัน WorkflowNewPage ที่ใช้ในการแสดงผลและจัดการข้อมูลการทำงาน",
|
|
"tags": [
|
|
"page",
|
|
"workflow",
|
|
"admin"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/admin/workflows/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(admin)/admin/workflows/page.tsx",
|
|
"summary": "หน้าจัดการกระบวนการ (workflows) โดยมีฟังก์ชัน WorkflowsPage ที่ใช้แสดงข้อมูลและควบคุมการทำงานของระบบตามความต้องการของผู้ใช้งาน",
|
|
"tags": [
|
|
"page",
|
|
"admin",
|
|
"workflow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/error.tsx",
|
|
"type": "file",
|
|
"name": "error.tsx",
|
|
"filePath": "app/(admin)/error.tsx",
|
|
"summary": "ไฟล์นี้เป็นหน้าข้อผิดพลาดสำหรับระบบบริหารจัดการ โดยมีฟังก์ชัน AdminError ที่ใช้ในการแสดงผลข้อความผิดพลาดเมื่อเกิดเหตุการณ์ข้อผิดพลาดในส่วนของ admin",
|
|
"tags": [
|
|
"error-handler",
|
|
"admin-module"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(admin)/layout.tsx",
|
|
"type": "file",
|
|
"name": "layout.tsx",
|
|
"filePath": "/app/(admin)/layout.tsx",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างหลักสำหรับหน้าแดชบอร์ดผู้ดูแลระบบ โดยมีฟังก์ชัน AdminLayout ที่ใช้จัดวางองค์ประกอบต่าง ๆ เช่น header, sidebar และ content area เข้าด้วยกัน",
|
|
"tags": [
|
|
"layout",
|
|
"admin-dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/api/ai/chat/route.ts",
|
|
"type": "file",
|
|
"name": "route.ts",
|
|
"filePath": "/app/api/ai/chat/route.ts",
|
|
"summary": "ไฟล์นี้เป็น route handler สำหรับ API endpoint เกี่ยวกับการสนทนาด้วย AI โดยรองรับคำขอ POST เพื่อรับข้อมูลจากผู้ใช้งานและส่งคำตอบกลับคืนมาในรูปแบบ JSON",
|
|
"tags": [
|
|
"api-handler",
|
|
"ai-chat"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/api/auth/[...nextauth]/route.ts",
|
|
"type": "file",
|
|
"name": "route.ts",
|
|
"filePath": "app/api/auth/[...nextauth]/route.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน route.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(auth)/layout.tsx",
|
|
"type": "file",
|
|
"name": "layout.tsx",
|
|
"filePath": "/app/(auth)/layout.tsx",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างหลักสำหรับหน้าเข้าสู่ระบบ โดยมีการประกาศฟังก์ชัน AuthLayout ที่ใช้จัดวางองค์ประกอบการแสดงผล และนำเข้า dynamic เพื่อใช้งานในบริบทของ Next.js",
|
|
"tags": [
|
|
"auth-layout",
|
|
"layout-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(auth)/login/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(auth)/login/page.tsx",
|
|
"summary": "หน้าเข้าสู่ระบบของแอปพลิเคชัน โดยมีฟังก์ชัน LoginPage ที่ใช้จัดการกระบวนการล็อกอินผู้ใช้งาน มีโค้ดรวมทั้งหมดประมาณ 124 บรรทัด และเป็นหนึ-าหลักสำหรับการเข้าสู่ระบบ",
|
|
"tags": [
|
|
"auth",
|
|
"login",
|
|
"authentication"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/ai-staging/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/ai-staging/page.tsx",
|
|
"summary": "หน้าเว็บไซต์สำหรับการแสดงผลข้อมูล AI Staging โดยมีการจัดวางโครงสร้างโค้ดอย่างชัดเจน มีฟังก์ชันสนับสนุน เช่น getMetadataText และ getStatusVariant ที่ใช้ในการกำหนด metadata และสถานะของหน้าเว็บ ส่วนหลัก ๆ เป็นคอมโพเนนต์ AiStagingPage ซึ่งมีขนาดใหญ่มากถึง 518 line โดยรวมแล้วเป็นหน้าจอแสดงผลข้อมูล AI Staging",
|
|
"tags": [
|
|
"page-component",
|
|
"ai-dashboard",
|
|
"dashboard-page"
|
|
],
|
|
"complexity": "complex"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/circulation/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/circulation/new/page.tsx",
|
|
"summary": "หน้าสร้างรายการการส่งต่อ (Circulation) โดยใช้ฟังก์ชัน CreateCirculationPage ซึ่งมีขนาดโค้ดรวมทั้งหมดประมาณ 251 บรรทัด มีการนำเข้า dynamic และ fetchCache มาใช้งานเพื่อจัดการข้อมูลและโหลดหน้าเว็บอย่างเหมาะสม",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"circulation",
|
|
"create-form"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/circulation/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/circulation/page.tsx",
|
|
"summary": "หน้าแสดงข้อมูลการเคลื่อนย้ายสินค้า โดยมีฟังก์ชัน CirculationPage ที่จัดวางโครงสร้าง UI และควบคุมการแสดงผลตามความต้องการของระบบ",
|
|
"tags": [
|
|
"page",
|
|
"dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:/app/(dashboard)/circulation/[uuid]/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/circulation/[uuid]/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดการส่งต่อเอกสาร โดยมีฟังก์ชันตรวจสอบสถานะการล่าช้า (isOverdue), คำนำหน้าชื่อผู้ใช้งาน (getInitials) และแปลงสถานะเป็นโทนสีหรือรูปแบบการแสดงผล (getStatusVariant) เต็มไปด้วยโค้ดหลักสำหรับการจัดแสดงข้อมูลในหน้านี้",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"circulation",
|
|
"detail-page"
|
|
],
|
|
"complexity": "complex"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/correspondences/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/correspondences/new/page.tsx",
|
|
"summary": "หน้าสร้างเอกสารสื่อสารใหม่ โดยมีฟังก์ชัน NewCorrespondencePage ที่ใช้จัดการการแสดงผลและตรรกะของหน้านี้ มีการนำเข้า dynamic และ fetchCache เพื่อเพิ่มประสิทธิภาพการทำงาน",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"correspondences"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/correspondences/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/correspondences/page.tsx",
|
|
"summary": "หน้าจัดการเอกสารสื่อสารภายในองค์กร โดยมีฟังก์ชันหลักเป็น CorrespondencesPage ที่ใช้ในการแสดงรายการและจัดการข้อมูลเอกสารต่าง ๆ เน้นความเรียบง่ายและรองรับการทำงานแบบ responsive",
|
|
"tags": [
|
|
"dashboard",
|
|
"correspondence",
|
|
"page-component",
|
|
"dynamic-import"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/correspondences/[uuid]/edit/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/correspondences/[uuid]/edit/page.tsx",
|
|
"summary": "หน้าแก้ไขข้อมูลการสื่อสาร โดยมีฟังก์ชัน EditCorrespondencePage ที่จัดการการแสดงผลและตรรกะการทำงานของหน้านี้ มีโค้ดรวมทั้งหมด 48 บรรทัด",
|
|
"tags": [
|
|
"page",
|
|
"edit",
|
|
"correspondence"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/correspondences/[uuid]/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/correspondences/[uuid]/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดการสื่อสาร (Correspondence) โดยใช้ UUID เป็นตัวระบุรายการเดียว มีฟังก์ชันหลักชื่อ CorrespondenceDetailPage ที่มีขนาดโค้ดประมาณ 104 บรรทัด และเปิดเผยให้ใช้งานผ่านการ export",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"correspondence-detail"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/dashboard/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/dashboard/page.tsx",
|
|
"summary": "หน้าแดชบอร์ดหลักของระบบ โดยมีฟังก์ชัน DashboardPage ที่จัดวางองค์ประกอบต่าง ๆ เช่น เมนูนำทาง และส่วนแสดงข้อมูลสำคัญ เรียงตามลำดับการใช้งานจริง",
|
|
"tags": [
|
|
"dashboard",
|
|
"main-page",
|
|
"layout"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/delegation/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/delegation/page.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน page.tsx",
|
|
"tags": [
|
|
"utility",
|
|
"entry-point"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/distribution-matrices/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/distribution-matrices/page.tsx",
|
|
"summary": "หน้าจัดแสดงข้อมูลตารางการกระจายตัวของรหัส โดยมีฟังก์ชัน splitCodes สำหรับแยกรหัสออกเป็นส่วนย่อย และ Component DistributionMatricesPage เป็นหลักการทำงานทั้งหมด มีความซับซ้อนปานกลางเนื่องจากรวมถึงการจัดวางหน้าเว็บและการประมวลผลข้อมูล",
|
|
"tags": [
|
|
"dashboard",
|
|
"distribution-matrix",
|
|
"code-splitting",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/drawings/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/drawings/page.tsx",
|
|
"summary": "หน้าจัดแสดงภาพวาด (Drawings) โดยมีการสร้างคอมโพเนนต์ DrawingsPage และ DrawingTabs เพื่อจัดวางแท็บสำหรับการแสดงข้อมูลภาพวาดในระบบบริหารงานออกแบบกราฟิก",
|
|
"tags": [
|
|
"dashboard",
|
|
"drawings",
|
|
"page-component",
|
|
"tabs"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/drawings/upload/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/drawings/upload/page.tsx",
|
|
"summary": "หน้าแสดงผลการอัปโหลดภาพวาด โดยมีฟังก์ชัน DrawingUploadPage ที่จัดการกระบวนการอัปโหลดไฟล์จากผู้ใช้งาน และรองรับการทำงานแบบ dynamic เนื่องจากรายงานข้อมูลจาก backend",
|
|
"tags": [
|
|
"page",
|
|
"upload",
|
|
"drawing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/drawings/[uuid]/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/drawings/[uuid]/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดการวาดแบบ โดยใช้ UUID เป็นตัวระบุแต่ละรายการ การเรียกข้อมูลจากเซิร์ฟเวอร์ผ่าน fetchDrawingByUuid เพื่อโหลดข้อมูลเฉพาะรายการที่เลือก เน้นการแสดงผลและจัดการฟอร์มสำหรับแก้ไขรายละเอียดและการอัปโหลดฉบับปรับปรุง",
|
|
"tags": [
|
|
"dashboard",
|
|
"drawing-detail",
|
|
"uuid-based-routing",
|
|
"api-handler"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "function:fetchDrawingByUuid",
|
|
"type": "function",
|
|
"name": "fetchDrawingByUuid",
|
|
"filePath": "app/(dashboard)/drawings/[uuid]/page.tsx",
|
|
"summary": "ฟังก์ชันสำหรับดึงข้อมูลแบบวาดรายละเอียดจากเซิร์ฟเวอร์โดยใช้ UUID เป็นพารามิเตอร์ เรียก API เพื่อให้ได้ข้อมูลเฉพาะรายการที่ต้องการ",
|
|
"tags": [
|
|
"api-fetch",
|
|
"uuid"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:component:DrawingDetailPage",
|
|
"type": ", ",
|
|
"complexity": "moderate",
|
|
"name": "DrawingDetailPage",
|
|
"summary": "ส่วนติดต่อผู้ใช้ DrawingDetailPage",
|
|
"tags": [
|
|
"utility"
|
|
]
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/error.tsx",
|
|
"type": "file",
|
|
"name": "error.tsx",
|
|
"filePath": "app/(dashboard)/error.tsx",
|
|
"summary": "ไฟล์นี้เป็นหน้าแสดงข้อผิดพลาดสำหรับแดชบอร์ด โดยมีฟังก์ชัน DashboardError ที่ใช้ในการจัดการสถานะข้อผิดพลาดของระบบ และส่งกลับผลลัพธ์ให้ผู้ใช้งานได้อย่างเหมาะสม",
|
|
"tags": [
|
|
"error-handling",
|
|
"dashboard",
|
|
"component"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/layout.tsx",
|
|
"type": "file",
|
|
"name": "layout.tsx",
|
|
"filePath": "app/(dashboard)/layout.tsx",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างหลักของหน้าแดชบอร์ด โดยมีฟังก์ชัน DashboardLayout ที่ใช้จัดวางองค์ประกอบต่าง ๆ เช่น เห็นได้ว่ามีการนำเข้า dynamic และ export DashboardLayout มาใช้งาน",
|
|
"tags": [
|
|
"layout",
|
|
"dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/migration/review/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/migration/review/page.tsx",
|
|
"summary": "หน้าแสดงผลการตรวจสอบข้อมูลย้ายระบบ โดยมีฟังก์ชัน MigrationReviewPage ที่จัดการการแสดงผลและตรรกะการทำงานของหน้านี้ มีโค้ดรวมทั้งหมด 152 บรรทัด และเป็นส่วนหนึ่งของระบบที่เกี่ยวข้องกับการย้ายระบบฐานข้อมูล",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"migration"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/profile/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/profile/page.tsx",
|
|
"summary": "หน้าโปรไฟล์ผู้ใช้งานที่แสดงข้อมูลส่วนตัวและสามารถจัดการได้ เช่น การอัปเดตข้อมูล หรือการเปลี่ยนแปลงรหัสผ่าน โดยมีโครงสร้างเป็น React Component เดียวที่เก็บหน้าที่แสดงผลลัพธ์ไว้ในตัว",
|
|
"tags": [
|
|
"profile",
|
|
"dashboard",
|
|
"user-profile"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/projects/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/projects/new/page.tsx",
|
|
"summary": "หน้าสร้างโครงการใหม่ในระบบบริหารจัดการโปรเจกต์ โดยมีฟังก์ชัน CreateProjectPage ที่ใช้ในการจัดการข้อมูลและแสดงผลลัพธ์บนหน้าเว็บไซต์",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"project-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/projects/page_backup.tsx",
|
|
"type": "file",
|
|
"name": "page_backup.tsx",
|
|
"filePath": "app/(dashboard)/projects/page_backup.tsx",
|
|
"summary": "หน้าแสดงรายการโครงการในระบบ โดยมีฟังก์ชัน ProjectsPage ที่จัดการการแสดงผลและตรรกะหลักของหน้านี้ มีโค้ดรวมทั้งหมดประมาณ 191 บรรทัด และเป็นหนึ",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"projects"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/projects/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/projects/page.tsx",
|
|
"summary": "หน้าแสดงรายการโครงการ โดยมีฟังก์ชัน ProjectsPage ที่จัดการการแสดงผลและตรรกะหลักของหน้านี้ มีโค้ดรวมทั้งหมด 191 บรรทัด และเป็นหน้าหลักสำหรับผู้ใช้งานเข้าชมโครงการ",
|
|
"tags": [
|
|
"page",
|
|
"dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/response-codes/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/response-codes/page.tsx",
|
|
"summary": "หน้าแสดงรหัสคำตอบ (response codes) โดยมีฟังก์ชัน ResponseCodesPage ที่จัดการการแสดงผลข้อมูลรหัสคำตอบในระบบ เน้นความเรียบง่ายและใช้งานได้จริงสำหรับผู้ดูแลระบบ",
|
|
"tags": [
|
|
"dashboard",
|
|
"response-codes",
|
|
"page"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/rfa/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/rfa/page.tsx",
|
|
"summary": "หน้าแสดงผลการจัดการ RFA โดยใช้คอมโพเนนต์ RfaLegacyPage ซึ่งมีขนาดเล็กและเรียบง่าย มุ่งเน้นการแสดงข้อมูลพื้นฐานเท่านั้น",
|
|
"tags": [
|
|
"dashboard",
|
|
"rfa",
|
|
"legacy"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/rfas/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/rfas/new/page.tsx",
|
|
"summary": "หน้าสร้างรายการ RFA โดยใช้โครงสร้าง Next.js และแสดงผลผ่านคอมโพเนนต์ NewRFAPage ซึ่งมีการจัดการโค้ดแบบ dynamic และ fetchCache เพื่อเพิ่มประสิทธิภาพการทำงาน",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"rfas",
|
|
"new"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/rfas/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/rfas/page.tsx",
|
|
"summary": "หน้าแสดงผลรวมรายการ RFAs โดยมีฟังก์ชันหลักคือ RFAsPage ที่ใช้จัดการการแสดงผลข้อมูลและโครงสร้างหน้าเว็บ",
|
|
"tags": [
|
|
"page",
|
|
"dashboard"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/rfas/[uuid]/edit/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/rfas/[uuid]/edit/page.tsx",
|
|
"summary": "หน้าแก้ไขข้อมูล RFA โดยใช้งานคอมโพเนนต์ RFAEditPage ซึ่งมีความยาวโค้ดรวมทั้งหมด 167 บรรษา มีการจัดวางโครงสร้างเพื่อให้สามารถแสดงและปรับแต่งข้อมูลได้อย่างเหมาะสม",
|
|
"tags": [
|
|
"page",
|
|
"edit",
|
|
"rfa"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/rfas/[uuid]/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/rfas/[uuid]/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดของรายการ RFAs โดยใช้ชื่อฟังก์ชัน RFADetailPage ซึ่งมีขนาดโค้ดประมาณ 101 บรรทัด มีการส่งออกเฉพาะตัวแปรหรือฟังก์ชันนี้เพื่อนำไปใช้งานในระบบ",
|
|
"tags": [
|
|
"page",
|
|
"rfas",
|
|
"dashboard",
|
|
"detail-page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/search/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/search/page.tsx",
|
|
"summary": "หน้าแสดงผลการค้นหาข้อมูล โดยมีองค์ประกอบหลักเป็น SearchContent ที่จัดวางเนื้อหาและฟังก์ชันการค้นหา และ SearchPage เป็นตัวรวมของหน้าเว็บไซต์",
|
|
"tags": [
|
|
"search-page",
|
|
"dashboard-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/settings/delegation/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/settings/delegation/page.tsx",
|
|
"summary": "หน้าจัดการสิทธิ์การมอบหมาย (Delegation) สำหรับระบบบริหารจัดการภายใน โดยมีฟังก์ชันหลักคือ DelegationPage เน้นการแสดงผลข้อมูลและควบคุมการทำงานตามบทบาทของผู้ใช้งาน",
|
|
"tags": [
|
|
"dashboard",
|
|
"settings",
|
|
"delegation",
|
|
"page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/settings/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/settings/page.tsx",
|
|
"summary": "หน้าตั้งค่าของระบบ โดยมีฟังก์ชัน SettingsPage ที่ใช้งานรวมถึงการจัดวางโครงสร้าง UI และการเชื่อมโยงกับบริการต่าง ๆ เพื่อให้ผู้ใช้งานสามารถปรับแต่งได้อย่างเหมาะสม",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"settings"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/settings/reminder-rules/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/settings/reminder-rules/page.tsx",
|
|
"summary": "หน้าจัดการกฎเตือน (Reminder Rules) สำหรับระบบบริหารงาน โดยมีฟังก์ชันหลักคือ ReminderRulesPage เน้นการแสดงผลและจัดการข้อมูลกฎเตือนได้อย่างเป็นระเบียบ มีโครงสร้างโค้ดยาวถึง 182 บรรทัด",
|
|
"tags": [
|
|
"dashboard",
|
|
"settings",
|
|
"reminder-rules",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/settings/review-teams/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/(dashboard)/settings/review-teams/page.tsx",
|
|
"summary": "หน้าจัดการทีมตรวจสอบ (Review Teams) สำหรับระบบบริหารงานภายใน โดยใช้คอมโพเนนต์ ReviewTeamsPage เพื่อแสดงข้อมูลและให้ผู้ใช้งานสามารถดูรายละเอียดของแต่ละทีมได้อย่างชัดเจน",
|
|
"tags": [
|
|
"dashboard",
|
|
"settings",
|
|
"review-teams",
|
|
"page-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/transmittals/new/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/transmittals/new/page.tsx",
|
|
"summary": "หน้าสร้างเอกสารส่งมอบใหม่ โดยมีฟังก์ชัน CreateTransmittalPage ที่จัดการการแสดงผลและตรรกะการทำงานของหน้านี้ มีการใช้ dynamic และ fetchCache เพื่อจัดการ caching และโหลดข้อมูลอย่างเหมาะสม",
|
|
"tags": [
|
|
"dashboard",
|
|
"transmittals",
|
|
"create-page",
|
|
"api-handler"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/transmittals/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/transmittals/page.tsx",
|
|
"summary": "หน้าแสดงรายการเอกสารส่งต่อ โดยมีฟังก์ชัน TransmittalPage ที่จัดการการแสดงผลและตรรกะหลักของหน้านี้ มีโค้ดรวมประมาณ 91 บรรทัด และเป็นหนึ",
|
|
"tags": [
|
|
"page",
|
|
"dashboard",
|
|
"transmittals"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/(dashboard)/transmittals/[uuid]/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "app/(dashboard)/transmittals/[uuid]/page.tsx",
|
|
"summary": "หน้าแสดงรายละเอียดการส่งเอกสาร (Transmittal) โดยใช้ UUID เป็นตัวระบุรายการเดียว มีฟังก์ชันหลักชื่อ TransmittalDetailPage ที่มีขนาดใหญ่ถึง 172 บรรทัด และเป็นจุดออกทาง API เพื่อดึงข้อมูลจาก backend",
|
|
"tags": [
|
|
"transmittal-detail-page",
|
|
"dashboard-component",
|
|
"uuid-router"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/error.tsx",
|
|
"type": "file",
|
|
"name": "error.tsx",
|
|
"filePath": "/src/app/error.tsx",
|
|
"summary": "ไฟล์นี้จัดการหน้าข้อผิดพลาดของระบบ โดยมีฟังก์ชัน Error ที่ใช้แสดงผลข้อความหรือสถานะข้อผิดพลาดต่าง ๆ เมื่อเกิดเหตุการณ์ผิดพลาดในแอปพลิเคชัน",
|
|
"tags": [
|
|
"error-handling",
|
|
"page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/global-error.tsx",
|
|
"type": "file",
|
|
"name": "global-error.tsx",
|
|
"filePath": "/app/global-error.tsx",
|
|
"summary": "ไฟล์นี้จัดการข้อผิดพลาดระดับโลกของแอปพลิเคชัน โดยมีฟังก์ชัน GlobalError ที่ใช้แสดงผลข้อความหรือหน้าแจ้งเตือนเมื่อเกิดข้อผิดพลาดในระหว่างการทำงานของระบบ",
|
|
"tags": [
|
|
"global-error",
|
|
"error-handling"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/globals.css",
|
|
"type": "file",
|
|
"name": "globals.css",
|
|
"filePath": "app/globals.css",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน globals.css",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:app/layout.tsx",
|
|
"type": "file",
|
|
"name": "layout.tsx",
|
|
"filePath": "app/layout.tsx",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างหลักของแอปพลิเคชัน โดยมีหน้าที่จัดการ layout ร่วมสำหรับหน้าเว็บไซต์ทั้งหมด มีฟังก์ชัน RootLayout ซึ่งใช้กำหนดโครงสร้างพื้นฐาน เช่น การแสดงผล header, footer และการรวม CSS โดยอ้างอิงจาก globals.css",
|
|
"tags": [
|
|
"layout",
|
|
"root-layout",
|
|
"app-structure"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:app/page.tsx",
|
|
"type": "file",
|
|
"name": "page.tsx",
|
|
"filePath": "/app/page.tsx",
|
|
"summary": "หน้าหลักของแอปพลิเคชัน โดยมีฟังก์ชัน RootPage เป็นตัวกลางในการจัดการการแสดงผลและโครงสร้างพื้นฐานของหน้าเว็บไซต์",
|
|
"tags": [
|
|
"root-layout",
|
|
"main-page"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:build-map.js",
|
|
"type": "file",
|
|
"name": "build-map.js",
|
|
"filePath": "build-map.js",
|
|
"summary": "ไฟล์นี้มีหน้าที่สร้างแผนผังโครงสร้างของโค้ด โดยใช้งานฟังก์ชันต่าง ๆ เช่น generateSimpleNode, callOllama และ runAnalysis เพื่อจัดการข้อมูลและผลลัพธ์จากโมเดล Ollama อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"map-generation",
|
|
"ollama-integration",
|
|
"code-analysis"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "function:generateSimpleNode",
|
|
"type": "function",
|
|
"name": "generateSimpleNode",
|
|
"filePath": "build-map.js",
|
|
"summary": "ฟังก์ชันนี้ใช้สร้างโหนดพื้นฐานในแผนผัง โดยรับข้อมูลเข้ามาแล้วแปลงเป็นโครงสร้างที่เหมาะสมสำหรับการจัดวางในระบบ",
|
|
"tags": [
|
|
"node-generation",
|
|
"structure-building"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "function:callOllama",
|
|
"type": ", ",
|
|
"complexity": "moderate",
|
|
"name": "callOllama",
|
|
"summary": "ส่วนติดต่อผู้ใช้ callOllama",
|
|
"tags": [
|
|
"utility"
|
|
]
|
|
},
|
|
{
|
|
"id": "file:components/admin/ai/OcrEngineSelector.tsx",
|
|
"type": "file",
|
|
"name": "OcrEngineSelector.tsx",
|
|
"filePath": "components/admin/ai/Ocr0CrEngineSelector.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับเลือกเครื่องมือ OCR ใช้งานได้หลากหลาย โดยมีฟังก์ชันหลักคือ OcrEngineSelector ที่จัดการการแสดงผลและพฤติกรรมของแต่ละตัวเลือกอย่างเป็นระบบ",
|
|
"tags": [
|
|
"component",
|
|
"admin",
|
|
"ai",
|
|
"ocr-engine-selector"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/ai/OcrSandboxPromptManager.tsx",
|
|
"type": "file",
|
|
"name": "OcrSandboxPromptTmanager.tsx",
|
|
"filePath": "components/admin/ai/OcrSandboxPromptManager.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับจัดการคำขอ (prompt) ในการใช้งาน OCR Sandbox โดยมีหน้าที่แสดงผลและจัดการประวัติเวอร์ชันของ prompt เหมือนกับระบบบริหารจัดการ prompt อื่น ๆ ในระบบทั้งหมด",
|
|
"tags": [
|
|
"component",
|
|
"admin",
|
|
"ai",
|
|
"ocr-sandbox",
|
|
"prompt-manager"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/ai/PromptVersionHistory.tsx",
|
|
"type": "file",
|
|
"name": "PromptVersionHistory.tsx",
|
|
"filePath": "components/admin/ai/PromptVersionHistory.tsx",
|
|
"summary": "คอมโพเนนต์แสดงประวัติเวอร์ชันของ Prompt สำหรับผู้ดูแลระบบ โดยมีฟังก์ชันหลักคือการจัดรูปแบบข้อมูลเวอร์ชันพร็อโมทและแสดงผลลัพธ์ในหน้าแดชบอร์ด",
|
|
"tags": [
|
|
"component",
|
|
"admin",
|
|
"ai",
|
|
"prompt-history"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/organization-dialog.tsx",
|
|
"type": "file",
|
|
"name": "organization-dialog.tsx",
|
|
"filePath": "components/admin/organization-dialog.tsx",
|
|
"summary": "องค์ประกอบสำหรับการแสดงรายละเอียดและจัดการองค์กรในระบบบริหารจัดการ โดยมีฟังก์ชัน OrganizationDialog ที่ใช้ในการสร้าง Dialog เพื่อแสดงข้อมูลองค์กรและการดำเนินการต่าง ๆ เช่น การแก้ไขหรือลบองค์กร",
|
|
"tags": [
|
|
"dialog",
|
|
"organization-management",
|
|
"admin-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/reference/generic-crud-table.tsx",
|
|
"type": "file",
|
|
"name": "generic-crud-table.tsx",
|
|
"filePath": "components/admin/reference/generic-crud- crud-table.tsx",
|
|
"summary": "คอมโพเนนต์ทั่วไปสำหรับการแสดงข้อมูลแบบ CRUD (Create, Read, Update, Delete) โดยมีฟังก์ชันหลักชื่อ GenericCrudTable ซึ่งใช้ในการจัดการตารางข้อมูลอย่างยืดหยุ่น",
|
|
"tags": [
|
|
"crud",
|
|
"table-component",
|
|
"admin-interface"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/security/rbac-matrix.tsx",
|
|
"type": "file",
|
|
"name": "rbac-matrix.tsx",
|
|
"filePath": "components/admin/security/rbac-matrix.tsx",
|
|
"summary": "ไฟล์นี้สร้างคอมโพเนนต์ RbacMatrix สำหรับแสดงตารางการควบคุมสิทธิ์ (Role-Based Access Control) โดยใช้ฟังก์ชัน extractArrayData เพื่อดึงข้อมูลจากอาร์เรย์และจัดรูปแบบการแสดงผลตามโครงสร้างของสิทธิ์แต่ละระดับ",
|
|
"tags": [
|
|
"rbac",
|
|
"access-control",
|
|
"component",
|
|
"table"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/sidebar.tsx",
|
|
"type": "file",
|
|
"name": "sidebar.tsx",
|
|
"filePath": "components/admin/sidebar.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์สำหรับแสดงเมนูด้านซ้ายของหน้าแดชบอร์ดผู้ดูแลระบบ โดยมีฟังก์ชันหลักคือ AdminSidebar และ AdminMobileSidebar ที่ใช้จัดวางรายการเมนูลงไว้ในรูปแบบ responsive layout เพื่อรองรับการแสดงผลบนอุปกรณ์ต่าง ๆ",
|
|
"tags": [
|
|
"admin-panel",
|
|
"sidebar-component",
|
|
"responsive-layout"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/admin/user-dialog.tsx",
|
|
"type": "file",
|
|
"name": "user-dialog.tsx",
|
|
"filePath": "components/admin/user-dialog.tsx",
|
|
"summary": "องค์ประกอบ (component) สำหรับการแสดงรายละเอียดผู้ใช้งานในระบบบริหารจัดการ โดยมีฟังก์ชันหลักชื่อ UserDialog ที่ครอบคลุมการทำงานครบถ้วนจาก line 1 ถึง line 291",
|
|
"tags": [
|
|
"component",
|
|
"admin",
|
|
"user-dialog"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-chat-input.tsx",
|
|
"type": "file",
|
|
"name": "ai-chat-input.tsx",
|
|
"filePath": "components/ai/ai-chat-input.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับการแสดงผลและจัดการข้อมูลจากช่องป้อนคำสั่งผ่าน AI โดยมีฟังก์ชันหลักคือ AiChatInput ที่ใช้ร่วมกับระบบแชทบอทในแอปพลิเคชัน",
|
|
"tags": [
|
|
"component",
|
|
"ai-chat",
|
|
"input"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-chat-messages.tsx",
|
|
"type": "file",
|
|
"name": "ai-chat-messages.tsx",
|
|
"filePath": "components/ai/ai-chat-messages.tsx",
|
|
"summary": "คอมโพเนนต์แสดงข้อความสนทนาด้วยปัญญาประดิษฐ์ โดยมีฟังก์ชันหลักชื่อ AiChatMessages ซึ่งจัดการการแสดงผลข้อความจากผู้ใช้งานและระบบอย่างเป็นระเบียบ มีโค้ดรวมทั้งหมด 159 บรรทัด",
|
|
"tags": [
|
|
"ai-chat-messages",
|
|
"component",
|
|
"chat-interface"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-chat-panel.tsx",
|
|
"type": "file",
|
|
"name": "ai-chat-panel.tsx",
|
|
"filePath": "components/ai/ai-chat-panel.tsx",
|
|
"summary": "คอมโพเนนต์แสดงหน้าจอสนทนาด้วยปัญญาประดิษฐ์ โดยมีฟังก์ชันหลักคือ AiChatPanel ซึ่งใช้งานร่วมกับระบบ AI เพื่อให้ผู้ใช้สามารถพูดคุยกับเครื่องจักรได้อย่างโต้ตอบ",
|
|
"tags": [
|
|
"ai-chat-panel",
|
|
"component",
|
|
"chat-interface"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-chat-toggle.tsx",
|
|
"type": "file",
|
|
"name": "ai-chat-toggle.tsx",
|
|
"filePath": "components/ai/ai-chat-toggle.tsx",
|
|
"summary": "คอมโพเนนต์ที่ใช้แสดงปุ่มสลับการสนทนาด้วย AI โดยมีฟังก์ชันหลักคือ AiChatToggle ซึ่งทำงานร่วมกับระบบ UI เพื่อให้ผู้ใช้งานสามารถเปิด-ปิดโหมดการสนทนาได้อย่างสะดวก",
|
|
"tags": [
|
|
"component",
|
|
"ai-chat-toggle",
|
|
"toggle-button"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-status-banner-host.tsx",
|
|
"type": "file",
|
|
"name": "AiStatusBannerHost",
|
|
"filePath": "components/ai/ai-status-banner-host.tsx",
|
|
"summary": "คอมโพเนนต์โฮสต์สำหรับแสดงสถานะ AI โดยใช้ AiStatusBanner เป็นองค์ประกอบหลัก มีหน้าที่จัดวางและควบคุมการแสดงผลของสถานะ AI ผ่านการนำเข้าจาก components/ai/AiStatusBanner.tsx",
|
|
"tags": [
|
|
"component",
|
|
"ai-status-banner-host",
|
|
"middleware"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ai/AiStatusBanner.tsx",
|
|
"type": "file",
|
|
"name": "AiStatusBanner.tsx",
|
|
"filePath": "components/ai/AiStatusBanner.tsx",
|
|
"summary": "องค์ประกอบแสดงสถานะของระบบ AI โดยมีฟังก์ชันหลักชื่อ AiStatusBanner ที่ใช้ในการจัดวางข้อมูลสถานะ เช่น การทำงานหรือความพร้อมใช้งานของโมเดล AI เน้นการแสดงผลอย่างชัดเจนและเข้าใจง่าย",
|
|
"tags": [
|
|
"component",
|
|
"ai-status-banner"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-suggestion-button.tsx",
|
|
"type": "file",
|
|
"name": "ai-suggestion-button.tsx",
|
|
"filePath": "components/ai/ai-suggestion-button.tsx",
|
|
"summary": "คอมโพเนนต์ปุ่มแนะนำ AI ที่ใช้ในการเรียกใช้งานฟีเจอร์คำแนะนำจากโมเดล AI โดยมีการจัดวาง UI และเชื่อมโยงกับระบบหลักผ่าน event handler",
|
|
"tags": [
|
|
"ai-button",
|
|
"suggestion-component",
|
|
"interactive-element"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/ai-suggestion-field.tsx",
|
|
"type": "file",
|
|
"name": "ai-suggestion-field.tsx",
|
|
"filePath": "components/ai/ai-suggestion-field.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงผลการแนะนำจาก AI โดยมีฟังก์ชันสนับสนุนในการจัดรูปแบบความเชื่อมั่นของคำตอบ เช่น การกำหนดคลาส CSS และคำอธิบายความเชื่อมั่นตามระดับต่าง ๆ",
|
|
"tags": [
|
|
"ai-component",
|
|
"suggestion-field",
|
|
"confidence-indicator"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/document-comparison-view.tsx",
|
|
"type": "file",
|
|
"name": "document-comparison-view.tsx",
|
|
"filePath": "components/ai/document-comparison-view.tsx",
|
|
"summary": "คอมโพเนนต์แสดงผลการเปรียบเทียบเอกสาร โดยใช้ฟังก์ชัน DocumentComparisonView ที่จัดวางโครงสร้างการแสดงข้อมูลอย่างมีระเบียบ มีการนำเข้า AI suggestion field เพื่อสนับสนุนการทำงาน",
|
|
"tags": [
|
|
"component",
|
|
"ai-suggestion-field",
|
|
"document-comparison"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/analytics/analytics-summary-cards.tsx",
|
|
"type": "file",
|
|
"name": "analytics-summary-cards.tsx",
|
|
"filePath": "components/ai/intent-classification/analytics/analytics-summary-cards.tsx",
|
|
"summary": "คอมโพเนนต์แสดงผลสรุปข้อมูลการจำแนกเจตนาจาก AI โดยมีฟังก์ชันหลักคือ AnalyticsSummaryCards ที่จัดเรียงข้อมูลเป็นบล็อกย่อยๆ เพื่อให้ผู้ใช้งานเข้าใจสถานะและแนวโน้มของระบบได้อย่างรวดเร็ว",
|
|
"tags": [
|
|
"component",
|
|
"analytics",
|
|
"intent-classification"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/analytics/intent-breakdown-table.tsx",
|
|
"type": "file",
|
|
"name": "intent-breakdown-table.tsx",
|
|
"filePath": "components/ai/intent-classification/analytics/intent-breakdown-table.tsx",
|
|
"summary": "คอมโพเนนต์ตารางแสดงผลการจำแนกประเภทเจตนาของระบบปัญญาประดิษฐ์ โดยมีหน้าที่จัดรูปแบบข้อมูลและนำเสนอผลลัพธ์ในรูปแบบตารางให้ผู้ใช้งานเห็นภาพรวมได้อย่างชัดเจน",
|
|
"tags": [
|
|
"table",
|
|
"ai-intent-classification",
|
|
"analytics"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/analytics/method-breakdown-table.tsx",
|
|
"type": "file",
|
|
"name": "method-breakdown-table.tsx",
|
|
"filePath": "components/ai/intent-classification/analytics/method-breakdown-table.tsx",
|
|
"summary": "คอมโพเนนต์แสดงข้อมูลการแบ่งประเภทวิธีการทำงานของระบบ AI โดยมีฟังก์ชัน methodBadge สำหรับการแสดงป้ายสถานะแต่ละวิธี และ Component MethodBreakdownTable เป็นหลักที่จัดเรียงและแสดงผลรวมตามกลุ่มวิธีต่าง ๆ",
|
|
"tags": [
|
|
"ai-intent-classification",
|
|
"analytics",
|
|
"table-component",
|
|
"method-breakdown"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/analytics/recalibration-panel.tsx",
|
|
"type": "file",
|
|
"name": "recalibration-panel.tsx",
|
|
"filePath": "components/ai/intent-classification/analytics/recalibration-panel.tsx",
|
|
"summary": "ส่วนประกอบหน้าแดชบอร์ดสำหรับการปรับค่าโมเดลจำแนกเจตนาอัตโนมัติ โดยแสดงข้อมูลวัดผลและให้ผู้ใช้งานสามารถเรียกร้องการปรับแต่งใหม่ได้อย่างยืดหยุ่น",
|
|
"tags": [
|
|
"component",
|
|
"analytics",
|
|
"intent-classification"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/classification-result-card.tsx",
|
|
"type": "file",
|
|
"name": "classification-result-card.tsx",
|
|
"filePath": "components/ai/intent- classification/classification-result-card.tsx",
|
|
"summary": "คอมโพเนนต์แสดงผลลัพธ์การจำแนกเจตนาของข้อความ โดยจัดรูปแบบข้อมูลให้เข้าใจง่ายและสื่อสารได้อย่างชัดเจน",
|
|
"tags": [
|
|
"component",
|
|
"ai-intent-classification",
|
|
"result-display"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/intent-form.tsx",
|
|
"type": "file",
|
|
"name": "intent-form.tsx",
|
|
"filePath": "components/ai/intent-classification/intent-form.tsx",
|
|
"summary": "คอมโพเนนต์แบบฟอร์มสำหรับการจัดประเภทเจตนาของผู้ใช้ โดยมีหน้าที่รับข้อมูลจากผู้ใช้และส่งไปยังระบบประมวลผลเพื่อจำแนกเจตนา",
|
|
"tags": [
|
|
"form-component",
|
|
"intent-classification",
|
|
"ai-module"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/pattern-form.tsx",
|
|
"type": "file",
|
|
"name": "pattern-form.tsx",
|
|
"filePath": "components/ai/intent-classification/pattern-form.tsx",
|
|
"summary": "คอมโพเนนต์ PatternForm เป็นหน่วยงานหลักสำหรับการจัดประเภทเจตนาของระบบ AI โดยมีฟังก์ชันหลักคือการสร้างแบบฟอร์มเพื่อให้ผู้ใช้งานสามารถป้อนข้อมูลและกำหนดรูปแบบพฤติกรรมที่ต้องการตรวจจับได้อย่างแม่นยำ",
|
|
"tags": [
|
|
"component",
|
|
"ai-intent-classification",
|
|
"pattern-form"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/intent-classification/test-console-panel.tsx",
|
|
"type": "file",
|
|
"name": "test-console-panel.tsx",
|
|
"filePath": "components/ai/intent-classification/test-console-panel.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงผลการทดสอบระบบจำแนกเจตนาของ AI โดยมีหน้าที่จัดวางองค์ประกอบการแสดงผล เช่น ผลลัพธ์การจำแนก และช่องทางส่งข้อมูลไปยังโมเดล",
|
|
"tags": [
|
|
"component",
|
|
"ai-intent-classification",
|
|
"test-console"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ai/processing-indicator.tsx",
|
|
"type": "file",
|
|
"name": "processing-indicator.tsx",
|
|
"filePath": "components/ai/processing-indicator.tsx",
|
|
"summary": "คอมโพเนนต์แสดงสถานะการประมวลผล AI โดยมีฟังก์ชัน AiProcessingIndicator ที่ใช้ในการจัดรูปแบบการแสดงข้อมูล เช่น สัญลักษณ์กำลังทำงานหรือข้อความแจ้งเตือน",
|
|
"tags": [
|
|
"ai",
|
|
"processing-indicator",
|
|
"component"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/auth/auth-sync.tsx",
|
|
"type": "file",
|
|
"name": "auth-sync.tsx",
|
|
"filePath": "components/auth/auth-sync.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์สำหรับจัดการการทำงานของระบบตรวจสอบสิทธิ์ (Authentication) โดยมีฟังก์ชันหลักชื่อ AuthSync ที่ทำงานร่วมกับบริการอื่น ๆ เพื่อรักษาระดับความปลอดภัยและสถานะการเข้าสู่ระบบทั้งหมด",
|
|
"tags": [
|
|
"auth",
|
|
"middleware",
|
|
"sync-handler"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/circulation/circulation-list.tsx",
|
|
"type": "file",
|
|
"name": "circulation-list.tsx",
|
|
"filePath": "components/circ-ulation/circulation-list.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์แสดงรายการการเคลื่อนย้ายสินค้า โดยมีฟังก์ชันสนับสนุนหลายอย่าง เช่น การคำนวณความคืบหน้า (getProgress) และแปลงสถานะเป็นรูปแบบที่ใช้งานได้ (getStatusVariant) เพื่อให้การแสดงผลสอดคล้องกับข้อมูลจริง",
|
|
"tags": [
|
|
"component",
|
|
"circulation-list",
|
|
"status-variant",
|
|
"progress-calculation"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/can.tsx",
|
|
"type": "file",
|
|
"name": "can.tsx",
|
|
"filePath": "components/common/can.tsx",
|
|
"summary": "คอมโพเนนต์ Can เป็นองค์ประกอบที่ใช้ตรวจสอบสิทธิ์การเข้าถึงหน้าเว็บ โดยมีฟังก์ชันหลักชื่อว่า Can ซึ่งทำงานร่วมกับระบบ middleware เพื่อกำหนดพฤติกรรมการแสดงผลตามบทบาทผู้ใช้งาน",
|
|
"tags": [
|
|
"component",
|
|
"authorization",
|
|
"middleware"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/confirm-dialog.tsx",
|
|
"type": "file",
|
|
"name": "confirm-dialog.tsx",
|
|
"filePath": "components/common/confirm-dialog.tsx",
|
|
"summary": "องค์ประกอบ (component) สำหรับแสดงกล่องยืนยันการกระทำ เช่น การลบข้อมูล โดยมีฟังก์ชันหลักชื่อ ConfirmDialog ที่ใช้ในการจัดวางและควบคุมการแสดงผลของกล่องยืนยัน",
|
|
"tags": [
|
|
"component",
|
|
"dialog",
|
|
"confirmation"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/data-table.tsx",
|
|
"type": "file",
|
|
"name": "data-table.tsx",
|
|
"filePath": "components/common/data-table.tsx",
|
|
"summary": "คอมโพเนนต์ DataTable เป็นองค์ประกอบหลักสำหรับการแสดงข้อมูลในรูปแบบตาราง โดยมีฟังก์ชันสร้างตาราง (DataTable) ที่ใช้งานได้หลากหลาย เช่น การจัดเรียงแถว, กรองข้อมูล และการควบคุมการแสดงผลตามเงื่อนไขต่าง ๆ",
|
|
"tags": [
|
|
"component",
|
|
"table",
|
|
"data-display"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/error-display.tsx",
|
|
"type": "file",
|
|
"name": "error-display.tsx",
|
|
"filePath": "components/common/error-display.tsx",
|
|
"summary": "ไฟล์นี้จัดการการแสดงข้อผิดพลาดต่าง ๆ ในแอปพลิเคชัน โดยมีฟังก์ชันสนับสนุนหลายอย่าง เช่น การแยกข้อมูลจาก payload ข้อผิดพลาด API, การแปลงระดับความรุนแรงของข้อผิดพลาดเป็นสไตล์การแสดงผล และการสร้างคอมโพเนนต์แสดงข้อผิดพลาด โดยมีการส่งออกฟังก์ชัน ErrorDisplay และ parseApiError ให้ใช้งานได้ในที่อื่น ๆ",
|
|
"tags": [
|
|
"error-handling",
|
|
"api-error-parser",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/file-preview-modal.tsx",
|
|
"type": "file",
|
|
"name": "file-preview-modal.tsx",
|
|
"filePath": "components/common/file-preview-modal.tsx",
|
|
"summary": "ไฟล์นี้สร้าง modal สำหรับแสดงข้อมูลไฟล์ต่าง ๆ โดยมีฟังก์ชันช่วยในการแปลงขนาดหน่วยไบต์ และระบุประเภทไฟล์เพื่อการแสดงผลใน modal เหมาะใช้ร่วมกับการดูไฟล์แบบออนไลน์หรือดาวน์โหลดได้อย่างเหมาะสม",
|
|
"tags": [
|
|
"modal",
|
|
"file-preview",
|
|
"utility-functions"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/pagination.tsx",
|
|
"type": "file",
|
|
"name": "pagination.tsx",
|
|
"filePath": "components/common/pagination.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับการแสดงผลการpaginate โดยมีฟังก์ชัน Pagination ที่ใช้จัดเรียงข้อมูลตามหน้า และแสดงปุ่มควบคุมหน้าถัดไป/หน้าก่อนหน้า เหมาะสำหรับใช้งานในหน้ารายการข้อมูลจำนวนมาก",
|
|
"tags": [
|
|
"pagination",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/common/status-badge.tsx",
|
|
"type": "file",
|
|
"name": "status-badge.tsx",
|
|
"filePath": "components/common/status-badge.tsx",
|
|
"summary": "คอมโพเนนต์แสดงสถานะในรูปแบบ badge โดยมีฟังก์ชัน StatusBadge ที่ใช้ในการสร้าง UI ตามค่าสถานะต่าง ๆ เช่น active, pending, completed เป็นต้น มีการจัดวางโครงสร้างให้มีความยืดหยุ่นและสามารถนำไปใช้งานซ้ำได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"component",
|
|
"badge",
|
|
"status-indicator"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/common/workflow-error-boundary.tsx",
|
|
"type": "file",
|
|
"name": "workflow-error-boundary.tsx",
|
|
"filePath": "components/common/workflow-error-boundary.tsx",
|
|
"summary": "คอมโพเนนต์ WorkflowErrorBoundary เป็นค่าป้องกันข้อผิดพลาด (error boundary) สำหรับจัดการข้อผิดพลาดในกระบวนการ workflow โดยมีเมธอดหลัก ๆ เช่น constructor, getDerivedStateFromError และ render เพื่อแสดงผลข้อผิดพลาดและรักษาความต่อเนื่องของหน้าเว็บ",
|
|
"tags": [
|
|
"error-boundary",
|
|
"workflow",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/circulation-status-card.tsx",
|
|
"type": "file",
|
|
"name": "circulation-status-card.tsx",
|
|
"filePath": "components/correspondences/circulation-status-card.tsx",
|
|
"summary": "คอมโพเนนต์แสดงสถานะการส่งเอกสาร โดยมีฟังก์ชัน RoutingStep และ CirculationItem รองรับขั้นตอนการไหลของเอกสาร ส่วนหลัก ๆ เป็น CirculationStatusCard ที่จัดวางองค์ประกอบและควบคุมการแสดงผลตามสถานะ",
|
|
"tags": [
|
|
"component",
|
|
"correspondences",
|
|
"circulation-status",
|
|
"status-card"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/correspondences-content.tsx",
|
|
"type": "file",
|
|
"name": "correspondences-content.tsx",
|
|
"filePath": "components/correspondsents/correspondences-content.tsx",
|
|
"summary": "ไฟล์นี้เป็นหน่วยงานหลักสำหรับการแสดงข้อมูลการสื่อสารระหว่างฝ่ายต่าง ๆ โดยมีฟังก์ชัน extractArrayData ใช้ในการจัดรูปแบบข้อมูล และ Component CorrespondencesContent เป็นองค์ประกอบหลักที่แสดงผลข้อมูลตามโครงสร้างที่กำหนดไว้",
|
|
"tags": [
|
|
"component",
|
|
"correspondence",
|
|
"data-display"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/detail.tsx",
|
|
"type": "file",
|
|
"name": "detail.tsx",
|
|
"filePath": "components/correspondences/detail.tsx",
|
|
"summary": "ไฟล์นี้เป็นหน้าแสดงรายละเอียดการสื่อสารระหว่างบุคคล โดยมีฟังก์ชัน normalizeRecipientType ที่ใช้ปรับรูปแบบข้อมูลผู้รับ และ Component CorrespondenceDetail หลัก ๆ เป็นโครงสร้างการแสดงผลตามตัวอย่างในระบบ",
|
|
"tags": [
|
|
"component",
|
|
"correspondence-detail",
|
|
"recipient-type-normalizer"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/form.tsx",
|
|
"type": "file",
|
|
"name": "form.tsx",
|
|
"filePath": "components/correspondences/form.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ-่งของระบบจัดการเอกสารทางราชการ โดยมีหน้าที่สร้างฟอร์มสำหรับกรอกข้อมูลเกี่ยวกับความสัมพันธ์ระหว่างบุคคลต่าง ๆ ประกอบด้วยฟังก์ชันช่วยเหลือหลายตัว เช่น normalizePublicId, normalizeUuid และ extractArrayData เพื่อจัดรูปแบบข้อมูลให้เหมาะสม ก่อนนำไปใช้งานในส่วนของคอมโพเนนต์หลักคือ CorrespondenceForm ซึ่งมีขนาดใหญ่มากถึง 586 line โดยเป็นโครงสร้างหลักที่ผู้ใช้งานโต้ตอบกับระบบ",
|
|
"tags": [
|
|
"form-component",
|
|
"correspondence-management",
|
|
"data-normalization"
|
|
],
|
|
"complexity": "complex"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/list.tsx",
|
|
"type": "file",
|
|
"name": "list.tsx",
|
|
"filePath": "components/correspondences/list.tsx",
|
|
"summary": "คอมโพเนนต์รายการเอกสารส่ง-รับระหว่างหน่วยงาน โดยมีฟังก์ชันหลักชื่อ CorrespondenceList ที่จัดแสดงข้อมูลตามโครงสร้างของระบบบริหารจัดการเอกสาร ส่งผลให้ผู้ใช้งานสามารถดูและจัดการรายการได้อย่างเป็นระเบียบ",
|
|
"tags": [
|
|
"component",
|
|
"list",
|
|
"correspondence"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/reference-selector.tsx",
|
|
"type": "file",
|
|
"name": "reference-selector.tsx",
|
|
"filePath": "components/correspondences/reference-selector.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับเลือกอ้างอิงข้อมูล โดยมีฟังก์ชันหลักคือ ReferenceSelector ที่ใช้ในการจัดการการแสดงผลและพฤติกรรมของรายการเลือกได้อ้างอิง",
|
|
"tags": [
|
|
"component",
|
|
"reference-selector"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/revision-history.tsx",
|
|
"type": "file",
|
|
"name": "revision-history.tsx",
|
|
"filePath": "components/correspondences/revision-history.tsx",
|
|
"summary": "คอมโพเนนต์แสดงประวัติการแก้ไข (Revision History) สำหรับเอกสารส่งออก โดยมีฟังก์ชันหลักชื่อ RevisionHistory ที่ใช้งานจริงในหน้าเว็บไซต์ และมีขนาดโค้ดรวมประมาณ 71 บรรทัด",
|
|
"tags": [
|
|
"component",
|
|
"revision-history",
|
|
"correspondence"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/tag-manager.tsx",
|
|
"type": "file",
|
|
"name": "tag-manager.tsx",
|
|
"filePath": "components/correspondences/tag-manager.tsx",
|
|
"summary": "ไฟล์นี้มีหน้าที่จัดการกับแท็ก (tags) โดยมีฟังก์ชันหลักชื่อ TagManager ซึ่งใช้ในการสร้างหรือจัดการข้อมูลแท็กต่าง ๆ ในระบบ",
|
|
"tags": [
|
|
"tag-manager",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/correspondences/ux-flow-dialog.tsx",
|
|
"type": "file",
|
|
"name": "ux-flow-dialog.tsx",
|
|
"filePath": "components/correspondences/ux-flow-dialog.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงการไหลของข้อมูลในระบบจดหมายส่งกลับ โดยมีหน้าที่ควบคุมการแสดงผลและการโต้ตอบกับผู้ใช้งาน เช่น การยืนยันการดำเนินการ หรือเปลี่ยนแปลงสถานะรายการจดหมาย",
|
|
"tags": [
|
|
"dialog",
|
|
"ux-flow",
|
|
"correspondence"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/custom/file-upload-zone.tsx",
|
|
"type": "file",
|
|
"name": "file-upload-zone.tsx",
|
|
"filePath": "components/custom/file-upload-zone.tsx",
|
|
"summary": "ไฟล์นี้สร้างคอมโพเนนต์ FileUploadZone สำหรับใช้ในการอัปโหลดไฟล์ โดยมีฟังก์ชัน formatBytes เพื่อแปลงขนาดไฟล์เป็นรูปแบบที่เข้าใจง่าย เช่น KB, MB และ GB นอกจากนี้ยังมีการจัดวางโครงสร้างให้มีความเรียบร้อยและใช้งานได้สะดวกในระบบแอปพลิเคชัน",
|
|
"tags": [
|
|
"component",
|
|
"file-upload",
|
|
"format-bytes"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/custom/workflow-visualizer.tsx",
|
|
"type": "file",
|
|
"name": "workflow-visualizer.tsx",
|
|
"filePath": "components/custom/workflow-visualizer.tsx",
|
|
"summary": "คอมโพเนนต์แสดงแผนผังการทำงาน (Workflow) แบบกราฟิก โดยมีหน้าที่จัดการการแสดงผลขั้นตอนต่าง ๆ ในระบบอย่างเป็นรูปธรรม และรองรับการโต้ตอบกับผู้ใช้งานได้อย่างลื่นไหล",
|
|
"tags": [
|
|
"component",
|
|
"workflow-visualizer",
|
|
"diagram"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/dashboard/pending-tasks.tsx",
|
|
"type": "file",
|
|
"name": "pending-tasks.tsx",
|
|
"filePath": "components/dashboard/pending-tasks.tsx",
|
|
"summary": "คอมโพเนนต์แสดงรายการงานที่ยังไม่ได้รับการดำเนินการ โดยมีฟังก์ชันหลักชื่อ PendingTasks ซึ่งจัดเรียงและแสดงข้อมูลงานตามลำดับความสำคัญ",
|
|
"tags": [
|
|
"component",
|
|
"dashboard",
|
|
"pending-tasks"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/dashboard/quick-actions.tsx",
|
|
"type": "file",
|
|
"name": "quick-actions.tsx",
|
|
"filePath": "components/dashboard/quick-actions.tsx",
|
|
"summary": "คอมโพเนนต์ QuickActions เป็นหน้าที่ใช้แสดงปุ่มการกระทำเร่งด่วนสำหรับผู้ใช้งานในแดชบอร์ด โดยมีฟังก์ชันหลักชื่อว่า QuickActions ซึ่งทำงานร่วมกับระบบ UI เพื่อให้ผู้ใช้สามารถดำเนินการได้อย่างรวดเร็ว",
|
|
"tags": [
|
|
"component",
|
|
"dashboard",
|
|
"quick-action"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/dashboard/recent-activity.tsx",
|
|
"type": "file",
|
|
"name": "recent-activity.tsx",
|
|
"filePath": "components/dashboard/recent-activity.tsx",
|
|
"summary": "คอมโพเนนต์แสดงกิจกรรมล่าสุดในแดชบอร์ด โดยมีฟังก์ชัน RecentActivity ที่ใช้ในการจัดการการแสดงผลข้อมูลกิจกรรม เช่น การอัปเดตสถานะหรือเหตุการณ์สำคัญ",
|
|
"tags": [
|
|
"component",
|
|
"dashboard",
|
|
"recent-activity"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/dashboard/stats-cards.tsx",
|
|
"type": "file",
|
|
"name": "stats-cards.tsx",
|
|
"filePath": "components/dashboard/stats-cards.tsx",
|
|
"summary": "คอมโพเนนต์แสดงข้อมูลสถิติในแดชบอร์ด โดยมีฟังก์ชัน StatsCards ที่จัดเรียงการแสดงผลตามประเภทของข้อมูล เช่น การใช้งานระบบหรือยอดผู้ใช้รายวัน",
|
|
"tags": [
|
|
"component",
|
|
"dashboard",
|
|
"stats"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/delegation/DelegationForm.tsx",
|
|
"type": "file",
|
|
"name": "DelegationForm.tsx",
|
|
"filePath": "components/delegation/DelegationForm.tsx",
|
|
"summary": "คอมโพเนนต์แบบฟอร์มสำหรับการมอบอำนาจ โดยมีหน้าที่จัดการกับการแสดงผลและพฤติกรรมของฟอร์ม เช่น การกรอกข้อมูล ตรวจสอบความถูกต้อง และส่งข้อมูลไปยังระบบหลัก",
|
|
"tags": [
|
|
"form-component",
|
|
"delegation",
|
|
"ui-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/distribution/DistributionStatus.tsx",
|
|
"type": "file",
|
|
"name": "DistributionStatus.tsx",
|
|
"filePath": "components/distribution/DistributionStatus.tsx",
|
|
"summary": "คอมโพเนนต์แสดงสถานะการกระจายสินค้า โดยมีฟังก์ชันหลักชื่อ DistributionStatus ที่ใช้ในการจัดรูปแบบข้อมูลสถานะ เช่น ส่งมอบแล้ว, เดินทางอยู่, รอการจัดส่ง เป็นต้น",
|
|
"tags": [
|
|
"component",
|
|
"status-display",
|
|
"distribution"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/documents/common/server-data-table.tsx",
|
|
"type": "file",
|
|
"name": "server-data-table.tsx",
|
|
"filePath": "components/documents/common/server-data-table.tsx",
|
|
"summary": "คอมโพเนนต์ที่ใช้แสดงข้อมูลจากเซิร์ฟเวอร์ในรูปแบบตาราง โดยมีการจัดวางโครงสร้างให้มีความยืดหยุ่นและปรับขนาดได้ง่าย มีหน้าที่หลักคือการแสดงผลรายการข้อมูลผ่าน API และรองรับการจัดเรียงหรือกรองข้อมูล",
|
|
"tags": [
|
|
"component",
|
|
"table",
|
|
"server-data"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/drawings/card.tsx",
|
|
"type": "file",
|
|
"name": "card.tsx",
|
|
"filePath": "components/drawings/card.tsx",
|
|
"summary": "คอมโพเนนต์ DrawingCard เป็นองค์ประกอบหลักสำหรับแสดงข้อมูลการวาดภาพ โดยมีโค้ดรวมทั้งหมด 74 บรรทัด มุ่งเน้นการแสดงผลอย่างชัดเจนและใช้งานได้ง่ายในระบบที่เกี่ยวข้องกับการจัดการงานวาดภาพ",
|
|
"tags": [
|
|
"component",
|
|
"drawing",
|
|
"card-layout"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/drawings/columns.tsx",
|
|
"type": "file",
|
|
"name": "columns.tsx",
|
|
"filePath": "components/drawings/columns.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนประกอบ (component) สำหรับการแสดงข้อมูลในรูปแบบคอลัมน์ โดยมีการนำออกเฉพาะตัวแปร columns เพื่อใช้งานในบริบทอื่น ๆ เท่านั้น",
|
|
"tags": [
|
|
"component",
|
|
"drawing"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/drawings/list.tsx",
|
|
"type": "file",
|
|
"name": "list.tsx",
|
|
"filePath": "components/drawings/list.tsx",
|
|
"summary": "คอมโพเนนต์รายการวาดภาพ โดยมีฟังก์ชัน DrawingList ที่ใช้จัดแสดงข้อมูลจากตาราง columns และรองรับการเลื่อนหน้าหรือกรองข้อมูลได้อย่างยืดหยุ่น",
|
|
"tags": [
|
|
"component",
|
|
"drawing-list",
|
|
"table"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/drawings/revision-history.tsx",
|
|
"type": "file",
|
|
"name": "revision-history.tsx",
|
|
"filePath": "components/draws/revisions/history.tsx",
|
|
"summary": "คอมโพเนนต์แสดงประวัติการแก้ไข (Revision History) สำหรับแผนผังการออกแบบ โดยมีฟังก์ชันหลักชื่อ RevisionHistory ที่จัดวางข้อมูลตามลำดับเวลาและแสดงสถานะแต่ละเวอร์ชันได้อย่างชัดเจน",
|
|
"tags": [
|
|
"component",
|
|
"revision-history",
|
|
"drawing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/drawings/upload-form.tsx",
|
|
"type": "file",
|
|
"name": "upload-form.tsx",
|
|
"filePath": "components/drawings/upload-form.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับการอัปโหลดภาพวาด โดยมีฟังก์ชัน DrawingUploadForm ที่ใช้จัดการกระบวนการอัปโหลดไฟล์ผ่านระบบกรอกข้อมูลแบบโต้ตอบได้อย่างราบรื่น",
|
|
"tags": [
|
|
"upload-form",
|
|
"drawing-component",
|
|
"file-upload"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/layout/dashboard-shell.tsx",
|
|
"type": "file",
|
|
"name": "dashboard-shell.tsx",
|
|
"filePath": "components/layout/dashboard-shell.tsx",
|
|
"summary": "คอมโพเนนต์ DashboardShell เป็นโครงสร้างหลักสำหรับหน้าแดชบอร์ด โดยมีหน้าที่จัดวางองค์ประกอบภายใน เช่น header, sidebar และ main content area ไว้อย่างเป็นระบบ มีการใช้งานฟังก์ชัน DashboardShell เพื่อสร้างโครงสร้างหน้าเว็บให้สอดคล้องตามแนวทางการออกแบบของโปรเจกต์",
|
|
"tags": [
|
|
"layout",
|
|
"dashboard",
|
|
"component"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/layout/navbar.tsx",
|
|
"type": "file",
|
|
"name": "navbar.tsx",
|
|
"filePath": "components/layout/navbar.tsx",
|
|
"summary": "คอมโพเนนต์แถบนำทางหลักของเว็บไซต์ มีหน้าที่แสดงเมนูการใช้งานและข้อมูลผู้ใช้ โดยเชื่อมโยงไปยัง user-nav เพื่อจัดวางปุ่มหรือไอคอนสำหรับการเข้าสู่ระบบ",
|
|
"tags": [
|
|
"layout",
|
|
"navigation",
|
|
"user-interface"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/layout/user-nav.tsx",
|
|
"type": "file",
|
|
"name": "user-nav.tsx",
|
|
"filePath": "components/layout/user-nav.tsx",
|
|
"summary": "คอมโพเนนต์การนำทางผู้ใช้งานที่แสดงข้อมูลโปรไฟล์และเมนูหลักสำหรับผู้ใช้ระบบ โดยมีฟังก์ชัน UserNav ซึ่งจัดวางองค์ประกอบการแสดงผลตามโครงสร้าง UI",
|
|
"tags": [
|
|
"component",
|
|
"layout",
|
|
"user-interface"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/migration/review-queue-table.tsx",
|
|
"type": "file",
|
|
"name": "review-queue-table.tsx",
|
|
"filePath": "components/migration/review-queue-table.tsx",
|
|
"summary": "ไฟล์นี้สร้างคอมโพเนนต์ตารางแสดงรายการงานที่รอการตรวจสอบ โดยมีฟังก์ชันสนับสนุนหลายตัว เช่น getStringField, toReviewTag และ getIssueText เพื่อจัดรูปแบบข้อมูลให้เหมาะสมสำหรับการแสดงผลในตาราง",
|
|
"tags": [
|
|
"table-component",
|
|
"review-queue",
|
|
"migration"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/audit-logs-table.tsx",
|
|
"type": "file",
|
|
"name": "audit-logs-table.tsx",
|
|
"filePath": "components/numbering/audit-logs-table.tsx",
|
|
"summary": "คอมโพเนนต์ตารางแสดงประวัติการตรวจสอบ (Audit Logs Table) ที่ใช้จัดรูปแบบข้อมูลรายการบันทึกการเข้าถึงระบบ โดยมีฟังก์ชันหลักคือ AuditLogsTable เปลี่ยนแปลงสถานะการแสดงผลตามเงื่อนไขต่าง ๆ เช่น การกรองหรือเรียงลำดับ",
|
|
"tags": [
|
|
"table",
|
|
"audit-logs",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/bulk-import-form.tsx",
|
|
"type": "file",
|
|
"name": "bulk-import-form.tsx",
|
|
"filePath": "components/numbering/bulk-import-form.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับการนำเข้าข้อมูลจำนวนมาก โดยมีฟังก์ชันหลักชื่อ BulkImportForm ที่ครอบคลุมการทำงานครบถ้วนภายในเอง มีโค้ดรวมประมาณ 44 บรรทัด",
|
|
"tags": [
|
|
"form-component",
|
|
"bulk-import",
|
|
"numbering"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/cancel-number-form.tsx",
|
|
"type": "file",
|
|
"name": "cancel-number-form.tsx",
|
|
"filePath": "components/numbering/cancel-number-form.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงฟอร์มการยกเลิกหมายเลข โดยมีหน้าที่จัดการกับเหตุการณ์การยืนยันและการส่งข้อมูลไปยังระบบหลัก",
|
|
"tags": [
|
|
"form",
|
|
"cancel-number",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/manual-override-form.tsx",
|
|
"type": "file",
|
|
"name": "manual-override-form.tsx",
|
|
"filePath": "components/numbering/manual-override-form.tsx",
|
|
"summary": "คอมโพเนนต์แบบฟอร์มสำหรับการกำหนดค่าเลขลำดับโดยตรง โดยมีหน้าที่รับข้อมูลจากผู้ใช้และส่งกลับไปยังระบบหลักเพื่อปรับเปลี่ยนลำดับเลขของเอกสาร",
|
|
"tags": [
|
|
"form-component",
|
|
"manual-override",
|
|
"numbering-control"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/metrics-dashboard.tsx",
|
|
"type": "file",
|
|
"name": "metrics-dashboard.tsx",
|
|
"filePath": "components/numbering/metrics-dashboard.tsx",
|
|
"summary": "คอมโพเนนต์แสดงข้อมูลเชิงสถิติ โดยมีฟังก์ชัน MetricsDashboard ที่ใช้จัดรูปแบบการแสดงผลข้อมูลต่าง ๆ เช่น กราฟหรือค่าเฉลี่ย เป็นต้น",
|
|
"tags": [
|
|
"component",
|
|
"dashboard",
|
|
"metrics"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/sequence-viewer.tsx",
|
|
"type": "file",
|
|
"name": "sequence-viewer.tsx",
|
|
"filePath": "components/numbering/sequence-viewer.tsx",
|
|
"summary": "คอมโพเนนต์แสดงลำดับข้อมูลแบบไลน์อาร์เรย์ โดยมีฟังก์ชัน SequenceViewer ที่ใช้จัดรูปแบบการแสดงผลตามจำนวนแถวและโครงสร้างข้อมูลในระบบ",
|
|
"tags": [
|
|
"component",
|
|
"sequence-viewer"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/template-editor.tsx",
|
|
"type": "file",
|
|
"name": "template-editor.tsx",
|
|
"filePath": "components/numbering/template-editor.tsx",
|
|
"summary": "คอมโพเนนต์ TemplateEditor ใช้จัดการการแสดงผลและควบคุมการทำงานของ editor โดยมีฟังก์ชันหลัก ๆ เริ่มจากบรรทัดที่ 181 เป็นต้นไป มีหน้าที่แสดงข้อมูลแบบ template และรองรับการปรับแต่งได้ตามความต้องการ",
|
|
"tags": [
|
|
"component",
|
|
"editor",
|
|
"template"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/template-tester.tsx",
|
|
"type": "file",
|
|
"name": "template-tester.tsx",
|
|
"filePath": "components/numbering/template-tester.tsx",
|
|
"summary": "คอมโพเนนต์ TemplateTester เป็นหน่วยงานทดสอบรูปแบบการแสดงผลเลขลำดับ โดยมีฟังก์ชันหลักที่ใช้ในการจัดการและแสดงข้อมูลตามลำดับที่กำหนดไว้ มีขนาดโค้ดยาวถึง 200 line และเปิดเผยตัวแปรออกสู่โมดูลภายนอก",
|
|
"tags": [
|
|
"component",
|
|
"template-tester"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/numbering/void-replace-form.tsx",
|
|
"type": "file",
|
|
"name": "void-replace-form.tsx",
|
|
"filePath": "components/numbering/void-replace-form.tsx",
|
|
"summary": "คอมโพเนนต์ VoidReplaceForm เป็นหน้าจอสำหรับแทนที่ข้อมูลว่าง (void) โดยมีฟังก์ชันหลักคือการจัดวางโครงสร้างแบบฟอร์มเพื่อให้ผู้ใช้งานสามารถกรอกข้อมูลใหม่ได้อย่างสะดวก",
|
|
"tags": [
|
|
"form-component",
|
|
"numbering-system",
|
|
"void-replacement"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/reminder/ReminderHistory.tsx",
|
|
"type": "file",
|
|
"name": "ReminderHistory.tsx",
|
|
"filePath": "/src/components/reminder/ReminderHistory.tsx",
|
|
"summary": "คอมโพเนนต์แสดงประวัติการแจ้งเตือน โดยมีฟังก์ชันหลักคือ ReminderHistoryViewer ที่ใช้ในการจัดรูปแบบข้อมูลและแสดงผลลัพธ์ให้ผู้ใช้ดู",
|
|
"tags": [
|
|
"component",
|
|
"reminder",
|
|
"history"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/reminder/ReminderRuleForm.tsx",
|
|
"type": "file",
|
|
"name": "ReminderRuleForm.tsx",
|
|
"filePath": "components/reminder/ReminderRuleForm.tsx",
|
|
"summary": "คอมโพเนนต์แบบฟอร์มสำหรับการกำหนดกฎเตือนเวลา โดยมีหน้าที่รับข้อมูลจากผู้ใช้และส่งกลับไปยังระบบหลักเพื่อจัดเก็บหรือประมวลผล",
|
|
"tags": [
|
|
"form",
|
|
"reminder-rule",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/response-code/CodeImplications.tsx",
|
|
"type": "file",
|
|
"name": "CodeImplications.tsx",
|
|
"filePath": "components/response-code/CodeImplications.tsx",
|
|
"summary": "องค์ประกอบที่แสดงผลการตีความรหัสสถานะ HTTP โดยมีฟังก์ชัน CodeImplications ซึ่งใช้ในการจัดรูปแบบข้อมูลตามประเภทของรหัสรหัสสถานะ เช่น 2xx, 4xx และ 5xx เพื่อให้ผู้ใช้งานเข้าใจความหมายได้อย่างชัดเจน",
|
|
"tags": [
|
|
"component",
|
|
"response-code",
|
|
"http-status"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/response-code/MatrixEditor.tsx",
|
|
"type": "file",
|
|
"name": "MatrixEditor.tsx",
|
|
"filePath": "components/response-code/MatrixEditor.tsx",
|
|
"summary": "คอมโพเนนต์ MatrixEditor เป็นหน้าที่ใช้จัดการการแสดงผลและโต้ตอบกับข้อมูลเมทริกซ์ โดยมีฟังก์ชันหลักชื่อว่า MatrixEditor ที่ครอบคลุมโค้ดจำนวน 118 บรรทัด",
|
|
"tags": [
|
|
"component",
|
|
"matrix-editor"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/response-code/ProjectOverrideManager.tsx",
|
|
"type": "file",
|
|
"name": "ProjectOverrideManager.tsx",
|
|
"filePath": "components/response-code/ProjectOverrideManager.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับจัดการข้อมูลที่เกินกว่าขอบเขตของโปรเจกต์ โดยมีฟังก์ชันหลักชื่อ ProjectOverrideManager ซึ่งทำงานร่วมกับระบบบริหารจัดการโปรเจกต์เพื่อกำหนดค่าคงที่หรือพฤติกรรมเฉพาะสำหรับแต่ละโปรเจกต์",
|
|
"tags": [
|
|
"component",
|
|
"response-code",
|
|
"project-override"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/response-code/ResponseCodeSelector.tsx",
|
|
"type": "file",
|
|
"name": "ResponseCodeSelector.tsx",
|
|
"filePath": "components/response-code/ResponseCodeSelector.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงรหัสข้อผิดพลาด (response code) โดยมีฟังก์ชัน CodeBadge ใช้แสดงป้ายสถานะของแต่ละรหัสร่วมด้วย มีการจัดวางโครงสร้างให้มุมมองที่ชัดเจนและเข้าใจง่าย",
|
|
"tags": [
|
|
"component",
|
|
"response-code",
|
|
"code-badge"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-task/CompleteReviewForm.tsx",
|
|
"type": "file",
|
|
"name": "CompleteReviewForm.tsx",
|
|
"filePath": "components/review-task/CompleteReviewForm.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงและจัดการแบบฟอร์มยืนยันการตรวจสอบงาน โดยมีหน้าที่รับข้อมูลจากผู้ใช้ ประมวลผล และส่งกลับไปยังระบบหลักเพื่อยืนยันการทำงาน",
|
|
"tags": [
|
|
"component",
|
|
"form",
|
|
"review-task"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-task/DelegatedBadge.tsx",
|
|
"type": "file",
|
|
"name": "DelegatedBadge.tsx",
|
|
"filePath": "components/review-task/DelegatedBadge.tsx",
|
|
"summary": "องค์ประกอบ (component) แสดงป้ายชี้แจงว่างานนั้นถูกมอบหมายให้ผู้อื่นดูแล โดยมีการใช้งานฟังก์ชัน DelegatedBadge เพียงหนึ-่งเท่านั้น",
|
|
"tags": [
|
|
"component",
|
|
"badge"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/review-task/ParallelProgress.tsx",
|
|
"type": "file",
|
|
"name": "ParallelProgress.tsx",
|
|
"filePath": "components/review-task/ParallelProgress.tsx",
|
|
"summary": "คอมโพเนนต์แสดงความคืบหน้าแบบขนานสำหรับงานตรวจสอบ โดยมีฟังก์ชันหลักชื่อ ParallelProgress ที่ใช้จัดรูปแบบการแสดงผลความคืบหน้าของแต่ละขั้นตอนในงานอย่างเป็นระบบ",
|
|
"tags": [
|
|
"component",
|
|
"progress-bar",
|
|
"parallel-task",
|
|
"review-flow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-task/ReviewTaskInbox.tsx",
|
|
"type": "file",
|
|
"name": "ReviewTaskInbox.tsx",
|
|
"filePath": "components/review-task/ReviewTaskInbox.tsx",
|
|
"summary": "คอมโพเนนต์แสดงรายการงานที่รอการตรวจสอบ โดยมีฟังก์ชันหลักคือ ReviewTaskInbox ซึ่งจัดวางองค์ประกอบการแสดงผลตามลำดับความสำคัญและสถานะของแต่ละงานอย่างเป็นระบบ",
|
|
"tags": [
|
|
"component",
|
|
"inbox",
|
|
"review-task"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-task/VetoOverrideDialog.tsx",
|
|
"type": "file",
|
|
"name": "VetoOverrideDialog.tsx",
|
|
"filePath": "components/review-task/VetoOverrideDialog.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับแสดงและจัดการหน้าต่างยืนยันการยกเลิกข้อเสนอแนะ (veto override) โดยมีฟังก์ชันหลักคือ VetoOverrideDialog ที่ใช้ในการควบคุมการทำงานของ dialog และตอบสนองเหตุการณ์ต่าง ๆ เช่น การยืนยันหรือปิดหน้าต่าง",
|
|
"tags": [
|
|
"dialog",
|
|
"veto-override",
|
|
"review-task",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-team/ReviewTeamForm.tsx",
|
|
"type": "file",
|
|
"name": "ReviewTeamForm.tsx",
|
|
"filePath": "components/review-team/ReviewTearmForm.tsx",
|
|
"summary": "คอมโพเนนต์แบบฟอร์มสำหรับการตรวจสอบทีมงาน โดยมีหน้าที่รับข้อมูลจากผู้ใช้งานและส่งไปยังระบบหลักเพื่อประมวลผล การจัดวางองค์ประกอบบนหน้าจอเป็นไปตามแนวทางการออกแบบ UI อย่างชัดเจน",
|
|
"tags": [
|
|
"form",
|
|
"team-review",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-team/ReviewTeamSelector.tsx",
|
|
"type": "file",
|
|
"name": "ReviewTeamSelector.tsx",
|
|
"filePath": "components/review-team/ReviewTeamSelector.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับเลือกทีมผู้ตรวจสอบ โดยแสดงรายการทีมพร้อมการกรองและเลือกได้ตามความต้องการของระบบ",
|
|
"tags": [
|
|
"component",
|
|
"team-selector",
|
|
"review"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/review-team/TeamMemberManager.tsx",
|
|
"type": "file",
|
|
"name": "TeamMemberManager.tsx",
|
|
"filePath": "components/review-team/TeamMemberManager.tsx",
|
|
"summary": "คอมโพเนนต์สำหรับจัดการสมาชิกทีมงาน โดยมีฟังก์ชันหลักคือ TeamMemberManager ซึ่งใช้ในการแสดงและควบคุมข้อมูลของแต่ละคนในทีม",
|
|
"tags": [
|
|
"component",
|
|
"team-member-manager"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/rfas/detail.tsx",
|
|
"type": "file",
|
|
"name": "detail.tsx",
|
|
"filePath": "components/rfas/detail.tsx",
|
|
"summary": "ไฟล์นี้เป็นหน้าแสดงรายละเอียดของ RFAs โดยมีฟังก์ชันหลักชื่อว่า RFADetail ซึ่งครอบคลุมการทำงานทั้งหมดเกี่ยวกับการแสดงผลข้อมูลและโครงสร้าง UI",
|
|
"tags": [
|
|
"rfas",
|
|
"detail-view",
|
|
"component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/rfas/form.tsx",
|
|
"type": "file",
|
|
"name": "form.tsx",
|
|
"filePath": "components/rfas/form.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนประกอบหลักสำหรับฟอร์ม RFA โดยมีการจัดเตรียมข้อมูลผ่านฟังก์ชันต่าง ๆ เช่น extractArrayData, dedupeByKey และ getOptionValue เพื่อให้ได้ผลลัพธ์ที่ถูกต้องและไม่ซ้ำซ้อน จากนั้นนำเอาส่วนประกอบหลัก RFAForm มาใช้งานโดยมีขนาดโค้ดรวมกว่า 600 บรรทัด",
|
|
"tags": [
|
|
"form-component",
|
|
"rfas-module",
|
|
"data-processing"
|
|
],
|
|
"complexity": "complex"
|
|
},
|
|
{
|
|
"id": "file:components/rfas/list.tsx",
|
|
"type": "file",
|
|
"name": "list.tsx",
|
|
"filePath": "components/rfas/list.tsx",
|
|
"summary": "คอมโพเนนต์รายการ RFA (Request for Proposal) โดยมีฟังก์ชันหลักชื่อ RFAList ที่ใช้จัดแสดงข้อมูล RFA ในรูปแบบตารางหรือลิสต์ มีโค้ดรวมประมาณ 104 บรรทัด",
|
|
"tags": [
|
|
"component",
|
|
"rfas",
|
|
"list"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/search/filters.tsx",
|
|
"type": "file",
|
|
"name": "filters.tsx",
|
|
"filePath": "components/search/filters.tsx",
|
|
"summary": "คอมโพเนนต์ SearchFilters เป็นองค์ประกอบที่ใช้สำหรับการแสดงผลและกรองข้อมูลตามเงื่อนไขต่าง ๆ โดยมีการจัดวางโครงสร้างภายในให้มีความชัดเจนและสามารถปรับแต่งได้ง่าย",
|
|
"tags": [
|
|
"component",
|
|
"search",
|
|
"filter"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/search/results.tsx",
|
|
"type": "file",
|
|
"name": "results.tsx",
|
|
"filePath": "components/search/results.tsx",
|
|
"summary": "ไฟล์นี้มีหน้าที่แสดงผลลัพธ์การค้นหา โดยประกอบด้วยฟังก์ชัน getLink สำหรับสร้างลิงก์ และคอมโพเนนต์ SearchResults หลักที่ใช้ในการจัดรูปแบบข้อมูลผลลัพธ์",
|
|
"tags": [
|
|
"search-results",
|
|
"component",
|
|
"results-display"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/transmittal/transmittal-form.tsx",
|
|
"type": "file",
|
|
"name": "transmittal-form.tsx",
|
|
"filePath": "components/transmittal/transmittal-form.tsx",
|
|
"summary": "คอมโพเนนต์แบบฟอร์มสำหรับการส่งเอกสาร โดยมีหน้าที่จัดวางองค์ประกอบต่าง ๆ เช่น ช่องกรอกข้อมูล เลือกไฟล์ และปุ่มยืนยัน การใช้งานโดยตรงผ่านการ export TransmittalForm",
|
|
"tags": [
|
|
"form-component",
|
|
"document-transfer",
|
|
"react-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/transmittal/transmittal-list.tsx",
|
|
"type": "file",
|
|
"name": "transmittal-list.tsx",
|
|
"filePath": "components/transmittal/transmittal-list.tsx",
|
|
"summary": "คอมโพเนนต์รายการส่งเอกสาร (Transmittal List) ที่แสดงข้อมูลรายการเอกสารทั้งหมดในระบบ โดยมีฟังก์ชันหลักชื่อ TransmittalList มีขนาดโค้ดประมาณ 64 บรรทัด และเป็นหน่วยงานประกอบการจัดแสดงข้อมูลสำหรับผู้ใช้งาน",
|
|
"tags": [
|
|
"component",
|
|
"transmittal-list",
|
|
"document-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/alert-dialog.tsx",
|
|
"type": "file",
|
|
"name": "alert-dialog.tsx",
|
|
"filePath": "components/ui/alert-dialog.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ-่งของระบบ UI ที่จัดทำ component AlertDialog โดยมีโครงสร้างประกอบด้วย header และ footer เพื่อใช้งานแสดงข้อความแจ้งเตือนหรือการยืนยันต่างๆ ในแอปพลิเคชัน มีการส่งออก (exports) เฉพาะชุดของ component ที่เกี่ยวข้องกับ AlertDialog เช่น AlertDialogHeader, AlertDialogFooter และอื่น ๆ เพื่อนำมาใช้งานในหน้าจอหลักได้โดยตรง",
|
|
"tags": [
|
|
"component",
|
|
"ui-library",
|
|
"alert-dialog"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/alert.tsx",
|
|
"type": "file",
|
|
"name": "alert.tsx",
|
|
"filePath": "components/ui/alert.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน alert.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/avatar.tsx",
|
|
"type": "file",
|
|
"name": "avatar.tsx",
|
|
"filePath": "components/ui/avatar.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน avatar.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/badge.tsx",
|
|
"type": "file",
|
|
"name": "badge.tsx",
|
|
"filePath": "components/ui/badge.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์ UI เบื้องต้นสำหรับการแสดงข้อมูลในรูปแบบ badge โดยมีฟังก์ชันหลักคือ Badge และการจัดแสดงโทนสีผ่าน badgeVariants ใช้งานง่ายและปรับแต่งได้ตามความต้องการ",
|
|
"tags": [
|
|
"ui-component",
|
|
"badge",
|
|
"component"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/button.tsx",
|
|
"type": "file",
|
|
"name": "button.tsx",
|
|
"filePath": "components/ui/button.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน button.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/calendar.tsx",
|
|
"type": "file",
|
|
"name": "calendar.tsx",
|
|
"filePath": "components/ui/calendar.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์ UI สำหรับการแสดงปฏิทิน โดยมีฟังก์ชันหลักชื่อ Calendar เรียงรายยาวประมาณ 42 บรรทัด มีการส่งออกเฉพาะชื่อ Calendar เพื่อนำมาใช้งานในแอปพลิเคชันได้",
|
|
"tags": [
|
|
"ui-component",
|
|
"calendar",
|
|
"react-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/card.tsx",
|
|
"type": "file",
|
|
"name": "card.tsx",
|
|
"filePath": "components/ui/card.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน card.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/checkbox.tsx",
|
|
"type": "file",
|
|
"name": "checkbox.tsx",
|
|
"filePath": "components/ui/checkbox.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน checkbox.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/command.tsx",
|
|
"type": "file",
|
|
"name": "command.tsx",
|
|
"filePath": "components/ui/command.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ-่งของระบบ UI สำหรับการแสดงผลเมนูคำสั่ง (Command) โดยมีการสร้างคอมโพเนนต์หลายตัว เช่น Command, CommandInput, CommandList และอื่น ๆ เพื่อนำมาใช้แสดงรายการคำสั่งในแอปพลิเคชัน",
|
|
"tags": [
|
|
"ui-component",
|
|
"command-barrel",
|
|
"react-components"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/dialog.tsx",
|
|
"type": "file",
|
|
"name": "dialog.tsx",
|
|
"filePath": "components/ui/dialog.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ",
|
|
"tags": [
|
|
"component",
|
|
"ui-library"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/dropdown-menu.tsx",
|
|
"type": "file",
|
|
"name": "dropdown-menu.tsx",
|
|
"filePath": "components/ui/dropdown-menu.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ่งของระบบ UI components สำหรับการจัดวางเมนูแบบ dropdown โดยมีการสร้าง component เหล่านี้ขึ้นมาเพื่อใช้งานร่วมกันในโปรเจกต์ได้อย่างยืดหยุ่นและเข้าใจง่าย มีฟังก์ชัน DropdownMenuShortcut ที่ทำงานแคบๆ เพียงไม่กี่บรรทัด และส่งออก component ส่วนใหญ่เป็นมาตรฐาน เช่น DropdownMenu, DropdownMenuItem เป็นต้น",
|
|
"tags": [
|
|
"ui-component",
|
|
"dropdown-menu",
|
|
"react-component"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/form.tsx",
|
|
"type": "file",
|
|
"name": "form.tsx",
|
|
"filePath": "components/ui/form.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ",
|
|
"tags": [
|
|
"component",
|
|
"ui-kit"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/hover-card.tsx",
|
|
"type": "file",
|
|
"name": "hover-card.tsx",
|
|
"filePath": "components/ui/hover-card.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน hover-card.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/input.tsx",
|
|
"type": "file",
|
|
"name": "input.tsx",
|
|
"filePath": "components/ui/input.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน input.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/label.tsx",
|
|
"type": "file",
|
|
"name": "label.tsx",
|
|
"filePath": "components/ui/label.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน label.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/popover.tsx",
|
|
"type": "file",
|
|
"name": "popover.tsx",
|
|
"filePath": "components/ui/popover.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน popover.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/progress.tsx",
|
|
"type": "file",
|
|
"name": "progress.tsx",
|
|
"filePath": "components/ui/progress.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน progress.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/scroll-area.tsx",
|
|
"type": "file",
|
|
"name": "scroll-area.tsx",
|
|
"filePath": "components/ui/scroll-area.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน scroll-area.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/select.tsx",
|
|
"type": "file",
|
|
"name": "select.tsx",
|
|
"filePath": "components/ui/select.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์ UI สำหรับการเลือกค่าแบบ dropdown โดยมีองค์ประกอบหลายส่วน เช่น Select, SelectGroup, SelectValue และอื่น ๆ เพื่อใช้สร้างเมนูเลือกได้อย่างยืดหยุ่นและเข้ากันได้ง่ายในระบบที่พัฒนาขึ้น",
|
|
"tags": [
|
|
"ui-component",
|
|
"dropdown-select",
|
|
"react-component"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/separator.tsx",
|
|
"type": "file",
|
|
"name": "separator.tsx",
|
|
"filePath": "components/ui/separator.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน separator.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/sheet.tsx",
|
|
"type": "file",
|
|
"name": "sheet.tsx",
|
|
"filePath": "components/ui/sheet.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ-่งของระบบ UI components สำหรับการจัดแสดง Sheet (ช่องโต้ตอบแบบลอยตัว) โดยมีโครงสร้างพื้นฐานหลายองค์ประกอบ เช่น SheetHeader, SheetFooter และอื่น ๆ เพื่อนำมาใช้งานร่วมกันในแอปพลิเคชันได้อย่างยืดหยุ่น",
|
|
"tags": [
|
|
"ui-component",
|
|
"sheet-modal",
|
|
"react-components"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/skeleton.tsx",
|
|
"type": "file",
|
|
"name": "skeleton.tsx",
|
|
"filePath": "components/ui/skeleton.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์สำหรับแสดงโครงสร้างเบื้องต้น (Skeleton) ใช้งานเพื่อจำลองการแสดงผลขณะโหลดข้อมูล โดยมีฟังก์ชันหลักชื่อ Skeleton เรียบง่ายและมีขนาดเล็ก",
|
|
"tags": [
|
|
"component",
|
|
"ui-kit",
|
|
"skeleton"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/sonner.tsx",
|
|
"type": "file",
|
|
"name": "sonner.tsx",
|
|
"filePath": "components/ui/sonner.tsx",
|
|
"summary": "ไฟล์นี้เป็นส่วนหนึ-่งของระบบแจ้งเตือน (Toaster) โดยใช้ไลบรารี Sonner เพื่อแสดงข้อความแจ้งเตือนแบบเรียลไทม์ บนหน้าเว็บ มีการสร้างคอมโพเนนต์ Toaster ที่สามารถจัดวางตำแหน่งและควบคุมการแสดงผลได้อย่างยืดหยุ่น",
|
|
"tags": [
|
|
"toaster",
|
|
"notifications",
|
|
"sonner"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/ui/switch.tsx",
|
|
"type": "file",
|
|
"name": "switch.tsx",
|
|
"filePath": "components/ui/switch.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน switch.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/table.tsx",
|
|
"type": "file",
|
|
"name": "table.tsx",
|
|
"filePath": "components/ui/table.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน table.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/tabs.tsx",
|
|
"type": "file",
|
|
"name": "tabs.tsx",
|
|
"filePath": "components/ui/tabs.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน tabs.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/ui/textarea.tsx",
|
|
"type": "file",
|
|
"name": "textarea.tsx",
|
|
"filePath": "components/ui/textarea.tsx",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน textarea.tsx",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:components/workflow/integrated-banner.tsx",
|
|
"type": "file",
|
|
"name": "integrated-banner.tsx",
|
|
"filePath": "components/workflow/integrated-banner.tsx",
|
|
"summary": "ไฟล์นี้เป็นคอมโพเนนต์แสดงข้อมูลสถานะการทำงานแบบรวมกัน โดยมีฟังก์ชันสนับสนุนสำหรับการแปลงสถานะเป็นสีและรูปแบบการแสดงผล เช่น การกำหนดสีตามสถานะ และการแสดงปุ่มดำเนินการได้ ประกอบด้วยคอมโพเนนต์หลัก IntegratedBanner และ ActionButton",
|
|
"tags": [
|
|
"component",
|
|
"workflow",
|
|
"status-display",
|
|
"action-button"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/workflows/dsl-editor.tsx",
|
|
"type": "file",
|
|
"name": "dsl-editor.tsx",
|
|
"filePath": "components/workflows/dsl-editor.tsx",
|
|
"summary": "คอมโพเนนต์ DSLEditor เป็นหน้าที่ใช้แสดงผลและจัดการงานดีไซน์แบบ DSL โดยมีฟังก์ชันหลักคือการสร้าง UI สำหรับแก้ไขลำดับการทำงานผ่านโครงสร้างข้อมูลเฉพาะทาง",
|
|
"tags": [
|
|
"component",
|
|
"dsl-editor",
|
|
"workflow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/workflows/visual-builder.tsx",
|
|
"type": "file",
|
|
"name": "visual-builder.tsx",
|
|
"filePath": "components/workflows/visual-builder.tsx",
|
|
"summary": "ไฟล์นี้เป็นองค์ประกอบหลักสำหรับการสร้างงานแบบสายไหล (workflow) อย่างมีภาพรวม โดยให้ผู้ใช้งานสามารถดึงโหนดและเชื่อมโยงกันได้อย่างยืดหยุ่น มีฟังก์ชันสนับสนุนหลายตัว เช่น createNode, createEdge และ parseDSL ที่ทำงานร่วมกันเพื่อแปลงโครงสร้างข้อมูลเป็นภาพประกอบ",
|
|
"tags": [
|
|
"visual-builder",
|
|
"workflow-engine",
|
|
"dsl-parser"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:components/workflow/workflow-lifecycle.tsx",
|
|
"type": "file",
|
|
"name": "workflow-lifecycle.tsx",
|
|
"filePath": "components/workflow/workflow-lifecycle.tsx",
|
|
"summary": "ไฟล์นี้เป็นองค์ประกอบหลักสำหรับแสดงชีวิตการทำงานของระบบ (Workflow Lifecycle) โดยมีฟังก์ชันต่าง ๆ เช่น getNodeStyle และ getActionLabelKey ที่ใช้ในการกำหนดสไตลัสและป้ายกำกับการกระทำตามสถานะต่าง ๆ ในลำดับชั้นของงาน",
|
|
"tags": [
|
|
"workflow-lifecycle",
|
|
"component",
|
|
"lifecycle-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:./src/eslint.config.mjs",
|
|
"type": "file",
|
|
"name": "eslint.config.mjs",
|
|
"filePath": "./src/eslint.config.mjs",
|
|
"summary": "ไฟล์กำหนดค่า ESLint เพื่อกำหนดกฎการเขียนโค้ดของโปรเจกต์ โดยไม่มีเนื้อหาหรือการนำเข้าใด ๆ ระบุไว้ในไฟล์นี้",
|
|
"tags": [
|
|
"eslint",
|
|
"configuration",
|
|
"rules"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:hooks/ai/use-intent-classification.ts",
|
|
"type": "file",
|
|
"name": "use-intent-classification.ts",
|
|
"filePath": "hooks/ai/use-intent-classification.ts",
|
|
"summary": "ไฟล์นี้เป็น hook สำหรับจัดการกับการจำแนกประเภทเจตนา (intent classification) ในระบบ AI โดยมีฟังก์ชันต่าง ๆ เช่น การดึงข้อมูลแบบกำหนดไว้ล่วงหน้า, การสร้าง/อัปเดท pattern และ definition รวมถึงการวิเคราะห์พฤติกรรมของเจตนา เพื่อให้ระบบสามารถตอบสนองตามความต้องการได้อย่างแม่นยำ",
|
|
"tags": [
|
|
"ai",
|
|
"intent-classification",
|
|
"hook",
|
|
"use-intent-definitions",
|
|
"use-intent-patterns"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-ai-chat.ts",
|
|
"type": "file",
|
|
"name": "use-ai-chat.ts",
|
|
"filePath": "hooks/use-ai-chat.ts",
|
|
"summary": "ตัวช่วย (hook) สำหรับจัดการการสนทนาแบบ AI โดยมีฟังก์ชันหลักชื่อ useAiChat ซึ่งใช้งานได้ยาวถึง 87 บรรทัด มีหน้าที่รองรับการทำงานของระบบแชทดิสเพลย์และจัดการข้อมูลผู้ใช้ในระหว่างสนทนา",
|
|
"tags": [
|
|
"hook",
|
|
"ai-chat"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-ai-prompts.ts",
|
|
"type": "file",
|
|
"name": "use-ai-prompts.ts",
|
|
"filePath": "hooks/use-ai-prompts.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วย hook สำหรับจัดการคำขอ AI prompts และการทำงานในสภาพแวดล้อม sandbox โดยมีฟังก์ชันหลักคือ useAiPrompts และ useSandboxRun ที่ใช้งานร่วมกับระบบบริหารจัดการ prompt และ execution ในสภาพแวดล้อมจำลอง",
|
|
"tags": [
|
|
"hook",
|
|
"ai-prompts",
|
|
"sandbox-run"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-ai-status.ts",
|
|
"type": "file",
|
|
"name": "use-ai-status.ts",
|
|
"filePath": "hooks/use-ai-status.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดฟังก์ชันสำหรับการดูแลสถานะ AI โดยมีฟังก์ชันต่าง ๆ เช่น การตรวจสอบสถานะ AI ของผู้ใช้งานปัจจุบัน (useCurrentUserAiStatus), การควบคุมการทำงานของฟีเจอร์ AI (useToggleAiFeatures) และการประเมินสุขภาพระบบ AI (useAiHealth)",
|
|
"tags": [
|
|
"hook",
|
|
"ai-status",
|
|
"user-context",
|
|
"health-check"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-audit-logs.ts",
|
|
"type": "file",
|
|
"name": "use-audit-logs.ts",
|
|
"filePath": "hooks/use-audit-logs.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บ hook เกี่ยวกับการดึงประวัติการตรวจสอบ (audit logs) โดยมีฟังก์ชัน useAuditLogs ที่ใช้ในการเรียกดูข้อมูลประวัติการเข้าถึงระบบ และส่งคืน key สำหรับการจัดการ state เก็บไว้ใน cache",
|
|
"tags": [
|
|
"hook",
|
|
"audit-logs",
|
|
"use-audit-logs"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-circulation.ts",
|
|
"type": "file",
|
|
"name": "use-circulation.ts",
|
|
"filePath": "hooks/use-circulation.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยตัวช่วย (hook) สำหรับจัดการข้อมูลวงจรเอกสาร เช่น การใช้งาน hook useCirculation และ useCirculationsByCorrespondence เพื่อดึงข้อมูลวงจรเอกสารตามความจำเป็นของระบบ",
|
|
"tags": [
|
|
"hook",
|
|
"circulation",
|
|
"document-cycle"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-correspondence.ts",
|
|
"type": "file",
|
|
"name": "use-correspondence.ts",
|
|
"filePath": "hooks/use-correspondence.ts",
|
|
"summary": "ไฟล์นี้เป็นแหล่งรวมของ hook ที่เกี่ยวข้องกับการจัดการเอกสารสื่อสาร (correspondence) โดยมีฟังก์ชันต่าง ๆ เช่น การดึงรายการเอกสาร ส่งออกเอกสาร อัปเดต เปลี่ยนแปลงสถานะ และจัดการแท็กหรือแหล่งอ้างอิง รวมถึงกระบวนการไหลเวียนงาน (workflow)",
|
|
"tags": [
|
|
"hook",
|
|
"correspondence",
|
|
"use-correspondences",
|
|
"use-create-correspondence",
|
|
"use-update-correspondence",
|
|
"use-delete-correspondence",
|
|
"use-cancel-correspondence",
|
|
"use-submit-correspondence",
|
|
"use-tags",
|
|
"use-references",
|
|
"workflow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-dashboard.ts",
|
|
"type": "file",
|
|
"name": "use-dashboard.ts",
|
|
"filePath": "hooks/use-dashboard.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยชุดฟังก์ชันสำหรับใช้งาน Dashboard โดยมีการสร้าง hook ต่าง ๆ เช่น useDashboardStats, useRecentActivity และ usePendingTasks เพื่อจัดเก็บและจัดการข้อมูลสถิติแดชบอร์ด กิจกรรมล่าสุด และงานที่ยังไม่ได้ดำเนินการตามลำดับ",
|
|
"tags": [
|
|
"hook",
|
|
"dashboard",
|
|
"stats",
|
|
"activity",
|
|
"task"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-delegation.ts",
|
|
"type": "file",
|
|
"name": "use-delegation.ts",
|
|
"filePath": "hooks/use-delegation.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดของ hook ที่ใช้ในการจัดการหน้าที่ส่งต่อ (delegation) โดยมีฟังก์ชันหลัก ๆ เช่น useMyDelegations, useCreateDelegation และ useRevokeDelegation เพื่อให้ง่ายต่อการทำงานด้านการดึงข้อมูลและการสร้าง/ยกเลิกหน้าที่ส่งต่อ",
|
|
"tags": [
|
|
"hook",
|
|
"delegation",
|
|
"useMyDelegations",
|
|
"useCreateDe-legation",
|
|
"useRevokeDelegation"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-distribution-matrices.ts",
|
|
"type": "file",
|
|
"name": "use-distribution-mat",
|
|
"filePath": "hooks/use-distribution-matrices.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บตัวช่วย (hook) สำหรับการจัดการเมทริกซ์การกระจายสินค้า โดยมีฟังก์ชันหลัก ๆ เช่น useDistributionMatrices, useCreateDistributionMatrix และ useDeleteDistributionMatrix เพื่อให้สามารถดึงข้อมูลและดำเนินการสร้าง/ลบเมทริกซ์ได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"hook",
|
|
"distribution-matrix",
|
|
"use-distribution-matrices"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-drawing.ts",
|
|
"type": "file",
|
|
"name": "use-drawing.ts",
|
|
"filePath": "hooks/use-drawing.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยชุดของ hook ที่เกี่ยวข้องกับการจัดการการวาดภาพ (drawing) โดยมีฟังก์ชันต่าง ๆ เช่น useDrawings, useDrawing, useCreateDrawing และอื่น ๆ เพื่อรองรับการทำงานในระดับ component เกี่ยวกับการออกแบบหรือแก้ไขรายละเอียดของ drawing",
|
|
"tags": [
|
|
"hook",
|
|
"drawing-management",
|
|
"use-drawings",
|
|
"contract-drawing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-master-data.ts",
|
|
"type": "file",
|
|
"name": "use-master-data.ts",
|
|
"filePath": "hooks/use-master-data.ts",
|
|
"summary": "ไฟล์นี้เป็น hook สำหรับจัดการข้อมูลหลัก (master data) โดยมีฟังก์ชันต่าง ๆ เช่น การดึงข้อมูลองค์กร, ส่วนงาน, เรื่องราวโครงการ และสัญญา มาใช้งานได้ทันทีผ่าน React Hook API",
|
|
"tags": [
|
|
"hook",
|
|
"master-data",
|
|
"organization",
|
|
"discipline",
|
|
"project",
|
|
"contract"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:src/hooks/use-migration-review.ts",
|
|
"type": "file",
|
|
"name": "use-migration-review.ts",
|
|
"filePath": "src/hooks/use-migration-review.ts",
|
|
"summary": "ไฟล์นี้เป็น hook สำหรับจัดการกระบวนการตรวจสอบย้ายข้อมูล (migration review) โดยมีฟังก์ชันต่าง ๆ เช่น การดึงข้อมูล, การเพิ่มเติมคำขอตรวจสอบ และการปฏิเสธคำขอตรวจสอบ มีการใช้งานร่วมกับระบบจัดเก็บสถานะและคีย์สำหรับการเรียกดูข้อมูล",
|
|
"tags": [
|
|
"hook",
|
|
"migration-review",
|
|
"data-fetching",
|
|
"approval-flow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-notification.ts",
|
|
"type": "file",
|
|
"name": "use-notification.ts",
|
|
"filePath": "hooks/use-notification.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บระบบแจ้งเตือน (notifications) โดยมีฟังก์ชันหลักสองตัวคือ useNotifications และ useMarkNotificationRead ใช้สำหรับการดึงข้อมูลแจ้งเตือนและทำเครื่องหมายว่าอ่านแล้วตามลำดับ",
|
|
"tags": [
|
|
"hook",
|
|
"notification",
|
|
"use-notifications"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-numbering.ts",
|
|
"type": "file",
|
|
"name": "use-numbering.ts",
|
|
"filePath": "hooks/use-numbering.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยชุดของ custom hooks ที่จัดการกับการทำงานต่าง ๆ เรื่องเลขลำดับ (numbering) ในระบบ โดยมีฟังก์ชันเฉพาะสำหรับแต่ละภาระงาน เช่น การสร้างแบบแปลง (templates), การบันทึกข้อมูล, การตรวจสอบเมตริกส์, การจัดการประวัติการใช้งาน, การเปลี่ยนเลขลำดับแบบมือถือ, การยกเลิกเลขลำดับ และการนำเข้าจำนวนมาก ช่วยให้ระบบสามารถควบคุมและจัดการเลขลำดับได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"custom-hooks",
|
|
"numbering-management",
|
|
"template-handling",
|
|
"audit-logs"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-projects.ts",
|
|
"type": "file",
|
|
"name": "use-projects.ts",
|
|
"filePath": "hooks/use-projects.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดของ hook สำหรับการจัดการโครงการต่าง ๆ โดยมีฟังก์ชันหลัก เช่น useProjects, useCreateProject, useUpdateProject และ useDeleteProject เพื่อให้สามารถดึงข้อมูลและดำเนินการ CRUD กับโครงการได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"hook",
|
|
"project-management",
|
|
"use-projects",
|
|
"CRUD"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-reference-data.ts",
|
|
"type": "file",
|
|
"name": "use-reference-data.ts",
|
|
"filePath": "hooks/use-reference-data.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยชุดของ hook ที่ใช้จัดการข้อมูลอ้างอิงต่าง ๆ เช่นประเภท RFA, Disciplines และประเภทการสื่อสาร โดยแต่ละ hook มีหน้าที่เฉพาะเจาะจงในการดึงหรือสร้าง/แก้ไข/ลบข้อมูลตามความจำเป็นของระบบ",
|
|
"tags": [
|
|
"hook",
|
|
"reference-data",
|
|
"RFA-type",
|
|
"discipline",
|
|
"correspondence-type"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:src/hooks/use-reminder.ts",
|
|
"type": "file",
|
|
"name": "use-reminder.ts",
|
|
"filePath": "src/hooks/use-reminder.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดของ hook ที่ใช้บริหารจัดการกฎเตือนและประวัติการแจ้งเตือน โดยมีฟังก์ชันหลักๆ เช่น useReminderRules, useReminderHistory และ hook เพื่อสร้าง/แก้ไข/ลบกฎเตือน",
|
|
"tags": [
|
|
"hook",
|
|
"reminder-rule",
|
|
"state-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-response-codes.ts",
|
|
"type": "file",
|
|
"name": "use-response-codes.ts",
|
|
"filePath": "hooks/use-response-codes.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยชุดของ hook ที่ใช้จัดการรหัสคำตอบ (response codes) โดยแยกตามประเภทต่าง ๆ เช่น การแบ่งตามหมวดหมู่หรือชนิดเอกสาร เพื่อให้ง่ายต่อการเข้าถึงข้อมูลในแอปพลิเคชัน",
|
|
"tags": [
|
|
"hook",
|
|
"response-codes",
|
|
"category-filtering",
|
|
"document-type"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-review-teams.ts",
|
|
"type": "file",
|
|
"name": "use-review-teams.ts",
|
|
"filePath": "hooks/use-review-teams.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดฟังก์ชันสำหรับการจัดการทีมผู้ประเมิน โดยมีฟังก์ชันต่าง ๆ เช่น การดึงข้อมูลทีมผู้ประเมิน (useReviewTeams), การสร้าง/อัปเดตทีม, และการเพิ่ม-ลบสมาชิกในทีม ใช้ร่วมกับระบบจัดการหน่วยงานและสิทธิ์พนักงาน",
|
|
"tags": [
|
|
"hook",
|
|
"review-team",
|
|
"team-management",
|
|
"useCreateReviewTeam",
|
|
"useUpdateReviewTeam"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-rfa.ts",
|
|
"type": "file",
|
|
"name": "use-rfa.ts",
|
|
"filePath": "hooks/use-rfa.ts",
|
|
"summary": "ไฟล์นี้ประกอบด้วยชุดของ hook ที่ใช้จัดการกับการทำงานต่าง ๆ เรื่อง RFA (Request For Approval) โดยมีฟังก์ชันหลัก เช่น useRFA, useSubmitRFA, useCreateRFA และอื่นๆ เพื่อให้ง่ายต่อการดึงข้อมูลหรือส่งคำขออนุมัติจากผู้ใช้",
|
|
"tags": [
|
|
"hook",
|
|
"rfa",
|
|
"approval workflow"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-search.ts",
|
|
"type": "file",
|
|
"name": "use-search.ts",
|
|
"filePath": "hooks/use-search.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บ hook สำหรับการค้นหาข้อมูล โดยมีฟังก์ชันหลักสองตัวได้แก่ useSearch และ useSearchSuggestions ที่ใช้งานร่วมกับระบบแนะนำคำค้นหา",
|
|
"tags": [
|
|
"hook",
|
|
"search",
|
|
"use-search"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-translations.ts",
|
|
"type": "file",
|
|
"name": "use-translations.ts",
|
|
"filePath": "hooks/use-translations.ts",
|
|
"summary": "สรุปหน้าที่ของไฟล์นี้คือการจัดการภาษาแบบใช้งานง่ายผ่าน hook โดยมีฟังก์ชัน useTranslations สำหรับดึงข้อมูลคำแปลจากแหล่งต้นทาง เช่น i18n provider และส่งกลับเป็น object ของคำแปลพร้อม key เหมาะสมสำหรับใช้งานใน component",
|
|
"tags": [
|
|
"hook",
|
|
"i18n",
|
|
"translation"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-transmittal.ts",
|
|
"type": "file",
|
|
"name": "use-transmittal.ts",
|
|
"filePath": "hooks/use-transmittal.ts",
|
|
"summary": "ตัวช่วย (hook) สำหรับจัดการข้อมูลการส่งเอกสาร โดยมีฟังก์ชันหลักชื่อ useTransmittal และคีย์ที่ใช้ในการจัดเก็บสถานะของเอกสารในระบบ",
|
|
"tags": [
|
|
"use-transmittal",
|
|
"transmittal-keys"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-users.ts",
|
|
"type": "file",
|
|
"name": "use-users.ts",
|
|
"filePath": "hooks/use-users.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดฟังก์ชันสำหรับการจัดการผู้ใช้งาน โดยมีฟังก์ชันหลัก ๆ เช่น useUsers, useRoles, useCreateUser, useUpdateUser และ useDeleteUser ที่รองรับการทำงานต่าง ๆ เกี่ยวกับข้อมูลผู้ใช้ในระบบ",
|
|
"tags": [
|
|
"hook",
|
|
"user-management",
|
|
"react-query"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:src/hooks/use-workflow-action.ts",
|
|
"type": "file",
|
|
"name": "use-workflow-action.ts",
|
|
"filePath": "src/hooks/use-workflow-action.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บ hook สำหรับการจัดการการทำงานของ workflow โดยมีฟังก์ชัน isApiErrorResponse เพื่อตรวจสอบข้อผิดพลาดจาก API และใช้ใน hook useWorkflowAction หลักๆ เป็นตัวควบคุมสถานะและพฤติกรรมของการเรียกดูหรือดำเนินการตามลำดับของ workflow",
|
|
"tags": [
|
|
"hook",
|
|
"workflow-action",
|
|
"api-error-check"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-workflow-history.ts",
|
|
"type": "file",
|
|
"name": "use-workflow-history.ts",
|
|
"filePath": "hooks/use-workflow-history.ts",
|
|
"summary": "ตัวช่วย (hook) เพื่อจัดการประวัติการทำงานของกระบวนการ โดยให้ค่าข้อมูลประวัติงานที่เก็บไว้อยู่ในระบบ และรองรับการดึงข้อมูลผ่าน key สำหรับใช้งานร่วมกัน",
|
|
"tags": [
|
|
"hook",
|
|
"workflow-history"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:hooks/use-workflows.ts",
|
|
"type": "file",
|
|
"name": "use-workflows.ts",
|
|
"filePath": "hooks/use-workflows.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บชุดของ custom hooks ที่ใช้ในการจัดการ workflow โดยมีฟังก์ชันต่าง ๆ เช่น การดึงข้อมูล definition, การสร้าง/อัปเดต/ลบ definition และการประเมิน workflow เพื่อนำไปใช้งานในหน้าเว็บไซต์",
|
|
"tags": [
|
|
"custom-hooks",
|
|
"workflow-management",
|
|
"react-query",
|
|
"dsl-validation"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/api/admin.ts",
|
|
"type": "file",
|
|
"name": "admin.ts",
|
|
"filePath": "/src/lib/api/admin.ts",
|
|
"summary": "ไฟล์นี้เป็นโมดูลสำหรับจัดการ API โดยเฉพาะอย่างยิ่งใช้สำหรับระบบบริหารจัดการ (Admin) มีการส่งออกตัวแปร adminApi ซึ่งอาจเป็น instance ของ RTK Query เพื่อให้งาน CRUD และการดึงข้อมูลจาก backend เกิดขึ้นได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"api-client",
|
|
"admin-module",
|
|
"rtk-query"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/api/ai.ts",
|
|
"type": "file",
|
|
"name": "ai.ts",
|
|
"filePath": "lib/api/ai.ts",
|
|
"summary": "ไฟล์นี้เป็นโมดูล API สำหรับการจัดการงาน AI โดยมีฟังก์ชันต่าง ๆ เช่น การส่งคำขอ Rag, การตรวจสอบสถานะงาน, การอนุมัติข้อมูล staging และการจัดการลอคของระบบ เพื่อให้ผู้ใช้งานสามารถโต้ตอบและควบคุมการทำงานของ AI ได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"ai",
|
|
"rag-query",
|
|
"staging-queue",
|
|
"api-handler"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/api/dashboard.ts",
|
|
"type": "file",
|
|
"name": "dashboard.ts",
|
|
"filePath": "/src/lib/api/dashboard.ts",
|
|
"summary": "ไฟล์นี้เป็นโมดูลสำหรับจัดการ API dashboard โดยส่งออกตัวแปร dashboardApi ใช้ในการเรียกใช้งาน endpoint เฉพาะทางแดชบอร์ดในแอปพลิเคชัน",
|
|
"tags": [
|
|
"api-handler",
|
|
"dashboard"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/api/drawings.ts",
|
|
"type": "file",
|
|
"name": "drawings.ts",
|
|
"filePath": "lib/api/drawings.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน drawings.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/api/files.ts",
|
|
"type": "file",
|
|
"name": "files.ts",
|
|
"filePath": "lib/api/files.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน files.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/api/notifications.ts",
|
|
"type": "file",
|
|
"name": "notifications.ts",
|
|
"filePath": "lib/api/notifications.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน notifications.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/api/numbering.ts",
|
|
"type": "file",
|
|
"name": "numberingApi",
|
|
"filePath": "lib/api/numbering.ts",
|
|
"summary": "ไฟล์นี้เป็นโมดูล API สำหรับการจัดลำดับเลขที่ โดยส่งออกตัวแปร numberingApi เพื่อใช้งานในแอปพลิเคชันได้โดยตรง",
|
|
"tags": [
|
|
"api-module",
|
|
"numbering"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/api/workflows.ts",
|
|
"type": "file",
|
|
"name": "workflows.ts",
|
|
"filePath": "/src/lib/api/workflows.ts",
|
|
"summary": "ไฟล์นี้เป็นโมดูลสำหรับจัดการ API เกี่ยวกับ workflow โดยส่งออกตัวแปร workflowApi ซึ่งใช้ในการเรียกดูและจัดการข้อมูล workflow ในระบบได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"api-client",
|
|
"workflow-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/auth.ts",
|
|
"type": "file",
|
|
"name": "auth.ts",
|
|
"filePath": "lib/auth.ts",
|
|
"summary": "ไฟล์นี้จัดเก็บฟังก์ชันต่าง ๆ ที่เกี่ยวข้องกับการตรวจสอบและจัดการโทเคน (token) เช่น การดึงเวลาหมดอายุของ JWT, การตรวจสอบโครงสร้าง payload จาก token และการรีเฟรช accessToken โดยมีการส่งออกค่า handlers อันประกอบไปด้วยฟังก์ชัน GET และ POST เพื่อใช้งานในระบบบริหารจัดการการเข้าสู่ระบบ",
|
|
"tags": [
|
|
"authentication",
|
|
"jwt",
|
|
"token-management",
|
|
"api-handler"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/i18n/index.ts",
|
|
"type": "file",
|
|
"name": "index.ts",
|
|
"filePath": "lib/i18n/index.ts",
|
|
"summary": "ไฟล์นี้จัดการระบบแปลภาษา (i18n) โดยสร้างฟังก์ชัน createT สำหรับใช้ในการเรียกคำแปล และส่งออกตัวแปร t เพื่อให้สามารถใช้งานได้ง่ายในโปรเจกต์",
|
|
"tags": [
|
|
"i18n",
|
|
"translation",
|
|
"createT",
|
|
"t"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/asbuilt-drawing.service.ts",
|
|
"type": "file",
|
|
"name": "asbuilt-drawing.service.ts",
|
|
"filePath": "lib/services/asbuilt-drawing.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน asbuilt-drawing.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/audit-log.service.ts",
|
|
"type": "file",
|
|
"name": "audit-log.service.ts",
|
|
"filePath": "lib/services/audit-log.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน audit-log.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/circulation.service.ts",
|
|
"type": "file",
|
|
"name": "circulation.service.ts",
|
|
"filePath": "lib/services/circulation.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน circulation.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/contract-drawing.service.ts",
|
|
"type": "file",
|
|
"name": "contract-drawing.service.ts",
|
|
"filePath": "lib/services/contract-drawing.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน contract-drawing.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/contract.service.ts",
|
|
"type": "file",
|
|
"name": "contract.service.ts",
|
|
"filePath": "lib/services/contract.service.ts",
|
|
"summary": "ไฟล์นี้เป็นบริการสำหรับจัดการข้อมูลสัญญา โดยมีฟังก์ชัน normalizeContract ที่ใช้ปรับรูปแบบข้อมูลสัญญาให้อยู่ในมาตรฐาน และ extractContractArray เพื่อดึงข้อมูลรายการสัญญาออกมาเป็นอาร์เรย์",
|
|
"tags": [
|
|
"service",
|
|
"contract",
|
|
"data-processing"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/correspondence.service.ts",
|
|
"type": "file",
|
|
"name": "correspondence.service.ts",
|
|
"filePath": "lib/services/correspondence.service.ts",
|
|
"summary": "บริการจัดการข้อมูลเอกสารสื่อสารภายในระบบ โดยมีหน้าที่หลักในการดึงข้อมูล สร้าง และอัปเดตเอกสารสื่อสารตามความต้องการของผู้ใช้งาน",
|
|
"tags": [
|
|
"service",
|
|
"correspondence",
|
|
"document-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/dashboard.service.ts",
|
|
"type": "file",
|
|
"name": "dashboard.service.ts",
|
|
"filePath": "/src/lib/services/dashboard.service.ts",
|
|
"summary": "บริการสำหรับจัดการหน้าแดชบอร์ด โดยมีฟังก์ชันหลักในการดึงข้อมูลจากฐานข้อมูลและประมวลผลให้พร้อมใช้งานในหน้าแสดงผล",
|
|
"tags": [
|
|
"service",
|
|
"dashboard",
|
|
"data-fetching"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/document-numbering.service.ts",
|
|
"type": "file",
|
|
"name": "document-numbering.service.ts",
|
|
"filePath": "lib/services/document-numbering.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน document-numbering.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/drawing-master-data.service.ts",
|
|
"type": "file",
|
|
"name": "drawing-master-data.service.ts",
|
|
"filePath": "lib/services/drawing-master-data.service.ts",
|
|
"summary": "บริการสำหรับจัดการข้อมูลหลักของแบบวาดภาพ โดยมีหน้าที่ดูแลการทำงานกับฐานข้อมูลและให้บริการข้อมูลแก่ component อื่น ๆ ผ่าน method เช่น การเพิ่ม เปลี่ยนแปลงหรือลบข้อมูล",
|
|
"tags": [
|
|
"service",
|
|
"drawing-master-data"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/index.ts",
|
|
"type": "file",
|
|
"name": "index.ts",
|
|
"filePath": "lib/services/index.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน index.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/json-schema.service.ts",
|
|
"type": "file",
|
|
"name": "json-schema.service.ts",
|
|
"filePath": "lib/services/json-schema.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน json-schema.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/master-data.service.ts",
|
|
"type": "file",
|
|
"name": "master-data.service.ts",
|
|
"filePath": "/src/lib/services/master-data.service.ts",
|
|
"summary": "บริการสำหรับจัดการข้อมูลหลัก (Master Data) โดยมีฟังก์ชัน extractArrayData ใช้ในการดึงข้อมูลเป็นอาร์เรย์ และส่งค่าออกเป็นโมดูล masterDataService เพื่อให้งานต่าง ๆ เรียกดูหรือประมวลผลได้อย่างมีประสิทธิภาพ",
|
|
"tags": [
|
|
"service",
|
|
"master-data",
|
|
"utility"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/monitoring.service.ts",
|
|
"type": "file",
|
|
"name": "monitoring.service.ts",
|
|
"filePath": "lib/services/monitoring.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน monitoring.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/notification.service.ts",
|
|
"type": "file",
|
|
"name": "notification.service.ts",
|
|
"filePath": "lib/services/notification.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน notification.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/organization.service.ts",
|
|
"type": "file",
|
|
"name": "organization.service.ts",
|
|
"filePath": "lib/services/organization.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน organization.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/project.service.ts",
|
|
"type": "file",
|
|
"name": "project.service.ts",
|
|
"filePath": "lib/services/project.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน project.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/review-team.service.ts",
|
|
"type": "file",
|
|
"name": "review-team.service.ts",
|
|
"filePath": "lib/services/review-team.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน review-team.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/rfa.service.ts",
|
|
"type": "file",
|
|
"name": "rfa.service.ts",
|
|
"filePath": "lib/services/rfa.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน rfa.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/search.service.ts",
|
|
"type": "file",
|
|
"name": "search.service.ts",
|
|
"filePath": "lib/services/search.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน search.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/session.service.ts",
|
|
"type": "file",
|
|
"name": "session.service.ts",
|
|
"filePath": "lib/services/session.service.ts",
|
|
"summary": "ไฟล์นี้เป็นบริการสำหรับจัดการเซสชัน โดยมีฟังก์ชัน extractArrayData ที่ใช้ดึงข้อมูลจากอาร์เรย์ และ transformSession เพื่อแปลงรูปแบบของข้อมูลเซสชันให้อยู่ในรูปแบบที่เหมาะสมสำหรับการตอบกลับ",
|
|
"tags": [
|
|
"service",
|
|
"session-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/shop-drawing.service.ts",
|
|
"type": "file",
|
|
"name": "shop-drawing.service.ts",
|
|
"filePath": "lib/services/shop-drawing.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน shop-drawing.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/transmittal.service.ts",
|
|
"type": "file",
|
|
"name": "transmittal.service.ts",
|
|
"filePath": "lib/services/transmittal.service.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน transmittal.service.ts",
|
|
"tags": [
|
|
"utility",
|
|
"service",
|
|
"api-handler"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/services/user.service.ts",
|
|
"type": "file",
|
|
"name": "user.service.ts",
|
|
"filePath": "lib/services/user.service.ts",
|
|
"summary": "ไฟล์นี้เป็นบริการสำหรับจัดการข้อมูลผู้ใช้งาน โดยมีฟังก์ชัน extractArrayData ที่ดึงข้อมูลจากอาร์เรย์ และ transformUser เพื่อแปลงรูปแบบข้อมูลผู้ใช้ให้อยู่ในรูปแบบที่ต้องการ",
|
|
"tags": [
|
|
"service",
|
|
"user-management"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/services/workflow-engine.service.ts",
|
|
"type": "file",
|
|
"name": "workflow-engine.service.ts",
|
|
"filePath": "lib/services/workflow-engine.service.ts",
|
|
"summary": "บริการสำหรับจัดการการทำงานของระบบ workflow โดยมีฟังก์ชันต่าง ๆ เช่น การดึงข้อมูลจาก array, nested structure และ DSL definition มาใช้งานอย่างเหมาะสม มีการแปลงประเภทของ workflow ให้เข้ารูปแบบมาตรฐานเพื่อรองรับการทำงานในระบบที่หลากหลาย",
|
|
"tags": [
|
|
"workflow-engine",
|
|
"data-extraction",
|
|
"dsl-processing",
|
|
"service-layer"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/stores/auth-store.ts",
|
|
"type": "file",
|
|
"name": "auth-store.ts",
|
|
"filePath": "lib/stores/auth-store.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน auth-store.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/stores/draft-store.ts",
|
|
"type": "file",
|
|
"name": "draft-store.ts",
|
|
"filePath": "lib/stores/draft-store.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน draft-store.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/stores/ui-store.ts",
|
|
"type": "file",
|
|
"name": "ui-store.ts",
|
|
"filePath": "lib/stores/ui-store.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน ui-store.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/test-utils.tsx",
|
|
"type": "file",
|
|
"name": "test-utils.tsx",
|
|
"filePath": "lib/test-utils.tsx",
|
|
"summary": "ไฟล์นี้ให้เครื่องมือสำหรับการทดสอบ โดยมีฟังก์ชัน createTestQueryClient ที่สร้าง client query เพื่อใช้งานในสภาพแวดล้อมทดสอบ และ waitForQueryClient เพื่อรอให้ query client เตรียมพร้อมใช้งาน",
|
|
"tags": [
|
|
"testing",
|
|
"query-client",
|
|
"utility"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:lib/utils.ts",
|
|
"type": "file",
|
|
"name": "utils.ts",
|
|
"filePath": "/src/lib/utils.ts",
|
|
"summary": "ไฟล์นี้มีหน้าที่จัดการกับฟังก์ชันต่าง ๆ เช่น การรวมค่าสตริงหรือการแสดงผลตามเงื่อนไข โดยเฉพาะอย่างยิ่งมีฟังก์ชัน cn ซึ่งใช้ในการควบคุมการแสดงผลขององค์ประกอบ HTML",
|
|
"tags": [
|
|
"utility",
|
|
"string-combination"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:lib/utils/uuid-guard.ts",
|
|
"type": "file",
|
|
"name": "uuid-guard.ts",
|
|
"filePath": "/src/lib/utils/uuid-guard.ts",
|
|
"summary": "ไฟล์นี้มีหน้าที่ตรวจสอบค่า UUID โดยใช้ฟังก์ชัน assertUuid ซึ่งรับพารามิเตอร์เป็นสตริงและยืนยันว่าเป็นรูปแบบของ UUID เหมือนมาตรฐาน RFC4122 หากไม่ตรงตามรูปแบบจะโยนข้อผิดพลาดออกไป",
|
|
"tags": [
|
|
"uuid-validation",
|
|
"utility-function"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:next.config.mjs",
|
|
"type": "file",
|
|
"name": "next.config.mjs",
|
|
"filePath": "next.config.mjs",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน next.config.mjs",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:.nvmrc",
|
|
"type": "file",
|
|
"name": ".nvmrc",
|
|
"filePath": ".nvmrc",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน .nvmrc",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:postcss.config.mjs",
|
|
"type": "file",
|
|
"name": "postcss.config.mjs",
|
|
"filePath": "postcss.config.mjs",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน postcss.config.mjs",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:providers/query-provider.tsx",
|
|
"type": "file",
|
|
"name": "query-provider.tsx",
|
|
"filePath": "providers/query-provider.tsx",
|
|
"summary": "ไฟล์นี้ให้บริการ QueryProvider ซึ่งเป็นโครงสร้างหลักสำหรับจัดการ query และ context ในแอปพลิเคชัน โดยมีหน้าที่รับค่าจาก hooks เช่น useQuery, useMutation เพื่อให้สามารถเข้าถึงข้อมูลได้อย่างสะดวกและมีประสิทธิภาพ",
|
|
"tags": [
|
|
"provider",
|
|
"query-management",
|
|
"context-api"
|
|
],
|
|
"complexity": "moderate"
|
|
},
|
|
{
|
|
"id": "file:providers/session-provider.tsx",
|
|
"type": "file",
|
|
"name": "session-provider.tsx",
|
|
"filePath": "providers/session-provider.tsx",
|
|
"summary": "ไฟล์นี้ให้บริการ SessionProvider ซึ่งใช้สำหรับจัดการสถานะของเซสชันผู้ใช้งาน โดยมีฟังก์ชันหลักคือ SessionProvider เรียกใช้งานได้โดยตรงจากคอมโพเนนต์อื่น ๆ เพื่อดึงข้อมูลและควบคุมสถานะของผู้ใช้งาน",
|
|
"tags": [
|
|
"provider",
|
|
"session-management"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:providers/theme-provider.tsx",
|
|
"type": "file",
|
|
"name": "theme-provider.tsx",
|
|
"filePath": "providers/theme-provider.tsx",
|
|
"summary": "ไฟล์นี้เป็น provider สำหรับจัดการธีมของแอปพลิเคชัน โดยมีฟังก์ชัน ThemeProvider ที่ใช้ในการห่อหุ้มองค์ประกอบต่าง ๆ และส่งค่า theme มาให้กับ component เหล่านั้น",
|
|
"tags": [
|
|
"provider",
|
|
"theme",
|
|
"context"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/proxy.ts",
|
|
"type": "file",
|
|
"name": "proxy.ts",
|
|
"filePath": "src/proxy.ts",
|
|
"summary": "ไฟล์ proxy.ts มีหน้าที่ตรวจสอบเส้นทาง (path) เพื่อระบุว่าควรจะถูกบล็อกหรือไม่ โดยใช้ฟังก์ชัน isBlockedPath ซึ่งมีขนาดเล็กและตรงประเด็น เนื้อหาหลักคือการกำหนดค่า config ที่สามารถนำออกไปใช้งานได้อีกหลายจุดในโปรเจกต์",
|
|
"tags": [
|
|
"proxy",
|
|
"security",
|
|
"path-check"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:tailwind.config.ts",
|
|
"type": "file",
|
|
"name": "tailwind.config.ts",
|
|
"filePath": "tailwind.config.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน tailwind.config.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/admin.ts",
|
|
"type": "file",
|
|
"name": "admin.ts",
|
|
"filePath": "types/admin.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน admin.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/ai-chat.ts",
|
|
"type": "file",
|
|
"name": "ai-chat.ts",
|
|
"filePath": "types/ai-chat.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน ai-chat.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/api-error.ts",
|
|
"type": "file",
|
|
"name": "api-error.ts",
|
|
"filePath": "types/api-error.ts",
|
|
"summary": "ไฟล์นี้มีหน้าที่ให้บริการฟังก์ชัน getApiErrorMessage ซึ่งใช้ในการแปลข้อความข้อผิดพลาดจาก API เป็นภาษาไทยหรือภาษาอังกฤษตามต้องการ โดยมีโครงสร้างเรียบง่ายและไม่มีการนำเข้าใด ๆ เนื่องจากเป็นไฟล์ที่เก็บเฉพาะฟังก์ชันแปลข้อความผิดพลาดเท่านั้น",
|
|
"tags": [
|
|
"api-error",
|
|
"error-handling"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/types/circulation.ts",
|
|
"type": "file",
|
|
"name": "circulation.ts",
|
|
"filePath": "src/types/circulation.ts",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างประเภทข้อมูลสำหรับระบบการเคลื่อนย้ายสินค้าภายในโครงการ lcbp3-frontend โดยไม่มีเนื้อหาเฉพาะเจาะจงถูกระบุไว้ในชุดข้อมูลที่ให้มา",
|
|
"tags": [
|
|
"type-definition",
|
|
"circulation-system"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/contract.ts",
|
|
"type": "file",
|
|
"name": "contract.ts",
|
|
"filePath": "types/contract.ts",
|
|
"summary": "ไฟล์นี้มีหน้าที่จัดเก็บฟังก์ชันต่าง ๆ สำหรับดึงค่า public ID จากโปรเจกต์และคอนแท็กต์ โดยใช้เพื่อการเชื่อมโยงข้อมูลในระบบอย่างเป็นทางการ",
|
|
"tags": [
|
|
"type-definition",
|
|
"contract-id",
|
|
"project-id"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/types/correspondence.ts",
|
|
"type": "file",
|
|
"name": "correspondence.ts",
|
|
"filePath": "src/types/correspondence.ts",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างข้อมูลสำหรับการจัดการเอกสารสื่อสารภายในระบบ โดยกำหนดชนิดข้อมูลเฉพาะทาง เช่น ประเภทของเอกสาร สภาพะต่าง ๆ และคุณสมบัติที่เกี่ยวข้องกับการจัดเก็บและแสดงผล",
|
|
"tags": [
|
|
"type-definition",
|
|
"correspondence-data",
|
|
"document-schema"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dashboard.ts",
|
|
"type": "file",
|
|
"name": "dashboard.ts",
|
|
"filePath": "types/dashboard.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน dashboard.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/drawing.ts",
|
|
"type": "file",
|
|
"name": "drawing.ts",
|
|
"filePath": "types/drawing.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน drawing.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/circulation/create-circulation.dto.ts",
|
|
"type": "file",
|
|
"name": "create-circulation.dto.ts",
|
|
"filePath": "types/dto/circulation/create-circulation.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน create-circulation.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/circulation/search-circulation.dto.ts",
|
|
"type": "file",
|
|
"name": "search-circulation.dto.ts",
|
|
"filePath": "types/dto/circulation/search-circulation.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน search-circulation.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/circulation/update-circulation-routing.dto.ts",
|
|
"type": "file",
|
|
"name": "update-circulation-routing.dto.ts",
|
|
"filePath": "types/dto/circulation/update-circulation-routing.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน update-circulation-routing.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/contract/contract.dto.ts",
|
|
"type": "file",
|
|
"name": "contract.dto.ts",
|
|
"filePath": "types/dto/contract/contract.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน contract.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/correspondence/add-reference.dto.ts",
|
|
"type": "file",
|
|
"name": "add-reference.dto.ts",
|
|
"filePath": "types/dto/correspondence/add-reference.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน add-reference.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/correspondence/create-correspondence.dto.ts",
|
|
"type": "file",
|
|
"name": "create-correspondence.dto.ts",
|
|
"filePath": "types/dto/correspondence/create-correspondence.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน create-correspondence.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/correspondence/search-correspondence.dto.ts",
|
|
"type": "file",
|
|
"name": "search-correspondence.dto.ts",
|
|
"filePath": "types/dto/correspondence/search-correspondence.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน search-correspondence.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/correspondence/submit-correspondence.dto.ts",
|
|
"type": "file",
|
|
"name": "submit-correspondence.dto.ts",
|
|
"filePath": "types/dto/correspondence/submit-correspondence.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน submit-correspondence.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/correspondence/workflow-action.dto.ts",
|
|
"type": "file",
|
|
"name": "workflow-action.dto.ts",
|
|
"filePath": "types/dto/correspondence/workflow-action.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน workflow-action.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/drawing/asbuilt-drawing.dto.ts",
|
|
"type": "file",
|
|
"name": "asbuilt-drawing.dto.ts",
|
|
"filePath": "types/dto/drawing/asbuilt-drawing.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน asbuilt-drawing.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/drawing/contract-drawing.dto.ts",
|
|
"type": "file",
|
|
"name": "contract-drawing.dto.ts",
|
|
"filePath": "types/dto/drawing/contract-drawing.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน contract-drawing.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/drawing/shop-drawing.dto.ts",
|
|
"type": "file",
|
|
"name": "shop-drawing.dto.ts",
|
|
"filePath": "types/dto/drawing/shop-drawing.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน shop-drawing.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/json-schema/json-schema.dto.ts",
|
|
"type": "file",
|
|
"name": "json-schema.dto.ts",
|
|
"filePath": "types/dto/json-schema/json-schema.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน json-schema.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/master/correspondence-type.dto.ts",
|
|
"type": "file",
|
|
"name": "correspondence-type.dto.ts",
|
|
"filePath": "types/dto/master/correspondence-type.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน correspondence-type.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/master/discipline.dto.ts",
|
|
"type": "file",
|
|
"name": "discipline.dto.ts",
|
|
"filePath": "types/dto/master/discipline.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน discipline.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/master/number-format.dto.ts",
|
|
"type": "file",
|
|
"name": "number-format.dto.ts",
|
|
"filePath": "types/dto/master/number-format.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน number-format.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/master/rfa-type.dto.ts",
|
|
"type": "file",
|
|
"name": "rfa-type.dto.ts",
|
|
"filePath": "types/dto/master/rfa-type.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน rfa-type.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/master/sub-type.dto.ts",
|
|
"type": "file",
|
|
"name": "sub-type.dto.ts",
|
|
"filePath": "types/dto/master/sub-type.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน sub-type.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/master/tag.dto.ts",
|
|
"type": "file",
|
|
"name": "tag.dto.ts",
|
|
"filePath": "types/dto/master/tag.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน tag.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/migration/migration-review.dto.ts",
|
|
"type": "file",
|
|
"name": "migration-review.dto.ts",
|
|
"filePath": "types/dto/migration/migration-review.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน migration-review.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/monitoring/set-maintenance.dto.ts",
|
|
"type": "file",
|
|
"name": "set-maintenance.dto.ts",
|
|
"filePath": "types/dto/monitoring/set-maintenance.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน set-maintenance.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/notification/notification.dto.ts",
|
|
"type": "file",
|
|
"name": "notification.dto.ts",
|
|
"filePath": "types/dto/notification/notification.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน notification.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/numbering.dto.ts",
|
|
"type": "file",
|
|
"name": "numbering.dto.ts",
|
|
"filePath": "types/dto/numbering.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน numbering.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/organization/organization.dto.ts",
|
|
"type": "file",
|
|
"name": "organization.dto.ts",
|
|
"filePath": "types/dto/organization/organization.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน organization.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/project/project.dto.ts",
|
|
"type": "file",
|
|
"name": "project.dto.ts",
|
|
"filePath": "types/dto/project/project.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน project.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/rfa/rfa.dto.ts",
|
|
"type": "file",
|
|
"name": "rfa.dto.ts",
|
|
"filePath": "types/dto/rfa/rfa.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน rfa.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/search/search-query.dto.ts",
|
|
"type": "file",
|
|
"name": "search-query.dto.ts",
|
|
"filePath": "types/dto/search/search-query.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน search-query.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/transmittal/transmittal.dto.ts",
|
|
"type": "file",
|
|
"name": "transmittal.dto.ts",
|
|
"filePath": "types/dto/transmittal/transmittal.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน transmittal.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/user/user.dto.ts",
|
|
"type": "file",
|
|
"name": "user.dto.ts",
|
|
"filePath": "types/dto/user/user.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน user.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/dto/workflow-engine/workflow-engine.dto.ts",
|
|
"type": "file",
|
|
"name": "workflow-engine.dto.ts",
|
|
"filePath": "types/dto/workflow-engine/workflow-engine.dto.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน workflow-engine.dto.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/master-data.ts",
|
|
"type": "file",
|
|
"name": "master-data.ts",
|
|
"filePath": "types/master-data.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน master-data.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/migration.ts",
|
|
"type": "file",
|
|
"name": "migration.ts",
|
|
"filePath": "types/migration.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน migration.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/next-auth.d.ts",
|
|
"type": "file",
|
|
"name": "next-auth.d.ts",
|
|
"filePath": "types/next-auth.d.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน next-auth.d.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/notification.ts",
|
|
"type": "file",
|
|
"name": "notification.ts",
|
|
"filePath": "types/notification.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน notification.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/numbering.ts",
|
|
"type": "file",
|
|
"name": "numbering.ts",
|
|
"filePath": "types/numbering.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน numbering.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/organization.ts",
|
|
"type": "file",
|
|
"name": "organization.ts",
|
|
"filePath": "types/organization.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน organization.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/react-day-picker.d.ts",
|
|
"type": "file",
|
|
"name": "react-day-picker.d.ts",
|
|
"filePath": "types/react-day-picker.d.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน react-day-picker.d.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/types/review-team.ts",
|
|
"type": "file",
|
|
"name": "review-team.ts",
|
|
"filePath": "src/types/review-team.ts",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างข้อมูลสำหรับการจัดการทีมผู้ตรวจสอบ (Review Team) โดยกำหนดประเภทของสมาชิกในทีมนั้น ๆ เช่น บทบาท, สิทธิภารกิจ และความสัมพันธ์ระหว่างบุคคล",
|
|
"tags": [
|
|
"type-definition",
|
|
"review-team",
|
|
"team-structure"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/types/rfa.ts",
|
|
"type": "file",
|
|
"name": "rfa.ts",
|
|
"filePath": "src/types/rfa.ts",
|
|
"summary": "ไฟล์นี้เป็นโครงสร้างประเภทข้อมูล (types) สำหรับระบบ RFA โดยไม่มีเนื้อหาเฉพาะเจาะจงถูกระบุไว้ในส่วนที่ให้อาหารข้อมูล กรุณาตรวจสอบรายละเอียดเพิ่มเติมจากโค้ดต้นฉบับ",
|
|
"tags": [
|
|
"type",
|
|
"interface",
|
|
"schema"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/search.ts",
|
|
"type": "file",
|
|
"name": "search.ts",
|
|
"filePath": "types/search.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน search.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/types/transmittal.ts",
|
|
"type": "file",
|
|
"name": "transmittal.ts",
|
|
"filePath": "src/types/transmittal.ts",
|
|
"summary": "ไฟล์นี้กำหนดโครงสร้างข้อมูลสำหรับเอกสารส่งมอบ (Transmittal) โดยใช้ TypeScript เพื่อให้มั่นใจว่าข้อมูลที่ถูกส่งผ่านมีรูปแบบและประเภทที่ชัดเจน",
|
|
"tags": [
|
|
"type",
|
|
"transmittal",
|
|
"document",
|
|
"typescript"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/user.ts",
|
|
"type": "file",
|
|
"name": "user.ts",
|
|
"filePath": "types/user.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน user.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:types/workflow.ts",
|
|
"type": "file",
|
|
"name": "workflow.ts",
|
|
"filePath": "types/workflow.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน workflow.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:.understand-anything/tmp/ua-inline-validate.cjs",
|
|
"type": "file",
|
|
"name": "ua-inline-validate.cjs",
|
|
"filePath": ".understand-anything/tmp/ua-inline-validate.cjs",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน ua-inline-validate.cjs",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:.understand-anything/.understandignore",
|
|
"type": "file",
|
|
"name": ".understandignore",
|
|
"filePath": ".understand-anything/.understandignore",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน .understandignore",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:vitest.config.ts",
|
|
"type": "file",
|
|
"name": "vitest.config.ts",
|
|
"filePath": "vitest.config.ts",
|
|
"summary": "ไฟล์โค้ดหน้าบ้าน vitest.config.ts",
|
|
"tags": [
|
|
"utility"
|
|
],
|
|
"complexity": "simple"
|
|
},
|
|
{
|
|
"id": "file:src/test/setup/vitest.setup.ts",
|
|
"type": "file",
|
|
"name": "vitest.setup.ts",
|
|
"filePath": "src/test/setup/vitest.setup.ts",
|
|
"summary": "ไฟล์นี้ใช้สำหรับตั้งค่าสภาพแวดล้อมการทดสอบ โดยมีการสร้าง Mock ของ ResizeObserver เพื่อใช้งานในกรณีที่ไม่สามารถเข้าถึง DOM จริงได้ เช่น ใน environment testing",
|
|
"tags": [
|
|
"setup-file",
|
|
"vitest",
|
|
"mock-object",
|
|
"ResizeObserver"
|
|
],
|
|
"complexity": "simple"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"source": "file:lib/services/admin-ai.service.ts",
|
|
"target": "file:lib/api/client.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:lib/services/admin-ai.service.ts",
|
|
"target": "file:types/ai.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.6
|
|
},
|
|
{
|
|
"source": "file:lib/services/ai-intent.service.ts",
|
|
"target": "file:lib/api/client.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:lib/services/ai-intent.service.ts",
|
|
"target": "file:lib/services/ai-intent.service.ts",
|
|
"type": "exports",
|
|
"direction": "backward",
|
|
"weight": 1
|
|
},
|
|
{
|
|
"source": "file:lib/services/ai-prompts.service.ts",
|
|
"target": "file:lib/api/client.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:lib/services/ai-prompts.service.ts",
|
|
"target": "file:types/ai-prompts.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.5
|
|
},
|
|
{
|
|
"source": "file:lib/services/ai.service.ts",
|
|
"target": "file:lib/api/client.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:lib/api/client.ts",
|
|
"target": "file:lib/services/ai.service.ts",
|
|
"type": "used-by",
|
|
"direction": "backward",
|
|
"weight": 0.3
|
|
},
|
|
{
|
|
"source": "file:lib/services/migration.service.ts",
|
|
"target": "file:lib/api/client.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:lib/services/migration.service.ts",
|
|
"target": "file:lib/services/migration.service.ts",
|
|
"type": "exports",
|
|
"direction": "backward",
|
|
"weight": 1
|
|
},
|
|
{
|
|
"source": "file:components/layout/header.tsx",
|
|
"target": "file:components/layout/global-search.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/layout/header.tsx",
|
|
"target": "file:components/layout/notifications-dropdown.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.65
|
|
},
|
|
{
|
|
"source": "file:components/layout/header.tsx",
|
|
"target": "file:components/layout/project-switcher.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/layout/header.tsx",
|
|
"target": "file:components/layout/sidebar.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.65
|
|
},
|
|
{
|
|
"source": "file:components/layout/header.tsx",
|
|
"target": "file:components/layout/theme-toggle.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/layout/header.tsx",
|
|
"target": "file:components/layout/user-menu.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.65
|
|
},
|
|
{
|
|
"source": "file:app/(dashboard)/rag/page.tsx",
|
|
"target": "file:components/ai/RagChatWidget.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:app/(dashboard)/rag/page.tsx",
|
|
"target": "file:lib/stores/project-store.ts",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.6
|
|
},
|
|
{
|
|
"source": "file:app/layout.tsx",
|
|
"target": "file:app/globals.css",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/admin/ai/OcrSandboxPromptManager.tsx",
|
|
"target": "file:components/admin/ai/PromptVersionHistory.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/ai/document-comparison-view.tsx",
|
|
"target": "file:components/ai/ai-suggestion-field.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/ai/intent-classification/test-console-panel.tsx",
|
|
"target": "file:components/ai/intent-classification/classification-result-card.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/layout/navbar.tsx",
|
|
"target": "file:components/layout/user-nav.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7
|
|
},
|
|
{
|
|
"source": "file:components/ui/dropdown-menu.tsx",
|
|
"target": "file:components/ui/dropdown-menu.tsx",
|
|
"type": "exports",
|
|
"direction": "forward",
|
|
"weight": 0.9
|
|
},
|
|
{
|
|
"source": "file:components/ui/dropdown-menu.tsx",
|
|
"target": "file:components/ui/dropdown-menu.tsx",
|
|
"type": "functions",
|
|
"direction": "forward",
|
|
"weight": 1
|
|
},
|
|
{
|
|
"source": "file:components/ai/ai-status-banner-host.tsx",
|
|
"target": "file:components/ai/AiStatusBanner.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7,
|
|
"recoveredFromImportMap": true
|
|
},
|
|
{
|
|
"source": "file:components/drawings/list.tsx",
|
|
"target": "file:components/drawings/columns.tsx",
|
|
"type": "imports",
|
|
"direction": "forward",
|
|
"weight": 0.7,
|
|
"recoveredFromImportMap": true
|
|
}
|
|
],
|
|
"layers": [
|
|
{
|
|
"id": "layer:app-router",
|
|
"name": "App Router & Pages",
|
|
"description": "โครงสร้างหน้าเว็บและเส้นทางระบบ Next.js",
|
|
"nodeIds": [
|
|
"file:app/(dashboard)/rag/page.tsx",
|
|
"file:app/(admin)/admin/access-control/organizations/page.tsx",
|
|
"file:app/(admin)/admin/ai/intent-classification/test-console/page.tsx",
|
|
"file:app/(admin)/admin/ai/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/contracts/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/drawings/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/projects/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/reference/correspondence-types/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/reference/disciplines/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/reference/rfa-types/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/reference/tags/page.tsx",
|
|
"file:app/(admin)/admin/migration/page.tsx",
|
|
"file:app/(admin)/admin/monitoring/sessions/page.tsx",
|
|
"file:app/(admin)/admin/monitoring/system-logs/numbering/page.tsx",
|
|
"file:app/(admin)/admin/users/page.tsx",
|
|
"file:app/(admin)/error.tsx",
|
|
"file:app/api/auth/[...nextauth]/route.ts",
|
|
"file:app/(auth)/login/page.tsx",
|
|
"file:app/(dashboard)/ai-staging/page.tsx",
|
|
"file:app/(dashboard)/circulation/new/page.tsx",
|
|
"file:app/(dashboard)/correspondences/page.tsx",
|
|
"file:app/(dashboard)/dashboard/page.tsx",
|
|
"file:app/(dashboard)/delegation/page.tsx",
|
|
"file:app/(dashboard)/distribution-matrices/page.tsx",
|
|
"file:app/(dashboard)/drawings/page.tsx",
|
|
"file:app/(dashboard)/drawings/[uuid]/page.tsx",
|
|
"file:app/(dashboard)/error.tsx",
|
|
"file:app/(dashboard)/layout.tsx",
|
|
"file:app/(dashboard)/projects/new/page.tsx",
|
|
"file:app/(dashboard)/projects/page_backup.tsx",
|
|
"file:app/(dashboard)/rfas/[uuid]/edit/page.tsx",
|
|
"file:app/(dashboard)/rfas/[uuid]/page.tsx",
|
|
"file:app/(dashboard)/search/page.tsx",
|
|
"file:app/(dashboard)/transmittals/new/page.tsx",
|
|
"file:app/(dashboard)/transmittals/page.tsx",
|
|
"file:app/(dashboard)/transmittals/[uuid]/page.tsx",
|
|
"file:app/globals.css",
|
|
"file:app/layout.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "layer:global-providers",
|
|
"name": "Global Providers & Context",
|
|
"description": "โมดูลให้บริการแชร์ค่าฝั่งหน้าบ้าน",
|
|
"nodeIds": [
|
|
"file:providers/query-provider.tsx",
|
|
"file:providers/session-provider.tsx",
|
|
"file:providers/theme-provider.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "layer:custom-hooks",
|
|
"name": "Custom React Hooks",
|
|
"description": "เครื่องมือ React Hooks ควบคุม Client Logic",
|
|
"nodeIds": [
|
|
"file:hooks/ai/use-intent-classification.ts",
|
|
"file:hooks/use-ai-chat.ts",
|
|
"file:hooks/use-ai-prompts.ts",
|
|
"file:hooks/use-ai-status.ts",
|
|
"file:hooks/use-audit-logs.ts",
|
|
"file:hooks/use-circulation.ts",
|
|
"file:hooks/use-correspondence.ts",
|
|
"file:hooks/use-dashboard.ts",
|
|
"file:hooks/use-delegation.ts",
|
|
"file:hooks/use-distribution-matrices.ts",
|
|
"file:hooks/use-drawing.ts",
|
|
"file:hooks/use-master-data.ts",
|
|
"file:hooks/use-notification.ts",
|
|
"file:hooks/use-numbering.ts",
|
|
"file:hooks/use-projects.ts",
|
|
"file:hooks/use-reference-data.ts",
|
|
"file:hooks/use-response-codes.ts",
|
|
"file:hooks/use-review-teams.ts",
|
|
"file:hooks/use-rfa.ts",
|
|
"file:hooks/use-search.ts",
|
|
"file:hooks/use-translations.ts",
|
|
"file:hooks/use-transmittal.ts",
|
|
"file:hooks/use-users.ts",
|
|
"file:hooks/use-workflow-history.ts",
|
|
"file:hooks/use-workflows.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "layer:ui-components",
|
|
"name": "Reusable UI Components",
|
|
"description": "คอมโพเนนต์ส่วนแสดงติดต่อผู้ใช้",
|
|
"nodeIds": [
|
|
"file:components/layout/global-search.tsx",
|
|
"file:components/layout/header.tsx",
|
|
"file:components/layout/notifications-dropdown.tsx",
|
|
"file:components/layout/project-switcher.tsx",
|
|
"file:components/layout/sidebar.tsx",
|
|
"file:components/layout/theme-toggle.tsx",
|
|
"file:components/layout/user-menu.tsx",
|
|
"file:components/ai/RagChatWidget.tsx",
|
|
"file:components/admin/ai/OcrEngineSelector.tsx",
|
|
"file:components/admin/ai/OcrSandboxPromptManager.tsx",
|
|
"file:components/admin/ai/PromptVersionHistory.tsx",
|
|
"file:components/admin/organization-dialog.tsx",
|
|
"file:components/admin/reference/generic-crud-table.tsx",
|
|
"file:components/admin/security/rbac-matrix.tsx",
|
|
"file:components/admin/sidebar.tsx",
|
|
"file:components/admin/user-dialog.tsx",
|
|
"file:components/ai/ai-chat-input.tsx",
|
|
"file:components/ai/ai-chat-messages.tsx",
|
|
"file:components/ai/ai-chat-panel.tsx",
|
|
"file:components/ai/ai-chat-toggle.tsx",
|
|
"file:components/ai/ai-status-banner-host.tsx",
|
|
"file:components/ai/AiStatusBanner.tsx",
|
|
"file:components/ai/ai-suggestion-button.tsx",
|
|
"file:components/ai/ai-suggestion-field.tsx",
|
|
"file:components/ai/document-comparison-view.tsx",
|
|
"file:components/ai/intent-classification/analytics/analytics-summary-cards.tsx",
|
|
"file:components/ai/intent-classification/analytics/intent-breakdown-table.tsx",
|
|
"file:components/ai/intent-classification/analytics/method-breakdown-table.tsx",
|
|
"file:components/ai/intent-classification/analytics/recalibration-panel.tsx",
|
|
"file:components/ai/intent-classification/classification-result-card.tsx",
|
|
"file:components/ai/intent-classification/intent-form.tsx",
|
|
"file:components/ai/intent-classification/pattern-form.tsx",
|
|
"file:components/ai/intent-classification/test-console-panel.tsx",
|
|
"file:components/ai/processing-indicator.tsx",
|
|
"file:components/auth/auth-sync.tsx",
|
|
"file:components/circulation/circulation-list.tsx",
|
|
"file:components/common/can.tsx",
|
|
"file:components/common/confirm-dialog.tsx",
|
|
"file:components/common/data-table.tsx",
|
|
"file:components/common/error-display.tsx",
|
|
"file:components/common/file-preview-modal.tsx",
|
|
"file:components/common/pagination.tsx",
|
|
"file:components/common/status-badge.tsx",
|
|
"file:components/common/workflow-error-boundary.tsx",
|
|
"file:components/correspondences/circulation-status-card.tsx",
|
|
"file:components/correspondences/correspondences-content.tsx",
|
|
"file:components/correspondences/detail.tsx",
|
|
"file:components/correspondences/form.tsx",
|
|
"file:components/correspondences/list.tsx",
|
|
"file:components/correspondences/reference-selector.tsx",
|
|
"file:components/correspondences/revision-history.tsx",
|
|
"file:components/correspondences/tag-manager.tsx",
|
|
"file:components/correspondences/ux-flow-dialog.tsx",
|
|
"file:components/custom/file-upload-zone.tsx",
|
|
"file:components/custom/workflow-visualizer.tsx",
|
|
"file:components/dashboard/pending-tasks.tsx",
|
|
"file:components/dashboard/quick-actions.tsx",
|
|
"file:components/dashboard/recent-activity.tsx",
|
|
"file:components/dashboard/stats-cards.tsx",
|
|
"file:components/delegation/DelegationForm.tsx",
|
|
"file:components/distribution/DistributionStatus.tsx",
|
|
"file:components/documents/common/server-data-table.tsx",
|
|
"file:components/drawings/card.tsx",
|
|
"file:components/drawings/columns.tsx",
|
|
"file:components/drawings/list.tsx",
|
|
"file:components/drawings/revision-history.tsx",
|
|
"file:components/drawings/upload-form.tsx",
|
|
"file:components/layout/dashboard-shell.tsx",
|
|
"file:components/layout/navbar.tsx",
|
|
"file:components/layout/user-nav.tsx",
|
|
"file:components/migration/review-queue-table.tsx",
|
|
"file:components/numbering/audit-logs-table.tsx",
|
|
"file:components/numbering/bulk-import-form.tsx",
|
|
"file:components/numbering/cancel-number-form.tsx",
|
|
"file:components/numbering/manual-override-form.tsx",
|
|
"file:components/numbering/metrics-dashboard.tsx",
|
|
"file:components/numbering/sequence-viewer.tsx",
|
|
"file:components/numbering/template-editor.tsx",
|
|
"file:components/numbering/template-tester.tsx",
|
|
"file:components/numbering/void-replace-form.tsx",
|
|
"file:components/reminder/ReminderRuleForm.tsx",
|
|
"file:components/response-code/CodeImplications.tsx",
|
|
"file:components/response-code/MatrixEditor.tsx",
|
|
"file:components/response-code/ProjectOverrideManager.tsx",
|
|
"file:components/response-code/ResponseCodeSelector.tsx",
|
|
"file:components/review-task/CompleteReviewForm.tsx",
|
|
"file:components/review-task/DelegatedBadge.tsx",
|
|
"file:components/review-task/ParallelProgress.tsx",
|
|
"file:components/review-task/ReviewTaskInbox.tsx",
|
|
"file:components/review-task/VetoOverrideDialog.tsx",
|
|
"file:components/review-team/ReviewTeamForm.tsx",
|
|
"file:components/review-team/ReviewTeamSelector.tsx",
|
|
"file:components/review-team/TeamMemberManager.tsx",
|
|
"file:components/rfas/detail.tsx",
|
|
"file:components/rfas/form.tsx",
|
|
"file:components/rfas/list.tsx",
|
|
"file:components/search/filters.tsx",
|
|
"file:components/search/results.tsx",
|
|
"file:components/transmittal/transmittal-form.tsx",
|
|
"file:components/transmittal/transmittal-list.tsx",
|
|
"file:components/ui/alert-dialog.tsx",
|
|
"file:components/ui/alert.tsx",
|
|
"file:components/ui/avatar.tsx",
|
|
"file:components/ui/badge.tsx",
|
|
"file:components/ui/button.tsx",
|
|
"file:components/ui/calendar.tsx",
|
|
"file:components/ui/card.tsx",
|
|
"file:components/ui/checkbox.tsx",
|
|
"file:components/ui/command.tsx",
|
|
"file:components/ui/dialog.tsx",
|
|
"file:components/ui/dropdown-menu.tsx",
|
|
"file:components/ui/form.tsx",
|
|
"file:components/ui/hover-card.tsx",
|
|
"file:components/ui/input.tsx",
|
|
"file:components/ui/label.tsx",
|
|
"file:components/ui/popover.tsx",
|
|
"file:components/ui/progress.tsx",
|
|
"file:components/ui/scroll-area.tsx",
|
|
"file:components/ui/select.tsx",
|
|
"file:components/ui/separator.tsx",
|
|
"file:components/ui/sheet.tsx",
|
|
"file:components/ui/skeleton.tsx",
|
|
"file:components/ui/sonner.tsx",
|
|
"file:components/ui/switch.tsx",
|
|
"file:components/ui/table.tsx",
|
|
"file:components/ui/tabs.tsx",
|
|
"file:components/ui/textarea.tsx",
|
|
"file:components/workflow/integrated-banner.tsx",
|
|
"file:components/workflows/dsl-editor.tsx",
|
|
"file:components/workflows/visual-builder.tsx",
|
|
"file:components/workflow/workflow-lifecycle.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "layer:api-services",
|
|
"name": "API Services & Utilities",
|
|
"description": "บริการดึงข้อมูลและฟังก์ชันช่วยงานระดับโปรเจกต์",
|
|
"nodeIds": [
|
|
"file:lib/api/client.ts",
|
|
"file:lib/services/admin-ai.service.ts",
|
|
"file:lib/services/ai-intent.service.ts",
|
|
"file:lib/services/ai-prompts.service.ts",
|
|
"file:lib/services/ai.service.ts",
|
|
"file:lib/services/migration.service.ts",
|
|
"file:lib/stores/project-store.ts",
|
|
"file:lib/api/ai.ts",
|
|
"file:lib/api/drawings.ts",
|
|
"file:lib/api/files.ts",
|
|
"file:lib/api/notifications.ts",
|
|
"file:lib/api/numbering.ts",
|
|
"file:lib/auth.ts",
|
|
"file:lib/i18n/index.ts",
|
|
"file:lib/services/asbuilt-drawing.service.ts",
|
|
"file:lib/services/audit-log.service.ts",
|
|
"file:lib/services/circulation.service.ts",
|
|
"file:lib/services/contract-drawing.service.ts",
|
|
"file:lib/services/contract.service.ts",
|
|
"file:lib/services/correspondence.service.ts",
|
|
"file:lib/services/document-numbering.service.ts",
|
|
"file:lib/services/drawing-master-data.service.ts",
|
|
"file:lib/services/index.ts",
|
|
"file:lib/services/json-schema.service.ts",
|
|
"file:lib/services/monitoring.service.ts",
|
|
"file:lib/services/notification.service.ts",
|
|
"file:lib/services/organization.service.ts",
|
|
"file:lib/services/project.service.ts",
|
|
"file:lib/services/review-team.service.ts",
|
|
"file:lib/services/rfa.service.ts",
|
|
"file:lib/services/search.service.ts",
|
|
"file:lib/services/session.service.ts",
|
|
"file:lib/services/shop-drawing.service.ts",
|
|
"file:lib/services/transmittal.service.ts",
|
|
"file:lib/services/user.service.ts",
|
|
"file:lib/services/workflow-engine.service.ts",
|
|
"file:lib/stores/auth-store.ts",
|
|
"file:lib/stores/draft-store.ts",
|
|
"file:lib/stores/ui-store.ts",
|
|
"file:lib/test-utils.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "layer:configs-types",
|
|
"name": "Configurations & TypeScript Types",
|
|
"description": "ตั้งค่าเครื่องมือและประมวลผลชนิดตัวแปร",
|
|
"nodeIds": [
|
|
"file:types/ai.ts",
|
|
"file:types/ai-prompts.ts",
|
|
"service:.dockerignore",
|
|
"config:.env.example",
|
|
"document:README.md",
|
|
"config:components.json",
|
|
"config:tsconfig.json",
|
|
"file:app/(admin)/admin/access-control/roles/page.tsx",
|
|
"file:/app/(admin)/admin/access-control/users/page.tsx",
|
|
"file:app/(admin)/admin/ai/intent-classification/analytics/page.tsx",
|
|
"file:app/(admin)/admin/ai/intent-classification/[intentCode]/page.tsx",
|
|
"file:app/(admin)/admin/ai/intent-classification/page.tsx",
|
|
"file:app/(admin)/admin/audit-logs/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/drawings/contract/categories/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/drawings/contract/sub-categories/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/drawings/contract/volumes/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/drawings/shop/main-categories/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/drawings/shop/sub-categories/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/numbering/[id]/edit/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/numbering/new/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/numbering/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/reference/drawing-categories/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/reference/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/workflows/[id]/edit/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/workflows/new/page.tsx",
|
|
"file:app/(admin)/admin/doc-control/workflows/page.tsx",
|
|
"file:app/(admin)/admin/migration/errors/page.tsx",
|
|
"file:app/(admin)/admin/migration/review/[id]/page.tsx",
|
|
"file:app/(admin)/admin/monitoring/audit-logs/page.tsx",
|
|
"file:app/(admin)/admin/numbering/[id]/edit/page.tsx",
|
|
"file:app/(admin)/admin/numbering/new/page.tsx",
|
|
"file:app/(admin)/admin/numbering/page.tsx",
|
|
"file:app/(admin)/admin/organizations/page.tsx",
|
|
"file:app/(admin)/admin/page.tsx",
|
|
"file:app/(admin)/admin/settings/page.tsx",
|
|
"file:app/(admin)/admin/workflows/[id]/edit/page.tsx",
|
|
"file:app/(admin)/admin/workflows/new/page.tsx",
|
|
"file:app/(admin)/admin/workflows/page.tsx",
|
|
"file:app/(admin)/layout.tsx",
|
|
"file:app/api/ai/chat/route.ts",
|
|
"file:app/(auth)/layout.tsx",
|
|
"file:app/(dashboard)/circulation/page.tsx",
|
|
"file:/app/(dashboard)/circulation/[uuid]/page.tsx",
|
|
"file:app/(dashboard)/correspondences/new/page.tsx",
|
|
"file:app/(dashboard)/correspondences/[uuid]/edit/page.tsx",
|
|
"file:app/(dashboard)/correspondences/[uuid]/page.tsx",
|
|
"file:app/(dashboard)/drawings/upload/page.tsx",
|
|
"file:app/(dashboard)/migration/review/page.tsx",
|
|
"file:app/(dashboard)/profile/page.tsx",
|
|
"file:app/(dashboard)/projects/page.tsx",
|
|
"file:app/(dashboard)/response-codes/page.tsx",
|
|
"file:app/(dashboard)/rfa/page.tsx",
|
|
"file:app/(dashboard)/rfas/new/page.tsx",
|
|
"file:app/(dashboard)/rfas/page.tsx",
|
|
"file:app/(dashboard)/settings/delegation/page.tsx",
|
|
"file:app/(dashboard)/settings/page.tsx",
|
|
"file:app/(dashboard)/settings/reminder-rules/page.tsx",
|
|
"file:app/(dashboard)/settings/review-teams/page.tsx",
|
|
"file:app/error.tsx",
|
|
"file:app/global-error.tsx",
|
|
"file:app/page.tsx",
|
|
"file:build-map.js",
|
|
"file:components/reminder/ReminderHistory.tsx",
|
|
"file:./src/eslint.config.mjs",
|
|
"file:src/hooks/use-migration-review.ts",
|
|
"file:src/hooks/use-reminder.ts",
|
|
"file:src/hooks/use-workflow-action.ts",
|
|
"file:lib/api/admin.ts",
|
|
"file:lib/api/dashboard.ts",
|
|
"file:lib/api/workflows.ts",
|
|
"file:lib/services/dashboard.service.ts",
|
|
"file:lib/services/master-data.service.ts",
|
|
"file:lib/utils.ts",
|
|
"file:lib/utils/uuid-guard.ts",
|
|
"file:next.config.mjs",
|
|
"file:.nvmrc",
|
|
"file:postcss.config.mjs",
|
|
"file:src/proxy.ts",
|
|
"file:tailwind.config.ts",
|
|
"file:types/admin.ts",
|
|
"file:types/ai-chat.ts",
|
|
"file:types/api-error.ts",
|
|
"file:src/types/circulation.ts",
|
|
"file:types/contract.ts",
|
|
"file:src/types/correspondence.ts",
|
|
"file:types/dashboard.ts",
|
|
"file:types/drawing.ts",
|
|
"file:types/dto/circulation/create-circulation.dto.ts",
|
|
"file:types/dto/circulation/search-circulation.dto.ts",
|
|
"file:types/dto/circulation/update-circulation-routing.dto.ts",
|
|
"file:types/dto/contract/contract.dto.ts",
|
|
"file:types/dto/correspondence/add-reference.dto.ts",
|
|
"file:types/dto/correspondence/create-correspondence.dto.ts",
|
|
"file:types/dto/correspondence/search-correspondence.dto.ts",
|
|
"file:types/dto/correspondence/submit-correspondence.dto.ts",
|
|
"file:types/dto/correspondence/workflow-action.dto.ts",
|
|
"file:types/dto/drawing/asbuilt-drawing.dto.ts",
|
|
"file:types/dto/drawing/contract-drawing.dto.ts",
|
|
"file:types/dto/drawing/shop-drawing.dto.ts",
|
|
"file:types/dto/json-schema/json-schema.dto.ts",
|
|
"file:types/dto/master/correspondence-type.dto.ts",
|
|
"file:types/dto/master/discipline.dto.ts",
|
|
"file:types/dto/master/number-format.dto.ts",
|
|
"file:types/dto/master/rfa-type.dto.ts",
|
|
"file:types/dto/master/sub-type.dto.ts",
|
|
"file:types/dto/master/tag.dto.ts",
|
|
"file:types/dto/migration/migration-review.dto.ts",
|
|
"file:types/dto/monitoring/set-maintenance.dto.ts",
|
|
"file:types/dto/notification/notification.dto.ts",
|
|
"file:types/dto/numbering.dto.ts",
|
|
"file:types/dto/organization/organization.dto.ts",
|
|
"file:types/dto/project/project.dto.ts",
|
|
"file:types/dto/rfa/rfa.dto.ts",
|
|
"file:types/dto/search/search-query.dto.ts",
|
|
"file:types/dto/transmittal/transmittal.dto.ts",
|
|
"file:types/dto/user/user.dto.ts",
|
|
"file:types/dto/workflow-engine/workflow-engine.dto.ts",
|
|
"file:types/master-data.ts",
|
|
"file:types/migration.ts",
|
|
"file:types/next-auth.d.ts",
|
|
"file:types/notification.ts",
|
|
"file:types/numbering.ts",
|
|
"file:types/organization.ts",
|
|
"file:types/react-day-picker.d.ts",
|
|
"file:src/types/review-team.ts",
|
|
"file:src/types/rfa.ts",
|
|
"file:types/search.ts",
|
|
"file:src/types/transmittal.ts",
|
|
"file:types/user.ts",
|
|
"file:types/workflow.ts",
|
|
"file:.understand-anything/tmp/ua-inline-validate.cjs",
|
|
"file:.understand-anything/.understandignore",
|
|
"file:vitest.config.ts",
|
|
"file:src/test/setup/vitest.setup.ts"
|
|
]
|
|
}
|
|
],
|
|
"tour": [
|
|
{
|
|
"order": 1,
|
|
"title": "โครงสร้าง Layout หลัก (Root Layout)",
|
|
"description": "โครงหน้าหลักและ Providers ส่วนกลาง",
|
|
"nodeIds": [
|
|
"file:app/layout.tsx"
|
|
]
|
|
},
|
|
{
|
|
"order": 2,
|
|
"title": "หน้าควบคุมและการนำทาง (App Routing Pages)",
|
|
"description": "ระบบจัดการ Admin Console และหน้า Staging",
|
|
"nodeIds": [
|
|
"file:app/page.tsx",
|
|
"file:app/(admin)/admin/ai/page.tsx"
|
|
]
|
|
},
|
|
{
|
|
"order": 3,
|
|
"title": "จัดการตรรกะและสถานะการดึงข้อมูล (Custom Hooks)",
|
|
"description": "ระบบ React Hooks ควบคุมแอนิเมชันและ AI",
|
|
"nodeIds": [
|
|
"file:hooks/use-ai-status.ts"
|
|
]
|
|
},
|
|
{
|
|
"order": 4,
|
|
"title": "ระบบเชื่อมต่อ API ไป Backend (API Services)",
|
|
"description": "บริการติดต่อส่งข้อมูลผ่าน AdminAiService",
|
|
"nodeIds": [
|
|
"file:lib/services/admin-ai.service.ts"
|
|
]
|
|
},
|
|
{
|
|
"order": 5,
|
|
"title": "คอมโพเนนต์นำกลับมาใช้งานใหม่ (UI Components)",
|
|
"description": "คอมโพเนนต์ควบคุมการกดอนุมัติเอกสาร RFA",
|
|
"nodeIds": [
|
|
"file:components/ui/button.tsx"
|
|
]
|
|
}
|
|
]
|
|
} |