feat: enhance domain handling for global representatives
- Updated `getStateInfo` to fetch site context for domains not in city.json, returning `repContext` with representative details. - Implemented caching for site context requests to optimize performance. - Modified doctor and clinic listing pages to pass the `domain` parameter when fetching data for global representatives. - Adjusted metadata generation in layout and pages to reflect representative branding based on `repContext`. - Added documentation for the new functionality in `.claude/prompt/global-rep-domain-site.md`.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# Graph Report - nobat724_front (2026-07-08)
|
||||
# Graph Report - nobat724_front (2026-07-09)
|
||||
|
||||
## Corpus Check
|
||||
- 594 files · ~536,128 words
|
||||
- 595 files · ~537,275 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 2037 nodes · 2019 edges · 373 communities (343 shown, 30 thin omitted)
|
||||
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 98 edges (avg confidence: 0.8)
|
||||
- 2051 nodes · 2034 edges · 374 communities (344 shown, 30 thin omitted)
|
||||
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 99 edges (avg confidence: 0.8)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `ee47b535`
|
||||
- Built from commit: `a56b7e8d`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
@@ -148,9 +148,10 @@
|
||||
- [[_COMMUNITY_Community 370|Community 370]]
|
||||
- [[_COMMUNITY_Community 371|Community 371]]
|
||||
- [[_COMMUNITY_Community 372|Community 372]]
|
||||
- [[_COMMUNITY_Community 373|Community 373]]
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `getStateInfo()` - 23 edges
|
||||
1. `getStateInfo()` - 24 edges
|
||||
2. `🏥 نوبت724 (Nobat724) - سیستم نوبتدهی آنلاین پزشکی` - 19 edges
|
||||
3. `imageUrl()` - 15 edges
|
||||
4. `Dashboard()` - 10 edges
|
||||
@@ -162,8 +163,6 @@
|
||||
10. `Architecture Overview` - 10 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `Dashboard()` --calls--> `safeJsonParse()` [INFERRED]
|
||||
app/dashboard/page.js → lib/sanitize.js
|
||||
- `AboutUsPage()` --calls--> `getStateInfo()` [INFERRED]
|
||||
components/aboutUs/index.js → lib/getStateInfo.js
|
||||
- `ContactUsPage()` --calls--> `getStateInfo()` [INFERRED]
|
||||
@@ -172,11 +171,13 @@
|
||||
components/home/search/index.js → lib/getStateInfo.js
|
||||
- `StLayout()` --calls--> `getStateInfo()` [INFERRED]
|
||||
components/layout/StLayout.js → lib/getStateInfo.js
|
||||
- `generateMetadata()` --calls--> `getStateInfo()` [INFERRED]
|
||||
app/about-us/page.js → lib/getStateInfo.js
|
||||
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Communities (373 total, 30 thin omitted)
|
||||
## Communities (374 total, 30 thin omitted)
|
||||
|
||||
### Community 0 - "Community 0"
|
||||
Cohesion: 0.05
|
||||
@@ -191,8 +192,8 @@ Cohesion: 0.04
|
||||
Nodes (45): dependencies, aos, axios, @casl/ability, @casl/react, date-fns, dayjs, @emotion/cache (+37 more)
|
||||
|
||||
### Community 3 - "Community 3"
|
||||
Cohesion: 0.10
|
||||
Nodes (12): ProvinceContext, ProvinceProvider(), Probe(), useProvince(), Content(), Form(), SubmitData(), EditField() (+4 more)
|
||||
Cohesion: 0.24
|
||||
Nodes (14): getCurrentDomain(), robots(), cityFilterParams(), fetchAllPages(), getBlogUrls(), getCityScope(), getClinicUrls(), getCurrentDomain() (+6 more)
|
||||
|
||||
### Community 4 - "Community 4"
|
||||
Cohesion: 0.07
|
||||
@@ -203,12 +204,12 @@ Cohesion: 0.08
|
||||
Nodes (18): AppointmentList(), ItemAppointment(), AboutDcotor(), DetailDoctor(), Link(), listLink, List(), VAZIR_WEIGHTS (+10 more)
|
||||
|
||||
### Community 6 - "Community 6"
|
||||
Cohesion: 0.15
|
||||
Nodes (8): Dashboard(), metadata, defineAbilitiesFor(), getUser(), buildPatientUser(), getServerAccessToken(), LogIn(), metadata
|
||||
Cohesion: 0.06
|
||||
Nodes (17): Dashboard(), metadata, defineAbilitiesFor(), getUser(), formatToman(), rialToToman(), buildPatientUser(), safeJsonParse() (+9 more)
|
||||
|
||||
### Community 8 - "Community 8"
|
||||
Cohesion: 0.07
|
||||
Nodes (28): devDependencies, babel-plugin-react-compiler, cross-env, eslint, eslint-config-next, @eslint/eslintrc, jsdom, prettier (+20 more)
|
||||
Cohesion: 0.13
|
||||
Nodes (15): devDependencies, babel-plugin-react-compiler, cross-env, eslint, eslint-config-next, @eslint/eslintrc, jsdom, prettier (+7 more)
|
||||
|
||||
### Community 9 - "Community 9"
|
||||
Cohesion: 0.07
|
||||
@@ -291,8 +292,8 @@ Cohesion: 0.12
|
||||
Nodes (16): دیپلوی nobat724_front روی Liara (پلتفرم Next.js), زمینه, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+8 more)
|
||||
|
||||
### Community 29 - "Community 29"
|
||||
Cohesion: 0.13
|
||||
Nodes (8): generateMetadata(), generateMetadata(), Appointment(), metadata, getStateInfo(), ContentLogin(), generateMetadata(), Specialties()
|
||||
Cohesion: 0.12
|
||||
Nodes (10): generateMetadata(), generateMetadata(), Appointment(), metadata, fetchSiteContext(), getStateInfo(), siteContextCache, ContentLogin() (+2 more)
|
||||
|
||||
### Community 30 - "Community 30"
|
||||
Cohesion: 0.12
|
||||
@@ -355,8 +356,8 @@ Cohesion: 0.14
|
||||
Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سختسازی غیرفعالبودن اسلاتهای گذشته در صفحهی نوبت, زمینه, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more)
|
||||
|
||||
### Community 45 - "Community 45"
|
||||
Cohesion: 0.31
|
||||
Nodes (9): generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), Blog(), Doctor(), getBlog, getDoctor (+1 more)
|
||||
Cohesion: 0.25
|
||||
Nodes (12): generateMetadata(), generateMetadata(), RootLayout(), imageUrl(), normalizeBlog(), getRequestOrigin(), safeJsonLd(), Blog() (+4 more)
|
||||
|
||||
### Community 46 - "Community 46"
|
||||
Cohesion: 0.22
|
||||
@@ -379,8 +380,8 @@ Cohesion: 0.15
|
||||
Nodes (12): زمینه, فایلهای مرتبط, مشکل / هدف, نمایش تعداد پزشکان هر تخصص در صفحه /specialties, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+4 more)
|
||||
|
||||
### Community 51 - "Community 51"
|
||||
Cohesion: 0.09
|
||||
Nodes (25): getCurrentDomain(), robots(), cityFilterParams(), fetchAllPages(), getBlogUrls(), getCityScope(), getClinicUrls(), getCurrentDomain() (+17 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (20): ClinicsPage(), ProvinceContext, ProvinceProvider(), Probe(), useProvince(), Content(), Form(), SubmitData() (+12 more)
|
||||
|
||||
### Community 52 - "Community 52"
|
||||
Cohesion: 0.24
|
||||
@@ -463,8 +464,8 @@ Cohesion: 0.22
|
||||
Nodes (7): degree, Form(), gender, degree, Form(), gender, filterList()
|
||||
|
||||
### Community 72 - "Community 72"
|
||||
Cohesion: 0.46
|
||||
Nodes (7): generateMetadata(), buildCanonicalPath(), buildCanonicalUrl(), buildMainCanonicalUrl(), getCanonicalUrl(), getRequestOrigin(), normalizeHost()
|
||||
Cohesion: 0.52
|
||||
Nodes (6): generateMetadata(), buildCanonicalPath(), buildCanonicalUrl(), buildMainCanonicalUrl(), getCanonicalUrl(), normalizeHost()
|
||||
|
||||
### Community 73 - "Community 73"
|
||||
Cohesion: 0.32
|
||||
@@ -484,7 +485,7 @@ Nodes (5): HeadTab(), setNewData(), DetailUser(), Disease(), IsTurnsDetails()
|
||||
|
||||
### Community 79 - "Community 79"
|
||||
Cohesion: 0.17
|
||||
Nodes (5): clearAccessToken(), api, handleSessionExpired(), request, removeToken()
|
||||
Nodes (11): زمینه, سایت دامنه اختصاصی نماینده سراسری — تشخیص دامنه، فیلتر پزشکان/کلینیکها, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more)
|
||||
|
||||
### Community 81 - "Community 81"
|
||||
Cohesion: 0.24
|
||||
@@ -563,8 +564,8 @@ Cohesion: 0.70
|
||||
Nodes (4): generateMetadata(), Clinic(), computeClinicRating(), getClinic
|
||||
|
||||
### Community 366 - "Community 366"
|
||||
Cohesion: 0.50
|
||||
Nodes (3): RootLayout(), safeJsonLd(), safeJsonParse()
|
||||
Cohesion: 0.25
|
||||
Nodes (8): scripts, build, dev, lint, start, test, test:cov, test:watch
|
||||
|
||||
### Community 367 - "Community 367"
|
||||
Cohesion: 0.19
|
||||
@@ -590,25 +591,29 @@ Nodes (3): ModalAddRelatives(), Relatives(), ItemRelatives()
|
||||
Cohesion: 0.40
|
||||
Nodes (3): ModalAddSurgeries(), Surgeries(), ItemSurgeries()
|
||||
|
||||
### Community 373 - "Community 373"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): engines, node, name, private, version
|
||||
|
||||
## Knowledge Gaps
|
||||
- **687 isolated node(s):** `metadata`, `FILTER_KEYS`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData` (+682 more)
|
||||
- **697 isolated node(s):** `metadata`, `FILTER_KEYS`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData` (+692 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **30 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 `getStateInfo()` connect `Community 29` to `Community 0`, `Community 67`, `Community 70`, `Community 6`, `Community 72`, `Community 365`, `Community 45`, `Community 366`, `Community 16`, `Community 14`, `Community 51`, `Community 85`, `Community 86`?**
|
||||
_High betweenness centrality (0.040) - this node is a cross-community bridge._
|
||||
- **Why does `getStateInfo()` connect `Community 29` to `Community 0`, `Community 67`, `Community 70`, `Community 6`, `Community 72`, `Community 365`, `Community 45`, `Community 14`, `Community 16`, `Community 51`, `Community 85`, `Community 86`?**
|
||||
_High betweenness centrality (0.031) - this node is a cross-community bridge._
|
||||
- **Why does `imageUrl()` connect `Community 45` to `Community 0`, `Community 99`, `Community 4`, `Community 7`, `Community 365`, `Community 81`, `Community 55`, `Community 56`, `Community 89`?**
|
||||
_High betweenness centrality (0.039) - this node is a cross-community bridge._
|
||||
- **Why does `Dashboard()` connect `Community 6` to `Community 3`, `Community 70`, `Community 366`, `Community 79`, `Community 29`?**
|
||||
_High betweenness centrality (0.025) - this node is a cross-community bridge._
|
||||
- **Why does `isRootCity()` connect `Community 51` to `Community 3`, `Community 29`?**
|
||||
_High betweenness centrality (0.015) - this node is a cross-community bridge._
|
||||
- **Are the 22 inferred relationships involving `getStateInfo()` (e.g. with `generateMetadata()` and `AboutUsPage()`) actually correct?**
|
||||
_`getStateInfo()` has 22 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **Are the 14 inferred relationships involving `imageUrl()` (e.g. with `generateMetadata()` and `generateMetadata()`) actually correct?**
|
||||
_`imageUrl()` has 14 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **What connects `metadata`, `FILTER_KEYS`, `fallbackLabels` to the rest of the system?**
|
||||
_687 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
_697 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `Community 0` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._
|
||||
Reference in New Issue
Block a user