changes 1
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"0": "ProductsView.vue",
|
||||
"1": "LatestOrderStatusView.vue",
|
||||
"1": "LatestCatalogRequestStatusView.vue",
|
||||
"2": "HomeView.vue",
|
||||
"3": "OrderDetailView.vue",
|
||||
"4": "ProductDetailView.vue",
|
||||
@@ -11,8 +11,8 @@
|
||||
"9": "CatalogDetailView.vue",
|
||||
"10": "TimeInput.vue",
|
||||
"11": "RemindersView.vue",
|
||||
"12": "types/crm.ts",
|
||||
"13": "SettlementTypeView.vue",
|
||||
"12": "ReminderDetailView.vue",
|
||||
"13": "orderInvoice.ts",
|
||||
"14": "MobileProfilePage.vue",
|
||||
"15": "AppSelect.vue",
|
||||
"16": "OtpView.vue",
|
||||
@@ -22,10 +22,10 @@
|
||||
"20": "vue-router",
|
||||
"21": "MeetingReportForm.vue",
|
||||
"22": "package.json",
|
||||
"23": "categoryIcons.ts",
|
||||
"23": "BasicIcon.vue",
|
||||
"24": "format.ts",
|
||||
"25": "router/index.ts",
|
||||
"26": "auth.ts",
|
||||
"25": "ProfileNotificationsView.vue",
|
||||
"26": "useAuthStore",
|
||||
"27": "CustomersView.vue",
|
||||
"28": "devDependencies",
|
||||
"29": "serve-user.mjs",
|
||||
@@ -37,13 +37,13 @@
|
||||
"35": "orderTracking.ts",
|
||||
"36": "CheckListView.vue",
|
||||
"37": "CashSettlementView.vue",
|
||||
"38": "AuthThemeToggle.vue",
|
||||
"38": "PageHeader.vue",
|
||||
"39": "CategoriesView.vue",
|
||||
"40": "types/index.ts",
|
||||
"41": "vue",
|
||||
"42": "BasicIcon.vue",
|
||||
"40": "checkRass.ts",
|
||||
"41": "CompanySelectView.vue",
|
||||
"42": "DesktopOrdersPage.vue",
|
||||
"43": "BaseButton.vue",
|
||||
"44": "AppToast.vue",
|
||||
"44": "useAppToast.ts",
|
||||
"45": "CatalogsHubView.vue",
|
||||
"46": "FavoritesView.vue",
|
||||
"47": "HomeSuggestionsSection.vue",
|
||||
@@ -52,48 +52,55 @@
|
||||
"50": "DesktopHeader.vue",
|
||||
"51": "SupportWidget.vue",
|
||||
"52": "catalogGallery.ts",
|
||||
"53": "DesktopCartPage.vue",
|
||||
"54": "useOrderStore",
|
||||
"55": "cart.ts",
|
||||
"56": "supportLinks.ts",
|
||||
"53": "hasFieldErrors",
|
||||
"54": "order.ts",
|
||||
"55": "types/index.ts",
|
||||
"56": "usePublicContact.ts",
|
||||
"57": "scripts",
|
||||
"58": "main.ts",
|
||||
"59": "caliteCollections.ts",
|
||||
"60": "WelcomeView.vue",
|
||||
"61": "CheckModeSelectView.vue",
|
||||
"62": "DesktopSidebar.vue",
|
||||
"63": "StatusBadge.vue",
|
||||
"61": "SettlementTypeView.vue",
|
||||
"62": "OrderTrackingSummary.vue",
|
||||
"63": "jalali.ts",
|
||||
"64": "http.ts",
|
||||
"65": "ProfileDisplayView.vue",
|
||||
"66": "fabric-trade",
|
||||
"67": "App.vue",
|
||||
"68": "IconChevronLeft.vue",
|
||||
"68": "LatestOrderStatusView.vue",
|
||||
"69": "useConfirm.ts",
|
||||
"70": "dependencies",
|
||||
"71": "tsconfig.app.json",
|
||||
"72": "CustomerCreateOverlay.vue",
|
||||
"72": "auth.ts",
|
||||
"73": "formatNumber",
|
||||
"74": "useProductOrdering",
|
||||
"75": "usePublicContact.ts",
|
||||
"76": "buildCatalogGallery",
|
||||
"75": "types/crm.ts",
|
||||
"76": "catalogRequests.ts",
|
||||
"77": ".oxlintrc.json",
|
||||
"78": "DefaultLayout.vue",
|
||||
"78": "router/index.ts",
|
||||
"79": "useCatalogRequest",
|
||||
"80": "vite.config.ts",
|
||||
"81": "AddressCompletionModal.vue",
|
||||
"82": "MeetingReportOverlay.vue",
|
||||
"83": "buildProductsQuery",
|
||||
"84": ".prettierrc.json",
|
||||
"85": "useCatalogRequest.ts",
|
||||
"85": "CartView.vue",
|
||||
"86": "useSlotBanners.ts",
|
||||
"87": "storage.ts",
|
||||
"88": "entrypoint.sh",
|
||||
"89": "IconHeart.vue",
|
||||
"90": "SearchField.vue",
|
||||
"89": "MeterageBar.vue",
|
||||
"90": "vue",
|
||||
"91": "tsconfig.json",
|
||||
"92": "unocss",
|
||||
"93": "src_assets_images_auth_wave",
|
||||
"94": "env.d.ts",
|
||||
"95": "sw.js",
|
||||
"96": "IconMedal.vue"
|
||||
"96": "IconMedal.vue",
|
||||
"97": "SimpleStatusTimeline.vue",
|
||||
"98": "catalogCategories.ts",
|
||||
"99": "isProductUnavailable",
|
||||
"100": "useTouchSwipe",
|
||||
"101": "categoryIconOf",
|
||||
"102": "CapacitySummary.vue",
|
||||
"103": "bannerCopy"
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"0": "ace5ba267cc27876", "1": "2107fffc2c63667e", "2": "32a29ebce64c2056", "3": "1d16b759d40f5b84", "4": "7aab7088ce3589aa", "5": "027f0dd9153a3cd6", "6": "38b2d2d32c17de5b", "7": "35b1bdec7b3242f0", "8": "81b2d7140079752c", "9": "b68c73f550637fbb", "10": "962e58b0d6756457", "11": "f1fab55fb95ac0ac", "12": "5be74193bfc2299c", "13": "f4a3f638c207773a", "14": "7c11eecb729dd7fb", "15": "b8ca951cc5fa74f7", "16": "3dde46803a861115", "17": "d07288c5bef8271a", "18": "bbeed756c0417a3b", "19": "cbe4e372c49fbd01", "20": "fffd4fd6e85144c7", "21": "8e1132b35d5f5314", "22": "6bb5dee834bf05da", "23": "9914809b0858295f", "24": "ce53bcd1662ddf9e", "25": "f72eb351a02d5011", "26": "86319aa3762b62bc", "27": "aa136d23cd307fa8", "28": "040d00c717f769fa", "29": "e200ef2a8e60b687", "30": "84a9b68530ce369e", "31": "915c18212741a1b4", "32": "20fa314840fd3c2e", "33": "c04a2c3b45cee524", "34": "8aca35da05f684bd", "35": "dd53db6e57dacdc7", "36": "a3bfd69c2bbacd4f", "37": "daa3f576318d6f44", "38": "78153c216e4f9fb1", "39": "ff3c8751ef827982", "40": "6b038d1acc4dec28", "41": "4f726adc17549261", "42": "e5571a8f4f622975", "43": "6e16f936c7611298", "44": "8beb4500a5697e1c", "45": "833d206638785c2e", "46": "f284a8d0f6ab4247", "47": "7be3d589f9b42e62", "48": "368a28c211a6b895", "49": "71f427e677f2c395", "50": "67480b911a2eaeb1", "51": "996c6e7420934cbb", "52": "3af4bd92163ea3b3", "53": "4bc1914cd618e82a", "54": "f5c3c344c0459d41", "55": "f36a0aeab8d3f3c0", "56": "af553665789d1eb3", "57": "a0a84fc345504be4", "58": "e790f0c0d47becd4", "59": "fa77c1c5947a8542", "60": "e315a4d0a1c4a4a8", "61": "99ab93a5b4ab9f29", "62": "2c03b618f7621e02", "63": "df78a9fd8a3fcf50", "64": "c60932fb653542ce", "65": "fcc6ce88e08ee378", "66": "2ca22c7b1c3cb226", "67": "dab881472cb5d41f", "68": "e096611e993ea677", "69": "ecfbbc52fdb12887", "70": "aabe88739024b488", "71": "7e6a93a1f0234aaf", "72": "1d8352ea416a9751", "73": "e3d07661409c53e1", "74": "7c1b63b170c4122e", "75": "15a48fcb2cad3350", "76": "6022b11b48aa0a41", "77": "b36e5dd304f7b526", "78": "ea07e53229467aa9", "79": "a4b753c1de95cc77", "80": "b8a8eed69d2ed35f", "81": "b4c5a196082413f4", "82": "8e3b93f65430738a", "83": "13aadfc19e59bc5b", "84": "34469f25a7b03549", "85": "2ac671aad35d142a", "86": "13a401e2f2c252ac", "87": "5ab4740914b2a240", "88": "d5f34292f17184de", "89": "3362f643cd6ccdd8", "90": "1fc4e8acc5eae872", "91": "7256026fe64f6f6a", "92": "582ceb90dc20ccce", "93": "b0eb9e068ea727fc", "94": "1a75221deb24c0e9", "95": "23f698eeb33cbef6", "96": "0076139ae92edd0c"}
|
||||
{"0": "3e774e27ca631413", "1": "3c78084318042560", "2": "32a29ebce64c2056", "3": "b02f85bcd4accede", "4": "7aab7088ce3589aa", "5": "d2c98eafb6f43ff7", "6": "38b2d2d32c17de5b", "7": "bc92344c6449d89a", "8": "20efff23c65324d8", "9": "6cd999677170e560", "10": "962e58b0d6756457", "11": "f1fab55fb95ac0ac", "12": "223c9db2aa26b18c", "13": "b27c286d0247ff8b", "14": "dbb19254929140d0", "15": "b8ca951cc5fa74f7", "16": "3dde46803a861115", "17": "9c07031c3e320560", "18": "204737a74005ed45", "19": "9a2464eda94e4393", "20": "33ff14fe4fd2b6e8", "21": "a8688f5cc0b5e4d3", "22": "65b54cec91caf12c", "23": "2462a4e66a23e6d8", "24": "de0159aaddefde75", "25": "d9f4606d0852e273", "26": "b9d1442f080652c8", "27": "233860308cbc19eb", "28": "040d00c717f769fa", "29": "e200ef2a8e60b687", "30": "4a64fea473769be4", "31": "bb63bf17c02a1ca0", "32": "20fa314840fd3c2e", "33": "6f3e02ed3f9995da", "34": "42bd5e261b5f0b2d", "35": "dd53db6e57dacdc7", "36": "a3bfd69c2bbacd4f", "37": "7190e6d5864cc31e", "38": "ff19c173c9b107fa", "39": "5bae1e6327b9fa3e", "40": "ee7b12050f4c1dea", "41": "53444328dbcf002d", "42": "961467692a102a3f", "43": "2148e94e65ae2399", "44": "be9eb1766eea473e", "45": "f7eb999cfffe3acd", "46": "64f98ddf65b6e85d", "47": "c5f9303cfe71e5f4", "48": "208e6cde3caa9752", "49": "e81b0892e183805f", "50": "67480b911a2eaeb1", "51": "989f6a0a6dc6dbdb", "52": "bce1a8dc769cdee6", "53": "3d267ff23e818bbb", "54": "7c6926628f840137", "55": "99e63082affabd4f", "56": "1970a7f49cc299ff", "57": "a0a84fc345504be4", "58": "e790f0c0d47becd4", "59": "fa77c1c5947a8542", "60": "e315a4d0a1c4a4a8", "61": "e940b4c8c2e4fa2f", "62": "39f0e3f0b028c683", "63": "41601ecd16852392", "64": "80f4a35e9a6d73af", "65": "fcc6ce88e08ee378", "66": "2ca22c7b1c3cb226", "67": "181959888ac1dbe0", "68": "2e0ca22fefa6d442", "69": "ecfbbc52fdb12887", "70": "aabe88739024b488", "71": "7e6a93a1f0234aaf", "72": "3b9f50604131b2a9", "73": "e3d07661409c53e1", "74": "7c1b63b170c4122e", "75": "ed22aba705c3c64e", "76": "8efdf2c242c53358", "77": "b36e5dd304f7b526", "78": "ffd20d273f260611", "79": "a4b753c1de95cc77", "80": "b8a8eed69d2ed35f", "81": "b4c5a196082413f4", "82": "8e3b93f65430738a", "83": "13aadfc19e59bc5b", "84": "34469f25a7b03549", "85": "292219e661f5747e", "86": "13a401e2f2c252ac", "87": "5ab4740914b2a240", "88": "d5f34292f17184de", "89": "0c6fd4c761ae4749", "90": "d71cb68c5791bc84", "91": "7256026fe64f6f6a", "92": "582ceb90dc20ccce", "93": "b0eb9e068ea727fc", "94": "1a75221deb24c0e9", "95": "23f698eeb33cbef6", "96": "0076139ae92edd0c", "97": "ddcbc88d886f2c7a", "98": "e6dc7f1a1decf235", "99": "de1a28d522e2c425", "100": "16d7383498dcbaa3", "101": "b3c348b3e9f8b116", "102": "72e2655523a79b45", "103": "3b4c1129e7872277"}
|
||||
@@ -1 +1 @@
|
||||
fabric-nademitex_user
|
||||
.
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"0": "ProductsView.vue",
|
||||
"1": "LatestOrderStatusView.vue",
|
||||
"2": "HomeView.vue",
|
||||
"3": "OrderDetailView.vue",
|
||||
"4": "ProductDetailView.vue",
|
||||
"5": "CheckFormView.vue",
|
||||
"6": "CustomerDetailView.vue",
|
||||
"7": "CustomerCreateForm.vue",
|
||||
"8": "PersianDateInput.vue",
|
||||
"9": "CatalogDetailView.vue",
|
||||
"10": "TimeInput.vue",
|
||||
"11": "RemindersView.vue",
|
||||
"12": "types/crm.ts",
|
||||
"13": "SettlementTypeView.vue",
|
||||
"14": "MobileProfilePage.vue",
|
||||
"15": "AppSelect.vue",
|
||||
"16": "OtpView.vue",
|
||||
"17": "ProfileEditView.vue",
|
||||
"18": "useOrderList.ts",
|
||||
"19": "DesktopProfilePage.vue",
|
||||
"20": "vue-router",
|
||||
"21": "MeetingReportForm.vue",
|
||||
"22": "package.json",
|
||||
"23": "categoryIcons.ts",
|
||||
"24": "format.ts",
|
||||
"25": "router/index.ts",
|
||||
"26": "auth.ts",
|
||||
"27": "CustomersView.vue",
|
||||
"28": "devDependencies",
|
||||
"29": "serve-user.mjs",
|
||||
"30": "RegisterView.vue",
|
||||
"31": "AddressesView.vue",
|
||||
"32": "stores/crm.ts",
|
||||
"33": "AppSlotBanner.vue",
|
||||
"34": "navigation.ts",
|
||||
"35": "orderTracking.ts",
|
||||
"36": "CheckListView.vue",
|
||||
"37": "CashSettlementView.vue",
|
||||
"38": "AuthThemeToggle.vue",
|
||||
"39": "CategoriesView.vue",
|
||||
"40": "types/index.ts",
|
||||
"41": "vue",
|
||||
"42": "BasicIcon.vue",
|
||||
"43": "BaseButton.vue",
|
||||
"44": "AppToast.vue",
|
||||
"45": "CatalogsHubView.vue",
|
||||
"46": "FavoritesView.vue",
|
||||
"47": "HomeSuggestionsSection.vue",
|
||||
"48": "LoginView.vue",
|
||||
"49": "ProductOrderModal.vue",
|
||||
"50": "DesktopHeader.vue",
|
||||
"51": "SupportWidget.vue",
|
||||
"52": "catalogGallery.ts",
|
||||
"53": "DesktopCartPage.vue",
|
||||
"54": "useOrderStore",
|
||||
"55": "cart.ts",
|
||||
"56": "supportLinks.ts",
|
||||
"57": "scripts",
|
||||
"58": "main.ts",
|
||||
"59": "caliteCollections.ts",
|
||||
"60": "WelcomeView.vue",
|
||||
"61": "CheckModeSelectView.vue",
|
||||
"62": "DesktopSidebar.vue",
|
||||
"63": "StatusBadge.vue",
|
||||
"64": "http.ts",
|
||||
"65": "ProfileDisplayView.vue",
|
||||
"66": "fabric-trade",
|
||||
"67": "App.vue",
|
||||
"68": "IconChevronLeft.vue",
|
||||
"69": "useConfirm.ts",
|
||||
"70": "dependencies",
|
||||
"71": "tsconfig.app.json",
|
||||
"72": "CustomerCreateOverlay.vue",
|
||||
"73": "formatNumber",
|
||||
"74": "useProductOrdering",
|
||||
"75": "usePublicContact.ts",
|
||||
"76": "buildCatalogGallery",
|
||||
"77": ".oxlintrc.json",
|
||||
"78": "DefaultLayout.vue",
|
||||
"79": "useCatalogRequest",
|
||||
"80": "vite.config.ts",
|
||||
"81": "AddressCompletionModal.vue",
|
||||
"82": "MeetingReportOverlay.vue",
|
||||
"83": "buildProductsQuery",
|
||||
"84": ".prettierrc.json",
|
||||
"85": "useCatalogRequest.ts",
|
||||
"86": "useSlotBanners.ts",
|
||||
"87": "storage.ts",
|
||||
"88": "entrypoint.sh",
|
||||
"89": "IconHeart.vue",
|
||||
"90": "SearchField.vue",
|
||||
"91": "tsconfig.json",
|
||||
"92": "unocss",
|
||||
"93": "src_assets_images_auth_wave",
|
||||
"94": "env.d.ts",
|
||||
"95": "sw.js",
|
||||
"96": "IconMedal.vue"
|
||||
}
|
||||
@@ -0,0 +1,529 @@
|
||||
# Graph Report - fabric-nademitex_user (2026-10-01)
|
||||
|
||||
## Corpus Check
|
||||
- 222 files · ~295,428 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
- Unclassified: 23 file(s) not represented in the graph (top: .css 7, .woff2 6, (none) 5)
|
||||
|
||||
## Summary
|
||||
- 1643 nodes · 3374 edges · 97 communities (85 shown, 12 thin omitted)
|
||||
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 57 edges (avg confidence: 0.85)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `adb0ce88`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- ProductsView.vue
|
||||
- LatestOrderStatusView.vue
|
||||
- HomeView.vue
|
||||
- OrderDetailView.vue
|
||||
- ProductDetailView.vue
|
||||
- CheckFormView.vue
|
||||
- CustomerDetailView.vue
|
||||
- CustomerCreateForm.vue
|
||||
- PersianDateInput.vue
|
||||
- CatalogDetailView.vue
|
||||
- TimeInput.vue
|
||||
- RemindersView.vue
|
||||
- types/crm.ts
|
||||
- SettlementTypeView.vue
|
||||
- MobileProfilePage.vue
|
||||
- AppSelect.vue
|
||||
- OtpView.vue
|
||||
- ProfileEditView.vue
|
||||
- useOrderList.ts
|
||||
- DesktopProfilePage.vue
|
||||
- vue-router
|
||||
- MeetingReportForm.vue
|
||||
- package.json
|
||||
- categoryIcons.ts
|
||||
- format.ts
|
||||
- router/index.ts
|
||||
- auth.ts
|
||||
- CustomersView.vue
|
||||
- devDependencies
|
||||
- serve-user.mjs
|
||||
- RegisterView.vue
|
||||
- AddressesView.vue
|
||||
- stores/crm.ts
|
||||
- AppSlotBanner.vue
|
||||
- navigation.ts
|
||||
- orderTracking.ts
|
||||
- CheckListView.vue
|
||||
- CashSettlementView.vue
|
||||
- AuthThemeToggle.vue
|
||||
- CategoriesView.vue
|
||||
- types/index.ts
|
||||
- vue
|
||||
- BasicIcon.vue
|
||||
- BaseButton.vue
|
||||
- AppToast.vue
|
||||
- CatalogsHubView.vue
|
||||
- FavoritesView.vue
|
||||
- HomeSuggestionsSection.vue
|
||||
- LoginView.vue
|
||||
- ProductOrderModal.vue
|
||||
- DesktopHeader.vue
|
||||
- SupportWidget.vue
|
||||
- catalogGallery.ts
|
||||
- DesktopCartPage.vue
|
||||
- useOrderStore
|
||||
- cart.ts
|
||||
- supportLinks.ts
|
||||
- scripts
|
||||
- main.ts
|
||||
- caliteCollections.ts
|
||||
- WelcomeView.vue
|
||||
- CheckModeSelectView.vue
|
||||
- DesktopSidebar.vue
|
||||
- StatusBadge.vue
|
||||
- http.ts
|
||||
- ProfileDisplayView.vue
|
||||
- fabric-trade
|
||||
- App.vue
|
||||
- IconChevronLeft.vue
|
||||
- useConfirm.ts
|
||||
- dependencies
|
||||
- tsconfig.app.json
|
||||
- CustomerCreateOverlay.vue
|
||||
- formatNumber
|
||||
- useProductOrdering
|
||||
- usePublicContact.ts
|
||||
- buildCatalogGallery
|
||||
- .oxlintrc.json
|
||||
- DefaultLayout.vue
|
||||
- useCatalogRequest
|
||||
- vite.config.ts
|
||||
- AddressCompletionModal.vue
|
||||
- MeetingReportOverlay.vue
|
||||
- buildProductsQuery
|
||||
- .prettierrc.json
|
||||
- useCatalogRequest.ts
|
||||
- useSlotBanners.ts
|
||||
- storage.ts
|
||||
- entrypoint.sh
|
||||
- IconHeart.vue
|
||||
- SearchField.vue
|
||||
- tsconfig.json
|
||||
- unocss
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `vue` - 90 edges
|
||||
2. `vue-router` - 56 edges
|
||||
3. `router` - 35 edges
|
||||
4. `useAuthStore` - 32 edges
|
||||
5. `formatNumber()` - 32 edges
|
||||
6. `useCrmStore` - 27 edges
|
||||
7. `useOrderStore` - 27 edges
|
||||
8. `apiRequest()` - 24 edges
|
||||
9. `toPersianDigits()` - 24 edges
|
||||
10. `useCartStore` - 22 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `useFavoritesStore` --indirect_call--> `toggle()` [INFERRED]
|
||||
fabric-nademitex_user/src/stores/favorites.ts → fabric-nademitex_user/src/components/ui/AppSelect.vue
|
||||
- `useCartStore` --indirect_call--> `selectCompany()` [INFERRED]
|
||||
fabric-nademitex_user/src/stores/cart.ts → fabric-nademitex_user/src/views/companies/CompanySelectView.vue
|
||||
- `useCatalogRequestsStore` --indirect_call--> `statusLabel()` [INFERRED]
|
||||
fabric-nademitex_user/src/stores/catalogRequests.ts → fabric-nademitex_user/src/views/customers/CustomersView.vue
|
||||
- `goCta()` --calls--> `followBannerLink()` [EXTRACTED]
|
||||
fabric-nademitex_user/src/components/banners/AppSlotBanner.vue → fabric-nademitex_user/src/utils/bannerLink.ts
|
||||
- `onBannerSurfaceClick()` --calls--> `followBannerLink()` [EXTRACTED]
|
||||
fabric-nademitex_user/src/components/banners/AppSlotBanner.vue → fabric-nademitex_user/src/utils/bannerLink.ts
|
||||
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Communities (97 total, 12 thin omitted)
|
||||
|
||||
### Community 0 - "ProductsView.vue"
|
||||
Cohesion: 0.04
|
||||
Nodes (41): categoryIconOf(), usageCategoryIconKey(), bannerCopy, bannerIcon, bannerImageLink, bannerImageUrl, { banners: productsHeroBanners }, bannerStyle (+33 more)
|
||||
|
||||
### Community 1 - "LatestOrderStatusView.vue"
|
||||
Cohesion: 0.06
|
||||
Nodes (38): props, CatalogRequest, CatalogRequestItem, CatalogRequestStatus, mapServerRow(), readAll(), SERVER_TO_UI, STATUS_LABELS (+30 more)
|
||||
|
||||
### Community 2 - "HomeView.vue"
|
||||
Cohesion: 0.05
|
||||
Nodes (37): actions, agentActions, agentLevel, auth, banner, bannerImageLink, bannerIndex, banners (+29 more)
|
||||
|
||||
### Community 3 - "OrderDetailView.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (38): checksTotal, props, getStatusHero(), getTrackingFooterLabel(), CASH_PAYMENT_STATUSES, isInCashPaymentPhase(), isInCheckPhase(), SETTLEMENT_TYPE_LABELS (+30 more)
|
||||
|
||||
### Community 4 - "ProductDetailView.vue"
|
||||
Cohesion: 0.05
|
||||
Nodes (37): adding, cartStore, catalogStore, categoryChips, closeOrderModal(), crm, currentColorName, currentGalleryImage (+29 more)
|
||||
|
||||
### Community 5 - "CheckFormView.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (37): MeterageValidationResult, parseFormattedNumber(), fileToBase64(), validateImageFile(), validateNationalId(), validateSayadId(), amount, backImage (+29 more)
|
||||
|
||||
### Community 6 - "CustomerDetailView.vue"
|
||||
Cohesion: 0.06
|
||||
Nodes (27): agentCode, agentInitial, agentName, auth, closeEdit(), closeMeetingReport(), crm, customer (+19 more)
|
||||
|
||||
### Community 7 - "CustomerCreateForm.vue"
|
||||
Cohesion: 0.08
|
||||
Nodes (32): auth, businessName, clearField(), crm, emit, fieldErrors, firstName, formError (+24 more)
|
||||
|
||||
### Community 8 - "PersianDateInput.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (30): jalaali-js, calendarDays, closeCalendar(), displayValue, emit, isOpen, isToday(), onDocumentClick() (+22 more)
|
||||
|
||||
### Community 9 - "CatalogDetailView.vue"
|
||||
Cohesion: 0.08
|
||||
Nodes (27): demoProductsFor(), findMockCalite(), catalogLatinName(), addAllToInquiry(), adding, appToast, cartStore, catalog (+19 more)
|
||||
|
||||
### Community 10 - "TimeInput.vue"
|
||||
Cohesion: 0.09
|
||||
Nodes (27): closePanel(), confirmSelection(), displayValue, draftHour, draftMinute, emit, formatTimeLabel(), hourListRef (+19 more)
|
||||
|
||||
### Community 11 - "RemindersView.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (25): completedExpanded, completedToday, crm, customerOptions, customers, error, filter, filters (+17 more)
|
||||
|
||||
### Community 12 - "types/crm.ts"
|
||||
Cohesion: 0.08
|
||||
Nodes (25): AgentProfile, CrmCustomer, CrmMeeting, CrmOrderSummary, CrmReminder, CustomerStatus, CustomerTab, HomeBanner (+17 more)
|
||||
|
||||
### Community 13 - "SettlementTypeView.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (23): steps, useRequirePricedOrder(), redirectIfNeeded(), OrderItem, canChooseSettlement(), canEnterChecks(), canSubmitCashReceipt(), CASH_RECEIPT_STATUSES (+15 more)
|
||||
|
||||
### Community 14 - "MobileProfilePage.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (27): agentQuickActions, auth, code, codeLabel, crm, customerQuickActions, customersCount, displayName (+19 more)
|
||||
|
||||
### Community 15 - "AppSelect.vue"
|
||||
Cohesion: 0.11
|
||||
Nodes (25): AppSelectOption, bindPositionListeners(), displayLabel, emit, filteredOptions, menuRef, menuStyle, onOptionKeydown() (+17 more)
|
||||
|
||||
### Community 16 - "OtpView.vue"
|
||||
Cohesion: 0.13
|
||||
Nodes (23): extractNumericString(), auth, canResend, clearCodeError(), code, digits, fieldErrors, fillDigits() (+15 more)
|
||||
|
||||
### Community 17 - "ProfileEditView.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (23): fileToProfileAvatar(), readFileAsDataUrl(), resizeDataUrl(), address, auth, avatarUrl, fieldErrors, fileInput (+15 more)
|
||||
|
||||
### Community 18 - "useOrderList.ts"
|
||||
Cohesion: 0.12
|
||||
Nodes (16): useOrderList(), companySlug(), iconVariant(), CANCELLED_STATUSES, DELIVERED_STATUSES, DesktopOrderFilterId, IN_PROGRESS_STATUSES, matchesDesktopOrderFilter() (+8 more)
|
||||
|
||||
### Community 19 - "DesktopProfilePage.vue"
|
||||
Cohesion: 0.09
|
||||
Nodes (22): unreadLabel, monthLabel, toPersianDigits(), displayPhone, displayDigit(), timerLabel, displayPhone, auth (+14 more)
|
||||
|
||||
### Community 20 - "vue-router"
|
||||
Cohesion: 0.11
|
||||
Nodes (14): vue-router, navigateToCatalogProduct(), catalogs, catalogStore, company, companyId, loading, openCatalog() (+6 more)
|
||||
|
||||
### Community 21 - "MeetingReportForm.vue"
|
||||
Cohesion: 0.09
|
||||
Nodes (19): content, crm, customer, date, emit, error, interactionType, loading (+11 more)
|
||||
|
||||
### Community 22 - "package.json"
|
||||
Cohesion: 0.11
|
||||
Nodes (20): name, private, type, version, eslint, eslint-config-prettier, eslint-plugin-oxlint, eslint-plugin-vue (+12 more)
|
||||
|
||||
### Community 23 - "categoryIcons.ts"
|
||||
Cohesion: 0.10
|
||||
Nodes (8): CATEGORY_ICON_MAP, USAGE_ICON_BY_ID, displayCompanies, emit, orderSteps, props, quickLinks, router
|
||||
|
||||
### Community 24 - "format.ts"
|
||||
Cohesion: 0.10
|
||||
Nodes (16): props, remaining, isFull, isNearFull, percentage, props, remaining, formatMeterage() (+8 more)
|
||||
|
||||
### Community 25 - "router/index.ts"
|
||||
Cohesion: 0.11
|
||||
Nodes (11): router, NotificationTone, SHOP_BROWSE_PATH, {
|
||||
cartStore,
|
||||
items,
|
||||
isEmpty,
|
||||
companyName,
|
||||
companySummaries,
|
||||
showFullDialog,
|
||||
submitting,
|
||||
submitError,
|
||||
addressPickerOpen,
|
||||
addresses,
|
||||
selectedAddressId,
|
||||
newAddress,
|
||||
addressBusy,
|
||||
confirmAddressAndOrder,
|
||||
removeItem,
|
||||
proceedToCheckout,
|
||||
proceedAnyway,
|
||||
createNewInvoice,
|
||||
}, router, router, hasUnread, items (+3 more)
|
||||
|
||||
### Community 26 - "auth.ts"
|
||||
Cohesion: 0.23
|
||||
Nodes (19): cacheUser(), fetchMe(), getCachedUser(), getCurrentUser(), isAuthenticated(), logout(), PendingOtp, sendOtp() (+11 more)
|
||||
|
||||
### Community 27 - "CustomersView.vue"
|
||||
Cohesion: 0.11
|
||||
Nodes (20): activeCount, closeCreate(), crm, customerListQuery(), customers, cycleStatusFilter(), error, filtered (+12 more)
|
||||
|
||||
### Community 28 - "devDependencies"
|
||||
Cohesion: 0.10
|
||||
Nodes (21): devDependencies, eslint, eslint-config-prettier, eslint-plugin-oxlint, eslint-plugin-vue, jiti, npm-run-all2, oxlint (+13 more)
|
||||
|
||||
### Community 29 - "serve-user.mjs"
|
||||
Cohesion: 0.12
|
||||
Nodes (12): root, __dirname, distDir, MIME, port, resolveSafe(), sendFile(), sendIndex() (+4 more)
|
||||
|
||||
### Community 30 - "RegisterView.vue"
|
||||
Cohesion: 0.11
|
||||
Nodes (16): JOB_CATEGORY_OPTIONS, JobCategory, PendingRegister, acceptedTerms, auth, clearField(), fieldErrors, firstName (+8 more)
|
||||
|
||||
### Community 31 - "AddressesView.vue"
|
||||
Cohesion: 0.11
|
||||
Nodes (17): add(), addOpen, closeAddForm(), formError, isDesktop, label, loading, makeDefault() (+9 more)
|
||||
|
||||
### Community 32 - "stores/crm.ts"
|
||||
Cohesion: 0.26
|
||||
Nodes (19): AgentProfileDto, agentRequest(), BrowseProductDto, completeReminder(), createAgentCustomer(), CreateAgentCustomerPayload, CreateMeetingPayload, createMeetingReport() (+11 more)
|
||||
|
||||
### Community 33 - "AppSlotBanner.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (15): banner, bannerImageLink, { banners, loading }, bannerStyle, goCta(), index, onBannerSurfaceClick(), { onTouchStart, onTouchEnd } (+7 more)
|
||||
|
||||
### Community 34 - "navigation.ts"
|
||||
Cohesion: 0.13
|
||||
Nodes (14): cartCount, cartStore, navigate(), route, router, DESKTOP_NAV_ITEMS, isNavItemActive(), MAIN_NAV_ITEMS (+6 more)
|
||||
|
||||
### Community 35 - "orderTracking.ts"
|
||||
Cohesion: 0.15
|
||||
Nodes (16): icons, currentIndex, props, steps, timestampFor(), OrderStatus, getOrderTrackingSteps(), getStepTimestamp() (+8 more)
|
||||
|
||||
### Community 36 - "CheckListView.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (15): authStore, checks, formError, invoiceAmount, isAmountComplete, isCheckout, isOverInvoice, openMenuId (+7 more)
|
||||
|
||||
### Community 37 - "CashSettlementView.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (14): BankAccount, formatDate(), formatDateTime(), isJalaliDateString(), accountsSectionTitle, bankAccounts, catalogStore, expiryMessage (+6 more)
|
||||
|
||||
### Community 38 - "AuthThemeToggle.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (15): pinia, @vueuse/core, { isDark }, themeIcon, themeLabel, themeStore, close(), open (+7 more)
|
||||
|
||||
### Community 39 - "CategoriesView.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (12): CATALOG_SEASON_CATEGORIES, CATALOG_USAGE_CATEGORIES, getCatalogCategories(), ProductCategory, SeasonCategory, crm, error, { goBack } (+4 more)
|
||||
|
||||
### Community 40 - "types/index.ts"
|
||||
Cohesion: 0.20
|
||||
Nodes (15): Cart, CashPaymentReceipt, CheckData, CheckRassResult, CheckRegistrationMode, Order, OrderStatusHistoryEntry, SettlementType (+7 more)
|
||||
|
||||
### Community 41 - "vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (10): vue, Company, cartStore, catalogStore, companies, displayMeta, { goBack }, loading (+2 more)
|
||||
|
||||
### Community 42 - "BasicIcon.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (6): ariaHidden, attrs, props, style, svgHtml, emit
|
||||
|
||||
### Community 43 - "BaseButton.vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (10): props, resolvedIcon, resolvedMessage, resolvedTitle, variantIcons, variantTitles, emit, emit (+2 more)
|
||||
|
||||
### Community 44 - "AppToast.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (12): footerRef, { message, title, tone, clear }, onKeydown(), toneClass, AppToastTone, defaultTitle(), message, title (+4 more)
|
||||
|
||||
### Community 45 - "CatalogsHubView.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (13): useGoBack(), catalogs, catalogStore, crm, filter, filters, { goBack }, loading (+5 more)
|
||||
|
||||
### Community 46 - "FavoritesView.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (12): readLocal(), useFavoritesStore, writeLocal(), productListThumb(), crm, error, favorites, loading (+4 more)
|
||||
|
||||
### Community 47 - "HomeSuggestionsSection.vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (9): favorites, hasItems, props, {
|
||||
requesting,
|
||||
addressModalOpen,
|
||||
addressError,
|
||||
requestCatalog,
|
||||
submitAddressAndRequest,
|
||||
closeAddressModal,
|
||||
}, requestSwatch(), router, toProductCard(), isProductUnavailable() (+1 more)
|
||||
|
||||
### Community 48 - "LoginView.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (13): normalizePhone(), validatePhone(), auth, fieldErrors, formError, onPhoneBlur(), onPhoneInput(), phone (+5 more)
|
||||
|
||||
### Community 49 - "ProductOrderModal.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (11): emit, estimatedPrice, onKeydown(), props, rollsByColor, submit(), totalMeters, totalRolls (+3 more)
|
||||
|
||||
### Community 50 - "DesktopHeader.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (8): authStore, cartStore, companyLabel, initials, logout(), notificationStore, router, showUserMenu
|
||||
|
||||
### Community 51 - "SupportWidget.vue"
|
||||
Cohesion: 0.17
|
||||
Nodes (10): LINK_ICON, { load, loaded, supportLinks, hasSupportLinks }, onFabKeydown(), open, panelRef, props, rootRef, showWidget (+2 more)
|
||||
|
||||
### Community 52 - "catalogGallery.ts"
|
||||
Cohesion: 0.19
|
||||
Nodes (12): CatalogProductCard, SeasonKind, Catalog, CatalogGalleryCard, CatalogGalleryFilter, CatalogPatternCard, filterCatalogGallery(), normalizeCatalogSearchText() (+4 more)
|
||||
|
||||
### Community 53 - "DesktopCartPage.vue"
|
||||
Cohesion: 0.18
|
||||
Nodes (5): CartItem, emit, quickLinks, router, emit
|
||||
|
||||
### Community 54 - "useOrderStore"
|
||||
Cohesion: 0.26
|
||||
Nodes (11): useCartPage(), chosenAddressText(), confirmAddressAndOrder(), openAddressPicker(), proceedAnyway(), proceedToCheckout(), removeItem(), submitOrder() (+3 more)
|
||||
|
||||
### Community 55 - "cart.ts"
|
||||
Cohesion: 0.33
|
||||
Nodes (9): ApiCart, companyMeterage(), emptyCart(), uniqueCompanyNames(), useCartStore, useLocalCart(), useCatalogStore, Product (+1 more)
|
||||
|
||||
### Community 56 - "supportLinks.ts"
|
||||
Cohesion: 0.35
|
||||
Nodes (10): mailtoHref(), PublicContact, telHref(), buildSupportLinks(), instagramHref(), isHttpUrl(), SupportLinkItem, telegramHref() (+2 more)
|
||||
|
||||
### Community 57 - "scripts"
|
||||
Cohesion: 0.18
|
||||
Nodes (11): scripts, build, build-only, dev, format, lint, lint:eslint, lint:oxlint (+3 more)
|
||||
|
||||
### Community 60 - "WelcomeView.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (5): go(), index, onTouchEnd(), router, slides
|
||||
|
||||
### Community 61 - "CheckModeSelectView.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (7): formatCurrency(), invoiceLabel, invoiceLabel, { orderId, order }, orderStore, router, invoiceLabel
|
||||
|
||||
### Community 62 - "DesktopSidebar.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (8): activeCompanyId, cartCount, cartStore, { load, supportPhone, supportHref }, navigate(), route, router, resolveNavPath()
|
||||
|
||||
### Community 63 - "StatusBadge.vue"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): label, props, variant, DEFAULT_MAX_METERAGE, ORDER_STATUS_LABELS, ORDER_TRACKING_STEPS, PAYMENT_RECIPIENT_COMPANY_SLUG, STATUS_BADGE_VARIANT
|
||||
|
||||
### Community 64 - "http.ts"
|
||||
Cohesion: 0.29
|
||||
Nodes (8): ApiError, apiRequest(), buildUrl(), errorMessageFromBody(), getApiBaseUrl(), RequestOptions, fetchMySuggestions(), ProductSuggestionDto
|
||||
|
||||
### Community 65 - "ProfileDisplayView.vue"
|
||||
Cohesion: 0.18
|
||||
Nodes (9): auth, checksCount, logout(), orderStore, router, saved, { start: hideSaved }, theme (+1 more)
|
||||
|
||||
### Community 66 - "fabric-trade"
|
||||
Cohesion: 0.20
|
||||
Nodes (9): Compile and Hot-Reload for Development, Customize configuration, fabric-trade, Lint with [ESLint](https://eslint.org/), Project Setup, Recommended Browser Setup, Recommended IDE Setup, Type-Check, Compile and Minify for Production (+1 more)
|
||||
|
||||
### Community 67 - "App.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (8): lodash-es, authStore, cartStore, catalogStore, notificationStore, orderStore, router, transitionName
|
||||
|
||||
### Community 69 - "useConfirm.ts"
|
||||
Cohesion: 0.31
|
||||
Nodes (8): cancel(), confirmAction(), state, ConfirmOptions, ConfirmState, resolveConfirm(), state, useConfirmState()
|
||||
|
||||
### Community 70 - "dependencies"
|
||||
Cohesion: 0.22
|
||||
Nodes (9): dependencies, jalaali-js, lodash-es, pinia, unocss, @unocss/vite, vue, vue-router (+1 more)
|
||||
|
||||
### Community 71 - "tsconfig.app.json"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): @vue/tsconfig/tsconfig.dom.json, compilerOptions, noUncheckedIndexedAccess, paths, tsBuildInfoFile, exclude, extends, include
|
||||
|
||||
### Community 72 - "CustomerCreateOverlay.vue"
|
||||
Cohesion: 0.36
|
||||
Nodes (7): CustomerFormInitial, close(), emit, onKeydown(), onSuccess(), props, sheetTitle
|
||||
|
||||
### Community 73 - "formatNumber"
|
||||
Cohesion: 0.32
|
||||
Nodes (7): widthText(), displayValue, emit, onInput(), props, formatNumber(), metaLine()
|
||||
|
||||
### Community 74 - "useProductOrdering"
|
||||
Cohesion: 0.32
|
||||
Nodes (4): useProductOrdering(), addProduct(), adjustMeterage(), getMeterage()
|
||||
|
||||
### Community 75 - "usePublicContact.ts"
|
||||
Cohesion: 0.32
|
||||
Nodes (6): emptyContact, ensureLoaded(), state, usePublicContact(), load(), getPublicContact()
|
||||
|
||||
### Community 76 - "buildCatalogGallery"
|
||||
Cohesion: 0.25
|
||||
Nodes (8): buildCatalogGallery(), catalogDisplayTitle(), groupCatalogPatterns(), majority(), patternKindOf(), patterns, title, gallery
|
||||
|
||||
### Community 77 - ".oxlintrc.json"
|
||||
Cohesion: 0.29
|
||||
Nodes (6): categories, correctness, env, browser, plugins, $schema
|
||||
|
||||
### Community 78 - "DefaultLayout.vue"
|
||||
Cohesion: 0.29
|
||||
Nodes (5): isImmersiveAuth, isWideGuest, route, showNav, showSupportWidget
|
||||
|
||||
### Community 79 - "useCatalogRequest"
|
||||
Cohesion: 0.43
|
||||
Nodes (7): useCatalogRequest(), closeAddressModal(), createRequest(), requestCatalog(), submitAddressAndRequest(), onAddressSubmit(), requestPhysicalCatalog()
|
||||
|
||||
### Community 80 - "vite.config.ts"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): @unocss/vite, vite, vite-plugin-vue-devtools, @vitejs/plugin-vue, @vitejs/plugin-vue-jsx
|
||||
|
||||
### Community 81 - "AddressCompletionModal.vue"
|
||||
Cohesion: 0.47
|
||||
Nodes (5): address, emit, onKeydown(), props, submit()
|
||||
|
||||
### Community 82 - "MeetingReportOverlay.vue"
|
||||
Cohesion: 0.53
|
||||
Nodes (5): close(), emit, onKeydown(), onSuccess(), props
|
||||
|
||||
### Community 83 - "buildProductsQuery"
|
||||
Cohesion: 0.40
|
||||
Nodes (6): applyFilter(), applySearch(), buildProductsQuery(), clearFilter(), closeFilter(), resolveFilterAxis()
|
||||
|
||||
### Community 84 - ".prettierrc.json"
|
||||
Cohesion: 0.40
|
||||
Nodes (4): printWidth, $schema, semi, singleQuote
|
||||
|
||||
### Community 86 - "useSlotBanners.ts"
|
||||
Cohesion: 0.60
|
||||
Nodes (4): useSlotBanners(), load(), AppBannerDto, fetchBanners()
|
||||
|
||||
### Community 87 - "storage.ts"
|
||||
Cohesion: 0.40
|
||||
Nodes (4): getItem(), removeItem(), setItem(), STORAGE_KEYS
|
||||
|
||||
### Community 88 - "entrypoint.sh"
|
||||
Cohesion: 0.83
|
||||
Nodes (3): escape_sed(), load_env_file(), entrypoint.sh script
|
||||
|
||||
## Knowledge Gaps
|
||||
- **759 isolated node(s):** `$schema`, `plugins`, `browser`, `correctness`, `$schema` (+754 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 926 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
|
||||
- **12 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `vue` connect `vue` to `ProductsView.vue`, `LatestOrderStatusView.vue`, `HomeView.vue`, `OrderDetailView.vue`, `ProductDetailView.vue`, `CheckFormView.vue`, `CustomerDetailView.vue`, `CustomerCreateForm.vue`, `PersianDateInput.vue`, `CatalogDetailView.vue`, `TimeInput.vue`, `RemindersView.vue`, `types/crm.ts`, `SettlementTypeView.vue`, `MobileProfilePage.vue`, `AppSelect.vue`, `OtpView.vue`, `ProfileEditView.vue`, `useOrderList.ts`, `DesktopProfilePage.vue`, `vue-router`, `MeetingReportForm.vue`, `package.json`, `categoryIcons.ts`, `format.ts`, `router/index.ts`, `auth.ts`, `CustomersView.vue`, `RegisterView.vue`, `AddressesView.vue`, `stores/crm.ts`, `AppSlotBanner.vue`, `navigation.ts`, `orderTracking.ts`, `CheckListView.vue`, `CashSettlementView.vue`, `AuthThemeToggle.vue`, `CategoriesView.vue`, `types/index.ts`, `BasicIcon.vue`, `BaseButton.vue`, `AppToast.vue`, `CatalogsHubView.vue`, `FavoritesView.vue`, `HomeSuggestionsSection.vue`, `LoginView.vue`, `ProductOrderModal.vue`, `DesktopHeader.vue`, `SupportWidget.vue`, `cart.ts`, `main.ts`, `WelcomeView.vue`, `CheckModeSelectView.vue`, `DesktopSidebar.vue`, `StatusBadge.vue`, `ProfileDisplayView.vue`, `App.vue`, `useConfirm.ts`, `CustomerCreateOverlay.vue`, `formatNumber`, `usePublicContact.ts`, `DefaultLayout.vue`, `AddressCompletionModal.vue`, `MeetingReportOverlay.vue`, `useCatalogRequest.ts`, `useSlotBanners.ts`, `SearchField.vue`?**
|
||||
_High betweenness centrality (0.334) - this node is a cross-community bridge._
|
||||
- **Why does `vue-router` connect `vue-router` to `ProductsView.vue`, `LatestOrderStatusView.vue`, `HomeView.vue`, `OrderDetailView.vue`, `ProductDetailView.vue`, `CheckFormView.vue`, `CustomerDetailView.vue`, `CatalogDetailView.vue`, `RemindersView.vue`, `types/crm.ts`, `SettlementTypeView.vue`, `MobileProfilePage.vue`, `OtpView.vue`, `ProfileEditView.vue`, `useOrderList.ts`, `DesktopProfilePage.vue`, `package.json`, `categoryIcons.ts`, `format.ts`, `router/index.ts`, `CustomersView.vue`, `RegisterView.vue`, `AppSlotBanner.vue`, `navigation.ts`, `CheckListView.vue`, `CashSettlementView.vue`, `CategoriesView.vue`, `vue`, `BaseButton.vue`, `CatalogsHubView.vue`, `FavoritesView.vue`, `HomeSuggestionsSection.vue`, `LoginView.vue`, `DesktopHeader.vue`, `DesktopCartPage.vue`, `cart.ts`, `WelcomeView.vue`, `CheckModeSelectView.vue`, `DesktopSidebar.vue`, `ProfileDisplayView.vue`, `App.vue`, `IconChevronLeft.vue`, `DefaultLayout.vue`, `useCatalogRequest.ts`?**
|
||||
_High betweenness centrality (0.105) - this node is a cross-community bridge._
|
||||
- **Why does `devDependencies` connect `devDependencies` to `package.json`?**
|
||||
_High betweenness centrality (0.031) - this node is a cross-community bridge._
|
||||
- **Are the 2 inferred relationships involving `useAuthStore` (e.g. with `logout()` and `updateProfile()`) actually correct?**
|
||||
_`useAuthStore` has 2 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **What connects `$schema`, `plugins`, `browser` to the rest of the system?**
|
||||
_759 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `ProductsView.vue` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.042352941176470586 - nodes in this community are weakly interconnected._
|
||||
- **Should `LatestOrderStatusView.vue` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05959183673469388 - nodes in this community are weakly interconnected._
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+212
-183
@@ -1,23 +1,23 @@
|
||||
# Graph Report - fabric-nademitex_user (2026-10-01)
|
||||
# Graph Report - fabric-nademitex_user (2026-10-29)
|
||||
|
||||
## Corpus Check
|
||||
- 222 files · ~295,428 words
|
||||
- 224 files · ~295,505 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
- Unclassified: 23 file(s) not represented in the graph (top: .css 7, .woff2 6, (none) 5)
|
||||
|
||||
## Summary
|
||||
- 1643 nodes · 3374 edges · 97 communities (85 shown, 12 thin omitted)
|
||||
- 1653 nodes · 3407 edges · 104 communities (92 shown, 12 thin omitted)
|
||||
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 57 edges (avg confidence: 0.85)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `adb0ce88`
|
||||
- Built from commit: `5141ce80`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- ProductsView.vue
|
||||
- LatestOrderStatusView.vue
|
||||
- LatestCatalogRequestStatusView.vue
|
||||
- HomeView.vue
|
||||
- OrderDetailView.vue
|
||||
- ProductDetailView.vue
|
||||
@@ -28,8 +28,8 @@
|
||||
- CatalogDetailView.vue
|
||||
- TimeInput.vue
|
||||
- RemindersView.vue
|
||||
- types/crm.ts
|
||||
- SettlementTypeView.vue
|
||||
- ReminderDetailView.vue
|
||||
- orderInvoice.ts
|
||||
- MobileProfilePage.vue
|
||||
- AppSelect.vue
|
||||
- OtpView.vue
|
||||
@@ -39,10 +39,10 @@
|
||||
- vue-router
|
||||
- MeetingReportForm.vue
|
||||
- package.json
|
||||
- categoryIcons.ts
|
||||
- BasicIcon.vue
|
||||
- format.ts
|
||||
- router/index.ts
|
||||
- auth.ts
|
||||
- ProfileNotificationsView.vue
|
||||
- useAuthStore
|
||||
- CustomersView.vue
|
||||
- devDependencies
|
||||
- serve-user.mjs
|
||||
@@ -54,13 +54,13 @@
|
||||
- orderTracking.ts
|
||||
- CheckListView.vue
|
||||
- CashSettlementView.vue
|
||||
- AuthThemeToggle.vue
|
||||
- PageHeader.vue
|
||||
- CategoriesView.vue
|
||||
- types/index.ts
|
||||
- vue
|
||||
- BasicIcon.vue
|
||||
- checkRass.ts
|
||||
- CompanySelectView.vue
|
||||
- DesktopOrdersPage.vue
|
||||
- BaseButton.vue
|
||||
- AppToast.vue
|
||||
- useAppToast.ts
|
||||
- CatalogsHubView.vue
|
||||
- FavoritesView.vue
|
||||
- HomeSuggestionsSection.vue
|
||||
@@ -69,52 +69,59 @@
|
||||
- DesktopHeader.vue
|
||||
- SupportWidget.vue
|
||||
- catalogGallery.ts
|
||||
- DesktopCartPage.vue
|
||||
- useOrderStore
|
||||
- cart.ts
|
||||
- supportLinks.ts
|
||||
- hasFieldErrors
|
||||
- order.ts
|
||||
- types/index.ts
|
||||
- usePublicContact.ts
|
||||
- scripts
|
||||
- main.ts
|
||||
- caliteCollections.ts
|
||||
- WelcomeView.vue
|
||||
- CheckModeSelectView.vue
|
||||
- DesktopSidebar.vue
|
||||
- StatusBadge.vue
|
||||
- SettlementTypeView.vue
|
||||
- OrderTrackingSummary.vue
|
||||
- jalali.ts
|
||||
- http.ts
|
||||
- ProfileDisplayView.vue
|
||||
- fabric-trade
|
||||
- App.vue
|
||||
- IconChevronLeft.vue
|
||||
- LatestOrderStatusView.vue
|
||||
- useConfirm.ts
|
||||
- dependencies
|
||||
- tsconfig.app.json
|
||||
- CustomerCreateOverlay.vue
|
||||
- auth.ts
|
||||
- formatNumber
|
||||
- useProductOrdering
|
||||
- usePublicContact.ts
|
||||
- buildCatalogGallery
|
||||
- types/crm.ts
|
||||
- catalogRequests.ts
|
||||
- .oxlintrc.json
|
||||
- DefaultLayout.vue
|
||||
- router/index.ts
|
||||
- useCatalogRequest
|
||||
- vite.config.ts
|
||||
- AddressCompletionModal.vue
|
||||
- MeetingReportOverlay.vue
|
||||
- buildProductsQuery
|
||||
- .prettierrc.json
|
||||
- useCatalogRequest.ts
|
||||
- CartView.vue
|
||||
- useSlotBanners.ts
|
||||
- storage.ts
|
||||
- entrypoint.sh
|
||||
- IconHeart.vue
|
||||
- SearchField.vue
|
||||
- MeterageBar.vue
|
||||
- vue
|
||||
- tsconfig.json
|
||||
- unocss
|
||||
- SimpleStatusTimeline.vue
|
||||
- catalogCategories.ts
|
||||
- isProductUnavailable
|
||||
- useTouchSwipe
|
||||
- categoryIconOf
|
||||
- CapacitySummary.vue
|
||||
- bannerCopy
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `vue` - 90 edges
|
||||
2. `vue-router` - 56 edges
|
||||
3. `router` - 35 edges
|
||||
4. `useAuthStore` - 32 edges
|
||||
4. `useAuthStore` - 34 edges
|
||||
5. `formatNumber()` - 32 edges
|
||||
6. `useCrmStore` - 27 edges
|
||||
7. `useOrderStore` - 27 edges
|
||||
@@ -124,28 +131,28 @@
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `useFavoritesStore` --indirect_call--> `toggle()` [INFERRED]
|
||||
fabric-nademitex_user/src/stores/favorites.ts → fabric-nademitex_user/src/components/ui/AppSelect.vue
|
||||
src/stores/favorites.ts → src/components/ui/AppSelect.vue
|
||||
- `useCartStore` --indirect_call--> `selectCompany()` [INFERRED]
|
||||
fabric-nademitex_user/src/stores/cart.ts → fabric-nademitex_user/src/views/companies/CompanySelectView.vue
|
||||
src/stores/cart.ts → src/views/companies/CompanySelectView.vue
|
||||
- `useCatalogRequestsStore` --indirect_call--> `statusLabel()` [INFERRED]
|
||||
fabric-nademitex_user/src/stores/catalogRequests.ts → fabric-nademitex_user/src/views/customers/CustomersView.vue
|
||||
src/stores/catalogRequests.ts → src/views/customers/CustomersView.vue
|
||||
- `goCta()` --calls--> `followBannerLink()` [EXTRACTED]
|
||||
fabric-nademitex_user/src/components/banners/AppSlotBanner.vue → fabric-nademitex_user/src/utils/bannerLink.ts
|
||||
src/components/banners/AppSlotBanner.vue → src/utils/bannerLink.ts
|
||||
- `onBannerSurfaceClick()` --calls--> `followBannerLink()` [EXTRACTED]
|
||||
fabric-nademitex_user/src/components/banners/AppSlotBanner.vue → fabric-nademitex_user/src/utils/bannerLink.ts
|
||||
src/components/banners/AppSlotBanner.vue → src/utils/bannerLink.ts
|
||||
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Communities (97 total, 12 thin omitted)
|
||||
## Communities (104 total, 12 thin omitted)
|
||||
|
||||
### Community 0 - "ProductsView.vue"
|
||||
Cohesion: 0.04
|
||||
Nodes (41): categoryIconOf(), usageCategoryIconKey(), bannerCopy, bannerIcon, bannerImageLink, bannerImageUrl, { banners: productsHeroBanners }, bannerStyle (+33 more)
|
||||
Nodes (35): bannerImageLink, bannerImageUrl, { banners: productsHeroBanners }, bannerStyle, categoryFilterOptions, categoryId, companyId, crm (+27 more)
|
||||
|
||||
### Community 1 - "LatestOrderStatusView.vue"
|
||||
Cohesion: 0.06
|
||||
Nodes (38): props, CatalogRequest, CatalogRequestItem, CatalogRequestStatus, mapServerRow(), readAll(), SERVER_TO_UI, STATUS_LABELS (+30 more)
|
||||
### Community 1 - "LatestCatalogRequestStatusView.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (12): CatalogServerStatus, getSimpleCatalogStatusIndex(), getSimpleCatalogStatusTimestamps(), resolveCatalogServerStatus(), SIMPLE_CATALOG_STATUS_STEPS, STATUS_TO_STEP_INDEX, currentIndex, latestRequest (+4 more)
|
||||
|
||||
### Community 2 - "HomeView.vue"
|
||||
Cohesion: 0.05
|
||||
@@ -153,7 +160,7 @@ Nodes (37): actions, agentActions, agentLevel, auth, banner, bannerImageLink, ba
|
||||
|
||||
### Community 3 - "OrderDetailView.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (38): checksTotal, props, getStatusHero(), getTrackingFooterLabel(), CASH_PAYMENT_STATUSES, isInCashPaymentPhase(), isInCheckPhase(), SETTLEMENT_TYPE_LABELS (+30 more)
|
||||
Nodes (28): canSubmitCashReceipt(), getStatusHero(), getTrackingFooterLabel(), bankAccountOptions, bankAccounts, destinationAccountId, fieldErrors, formError (+20 more)
|
||||
|
||||
### Community 4 - "ProductDetailView.vue"
|
||||
Cohesion: 0.05
|
||||
@@ -161,23 +168,23 @@ Nodes (37): adding, cartStore, catalogStore, categoryChips, closeOrderModal(), c
|
||||
|
||||
### Community 5 - "CheckFormView.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (37): MeterageValidationResult, parseFormattedNumber(), fileToBase64(), validateImageFile(), validateNationalId(), validateSayadId(), amount, backImage (+29 more)
|
||||
Nodes (36): parseFormattedNumber(), fileToBase64(), validateImageFile(), validateNationalId(), validateSayadId(), amount, backImage, bankName (+28 more)
|
||||
|
||||
### Community 6 - "CustomerDetailView.vue"
|
||||
Cohesion: 0.06
|
||||
Nodes (27): agentCode, agentInitial, agentName, auth, closeEdit(), closeMeetingReport(), crm, customer (+19 more)
|
||||
|
||||
### Community 7 - "CustomerCreateForm.vue"
|
||||
Cohesion: 0.08
|
||||
Nodes (32): auth, businessName, clearField(), crm, emit, fieldErrors, firstName, formError (+24 more)
|
||||
Cohesion: 0.12
|
||||
Nodes (16): auth, businessName, crm, emit, fieldErrors, firstName, formError, isEdit() (+8 more)
|
||||
|
||||
### Community 8 - "PersianDateInput.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (30): jalaali-js, calendarDays, closeCalendar(), displayValue, emit, isOpen, isToday(), onDocumentClick() (+22 more)
|
||||
Cohesion: 0.16
|
||||
Nodes (15): closeCalendar(), emit, isOpen, isToday(), onDocumentClick(), props, rootRef, selectDay() (+7 more)
|
||||
|
||||
### Community 9 - "CatalogDetailView.vue"
|
||||
Cohesion: 0.08
|
||||
Nodes (27): demoProductsFor(), findMockCalite(), catalogLatinName(), addAllToInquiry(), adding, appToast, cartStore, catalog (+19 more)
|
||||
Nodes (25): demoProductsFor(), findMockCalite(), catalogLatinName(), adding, appToast, cartStore, catalog, catalogId (+17 more)
|
||||
|
||||
### Community 10 - "TimeInput.vue"
|
||||
Cohesion: 0.09
|
||||
@@ -187,17 +194,17 @@ Nodes (27): closePanel(), confirmSelection(), displayValue, draftHour, draftMinu
|
||||
Cohesion: 0.07
|
||||
Nodes (25): completedExpanded, completedToday, crm, customerOptions, customers, error, filter, filters (+17 more)
|
||||
|
||||
### Community 12 - "types/crm.ts"
|
||||
Cohesion: 0.08
|
||||
Nodes (25): AgentProfile, CrmCustomer, CrmMeeting, CrmOrderSummary, CrmReminder, CustomerStatus, CustomerTab, HomeBanner (+17 more)
|
||||
|
||||
### Community 13 - "SettlementTypeView.vue"
|
||||
### Community 12 - "ReminderDetailView.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (23): steps, useRequirePricedOrder(), redirectIfNeeded(), OrderItem, canChooseSettlement(), canEnterChecks(), canSubmitCashReceipt(), CASH_RECEIPT_STATUSES (+15 more)
|
||||
Nodes (14): agentName, auth, chartBars, crm, customer, error, history, id (+6 more)
|
||||
|
||||
### Community 13 - "orderInvoice.ts"
|
||||
Cohesion: 0.19
|
||||
Nodes (13): useRequirePricedOrder(), redirectIfNeeded(), Order, canChooseSettlement(), CASH_RECEIPT_STATUSES, CHECK_ENTRY_STATUSES, isAwaitingAdminPricing(), isInvoicePriced() (+5 more)
|
||||
|
||||
### Community 14 - "MobileProfilePage.vue"
|
||||
Cohesion: 0.07
|
||||
Nodes (27): agentQuickActions, auth, code, codeLabel, crm, customerQuickActions, customersCount, displayName (+19 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (35): label, props, variant, DEFAULT_MAX_METERAGE, ORDER_STATUS_LABELS, ORDER_TRACKING_STEPS, PAYMENT_RECIPIENT_COMPANY_SLUG, STATUS_BADGE_VARIANT (+27 more)
|
||||
|
||||
### Community 15 - "AppSelect.vue"
|
||||
Cohesion: 0.11
|
||||
@@ -208,67 +215,48 @@ Cohesion: 0.13
|
||||
Nodes (23): extractNumericString(), auth, canResend, clearCodeError(), code, digits, fieldErrors, fillDigits() (+15 more)
|
||||
|
||||
### Community 17 - "ProfileEditView.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (23): fileToProfileAvatar(), readFileAsDataUrl(), resizeDataUrl(), address, auth, avatarUrl, fieldErrors, fileInput (+15 more)
|
||||
Cohesion: 0.08
|
||||
Nodes (25): fileToProfileAvatar(), readFileAsDataUrl(), resizeDataUrl(), router, address, agentReferralCode, auth, avatarUrl (+17 more)
|
||||
|
||||
### Community 18 - "useOrderList.ts"
|
||||
Cohesion: 0.12
|
||||
Cohesion: 0.13
|
||||
Nodes (16): useOrderList(), companySlug(), iconVariant(), CANCELLED_STATUSES, DELIVERED_STATUSES, DesktopOrderFilterId, IN_PROGRESS_STATUSES, matchesDesktopOrderFilter() (+8 more)
|
||||
|
||||
### Community 19 - "DesktopProfilePage.vue"
|
||||
Cohesion: 0.09
|
||||
Nodes (22): unreadLabel, monthLabel, toPersianDigits(), displayPhone, displayDigit(), timerLabel, displayPhone, auth (+14 more)
|
||||
Cohesion: 0.13
|
||||
Nodes (13): auth, checksCount, codeLabel, creditBalance, displayEmail, emit, handleSetting(), initials (+5 more)
|
||||
|
||||
### Community 20 - "vue-router"
|
||||
Cohesion: 0.11
|
||||
Cohesion: 0.12
|
||||
Nodes (14): vue-router, navigateToCatalogProduct(), catalogs, catalogStore, company, companyId, loading, openCatalog() (+6 more)
|
||||
|
||||
### Community 21 - "MeetingReportForm.vue"
|
||||
Cohesion: 0.09
|
||||
Cohesion: 0.10
|
||||
Nodes (19): content, crm, customer, date, emit, error, interactionType, loading (+11 more)
|
||||
|
||||
### Community 22 - "package.json"
|
||||
Cohesion: 0.11
|
||||
Nodes (20): name, private, type, version, eslint, eslint-config-prettier, eslint-plugin-oxlint, eslint-plugin-vue (+12 more)
|
||||
|
||||
### Community 23 - "categoryIcons.ts"
|
||||
Cohesion: 0.10
|
||||
Nodes (8): CATEGORY_ICON_MAP, USAGE_ICON_BY_ID, displayCompanies, emit, orderSteps, props, quickLinks, router
|
||||
Nodes (21): name, private, type, version, eslint, eslint-config-prettier, eslint-plugin-oxlint, eslint-plugin-vue (+13 more)
|
||||
|
||||
### Community 23 - "BasicIcon.vue"
|
||||
Cohesion: 0.06
|
||||
Nodes (17): ariaHidden, attrs, props, style, svgHtml, steps, CATEGORY_ICON_MAP, USAGE_ICON_BY_ID (+9 more)
|
||||
|
||||
### Community 24 - "format.ts"
|
||||
Cohesion: 0.10
|
||||
Nodes (16): props, remaining, isFull, isNearFull, percentage, props, remaining, formatMeterage() (+8 more)
|
||||
Cohesion: 0.22
|
||||
Nodes (10): formatDate(), formatDateTime(), isJalaliDateString(), numberFormatter, persianDateFormatter, persianDateTimeFormatter, toDateValue(), expiryMessage (+2 more)
|
||||
|
||||
### Community 25 - "router/index.ts"
|
||||
Cohesion: 0.11
|
||||
Nodes (11): router, NotificationTone, SHOP_BROWSE_PATH, {
|
||||
cartStore,
|
||||
items,
|
||||
isEmpty,
|
||||
companyName,
|
||||
companySummaries,
|
||||
showFullDialog,
|
||||
submitting,
|
||||
submitError,
|
||||
addressPickerOpen,
|
||||
addresses,
|
||||
selectedAddressId,
|
||||
newAddress,
|
||||
addressBusy,
|
||||
confirmAddressAndOrder,
|
||||
removeItem,
|
||||
proceedToCheckout,
|
||||
proceedAnyway,
|
||||
createNewInvoice,
|
||||
}, router, router, hasUnread, items (+3 more)
|
||||
### Community 25 - "ProfileNotificationsView.vue"
|
||||
Cohesion: 0.22
|
||||
Nodes (7): AppNotification, NotificationTone, hasUnread, items, notificationStore, router, toneIcons
|
||||
|
||||
### Community 26 - "auth.ts"
|
||||
Cohesion: 0.23
|
||||
Nodes (19): cacheUser(), fetchMe(), getCachedUser(), getCurrentUser(), isAuthenticated(), logout(), PendingOtp, sendOtp() (+11 more)
|
||||
### Community 26 - "useAuthStore"
|
||||
Cohesion: 0.31
|
||||
Nodes (14): cacheUser(), fetchMe(), getCachedUser(), getCurrentUser(), isAuthenticated(), logout(), PendingOtp, sendOtp() (+6 more)
|
||||
|
||||
### Community 27 - "CustomersView.vue"
|
||||
Cohesion: 0.11
|
||||
Nodes (20): activeCount, closeCreate(), crm, customerListQuery(), customers, cycleStatusFilter(), error, filtered (+12 more)
|
||||
Cohesion: 0.09
|
||||
Nodes (27): CustomerFormInitial, close(), emit, onKeydown(), onSuccess(), props, sheetTitle, activeCount (+19 more)
|
||||
|
||||
### Community 28 - "devDependencies"
|
||||
Cohesion: 0.10
|
||||
@@ -279,11 +267,11 @@ Cohesion: 0.12
|
||||
Nodes (12): root, __dirname, distDir, MIME, port, resolveSafe(), sendFile(), sendIndex() (+4 more)
|
||||
|
||||
### Community 30 - "RegisterView.vue"
|
||||
Cohesion: 0.11
|
||||
Nodes (16): JOB_CATEGORY_OPTIONS, JobCategory, PendingRegister, acceptedTerms, auth, clearField(), fieldErrors, firstName (+8 more)
|
||||
Cohesion: 0.08
|
||||
Nodes (23): unreadLabel, monthLabel, toPersianDigits(), displayPhone, displayDigit(), timerLabel, acceptedTerms, auth (+15 more)
|
||||
|
||||
### Community 31 - "AddressesView.vue"
|
||||
Cohesion: 0.11
|
||||
Cohesion: 0.12
|
||||
Nodes (17): add(), addOpen, closeAddForm(), formError, isDesktop, label, loading, makeDefault() (+9 more)
|
||||
|
||||
### Community 32 - "stores/crm.ts"
|
||||
@@ -291,12 +279,12 @@ Cohesion: 0.26
|
||||
Nodes (19): AgentProfileDto, agentRequest(), BrowseProductDto, completeReminder(), createAgentCustomer(), CreateAgentCustomerPayload, CreateMeetingPayload, createMeetingReport() (+11 more)
|
||||
|
||||
### Community 33 - "AppSlotBanner.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (15): banner, bannerImageLink, { banners, loading }, bannerStyle, goCta(), index, onBannerSurfaceClick(), { onTouchStart, onTouchEnd } (+7 more)
|
||||
Cohesion: 0.13
|
||||
Nodes (14): banner, bannerImageLink, { banners, loading }, bannerStyle, goCta(), index, onBannerSurfaceClick(), { onTouchStart, onTouchEnd } (+6 more)
|
||||
|
||||
### Community 34 - "navigation.ts"
|
||||
Cohesion: 0.13
|
||||
Nodes (14): cartCount, cartStore, navigate(), route, router, DESKTOP_NAV_ITEMS, isNavItemActive(), MAIN_NAV_ITEMS (+6 more)
|
||||
Cohesion: 0.07
|
||||
Nodes (27): cartCount, cartStore, navigate(), route, router, activeCompanyId, cartCount, cartStore (+19 more)
|
||||
|
||||
### Community 35 - "orderTracking.ts"
|
||||
Cohesion: 0.15
|
||||
@@ -307,91 +295,91 @@ Cohesion: 0.10
|
||||
Nodes (15): authStore, checks, formError, invoiceAmount, isAmountComplete, isCheckout, isOverInvoice, openMenuId (+7 more)
|
||||
|
||||
### Community 37 - "CashSettlementView.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (14): BankAccount, formatDate(), formatDateTime(), isJalaliDateString(), accountsSectionTitle, bankAccounts, catalogStore, expiryMessage (+6 more)
|
||||
Cohesion: 0.17
|
||||
Nodes (7): accountsSectionTitle, bankAccounts, catalogStore, { orderId, order }, orderStore, paymentRecipientName, router
|
||||
|
||||
### Community 38 - "AuthThemeToggle.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (15): pinia, @vueuse/core, { isDark }, themeIcon, themeLabel, themeStore, close(), open (+7 more)
|
||||
### Community 38 - "PageHeader.vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (14): @vueuse/core, { isDark }, themeIcon, themeLabel, themeStore, close(), open, save() (+6 more)
|
||||
|
||||
### Community 39 - "CategoriesView.vue"
|
||||
Cohesion: 0.10
|
||||
Nodes (13): useGoBack(), crm, error, { goBack }, loading, router, seasonCategories, usageCategories (+5 more)
|
||||
|
||||
### Community 40 - "checkRass.ts"
|
||||
Cohesion: 0.36
|
||||
Nodes (7): CheckData, CheckRassResult, calculateCheckRass(), daysUntilDue(), emptyRass(), parseISODate(), rass
|
||||
|
||||
### Community 41 - "CompanySelectView.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (12): CATALOG_SEASON_CATEGORIES, CATALOG_USAGE_CATEGORIES, getCatalogCategories(), ProductCategory, SeasonCategory, crm, error, { goBack } (+4 more)
|
||||
Nodes (9): cartStore, catalogStore, companies, displayMeta, { goBack }, loading, router, selectCompany() (+1 more)
|
||||
|
||||
### Community 40 - "types/index.ts"
|
||||
### Community 42 - "DesktopOrdersPage.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (15): Cart, CashPaymentReceipt, CheckData, CheckRassResult, CheckRegistrationMode, Order, OrderStatusHistoryEntry, SettlementType (+7 more)
|
||||
|
||||
### Community 41 - "vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (10): vue, Company, cartStore, catalogStore, companies, displayMeta, { goBack }, loading (+2 more)
|
||||
|
||||
### Community 42 - "BasicIcon.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (6): ariaHidden, attrs, props, style, svgHtml, emit
|
||||
Nodes (5): matchesSearch(), OrderItem, fabricName(), orderFabricLabel(), emit
|
||||
|
||||
### Community 43 - "BaseButton.vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (10): props, resolvedIcon, resolvedMessage, resolvedTitle, variantIcons, variantTitles, emit, emit (+2 more)
|
||||
Cohesion: 0.13
|
||||
Nodes (13): props, resolvedIcon, resolvedMessage, resolvedTitle, variantIcons, variantTitles, CartItem, formatMeterage() (+5 more)
|
||||
|
||||
### Community 44 - "AppToast.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (12): footerRef, { message, title, tone, clear }, onKeydown(), toneClass, AppToastTone, defaultTitle(), message, title (+4 more)
|
||||
### Community 44 - "useAppToast.ts"
|
||||
Cohesion: 0.12
|
||||
Nodes (14): footerRef, { message, title, tone, clear }, onKeydown(), toneClass, AppToastTone, defaultTitle(), display(), message (+6 more)
|
||||
|
||||
### Community 45 - "CatalogsHubView.vue"
|
||||
Cohesion: 0.12
|
||||
Nodes (13): useGoBack(), catalogs, catalogStore, crm, filter, filters, { goBack }, loading (+5 more)
|
||||
Nodes (15): filterCatalogGallery(), normalizeCatalogSearchText(), cards, catalogs, catalogStore, crm, filter, filters (+7 more)
|
||||
|
||||
### Community 46 - "FavoritesView.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (12): readLocal(), useFavoritesStore, writeLocal(), productListThumb(), crm, error, favorites, loading (+4 more)
|
||||
Nodes (12): colorSwatchStyle(), colorVariantThumb(), isCssColorToken(), productListThumb(), crm, error, favorites, loading (+4 more)
|
||||
|
||||
### Community 47 - "HomeSuggestionsSection.vue"
|
||||
Cohesion: 0.14
|
||||
Nodes (9): favorites, hasItems, props, {
|
||||
Cohesion: 0.13
|
||||
Nodes (8): favorites, hasItems, props, {
|
||||
requesting,
|
||||
addressModalOpen,
|
||||
addressError,
|
||||
requestCatalog,
|
||||
submitAddressAndRequest,
|
||||
closeAddressModal,
|
||||
}, requestSwatch(), router, toProductCard(), isProductUnavailable() (+1 more)
|
||||
}, requestSwatch(), router, toProductCard(), props
|
||||
|
||||
### Community 48 - "LoginView.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (13): normalizePhone(), validatePhone(), auth, fieldErrors, formError, onPhoneBlur(), onPhoneInput(), phone (+5 more)
|
||||
Cohesion: 0.17
|
||||
Nodes (14): router, normalizePhone(), validatePhone(), auth, fieldErrors, formError, onPhoneBlur(), onPhoneInput() (+6 more)
|
||||
|
||||
### Community 49 - "ProductOrderModal.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (11): emit, estimatedPrice, onKeydown(), props, rollsByColor, submit(), totalMeters, totalRolls (+3 more)
|
||||
Cohesion: 0.24
|
||||
Nodes (8): emit, estimatedPrice, onKeydown(), props, rollsByColor, submit(), totalMeters, totalRolls
|
||||
|
||||
### Community 50 - "DesktopHeader.vue"
|
||||
Cohesion: 0.15
|
||||
Nodes (8): authStore, cartStore, companyLabel, initials, logout(), notificationStore, router, showUserMenu
|
||||
|
||||
### Community 51 - "SupportWidget.vue"
|
||||
Cohesion: 0.17
|
||||
Cohesion: 0.15
|
||||
Nodes (10): LINK_ICON, { load, loaded, supportLinks, hasSupportLinks }, onFabKeydown(), open, panelRef, props, rootRef, showWidget (+2 more)
|
||||
|
||||
### Community 52 - "catalogGallery.ts"
|
||||
Cohesion: 0.19
|
||||
Nodes (12): CatalogProductCard, SeasonKind, Catalog, CatalogGalleryCard, CatalogGalleryFilter, CatalogPatternCard, filterCatalogGallery(), normalizeCatalogSearchText() (+4 more)
|
||||
Cohesion: 0.16
|
||||
Nodes (16): CatalogProductCard, SeasonKind, buildCatalogGallery(), catalogDisplayTitle(), CatalogGalleryCard, CatalogGalleryFilter, CatalogPatternCard, groupCatalogPatterns() (+8 more)
|
||||
|
||||
### Community 53 - "DesktopCartPage.vue"
|
||||
### Community 53 - "hasFieldErrors"
|
||||
Cohesion: 0.18
|
||||
Nodes (5): CartItem, emit, quickLinks, router, emit
|
||||
Nodes (16): clearField(), clearFieldError(), FieldErrors, FORM_VALIDATION_SUMMARY, hasFieldErrors(), clearPhoneError(), clearField(), save() (+8 more)
|
||||
|
||||
### Community 54 - "useOrderStore"
|
||||
Cohesion: 0.26
|
||||
Nodes (11): useCartPage(), chosenAddressText(), confirmAddressAndOrder(), openAddressPicker(), proceedAnyway(), proceedToCheckout(), removeItem(), submitOrder() (+3 more)
|
||||
### Community 54 - "order.ts"
|
||||
Cohesion: 0.23
|
||||
Nodes (11): useCartPage(), proceedAnyway(), proceedToCheckout(), removeItem(), submitOrder(), confirm(), useOrderStore, CashPaymentReceipt (+3 more)
|
||||
|
||||
### Community 55 - "cart.ts"
|
||||
Cohesion: 0.33
|
||||
Nodes (9): ApiCart, companyMeterage(), emptyCart(), uniqueCompanyNames(), useCartStore, useLocalCart(), useCatalogStore, Product (+1 more)
|
||||
### Community 55 - "types/index.ts"
|
||||
Cohesion: 0.20
|
||||
Nodes (15): ApiCart, companyMeterage(), emptyCart(), uniqueCompanyNames(), useCartStore, useLocalCart(), useCatalogStore, BankAccount (+7 more)
|
||||
|
||||
### Community 56 - "supportLinks.ts"
|
||||
Cohesion: 0.35
|
||||
Nodes (10): mailtoHref(), PublicContact, telHref(), buildSupportLinks(), instagramHref(), isHttpUrl(), SupportLinkItem, telegramHref() (+2 more)
|
||||
### Community 56 - "usePublicContact.ts"
|
||||
Cohesion: 0.21
|
||||
Nodes (16): emptyContact, ensureLoaded(), state, usePublicContact(), load(), getPublicContact(), mailtoHref(), PublicContact (+8 more)
|
||||
|
||||
### Community 57 - "scripts"
|
||||
Cohesion: 0.18
|
||||
@@ -401,21 +389,21 @@ Nodes (11): scripts, build, build-only, dev, format, lint, lint:eslint, lint:oxl
|
||||
Cohesion: 0.20
|
||||
Nodes (5): go(), index, onTouchEnd(), router, slides
|
||||
|
||||
### Community 61 - "CheckModeSelectView.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (7): formatCurrency(), invoiceLabel, invoiceLabel, { orderId, order }, orderStore, router, invoiceLabel
|
||||
### Community 61 - "SettlementTypeView.vue"
|
||||
Cohesion: 0.13
|
||||
Nodes (13): formatCurrency(), invoiceLabel, invoiceLabel, { orderId, order }, orderStore, router, formError, invoiceLabel (+5 more)
|
||||
|
||||
### Community 62 - "DesktopSidebar.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (8): activeCompanyId, cartCount, cartStore, { load, supportPhone, supportHref }, navigate(), route, router, resolveNavPath()
|
||||
### Community 62 - "OrderTrackingSummary.vue"
|
||||
Cohesion: 0.18
|
||||
Nodes (14): checksTotal, props, SettlementType, canEnterChecks(), CASH_PAYMENT_STATUSES, isInCashPaymentPhase(), isInCheckPhase(), SETTLEMENT_TYPE_LABELS (+6 more)
|
||||
|
||||
### Community 63 - "StatusBadge.vue"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): label, props, variant, DEFAULT_MAX_METERAGE, ORDER_STATUS_LABELS, ORDER_TRACKING_STEPS, PAYMENT_RECIPIENT_COMPANY_SLUG, STATUS_BADGE_VARIANT
|
||||
### Community 63 - "jalali.ts"
|
||||
Cohesion: 0.19
|
||||
Nodes (14): calendarDays, displayValue, buildCalendarDays(), formatJalaliDate(), formatJalaliLabel(), fromJalali(), getMonthLength(), getPersianWeekday() (+6 more)
|
||||
|
||||
### Community 64 - "http.ts"
|
||||
Cohesion: 0.29
|
||||
Nodes (8): ApiError, apiRequest(), buildUrl(), errorMessageFromBody(), getApiBaseUrl(), RequestOptions, fetchMySuggestions(), ProductSuggestionDto
|
||||
Cohesion: 0.23
|
||||
Nodes (10): addressesApi, SavedAddress, ApiError, apiRequest(), buildUrl(), errorMessageFromBody(), getApiBaseUrl(), RequestOptions (+2 more)
|
||||
|
||||
### Community 65 - "ProfileDisplayView.vue"
|
||||
Cohesion: 0.18
|
||||
@@ -426,8 +414,12 @@ Cohesion: 0.20
|
||||
Nodes (9): Compile and Hot-Reload for Development, Customize configuration, fabric-trade, Lint with [ESLint](https://eslint.org/), Project Setup, Recommended Browser Setup, Recommended IDE Setup, Type-Check, Compile and Minify for Production (+1 more)
|
||||
|
||||
### Community 67 - "App.vue"
|
||||
Cohesion: 0.20
|
||||
Nodes (8): lodash-es, authStore, cartStore, catalogStore, notificationStore, orderStore, router, transitionName
|
||||
Cohesion: 0.17
|
||||
Nodes (13): lodash-es, authStore, cartStore, catalogStore, notificationStore, orderStore, router, transitionName (+5 more)
|
||||
|
||||
### Community 68 - "LatestOrderStatusView.vue"
|
||||
Cohesion: 0.18
|
||||
Nodes (12): getSimpleOrderStatusIndex(), getSimpleOrderStatusTimestamps(), SIMPLE_ORDER_STATUS_STEPS, STATUS_TO_STEP_INDEX, STEP_STATUS_ALIASES, auth, currentIndex, latestOrder (+4 more)
|
||||
|
||||
### Community 69 - "useConfirm.ts"
|
||||
Cohesion: 0.31
|
||||
@@ -441,9 +433,9 @@ Nodes (9): dependencies, jalaali-js, lodash-es, pinia, unocss, @unocss/vite, vue
|
||||
Cohesion: 0.22
|
||||
Nodes (8): @vue/tsconfig/tsconfig.dom.json, compilerOptions, noUncheckedIndexedAccess, paths, tsBuildInfoFile, exclude, extends, include
|
||||
|
||||
### Community 72 - "CustomerCreateOverlay.vue"
|
||||
Cohesion: 0.36
|
||||
Nodes (7): CustomerFormInitial, close(), emit, onKeydown(), onSuccess(), props, sheetTitle
|
||||
### Community 72 - "auth.ts"
|
||||
Cohesion: 0.22
|
||||
Nodes (11): pinia, resetBroadcastPresentation(), readLocal(), useFavoritesStore, writeLocal(), User, getPendingRegister(), JOB_CATEGORY_OPTIONS (+3 more)
|
||||
|
||||
### Community 73 - "formatNumber"
|
||||
Cohesion: 0.32
|
||||
@@ -453,21 +445,21 @@ Nodes (7): widthText(), displayValue, emit, onInput(), props, formatNumber(), me
|
||||
Cohesion: 0.32
|
||||
Nodes (4): useProductOrdering(), addProduct(), adjustMeterage(), getMeterage()
|
||||
|
||||
### Community 75 - "usePublicContact.ts"
|
||||
Cohesion: 0.32
|
||||
Nodes (6): emptyContact, ensureLoaded(), state, usePublicContact(), load(), getPublicContact()
|
||||
### Community 75 - "types/crm.ts"
|
||||
Cohesion: 0.17
|
||||
Nodes (11): AgentProfile, CrmCustomer, CrmMeeting, CrmOrderSummary, CrmReminder, CustomerStatus, CustomerTab, HomeBanner (+3 more)
|
||||
|
||||
### Community 76 - "buildCatalogGallery"
|
||||
Cohesion: 0.25
|
||||
Nodes (8): buildCatalogGallery(), catalogDisplayTitle(), groupCatalogPatterns(), majority(), patternKindOf(), patterns, title, gallery
|
||||
### Community 76 - "catalogRequests.ts"
|
||||
Cohesion: 0.24
|
||||
Nodes (10): CatalogRequest, CatalogRequestItem, CatalogRequestStatus, mapServerRow(), readAll(), SERVER_TO_UI, STATUS_LABELS, useCatalogRequestsStore (+2 more)
|
||||
|
||||
### Community 77 - ".oxlintrc.json"
|
||||
Cohesion: 0.29
|
||||
Nodes (6): categories, correctness, env, browser, plugins, $schema
|
||||
|
||||
### Community 78 - "DefaultLayout.vue"
|
||||
Cohesion: 0.29
|
||||
Nodes (5): isImmersiveAuth, isWideGuest, route, showNav, showSupportWidget
|
||||
### Community 78 - "router/index.ts"
|
||||
Cohesion: 0.39
|
||||
Nodes (3): router, router, store
|
||||
|
||||
### Community 79 - "useCatalogRequest"
|
||||
Cohesion: 0.43
|
||||
@@ -493,6 +485,23 @@ Nodes (6): applyFilter(), applySearch(), buildProductsQuery(), clearFilter(), cl
|
||||
Cohesion: 0.40
|
||||
Nodes (4): printWidth, $schema, semi, singleQuote
|
||||
|
||||
### Community 85 - "CartView.vue"
|
||||
Cohesion: 0.33
|
||||
Nodes (3): SHOP_BROWSE_PATH, {
|
||||
cartStore,
|
||||
items,
|
||||
isEmpty,
|
||||
companyName,
|
||||
companySummaries,
|
||||
showFullDialog,
|
||||
submitting,
|
||||
submitError,
|
||||
removeItem,
|
||||
proceedToCheckout,
|
||||
proceedAnyway,
|
||||
createNewInvoice,
|
||||
}, router
|
||||
|
||||
### Community 86 - "useSlotBanners.ts"
|
||||
Cohesion: 0.60
|
||||
Nodes (4): useSlotBanners(), load(), AppBannerDto, fetchBanners()
|
||||
@@ -505,25 +514,45 @@ Nodes (4): getItem(), removeItem(), setItem(), STORAGE_KEYS
|
||||
Cohesion: 0.83
|
||||
Nodes (3): escape_sed(), load_env_file(), entrypoint.sh script
|
||||
|
||||
### Community 89 - "MeterageBar.vue"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): isFull, isNearFull, percentage, props, remaining
|
||||
|
||||
### Community 90 - "vue"
|
||||
Cohesion: 0.50
|
||||
Nodes (3): vue, focus(), inputRef
|
||||
|
||||
### Community 98 - "catalogCategories.ts"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): CATALOG_SEASON_CATEGORIES, CATALOG_USAGE_CATEGORIES, getCatalogCategories(), ProductCategory, SeasonCategory
|
||||
|
||||
### Community 99 - "isProductUnavailable"
|
||||
Cohesion: 0.40
|
||||
Nodes (4): isProductUnavailable(), addAllToInquiry(), toCartProduct(), outOfStock
|
||||
|
||||
### Community 101 - "categoryIconOf"
|
||||
Cohesion: 0.50
|
||||
Nodes (4): categoryIconOf(), usageCategoryIconKey(), bannerIcon, seasonIconKey()
|
||||
|
||||
## Knowledge Gaps
|
||||
- **759 isolated node(s):** `$schema`, `plugins`, `browser`, `correctness`, `$schema` (+754 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 926 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
|
||||
- **764 isolated node(s):** `$schema`, `plugins`, `browser`, `correctness`, `$schema` (+759 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 930 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
|
||||
- **12 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `vue` connect `vue` to `ProductsView.vue`, `LatestOrderStatusView.vue`, `HomeView.vue`, `OrderDetailView.vue`, `ProductDetailView.vue`, `CheckFormView.vue`, `CustomerDetailView.vue`, `CustomerCreateForm.vue`, `PersianDateInput.vue`, `CatalogDetailView.vue`, `TimeInput.vue`, `RemindersView.vue`, `types/crm.ts`, `SettlementTypeView.vue`, `MobileProfilePage.vue`, `AppSelect.vue`, `OtpView.vue`, `ProfileEditView.vue`, `useOrderList.ts`, `DesktopProfilePage.vue`, `vue-router`, `MeetingReportForm.vue`, `package.json`, `categoryIcons.ts`, `format.ts`, `router/index.ts`, `auth.ts`, `CustomersView.vue`, `RegisterView.vue`, `AddressesView.vue`, `stores/crm.ts`, `AppSlotBanner.vue`, `navigation.ts`, `orderTracking.ts`, `CheckListView.vue`, `CashSettlementView.vue`, `AuthThemeToggle.vue`, `CategoriesView.vue`, `types/index.ts`, `BasicIcon.vue`, `BaseButton.vue`, `AppToast.vue`, `CatalogsHubView.vue`, `FavoritesView.vue`, `HomeSuggestionsSection.vue`, `LoginView.vue`, `ProductOrderModal.vue`, `DesktopHeader.vue`, `SupportWidget.vue`, `cart.ts`, `main.ts`, `WelcomeView.vue`, `CheckModeSelectView.vue`, `DesktopSidebar.vue`, `StatusBadge.vue`, `ProfileDisplayView.vue`, `App.vue`, `useConfirm.ts`, `CustomerCreateOverlay.vue`, `formatNumber`, `usePublicContact.ts`, `DefaultLayout.vue`, `AddressCompletionModal.vue`, `MeetingReportOverlay.vue`, `useCatalogRequest.ts`, `useSlotBanners.ts`, `SearchField.vue`?**
|
||||
_High betweenness centrality (0.334) - this node is a cross-community bridge._
|
||||
- **Why does `vue-router` connect `vue-router` to `ProductsView.vue`, `LatestOrderStatusView.vue`, `HomeView.vue`, `OrderDetailView.vue`, `ProductDetailView.vue`, `CheckFormView.vue`, `CustomerDetailView.vue`, `CatalogDetailView.vue`, `RemindersView.vue`, `types/crm.ts`, `SettlementTypeView.vue`, `MobileProfilePage.vue`, `OtpView.vue`, `ProfileEditView.vue`, `useOrderList.ts`, `DesktopProfilePage.vue`, `package.json`, `categoryIcons.ts`, `format.ts`, `router/index.ts`, `CustomersView.vue`, `RegisterView.vue`, `AppSlotBanner.vue`, `navigation.ts`, `CheckListView.vue`, `CashSettlementView.vue`, `CategoriesView.vue`, `vue`, `BaseButton.vue`, `CatalogsHubView.vue`, `FavoritesView.vue`, `HomeSuggestionsSection.vue`, `LoginView.vue`, `DesktopHeader.vue`, `DesktopCartPage.vue`, `cart.ts`, `WelcomeView.vue`, `CheckModeSelectView.vue`, `DesktopSidebar.vue`, `ProfileDisplayView.vue`, `App.vue`, `IconChevronLeft.vue`, `DefaultLayout.vue`, `useCatalogRequest.ts`?**
|
||||
_High betweenness centrality (0.105) - this node is a cross-community bridge._
|
||||
- **Why does `vue` connect `vue` to `ProductsView.vue`, `LatestCatalogRequestStatusView.vue`, `HomeView.vue`, `OrderDetailView.vue`, `ProductDetailView.vue`, `CheckFormView.vue`, `CustomerDetailView.vue`, `CustomerCreateForm.vue`, `PersianDateInput.vue`, `CatalogDetailView.vue`, `TimeInput.vue`, `RemindersView.vue`, `ReminderDetailView.vue`, `orderInvoice.ts`, `MobileProfilePage.vue`, `AppSelect.vue`, `OtpView.vue`, `ProfileEditView.vue`, `useOrderList.ts`, `DesktopProfilePage.vue`, `vue-router`, `MeetingReportForm.vue`, `package.json`, `BasicIcon.vue`, `ProfileNotificationsView.vue`, `CustomersView.vue`, `RegisterView.vue`, `AddressesView.vue`, `stores/crm.ts`, `AppSlotBanner.vue`, `navigation.ts`, `orderTracking.ts`, `CheckListView.vue`, `CashSettlementView.vue`, `PageHeader.vue`, `CategoriesView.vue`, `CompanySelectView.vue`, `BaseButton.vue`, `useAppToast.ts`, `CatalogsHubView.vue`, `FavoritesView.vue`, `HomeSuggestionsSection.vue`, `LoginView.vue`, `ProductOrderModal.vue`, `DesktopHeader.vue`, `SupportWidget.vue`, `hasFieldErrors`, `order.ts`, `types/index.ts`, `usePublicContact.ts`, `main.ts`, `WelcomeView.vue`, `SettlementTypeView.vue`, `OrderTrackingSummary.vue`, `http.ts`, `ProfileDisplayView.vue`, `App.vue`, `LatestOrderStatusView.vue`, `useConfirm.ts`, `auth.ts`, `formatNumber`, `catalogRequests.ts`, `router/index.ts`, `AddressCompletionModal.vue`, `MeetingReportOverlay.vue`, `useSlotBanners.ts`, `MeterageBar.vue`, `CapacitySummary.vue`?**
|
||||
_High betweenness centrality (0.351) - this node is a cross-community bridge._
|
||||
- **Why does `vue-router` connect `vue-router` to `ProductsView.vue`, `LatestCatalogRequestStatusView.vue`, `HomeView.vue`, `OrderDetailView.vue`, `ProductDetailView.vue`, `CheckFormView.vue`, `CustomerDetailView.vue`, `CatalogDetailView.vue`, `RemindersView.vue`, `ReminderDetailView.vue`, `orderInvoice.ts`, `MobileProfilePage.vue`, `OtpView.vue`, `ProfileEditView.vue`, `useOrderList.ts`, `DesktopProfilePage.vue`, `package.json`, `BasicIcon.vue`, `ProfileNotificationsView.vue`, `CustomersView.vue`, `RegisterView.vue`, `AppSlotBanner.vue`, `navigation.ts`, `CheckListView.vue`, `CashSettlementView.vue`, `CategoriesView.vue`, `CompanySelectView.vue`, `BaseButton.vue`, `CatalogsHubView.vue`, `FavoritesView.vue`, `HomeSuggestionsSection.vue`, `LoginView.vue`, `DesktopHeader.vue`, `order.ts`, `types/index.ts`, `WelcomeView.vue`, `SettlementTypeView.vue`, `ProfileDisplayView.vue`, `App.vue`, `LatestOrderStatusView.vue`, `router/index.ts`, `CartView.vue`?**
|
||||
_High betweenness centrality (0.096) - this node is a cross-community bridge._
|
||||
- **Why does `devDependencies` connect `devDependencies` to `package.json`?**
|
||||
_High betweenness centrality (0.031) - this node is a cross-community bridge._
|
||||
- **Are the 2 inferred relationships involving `useAuthStore` (e.g. with `logout()` and `updateProfile()`) actually correct?**
|
||||
_`useAuthStore` has 2 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **What connects `$schema`, `plugins`, `browser` to the rest of the system?**
|
||||
_759 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
_764 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `ProductsView.vue` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.042352941176470586 - nodes in this community are weakly interconnected._
|
||||
- **Should `LatestOrderStatusView.vue` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05959183673469388 - nodes in this community are weakly interconnected._
|
||||
_Cohesion score 0.044444444444444446 - nodes in this community are weakly interconnected._
|
||||
- **Should `HomeView.vue` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.0507399577167019 - nodes in this community are weakly interconnected._
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
1793260741.2983005
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+9067
-8530
File diff suppressed because it is too large
Load Diff
+63
-51
@@ -66,9 +66,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/App.vue": {
|
||||
"mtime": 1790698386.5586798,
|
||||
"seen": 1790871818.5585854,
|
||||
"ast_hash": "761501d367b39d2f40159ea647212953",
|
||||
"mtime": 1790874234.997949,
|
||||
"seen": 1793260988.2220745,
|
||||
"ast_hash": "96232f2817a23ad1a29bade879c47cec",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/components/BasicPacks/BasicIcon.vue": {
|
||||
@@ -132,9 +132,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/components/home/HomeSuggestionsSection.vue": {
|
||||
"mtime": 1790855780.0331223,
|
||||
"seen": 1790871818.5586016,
|
||||
"ast_hash": "fd5e727fdbf57043efa45400f3888aca",
|
||||
"mtime": 1791092768.6783247,
|
||||
"seen": 1793260988.2220962,
|
||||
"ast_hash": "83f8d6aab342c1ce73d6c7f7c0d6a5ab",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/components/icons/IconBell.vue": {
|
||||
@@ -642,15 +642,15 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/composables/useAppToast.ts": {
|
||||
"mtime": 1790871771.1808417,
|
||||
"seen": 1790871818.558731,
|
||||
"ast_hash": "13166d7c49aa504bf199cd8fee986caf",
|
||||
"mtime": 1790874231.1051736,
|
||||
"seen": 1793260988.2222579,
|
||||
"ast_hash": "e9ef7bcd5dee29498e27f410396f5a0b",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/composables/useCartPage.ts": {
|
||||
"mtime": 1790682531.2085528,
|
||||
"seen": 1790871818.5587325,
|
||||
"ast_hash": "fc2a53cfd482fb6937d1d419cd1a8a12",
|
||||
"mtime": 1793260649.6840453,
|
||||
"seen": 1793260988.2222598,
|
||||
"ast_hash": "bba58f491a98d37a194a4debbd935883",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/composables/useCatalogRequest.ts": {
|
||||
@@ -672,9 +672,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/composables/useOrderList.ts": {
|
||||
"mtime": 1786775048.3519318,
|
||||
"seen": 1790871818.558738,
|
||||
"ast_hash": "505977b318d099ae32d417369c50edc4",
|
||||
"mtime": 1793260906.0085173,
|
||||
"seen": 1793260988.2222674,
|
||||
"ast_hash": "de62ce0b8138957b4c41be485125de90",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/composables/useProductOrdering.ts": {
|
||||
@@ -750,9 +750,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/services/authService.ts": {
|
||||
"mtime": 1790682531.2494366,
|
||||
"seen": 1790871818.558754,
|
||||
"ast_hash": "688023b46308c7b74a31657971a87572",
|
||||
"mtime": 1791094775.6047134,
|
||||
"seen": 1793260988.2222908,
|
||||
"ast_hash": "1329bc9ecafda50af7d601a3b3f94d4d",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/services/http.ts": {
|
||||
@@ -780,9 +780,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/stores/auth.ts": {
|
||||
"mtime": 1789822868.3508859,
|
||||
"seen": 1790871818.558761,
|
||||
"ast_hash": "f4a5edc071dbdc180b57ca4df2f5dc73",
|
||||
"mtime": 1791094775.6057134,
|
||||
"seen": 1793260988.2222998,
|
||||
"ast_hash": "072e0d5d72dae0fc0d84fa0417ddb430",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/stores/cart.ts": {
|
||||
@@ -822,9 +822,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/stores/order.ts": {
|
||||
"mtime": 1790871193.251488,
|
||||
"seen": 1790871818.5587697,
|
||||
"ast_hash": "156eb809b7fe1ab6aeadf6d5e29f1342",
|
||||
"mtime": 1793260650.8420675,
|
||||
"seen": 1793260988.2223122,
|
||||
"ast_hash": "3c8790cc9c3e2a9a3d0407c72e2e6dcd",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/stores/theme.ts": {
|
||||
@@ -930,9 +930,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/utils/pendingRegister.ts": {
|
||||
"mtime": 1790682531.2614048,
|
||||
"seen": 1790871818.5587926,
|
||||
"ast_hash": "87f48f112f4e503a2abcfc72d2739b39",
|
||||
"mtime": 1791094772.0306988,
|
||||
"seen": 1793260988.2223449,
|
||||
"ast_hash": "f0858dd70b0682cfa1a65238def05161",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/utils/productAvailability.ts": {
|
||||
@@ -1008,15 +1008,15 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/auth/OtpView.vue": {
|
||||
"mtime": 1790682531.2634008,
|
||||
"seen": 1790871818.5588088,
|
||||
"ast_hash": "bfe54e23dee5963fd06e1abd5991d99f",
|
||||
"mtime": 1791094786.1735728,
|
||||
"seen": 1793260988.2223673,
|
||||
"ast_hash": "faa34d1d580872efaa7e1a144bae2d48",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/auth/RegisterView.vue": {
|
||||
"mtime": 1790682531.2643971,
|
||||
"seen": 1790871818.55881,
|
||||
"ast_hash": "a4d625c373ac790fb2cbcdc8ee2c3b75",
|
||||
"mtime": 1791094807.5828264,
|
||||
"seen": 1793260988.2223687,
|
||||
"ast_hash": "ca1bb22f577e0aa6d39349e2718da707",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/auth/WelcomeView.vue": {
|
||||
@@ -1026,9 +1026,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/cart/CartView.vue": {
|
||||
"mtime": 1790682531.2898407,
|
||||
"seen": 1790871818.558815,
|
||||
"ast_hash": "70425062ae4a951b20b9f0e928e2f41f",
|
||||
"mtime": 1793260655.8939838,
|
||||
"seen": 1793260988.222372,
|
||||
"ast_hash": "631786e9726515572b28a92808f0df79",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/cart/components/DesktopCartPage.vue": {
|
||||
@@ -1044,9 +1044,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/catalogs/CatalogDetailView.vue": {
|
||||
"mtime": 1790871781.3510897,
|
||||
"seen": 1790871818.5588188,
|
||||
"ast_hash": "55ab134b29253d89d9f832a0a572e6f2",
|
||||
"mtime": 1790871829.4996395,
|
||||
"seen": 1793260988.2223775,
|
||||
"ast_hash": "d5d260018d4f9f9c4527daca91e06b91",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/catalogs/CatalogListView.vue": {
|
||||
@@ -1176,15 +1176,15 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/orders/components/DesktopOrdersPage.vue": {
|
||||
"mtime": 1789563978.9740322,
|
||||
"seen": 1790871818.558847,
|
||||
"ast_hash": "3b547b1c4feaee7f5dfdcde1b911def0",
|
||||
"mtime": 1793260905.1132503,
|
||||
"seen": 1793260988.2224283,
|
||||
"ast_hash": "09791ddbeadfd6928b891aa21a7c18b4",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/orders/components/MobileOrdersPage.vue": {
|
||||
"mtime": 1788874111.0517025,
|
||||
"seen": 1790871818.5588481,
|
||||
"ast_hash": "b407a07c4aca1250973c2d510af1535f",
|
||||
"mtime": 1793260896.9107795,
|
||||
"seen": 1793260988.2224298,
|
||||
"ast_hash": "d22dddd03e898de53721187c3def0b53",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/products/FavoritesView.vue": {
|
||||
@@ -1242,9 +1242,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/profile/ProfileEditView.vue": {
|
||||
"mtime": 1790838864.4468591,
|
||||
"seen": 1790871818.5588608,
|
||||
"ast_hash": "19592d058290754823d4be6d1719760d",
|
||||
"mtime": 1791095561.054896,
|
||||
"seen": 1793260988.2224479,
|
||||
"ast_hash": "cb1982dcdc2354e33bee267d217dc4db",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/profile/ProfileNotificationsView.vue": {
|
||||
@@ -1266,9 +1266,9 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/profile/components/DesktopProfilePage.vue": {
|
||||
"mtime": 1790791445.7824066,
|
||||
"seen": 1790871818.5588663,
|
||||
"ast_hash": "c7773ac0d2db1db684c1467747f017cb",
|
||||
"mtime": 1791095569.6315067,
|
||||
"seen": 1793260988.2224545,
|
||||
"ast_hash": "9426a9af565285b4654a6aac627869e5",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/views/profile/components/MobileProfilePage.vue": {
|
||||
@@ -1528,5 +1528,17 @@
|
||||
"seen": 1790871818.55893,
|
||||
"ast_hash": "9c3245d1ffc22e10cc936a7bef715c1e",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/composables/presentBroadcastNotifications.ts": {
|
||||
"mtime": 1790874231.0433404,
|
||||
"seen": 1793260988.222256,
|
||||
"ast_hash": "e32c73df75a0fb1b15690dabc900ead8",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/utils/orderFabric.ts": {
|
||||
"mtime": 1793260890.9607427,
|
||||
"seen": 1793260988.222338,
|
||||
"ast_hash": "f2566faeeb351dbefe2ec1cb8b36da90",
|
||||
"semantic_hash": ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user