2026-10-29 15:26:08 +03:30
# Graph Report - fabric-nademitex_user (2026-10-29)
2026-10-01 20:51:37 +03:30
## Corpus Check
2026-10-29 15:26:08 +03:30
- 224 files · ~295,505 words
2026-10-01 20:51:37 +03:30
- 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
2026-10-29 15:26:08 +03:30
- 1653 nodes · 3407 edges · 104 communities (92 shown, 12 thin omitted)
2026-10-01 20:51:37 +03:30
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 57 edges (avg confidence: 0.85)
- Token cost: 0 input · 0 output
## Graph Freshness
2026-10-29 15:26:08 +03:30
- Built from commit: `5141ce80`
2026-10-01 20:51:37 +03:30
- 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
2026-10-29 15:26:08 +03:30
- LatestCatalogRequestStatusView.vue
2026-10-01 20:51:37 +03:30
- HomeView.vue
- OrderDetailView.vue
- ProductDetailView.vue
- CheckFormView.vue
- CustomerDetailView.vue
- CustomerCreateForm.vue
- PersianDateInput.vue
- CatalogDetailView.vue
- TimeInput.vue
- RemindersView.vue
2026-10-29 15:26:08 +03:30
- ReminderDetailView.vue
- orderInvoice.ts
2026-10-01 20:51:37 +03:30
- MobileProfilePage.vue
- AppSelect.vue
- OtpView.vue
- ProfileEditView.vue
- useOrderList.ts
- DesktopProfilePage.vue
- vue-router
- MeetingReportForm.vue
- package.json
2026-10-29 15:26:08 +03:30
- BasicIcon.vue
2026-10-01 20:51:37 +03:30
- format.ts
2026-10-29 15:26:08 +03:30
- ProfileNotificationsView.vue
- useAuthStore
2026-10-01 20:51:37 +03:30
- CustomersView.vue
- devDependencies
- serve-user.mjs
- RegisterView.vue
- AddressesView.vue
- stores/crm.ts
- AppSlotBanner.vue
- navigation.ts
- orderTracking.ts
- CheckListView.vue
- CashSettlementView.vue
2026-10-29 15:26:08 +03:30
- PageHeader.vue
2026-10-01 20:51:37 +03:30
- CategoriesView.vue
2026-10-29 15:26:08 +03:30
- checkRass.ts
- CompanySelectView.vue
- DesktopOrdersPage.vue
2026-10-01 20:51:37 +03:30
- BaseButton.vue
2026-10-29 15:26:08 +03:30
- useAppToast.ts
2026-10-01 20:51:37 +03:30
- CatalogsHubView.vue
- FavoritesView.vue
- HomeSuggestionsSection.vue
- LoginView.vue
- ProductOrderModal.vue
- DesktopHeader.vue
- SupportWidget.vue
- catalogGallery.ts
2026-10-29 15:26:08 +03:30
- hasFieldErrors
- order.ts
- types/index.ts
- usePublicContact.ts
2026-10-01 20:51:37 +03:30
- scripts
- main.ts
- caliteCollections.ts
- WelcomeView.vue
2026-10-29 15:26:08 +03:30
- SettlementTypeView.vue
- OrderTrackingSummary.vue
- jalali.ts
2026-10-01 20:51:37 +03:30
- http.ts
- ProfileDisplayView.vue
- fabric-trade
- App.vue
2026-10-29 15:26:08 +03:30
- LatestOrderStatusView.vue
2026-10-01 20:51:37 +03:30
- useConfirm.ts
- dependencies
- tsconfig.app.json
2026-10-29 15:26:08 +03:30
- auth.ts
2026-10-01 20:51:37 +03:30
- formatNumber
- useProductOrdering
2026-10-29 15:26:08 +03:30
- types/crm.ts
- catalogRequests.ts
2026-10-01 20:51:37 +03:30
- .oxlintrc.json
2026-10-29 15:26:08 +03:30
- router/index.ts
2026-10-01 20:51:37 +03:30
- useCatalogRequest
- vite.config.ts
- AddressCompletionModal.vue
- MeetingReportOverlay.vue
- buildProductsQuery
- .prettierrc.json
2026-10-29 15:26:08 +03:30
- CartView.vue
2026-10-01 20:51:37 +03:30
- useSlotBanners.ts
- storage.ts
- entrypoint.sh
2026-10-29 15:26:08 +03:30
- MeterageBar.vue
- vue
2026-10-01 20:51:37 +03:30
- tsconfig.json
- unocss
2026-10-29 15:26:08 +03:30
- SimpleStatusTimeline.vue
- catalogCategories.ts
- isProductUnavailable
- useTouchSwipe
- categoryIconOf
- CapacitySummary.vue
- bannerCopy
2026-10-01 20:51:37 +03:30
## God Nodes (most connected - your core abstractions)
1. `vue` - 90 edges
2. `vue-router` - 56 edges
3. `router` - 35 edges
2026-10-29 15:26:08 +03:30
4. `useAuthStore` - 34 edges
2026-10-01 20:51:37 +03:30
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]
2026-10-29 15:26:08 +03:30
src/stores/favorites.ts → src/components/ui/AppSelect.vue
2026-10-01 20:51:37 +03:30
- `useCartStore` --indirect_call--> `selectCompany()` [INFERRED]
2026-10-29 15:26:08 +03:30
src/stores/cart.ts → src/views/companies/CompanySelectView.vue
2026-10-01 20:51:37 +03:30
- `useCatalogRequestsStore` --indirect_call--> `statusLabel()` [INFERRED]
2026-10-29 15:26:08 +03:30
src/stores/catalogRequests.ts → src/views/customers/CustomersView.vue
2026-10-01 20:51:37 +03:30
- `goCta()` --calls--> `followBannerLink()` [EXTRACTED]
2026-10-29 15:26:08 +03:30
src/components/banners/AppSlotBanner.vue → src/utils/bannerLink.ts
2026-10-01 20:51:37 +03:30
- `onBannerSurfaceClick()` --calls--> `followBannerLink()` [EXTRACTED]
2026-10-29 15:26:08 +03:30
src/components/banners/AppSlotBanner.vue → src/utils/bannerLink.ts
2026-10-01 20:51:37 +03:30
## Import Cycles
- None detected.
2026-10-29 15:26:08 +03:30
## Communities (104 total, 12 thin omitted)
2026-10-01 20:51:37 +03:30
### Community 0 - "ProductsView.vue"
Cohesion: 0.04
2026-10-29 15:26:08 +03:30
Nodes (35): bannerImageLink, bannerImageUrl, { banners: productsHeroBanners }, bannerStyle, categoryFilterOptions, categoryId, companyId, crm (+27 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### 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)
2026-10-01 20:51:37 +03:30
### 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
2026-10-29 15:26:08 +03:30
Nodes (28): canSubmitCashReceipt(), getStatusHero(), getTrackingFooterLabel(), bankAccountOptions, bankAccounts, destinationAccountId, fieldErrors, formError (+20 more)
2026-10-01 20:51:37 +03:30
### 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
2026-10-29 15:26:08 +03:30
Nodes (36): parseFormattedNumber(), fileToBase64(), validateImageFile(), validateNationalId(), validateSayadId(), amount, backImage, bankName (+28 more)
2026-10-01 20:51:37 +03:30
### Community 6 - "CustomerDetailView.vue"
Cohesion: 0.06
Nodes (27): agentCode, agentInitial, agentName, auth, closeEdit(), closeMeetingReport(), crm, customer (+19 more)
### Community 7 - "CustomerCreateForm.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.12
Nodes (16): auth, businessName, crm, emit, fieldErrors, firstName, formError, isEdit() (+8 more)
2026-10-01 20:51:37 +03:30
### Community 8 - "PersianDateInput.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.16
Nodes (15): closeCalendar(), emit, isOpen, isToday(), onDocumentClick(), props, rootRef, selectDay() (+7 more)
2026-10-01 20:51:37 +03:30
### Community 9 - "CatalogDetailView.vue"
Cohesion: 0.08
2026-10-29 15:26:08 +03:30
Nodes (25): demoProductsFor(), findMockCalite(), catalogLatinName(), adding, appToast, cartStore, catalog, catalogId (+17 more)
2026-10-01 20:51:37 +03:30
### 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)
2026-10-29 15:26:08 +03:30
### Community 12 - "ReminderDetailView.vue"
2026-10-01 20:51:37 +03:30
Cohesion: 0.10
2026-10-29 15:26:08 +03:30
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)
2026-10-01 20:51:37 +03:30
### Community 14 - "MobileProfilePage.vue"
2026-10-29 15:26:08 +03:30
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)
2026-10-01 20:51:37 +03:30
### 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"
2026-10-29 15:26:08 +03:30
Cohesion: 0.08
Nodes (25): fileToProfileAvatar(), readFileAsDataUrl(), resizeDataUrl(), router, address, agentReferralCode, auth, avatarUrl (+17 more)
2026-10-01 20:51:37 +03:30
### Community 18 - "useOrderList.ts"
2026-10-29 15:26:08 +03:30
Cohesion: 0.13
2026-10-01 20:51:37 +03:30
Nodes (16): useOrderList(), companySlug(), iconVariant(), CANCELLED_STATUSES, DELIVERED_STATUSES, DesktopOrderFilterId, IN_PROGRESS_STATUSES, matchesDesktopOrderFilter() (+8 more)
### Community 19 - "DesktopProfilePage.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.13
Nodes (13): auth, checksCount, codeLabel, creditBalance, displayEmail, emit, handleSetting(), initials (+5 more)
2026-10-01 20:51:37 +03:30
### Community 20 - "vue-router"
2026-10-29 15:26:08 +03:30
Cohesion: 0.12
2026-10-01 20:51:37 +03:30
Nodes (14): vue-router, navigateToCatalogProduct(), catalogs, catalogStore, company, companyId, loading, openCatalog() (+6 more)
### Community 21 - "MeetingReportForm.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.10
2026-10-01 20:51:37 +03:30
Nodes (19): content, crm, customer, date, emit, error, interactionType, loading (+11 more)
### Community 22 - "package.json"
Cohesion: 0.10
2026-10-29 15:26:08 +03:30
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)
2026-10-01 20:51:37 +03:30
### Community 24 - "format.ts"
2026-10-29 15:26:08 +03:30
Cohesion: 0.22
Nodes (10): formatDate(), formatDateTime(), isJalaliDateString(), numberFormatter, persianDateFormatter, persianDateTimeFormatter, toDateValue(), expiryMessage (+2 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 25 - "ProfileNotificationsView.vue"
Cohesion: 0.22
Nodes (7): AppNotification, NotificationTone, hasUnread, items, notificationStore, router, toneIcons
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 26 - "useAuthStore"
Cohesion: 0.31
Nodes (14): cacheUser(), fetchMe(), getCachedUser(), getCurrentUser(), isAuthenticated(), logout(), PendingOtp, sendOtp() (+6 more)
2026-10-01 20:51:37 +03:30
### Community 27 - "CustomersView.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.09
Nodes (27): CustomerFormInitial, close(), emit, onKeydown(), onSuccess(), props, sheetTitle, activeCount (+19 more)
2026-10-01 20:51:37 +03:30
### 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"
2026-10-29 15:26:08 +03:30
Cohesion: 0.08
Nodes (23): unreadLabel, monthLabel, toPersianDigits(), displayPhone, displayDigit(), timerLabel, acceptedTerms, auth (+15 more)
2026-10-01 20:51:37 +03:30
### Community 31 - "AddressesView.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.12
2026-10-01 20:51:37 +03:30
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"
2026-10-29 15:26:08 +03:30
Cohesion: 0.13
Nodes (14): banner, bannerImageLink, { banners, loading }, bannerStyle, goCta(), index, onBannerSurfaceClick(), { onTouchStart, onTouchEnd } (+6 more)
2026-10-01 20:51:37 +03:30
### Community 34 - "navigation.ts"
2026-10-29 15:26:08 +03:30
Cohesion: 0.07
Nodes (27): cartCount, cartStore, navigate(), route, router, activeCompanyId, cartCount, cartStore (+19 more)
2026-10-01 20:51:37 +03:30
### 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"
2026-10-29 15:26:08 +03:30
Cohesion: 0.17
Nodes (7): accountsSectionTitle, bankAccounts, catalogStore, { orderId, order }, orderStore, paymentRecipientName, router
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 38 - "PageHeader.vue"
Cohesion: 0.14
Nodes (14): @vueuse/core , { isDark }, themeIcon, themeLabel, themeStore, close(), open, save() (+6 more)
2026-10-01 20:51:37 +03:30
### Community 39 - "CategoriesView.vue"
2026-10-29 15:26:08 +03:30
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"
2026-10-01 20:51:37 +03:30
Cohesion: 0.12
2026-10-29 15:26:08 +03:30
Nodes (9): cartStore, catalogStore, companies, displayMeta, { goBack }, loading, router, selectCompany() (+1 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 42 - "DesktopOrdersPage.vue"
2026-10-01 20:51:37 +03:30
Cohesion: 0.20
2026-10-29 15:26:08 +03:30
Nodes (5): matchesSearch(), OrderItem, fabricName(), orderFabricLabel(), emit
2026-10-01 20:51:37 +03:30
### Community 43 - "BaseButton.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.13
Nodes (13): props, resolvedIcon, resolvedMessage, resolvedTitle, variantIcons, variantTitles, CartItem, formatMeterage() (+5 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 44 - "useAppToast.ts"
Cohesion: 0.12
Nodes (14): footerRef, { message, title, tone, clear }, onKeydown(), toneClass, AppToastTone, defaultTitle(), display(), message (+6 more)
2026-10-01 20:51:37 +03:30
### Community 45 - "CatalogsHubView.vue"
Cohesion: 0.12
2026-10-29 15:26:08 +03:30
Nodes (15): filterCatalogGallery(), normalizeCatalogSearchText(), cards, catalogs, catalogStore, crm, filter, filters (+7 more)
2026-10-01 20:51:37 +03:30
### Community 46 - "FavoritesView.vue"
Cohesion: 0.15
2026-10-29 15:26:08 +03:30
Nodes (12): colorSwatchStyle(), colorVariantThumb(), isCssColorToken(), productListThumb(), crm, error, favorites, loading (+4 more)
2026-10-01 20:51:37 +03:30
### Community 47 - "HomeSuggestionsSection.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.13
Nodes (8): favorites, hasItems, props, {
2026-10-01 20:51:37 +03:30
requesting,
addressModalOpen,
addressError,
requestCatalog,
submitAddressAndRequest,
closeAddressModal,
2026-10-29 15:26:08 +03:30
}, requestSwatch(), router, toProductCard(), props
2026-10-01 20:51:37 +03:30
### Community 48 - "LoginView.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.17
Nodes (14): router, normalizePhone(), validatePhone(), auth, fieldErrors, formError, onPhoneBlur(), onPhoneInput() (+6 more)
2026-10-01 20:51:37 +03:30
### Community 49 - "ProductOrderModal.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.24
Nodes (8): emit, estimatedPrice, onKeydown(), props, rollsByColor, submit(), totalMeters, totalRolls
2026-10-01 20:51:37 +03:30
### Community 50 - "DesktopHeader.vue"
Cohesion: 0.15
Nodes (8): authStore, cartStore, companyLabel, initials, logout(), notificationStore, router, showUserMenu
### Community 51 - "SupportWidget.vue"
2026-10-29 15:26:08 +03:30
Cohesion: 0.15
2026-10-01 20:51:37 +03:30
Nodes (10): LINK_ICON, { load, loaded, supportLinks, hasSupportLinks }, onFabKeydown(), open, panelRef, props, rootRef, showWidget (+2 more)
### Community 52 - "catalogGallery.ts"
2026-10-29 15:26:08 +03:30
Cohesion: 0.16
Nodes (16): CatalogProductCard, SeasonKind, buildCatalogGallery(), catalogDisplayTitle(), CatalogGalleryCard, CatalogGalleryFilter, CatalogPatternCard, groupCatalogPatterns() (+8 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 53 - "hasFieldErrors"
2026-10-01 20:51:37 +03:30
Cohesion: 0.18
2026-10-29 15:26:08 +03:30
Nodes (16): clearField(), clearFieldError(), FieldErrors, FORM_VALIDATION_SUMMARY, hasFieldErrors(), clearPhoneError(), clearField(), save() (+8 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 54 - "order.ts"
Cohesion: 0.23
Nodes (11): useCartPage(), proceedAnyway(), proceedToCheckout(), removeItem(), submitOrder(), confirm(), useOrderStore, CashPaymentReceipt (+3 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 55 - "types/index.ts"
Cohesion: 0.20
Nodes (15): ApiCart, companyMeterage(), emptyCart(), uniqueCompanyNames(), useCartStore, useLocalCart(), useCatalogStore, BankAccount (+7 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 56 - "usePublicContact.ts"
Cohesion: 0.21
Nodes (16): emptyContact, ensureLoaded(), state, usePublicContact(), load(), getPublicContact(), mailtoHref(), PublicContact (+8 more)
2026-10-01 20:51:37 +03:30
### 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
2026-10-29 15:26:08 +03:30
### Community 61 - "SettlementTypeView.vue"
Cohesion: 0.13
Nodes (13): formatCurrency(), invoiceLabel, invoiceLabel, { orderId, order }, orderStore, router, formError, invoiceLabel (+5 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 62 - "OrderTrackingSummary.vue"
Cohesion: 0.18
Nodes (14): checksTotal, props, SettlementType, canEnterChecks(), CASH_PAYMENT_STATUSES, isInCashPaymentPhase(), isInCheckPhase(), SETTLEMENT_TYPE_LABELS (+6 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 63 - "jalali.ts"
Cohesion: 0.19
Nodes (14): calendarDays, displayValue, buildCalendarDays(), formatJalaliDate(), formatJalaliLabel(), fromJalali(), getMonthLength(), getPersianWeekday() (+6 more)
2026-10-01 20:51:37 +03:30
### Community 64 - "http.ts"
2026-10-29 15:26:08 +03:30
Cohesion: 0.23
Nodes (10): addressesApi, SavedAddress, ApiError, apiRequest(), buildUrl(), errorMessageFromBody(), getApiBaseUrl(), RequestOptions (+2 more)
2026-10-01 20:51:37 +03:30
### 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"
2026-10-29 15:26:08 +03:30
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)
2026-10-01 20:51:37 +03:30
### 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
2026-10-29 15:26:08 +03:30
### Community 72 - "auth.ts"
Cohesion: 0.22
Nodes (11): pinia, resetBroadcastPresentation(), readLocal(), useFavoritesStore, writeLocal(), User, getPendingRegister(), JOB_CATEGORY_OPTIONS (+3 more)
2026-10-01 20:51:37 +03:30
### 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()
2026-10-29 15:26:08 +03:30
### Community 75 - "types/crm.ts"
Cohesion: 0.17
Nodes (11): AgentProfile, CrmCustomer, CrmMeeting, CrmOrderSummary, CrmReminder, CustomerStatus, CustomerTab, HomeBanner (+3 more)
2026-10-01 20:51:37 +03:30
2026-10-29 15:26:08 +03:30
### Community 76 - "catalogRequests.ts"
Cohesion: 0.24
Nodes (10): CatalogRequest, CatalogRequestItem, CatalogRequestStatus, mapServerRow(), readAll(), SERVER_TO_UI, STATUS_LABELS, useCatalogRequestsStore (+2 more)
2026-10-01 20:51:37 +03:30
### Community 77 - ".oxlintrc.json"
Cohesion: 0.29
Nodes (6): categories, correctness, env, browser, plugins, $schema
2026-10-29 15:26:08 +03:30
### Community 78 - "router/index.ts"
Cohesion: 0.39
Nodes (3): router, router, store
2026-10-01 20:51:37 +03:30
### 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
2026-10-29 15:26:08 +03:30
### 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
2026-10-01 20:51:37 +03:30
### 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
2026-10-29 15:26:08 +03:30
### 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()
2026-10-01 20:51:37 +03:30
## Knowledge Gaps
2026-10-29 15:26:08 +03:30
- **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.)
2026-10-01 20:51:37 +03:30
- **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:_
2026-10-29 15:26:08 +03:30
- **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._
2026-10-01 20:51:37 +03:30
- **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?**
2026-10-29 15:26:08 +03:30
_764 weakly-connected nodes found - possible documentation gaps or missing edges._
2026-10-01 20:51:37 +03:30
- **Should `ProductsView.vue` be split into smaller, more focused modules?**
2026-10-29 15:26:08 +03:30
_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._