@prenta/admin 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/__tests__/components/faq-proposal-preview.render.test.d.ts +2 -0
- package/dist/__tests__/components/faq-proposal-preview.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/faq-proposal-preview.render.test.js +97 -0
- package/dist/__tests__/components/faq-proposal-preview.render.test.js.map +1 -0
- package/dist/__tests__/components/seo-issue-fix-panel.render.test.js +37 -11
- package/dist/__tests__/components/seo-issue-fix-panel.render.test.js.map +1 -1
- package/dist/__tests__/lib/seo-service-errors.test.js +3 -0
- package/dist/__tests__/lib/seo-service-errors.test.js.map +1 -1
- package/dist/__tests__/lib/seo-service-geo.test.d.ts +2 -0
- package/dist/__tests__/lib/seo-service-geo.test.d.ts.map +1 -0
- package/dist/__tests__/lib/seo-service-geo.test.js +103 -0
- package/dist/__tests__/lib/seo-service-geo.test.js.map +1 -0
- package/dist/__tests__/lib/seo-service-proposals.test.js +24 -0
- package/dist/__tests__/lib/seo-service-proposals.test.js.map +1 -1
- package/dist/__tests__/router/seo-tab-for-path.test.js +4 -0
- package/dist/__tests__/router/seo-tab-for-path.test.js.map +1 -1
- package/dist/__tests__/views/seo-ai-visibility.render.test.d.ts +2 -0
- package/dist/__tests__/views/seo-ai-visibility.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/seo-ai-visibility.render.test.js +244 -0
- package/dist/__tests__/views/seo-ai-visibility.render.test.js.map +1 -0
- package/dist/__tests__/views/seo-geo-settings-card.render.test.d.ts +2 -0
- package/dist/__tests__/views/seo-geo-settings-card.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/seo-geo-settings-card.render.test.js +227 -0
- package/dist/__tests__/views/seo-geo-settings-card.render.test.js.map +1 -0
- package/dist/__tests__/views/seo-proposals-tab.render.test.js +277 -0
- package/dist/__tests__/views/seo-proposals-tab.render.test.js.map +1 -1
- package/dist/__tests__/views/seo-settings.render.test.js +16 -4
- package/dist/__tests__/views/seo-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/seo-technical-tab.render.test.js +13 -0
- package/dist/__tests__/views/seo-technical-tab.render.test.js.map +1 -1
- package/dist/components/seo/FaqProposalPreview.d.ts +39 -0
- package/dist/components/seo/FaqProposalPreview.d.ts.map +1 -0
- package/dist/components/seo/FaqProposalPreview.js +62 -0
- package/dist/components/seo/FaqProposalPreview.js.map +1 -0
- package/dist/components/seo/SeoIssueFixPanel.d.ts.map +1 -1
- package/dist/components/seo/SeoIssueFixPanel.js +7 -2
- package/dist/components/seo/SeoIssueFixPanel.js.map +1 -1
- package/dist/lib/seo-service.d.ts +155 -2
- package/dist/lib/seo-service.d.ts.map +1 -1
- package/dist/lib/seo-service.js +42 -2
- package/dist/lib/seo-service.js.map +1 -1
- package/dist/prenta-admin.css +1 -1
- package/dist/views/SEO.d.ts +5 -1
- package/dist/views/SEO.d.ts.map +1 -1
- package/dist/views/SEO.js +12 -7
- package/dist/views/SEO.js.map +1 -1
- package/dist/views/seo/AiVisibilityTab.d.ts +4 -0
- package/dist/views/seo/AiVisibilityTab.d.ts.map +1 -0
- package/dist/views/seo/AiVisibilityTab.js +165 -0
- package/dist/views/seo/AiVisibilityTab.js.map +1 -0
- package/dist/views/seo/ProposalsTab.d.ts.map +1 -1
- package/dist/views/seo/ProposalsTab.js +160 -7
- package/dist/views/seo/ProposalsTab.js.map +1 -1
- package/dist/views/seo/TechnicalTab.d.ts +3 -1
- package/dist/views/seo/TechnicalTab.d.ts.map +1 -1
- package/dist/views/seo/TechnicalTab.js +4 -4
- package/dist/views/seo/TechnicalTab.js.map +1 -1
- package/dist/views/settings/SeoAutopilotCard.d.ts.map +1 -1
- package/dist/views/settings/SeoAutopilotCard.js +6 -0
- package/dist/views/settings/SeoAutopilotCard.js.map +1 -1
- package/dist/views/settings/SeoGeoSettingsCard.d.ts +12 -0
- package/dist/views/settings/SeoGeoSettingsCard.d.ts.map +1 -0
- package/dist/views/settings/SeoGeoSettingsCard.js +178 -0
- package/dist/views/settings/SeoGeoSettingsCard.js.map +1 -0
- package/dist/views/settings/SeoSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/SeoSettingsTab.js +2 -1
- package/dist/views/settings/SeoSettingsTab.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/components/faq-proposal-preview.render.test.tsx +137 -0
- package/src/__tests__/components/seo-issue-fix-panel.render.test.tsx +42 -11
- package/src/__tests__/lib/seo-service-errors.test.ts +4 -0
- package/src/__tests__/lib/seo-service-geo.test.ts +118 -0
- package/src/__tests__/lib/seo-service-proposals.test.ts +30 -0
- package/src/__tests__/router/seo-tab-for-path.test.ts +5 -0
- package/src/__tests__/views/seo-ai-visibility.render.test.tsx +279 -0
- package/src/__tests__/views/seo-geo-settings-card.render.test.tsx +253 -0
- package/src/__tests__/views/seo-proposals-tab.render.test.tsx +358 -0
- package/src/__tests__/views/seo-settings.render.test.tsx +28 -7
- package/src/__tests__/views/seo-technical-tab.render.test.tsx +15 -0
- package/src/components/seo/FaqProposalPreview.tsx +134 -0
- package/src/components/seo/SeoIssueFixPanel.tsx +7 -2
- package/src/lib/seo-service.ts +162 -1
- package/src/views/SEO.tsx +15 -6
- package/src/views/seo/AiVisibilityTab.tsx +616 -0
- package/src/views/seo/ProposalsTab.tsx +279 -13
- package/src/views/seo/TechnicalTab.tsx +27 -8
- package/src/views/settings/SeoAutopilotCard.tsx +6 -0
- package/src/views/settings/SeoGeoSettingsCard.tsx +310 -0
- package/src/views/settings/SeoSettingsTab.tsx +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeoSettingsTab.js","sourceRoot":"","sources":["../../../src/views/settings/SeoSettingsTab.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SeoSettingsTab.js","sourceRoot":"","sources":["../../../src/views/settings/SeoSettingsTab.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,EACN,CAAC,GACF,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,6BAA6B,EAC7B,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,2BAA2B,GAG5B,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,GACf,wNAAwN,CAAA;AAC1N,MAAM,WAAW,GAAG,kEAAkE,CAAA;AAEtF,MAAM,gBAAgB,GAAG;IACvB,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,OAAO;CACR,CAAA;AAED,uDAAuD;AACvD,SAAS,YAAY,CAAC,QAAgB,EAAE,QAAgB;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAA;IACjE,MAAM,IAAI,GAA2B;QACnC,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,QAAQ,IAAI,WAAW;QAC7B,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,OAAO;KACb,CAAA;IACD,OAAO,GAAG;SACP,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,IAAI,EAAE,CAAA;AACX,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAuB;IACtE,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAA;IAChC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,eAAW,MAAM,eAAW,QAAQ,aAC5D,eAAM,SAAS,EAAC,SAAS,2CAA6B,EACrD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACvB,eAAa,SAAS,EAAC,6CAA6C,aAClE,cAAK,SAAS,EAAC,8CAA8C,GAAG,EAChE,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,2CAA2C,GAAG,EAC7D,cAAK,SAAS,EAAC,2CAA2C,GAAG,IACzD,KALE,CAAC,CAML,CACP,CAAC,IACE,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,GAAI,EAE9C,GAAG,CAAC,SAAS,IAAI,CAChB,eACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,gHAAgH,aAE1H,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACnE,eAAM,SAAS,EAAC,QAAQ,YAAE,GAAG,CAAC,SAAS,GAAQ,EAC/C,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,SAAS,EAAC,sFAAsF,sBAGzF,IACL,CACP,EAEA,CAAC,OAAO,IAAI,CACX,eAAK,SAAS,EAAC,oGAAoG,aACjH,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,wFAEtD,CACP,EAED,KAAC,yBAAyB,IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAI,EAEhD,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CACd,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,mGAAmG,aAE7G,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,8GAGtE,CACP,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC3C,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,mGAAmG,aAE7G,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,wKAGtE,CACP,CAAC,CAAC,CAAC,IAAI,EAER,KAAC,gBAAgB,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAI,EAChD,KAAC,gBAAgB,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAI,EAChD,KAAC,4BAA4B,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAI,EAC5D,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,GAAI,EACpC,KAAC,kBAAkB,IAAC,OAAO,EAAE,OAAO,GAAI,EACxC,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAI,EAC9D,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,GAAI,EACnC,KAAC,mBAAmB,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAI,EAE3E,mBAAS,SAAS,EAAC,+CAA+C,aAChE,mBAAS,SAAS,EAAC,sGAAsG,aACvH,2DAA8C,EAC9C,eAAM,SAAS,EAAC,6DAA6D,qBAAY,EACzF,eAAM,SAAS,EAAC,oEAAoE,qBAE7E,IACC,EACV,eAAK,SAAS,EAAC,4BAA4B,aACzC,YAAG,SAAS,EAAC,oCAAoC,kJAG7C,EACJ,KAAC,cAAc,KAAG,IACd,IACE,EAET,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,CAC7C,eACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,gHAAgH,aAE1H,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACnE,eAAM,SAAS,EAAC,QAAQ,YAAE,GAAG,CAAC,SAAS,GAAQ,EAC/C,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,CAAC,IAAI,EACjB,SAAS,EAAC,sFAAsF,sBAGzF,IACL,CACP,EAED,KAAC,eAAe,IACd,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,MAAM,EAAE,GAAG,CAAC,IAAI,EAChB,OAAO,EAAE,GAAG,CAAC,KAAK,GAClB,IACE,CACP,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,EAAE,UAAU,EAA2C;IAClF,OAAO,CACL,eAAK,SAAS,EAAC,0EAA0E,aACvF,eAAM,SAAS,EAAC,uFAAuF,YACrG,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,GAClC,EACP,eAAK,SAAS,EAAC,QAAQ,aACrB,YAAG,SAAS,EAAC,uCAAuC,oDAAwC,EAC5F,YAAG,SAAS,EAAC,+BAA+B,0HAGxC,IACA,EACN,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EACnC,SAAS,EAAC,2JAA2J,aAErK,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,gBAEtC,IACL,CACP,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAA6C;IACnF,MAAM,UAAU,GAAG,KAAK,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,KAAK,EAAE,CAAA;IACtB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,wBAAwB,CAAC,CAAA;IAC1E,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAErE,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IACzD,MAAM,cAAc,GAClB,OAAO,GAAG,oBAAoB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,oBAAoB,CAAC;QAC/E,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,uBAAuB,CAAA;IAE7B,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAE3E,OAAO,CACL,MAAC,YAAY,IACX,KAAK,EAAC,eAAe,EACrB,WAAW,EAAC,iGAAiG,aAE7G,eAAK,SAAS,EAAC,WAAW,aAExB,0BACE,iBAAO,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,+BAEhD,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,GAAI,IAC9C,EACR,gBACE,EAAE,EAAE,UAAU,EACd,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,QAAQ,EAAE,CAAC,gBAAgB,EAC3B,WAAW,EAAC,sBAAiB,kBACf,aAAa,EAAE,QAAQ,KAAK,OAAO,EACjD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1D,SAAS,EAAE,WAAW,GACtB,EACF,aAAG,SAAS,EAAC,oCAAoC,yBACtC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,0DACjC,EACH,aAAa,CAAC,CAAC,CAAC,CACf,YAAG,SAAS,EAAC,+BAA+B,YAAE,aAAa,CAAC,OAAO,GAAK,CACzE,CAAC,CAAC,CAAC,CACF,aAAa,CAAC,KAAK,IAAI,CACrB,aAAG,SAAS,EAAC,oCAAoC,yBACtC,GAAG,EACZ,eAAM,SAAS,EAAC,6BAA6B,YAC1C,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC1C,IACL,CACL,CACF,IACG,EAGN,0BACE,iBAAO,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,yCAE5C,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,sBAAsB,GAAI,IACvD,EACR,mBACE,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAClC,QAAQ,EAAE,CAAC,YAAY,sBACL,GAAG,MAAM,QAAQ,EACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACnE,SAAS,EAAE,GAAG,WAAW,WAAW,GACpC,EACF,eAAK,SAAS,EAAC,8CAA8C,aAC3D,YAAG,SAAS,EAAC,+BAA+B,4EAExC,EACJ,gBAAM,EAAE,EAAE,GAAG,MAAM,QAAQ,EAAE,SAAS,EAAE,WAAW,cAAc,EAAE,aAChE,OAAO,OAAG,oBAAoB,IAC1B,IACH,EACL,SAAS,IAAI,YAAG,SAAS,EAAC,2BAA2B,YAAE,SAAS,CAAC,OAAO,GAAK,IAC1E,EAGN,0BACE,gBAAM,SAAS,EAAE,WAAW,2CAE1B,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,cAAc,GAAI,IAChD,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,8GAA8G,YAC1H,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;wCACrB,qDAAqD;wCACrD,cACE,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAC,8BAA8B,EAClC,SAAS,EAAC,4BAA4B,GACtC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,uBAAuB,iBAAa,MAAM,GAAG,CAC7E,GACG,EACN,eAAK,SAAS,EAAC,qBAAqB,aAClC,eAAK,SAAS,EAAC,yBAAyB,aACtC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,CAAC,aAAa,EACxB,SAAS,EAAC,sLAAsL,aAEhM,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,EACtC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAC1C,EACR,IAAI,CAAC,cAAc,IAAI,aAAa,IAAI,CACvC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4DACZ,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;4DAC9B,QAAQ,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;wDAC3C,CAAC,EACD,SAAS,EAAC,8HAA8H,aAExI,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,cAE3B,CACV,IACG,EACN,YAAG,SAAS,EAAC,+BAA+B,0CAAyB,IACjE,IACF,IACF,IACF,EAGN,KAAC,cAAc,IACb,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EACrD,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,qBAAqB,EACzC,WAAW,EACT,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,6CAA6C,EAErF,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ,GACtB,EAEF,KAAC,gBAAgB,IACf,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,MAAM,EAAC,SAAS,EAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAClD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,GACtE,IACW,CAChB,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,GAAG,EACH,WAAW,EACX,KAAK,EACL,QAAQ,GAOT;IACC,OAAO,CACL,eAAK,SAAS,EAAC,4DAA4D,aACzE,eAAK,SAAS,EAAC,qCAAqC,aAClD,YAAG,SAAS,EAAC,wEAAwE,+BAEjF,EACJ,YAAG,SAAS,EAAC,+BAA+B,YAAE,GAAG,GAAK,EACtD,YAAG,SAAS,EAAC,4CAA4C,YAAE,KAAK,GAAK,EACrE,YAAG,SAAS,EAAC,4CAA4C,YAAE,WAAW,GAAK,IACvE,EACN,eAAK,SAAS,EAAC,iDAAiD,aAC9D,cAAK,SAAS,EAAC,2DAA2D,YACvE,KAAK,CAAC,CAAC,CAAC;wBACP,qDAAqD;wBACrD,cAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC,sBAAsB,EAAC,SAAS,EAAC,4BAA4B,GAAG,CACtF,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,uBAAuB,iBAAa,MAAM,GAAG,CAC7E,GACG,EACN,eAAK,SAAS,EAAC,KAAK,aAClB,YAAG,SAAS,EAAC,kDAAkD,YAC5D,QAAQ,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAChC,EACJ,YAAG,SAAS,EAAC,8CAA8C,YAAE,KAAK,GAAK,EACvE,YAAG,SAAS,EAAC,4CAA4C,YAAE,WAAW,GAAK,IACvE,IACF,IACF,CACP,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAA6C;IACnF,MAAM,MAAM,GAAG,KAAK,EAAE,CAAA;IACtB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAA;IACrB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,CAAC,CAAA;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,CAAC,CAAA;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,oBAAoB,CAAC,CAAA;IAExE,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAC5E,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAA;IAEhF,OAAO,CACL,MAAC,YAAY,IACX,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,0HAA0H,aAEtI,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,iBAAO,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,kCAE5C,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,GAAI,IACjD,EACR,gBACE,EAAE,EAAE,MAAM,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAC5B,QAAQ,EAAE,CAAC,YAAY,EACvB,WAAW,EAAE,QAAQ,IAAI,mBAAmB,EAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7D,SAAS,EAAE,WAAW,GACtB,EACF,YAAG,SAAS,EAAC,oCAAoC,oDAAwC,EACxF,SAAS,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAE,SAAS,CAAC,OAAO,GAAK,IAC9E,EAEN,0BACE,iBAAO,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,iCAE3C,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,eAAe,GAAI,IAChD,EACR,gBACE,EAAE,EAAE,KAAK,EACT,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,QAAQ,EAAE,CAAC,WAAW,EACtB,WAAW,EAAE,OAAO,IAAI,qBAAqB,kBAC/B,QAAQ,EAAE,QAAQ,KAAK,OAAO,EAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5D,SAAS,EAAE,WAAW,GACtB,EACF,YAAG,SAAS,EAAC,oCAAoC,oFAE7C,EACH,QAAQ,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAE,QAAQ,CAAC,OAAO,GAAK,IAC5E,EAEN,0BACE,gBAAM,SAAS,EAAE,WAAW,kCAE1B,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,GAAI,IAClD,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,8GAA8G,YAC1H,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;wCACvB,qDAAqD;wCACrD,cACE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAC1B,GAAG,EAAC,2BAA2B,EAC/B,SAAS,EAAC,kCAAkC,GAC5C,CACH,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,uBAAuB,iBAAa,MAAM,GAAG,CAC7E,GACG,EACN,eAAK,SAAS,EAAC,qBAAqB,aAClC,eAAK,SAAS,EAAC,yBAAyB,aACtC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,CAAC,YAAY,EACvB,SAAS,EAAC,sLAAsL,aAEhM,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,EACtC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,IAChD,EACR,IAAI,CAAC,gBAAgB,IAAI,YAAY,IAAI,CACxC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAC/C,SAAS,EAAC,8HAA8H,aAExI,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,cAE3B,CACV,IACG,EACN,YAAG,SAAS,EAAC,+BAA+B,+CAAmC,IAC3E,IACF,EACL,SAAS,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAE,SAAS,CAAC,OAAO,GAAK,IAC9E,EAEN,0BACE,iBAAO,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,yCAE9C,KAAC,mBAAmB,IAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,GAAI,IACnD,EACR,mBACE,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,QAAQ,EAAE,CAAC,cAAc,EACzB,WAAW,EAAE,yEAAyE,kBACxE,WAAW,EAAE,QAAQ,KAAK,OAAO,EAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/D,SAAS,EAAE,GAAG,WAAW,6BAA6B,GACtD,EACF,YAAG,SAAS,EAAC,oCAAoC,uFAE7C,EACH,WAAW,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,CAAC,OAAO,GAAK,IAClF,IACF,EAEN,KAAC,gBAAgB,IACf,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,MAAM,EAAC,SAAS,EAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,GACpD,IACW,CAChB,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,GAQT;IACC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IACxC,OAAO,CACL,0BACE,iBAAO,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,aACvC,KAAK,EACL,QAAQ,IAAI,CACX,gBAAM,SAAS,EAAC,qHAAqH,aACnI,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,cAAc,iBAAa,MAAM,GAAG,aAEjE,CACR,IACK,EACR,gBACE,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,MAAM,EACX,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,SAAS,EAAE,WAAW,GACtB,IACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,EAAE,GAAG,EAAE,OAAO,EAA6C;IAC/F,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,GAA0B,EAAE,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAc,CAAC,CAAA;IAE7F,OAAO,CACL,MAAC,YAAY,IACX,KAAK,EAAC,4BAA4B,EAClC,WAAW,EAAC,mIAA8H,aAE1I,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,iBAAiB,IAChB,KAAK,EAAC,uBAAuB,EAC7B,KAAK,EAAC,oBAAoB,EAC1B,WAAW,EAAC,gCAA2B,EACvC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,OAAO,GAClB,EACF,KAAC,iBAAiB,IAChB,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAC,qBAAgB,EAC5B,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,OAAO,GAClB,IACE,EAEN,mBAAS,SAAS,EAAC,YAAY,aAC7B,mBAAS,SAAS,EAAC,6DAA6D,aAC9E,eAAM,SAAS,EAAC,mBAAmB,+BAAsB,EACzD,eAAM,SAAS,EAAC,0BAA0B,gCAAuB,IACzD,EACV,eAAK,SAAS,EAAC,gBAAgB,aAC7B,KAAC,iBAAiB,IAChB,KAAK,EAAC,QAAQ,EACd,KAAK,EAAC,oBAAoB,EAC1B,WAAW,EAAC,2BAAsB,EAClC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,OAAO,GAClB,EACF,KAAC,iBAAiB,IAChB,KAAK,EAAC,WAAW,EACjB,KAAK,EAAC,uBAAuB,EAC7B,WAAW,EAAC,uBAAkB,EAC9B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,OAAO,GAClB,EACF,KAAC,iBAAiB,IAChB,KAAK,EAAC,8BAA8B,EACpC,KAAK,EAAC,4BAA4B,EAClC,WAAW,EAAC,oCAA+B,EAC3C,KAAK,EAAE,IAAI,CAAC,0BAA0B,EACtC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,OAAO,GAClB,IACE,IACE,IACG,CAChB,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,EAC3B,GAAG,EACH,OAAO,EACP,UAAU,GAKX;IACC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;IAE/F,SAAS,mBAAmB,CAAC,KAAc;QACzC,0EAA0E;QAC1E,IAAI,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC;YAC3B,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,EAAE,eAAe;QAC5C,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE;QACpD,CAAC,CAAC,OAAO,CAAA;IAEX,OAAO,CACL,MAAC,YAAY,IACX,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,kFAAkF,aAE7F,CAAC,OAAO,IAAI,CACX,eAAK,SAAS,EAAC,wGAAwG,aACrH,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,oGAEtE,CACP,EAED,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,iBAAiB,IAChB,KAAK,EAAC,2BAA2B,EACjC,WAAW,EAAC,oDAAoD,EAChE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,QAAQ,EAAE,CAAC,OAAO,EAClB,QAAQ,EAAE,mBAAmB,GAC7B,EACF,KAAC,iBAAiB,IAChB,KAAK,EAAC,gCAAgC,EACtC,WAAW,EAAC,kDAAkD,EAC9D,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,GAC7C,IACE,EAEN,eAAK,SAAS,EAAC,4CAA4C,aACzD,eAAK,SAAS,EAAC,iDAAiD,aAC9D,eAAM,SAAS,EAAC,uBAAuB,4BAAmB,EACzD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CACrB,aACE,IAAI,EAAE,OAAO,CAAC,UAAU,EACxB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,EAChB,SAAS,EAAC,uEAAuE,6BAGjF,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,IAC3C,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,6BAA6B,6BAAoB,CAClE,IACG,EACN,KAAC,UAAU,IAAC,KAAK,EAAC,gBAAgB,EAAC,KAAK,EAAE,aAAa,GAAI,EAC3D,KAAC,UAAU,IAAC,KAAK,EAAC,eAAe,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,GAAG,CAAC,GAAI,EAClF,KAAC,UAAU,IAAC,KAAK,EAAC,eAAe,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,GAAG,CAAC,GAAI,EAClF,eAAK,SAAS,EAAC,8CAA8C,aAC3D,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,CAAC,OAAO,IAAI,YAAY,EAClC,SAAS,EAAC,sLAAsL,aAE/L,YAAY,CAAC,CAAC,CAAC,CACd,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,cAAc,iBAAa,MAAM,GAAG,CAClE,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,CAC3C,sBAEM,EACR,UAAU,IAAI,CACb,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAC/C,SAAS,EAAC,oCAAoC,+CAGvC,CACV,IACG,IACF,EAEN,KAAC,6BAA6B,IAC5B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAC,iDAAiD,EACvD,WAAW,EAAC,6GAA6G,EACzH,YAAY,EAAC,UAAU,EACvB,SAAS,EAAE,GAAG,EAAE;oBACd,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;oBACtC,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,GACxC,IACW,CAChB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC;IACpE,OAAO,CACL,eAAK,SAAS,EAAC,iDAAiD,aAC9D,eAAM,SAAS,EAAC,uBAAuB,YAAE,KAAK,GAAQ,EACtD,eAAM,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAQ,IACxD,CACP,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prenta/admin",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"typescript": "^5.7.0",
|
|
100
100
|
"vitest": "^4.1.0",
|
|
101
101
|
"@prenta/component-blocks": "0.3.1",
|
|
102
|
-
"@prenta/core": "5.
|
|
102
|
+
"@prenta/core": "5.10.0",
|
|
103
103
|
"@prenta/plugin-ai": "1.0.0",
|
|
104
104
|
"@prenta/plugin-blocks": "0.2.0",
|
|
105
105
|
"@prenta/plugin-commerce": "0.2.1",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"@prenta/plugin-media": "0.2.0",
|
|
108
108
|
"@prenta/plugin-navigation": "0.3.0",
|
|
109
109
|
"@prenta/plugin-seo": "0.1.2",
|
|
110
|
-
"@prenta/sections-react": "0.17.
|
|
110
|
+
"@prenta/sections-react": "0.17.40"
|
|
111
111
|
},
|
|
112
112
|
"scripts": {
|
|
113
113
|
"build": "tsc --project tsconfig.json && npx @tailwindcss/cli -i src/styles/build-input.css -o dist/prenta-admin.css --minify",
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// @vitest-environment happy-dom
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest'
|
|
3
|
+
import { fireEvent, render, screen } from '@testing-library/react'
|
|
4
|
+
import {
|
|
5
|
+
FAQ_MIN_SELECTED,
|
|
6
|
+
FaqProposalPreview,
|
|
7
|
+
faqDraftBlocker,
|
|
8
|
+
faqSignalLine,
|
|
9
|
+
type FaqProposalPreviewProps,
|
|
10
|
+
} from '../../components/seo/FaqProposalPreview.js'
|
|
11
|
+
|
|
12
|
+
const items = [
|
|
13
|
+
{
|
|
14
|
+
question: 'How long does it take?',
|
|
15
|
+
answer: 'Three to five days.',
|
|
16
|
+
sourceQuote: 'take three to five days',
|
|
17
|
+
},
|
|
18
|
+
{ question: 'Can I finance?', answer: 'Yes, zero down.', sourceQuote: 'zero down' },
|
|
19
|
+
{ question: 'Warranty?', answer: '25 years.', sourceQuote: '25-year' },
|
|
20
|
+
]
|
|
21
|
+
const signals = {
|
|
22
|
+
geo: { referralVisits: 14, retrievalHits: 0, engines: ['chatgpt'] },
|
|
23
|
+
queries: [{ query: 'how long does it take', impressions: 120, clicks: 3 }],
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function setup(selected = [true, true, true], over: Partial<FaqProposalPreviewProps> = {}) {
|
|
27
|
+
const onToggle = vi.fn()
|
|
28
|
+
const onHeadingChange = vi.fn()
|
|
29
|
+
render(
|
|
30
|
+
<FaqProposalPreview
|
|
31
|
+
heading="Questions"
|
|
32
|
+
items={items}
|
|
33
|
+
signals={signals}
|
|
34
|
+
selected={selected}
|
|
35
|
+
onToggle={onToggle}
|
|
36
|
+
headingValue="Questions"
|
|
37
|
+
onHeadingChange={onHeadingChange}
|
|
38
|
+
{...over}
|
|
39
|
+
/>,
|
|
40
|
+
)
|
|
41
|
+
return { onToggle, onHeadingChange }
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
describe('FaqProposalPreview', () => {
|
|
45
|
+
it('renders every Q&A with its source quote and a labelled checkbox', () => {
|
|
46
|
+
setup()
|
|
47
|
+
expect(screen.getAllByRole('checkbox')).toHaveLength(3)
|
|
48
|
+
expect(screen.getByRole('checkbox', { name: /How long does it take\?/ })).toHaveProperty(
|
|
49
|
+
'checked',
|
|
50
|
+
true,
|
|
51
|
+
)
|
|
52
|
+
expect(screen.getByText('Three to five days.')).toBeTruthy()
|
|
53
|
+
expect(screen.getByText(/take three to five days/)).toBeTruthy()
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
it('shows the signal line', () => {
|
|
57
|
+
setup()
|
|
58
|
+
expect(screen.getByText(/Cited by chatgpt 14×/)).toBeTruthy()
|
|
59
|
+
expect(screen.getByText(/"how long does it take"/)).toBeTruthy()
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
it('calls onToggle with the index and onHeadingChange with the value', () => {
|
|
63
|
+
const { onToggle, onHeadingChange } = setup()
|
|
64
|
+
fireEvent.click(screen.getByRole('checkbox', { name: /Warranty\?/ }))
|
|
65
|
+
expect(onToggle).toHaveBeenCalledWith(2)
|
|
66
|
+
fireEvent.change(screen.getByLabelText('Section heading'), {
|
|
67
|
+
target: { value: 'Top questions' },
|
|
68
|
+
})
|
|
69
|
+
expect(onHeadingChange).toHaveBeenCalledWith('Top questions')
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
it('warns when fewer than two items are selected', () => {
|
|
73
|
+
setup([true, false, false])
|
|
74
|
+
expect(screen.getByRole('status').textContent).toBe(
|
|
75
|
+
`Select at least ${FAQ_MIN_SELECTED} questions to approve (1 selected).`,
|
|
76
|
+
)
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
it('reports how many questions will be added when the draft is approvable', () => {
|
|
80
|
+
setup([true, true, false])
|
|
81
|
+
expect(screen.getByRole('status').textContent).toBe('2 of 3 questions will be added.')
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
it('treats a blank heading as "use the drafted heading", not a blocker', () => {
|
|
85
|
+
setup([true, true, true], { headingValue: ' ' })
|
|
86
|
+
expect(screen.getByRole('status').textContent).toBe('3 of 3 questions will be added.')
|
|
87
|
+
expect(screen.getByLabelText('Section heading')).toHaveProperty('placeholder', 'Questions')
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
it('renders no source line for an item without a quote', () => {
|
|
91
|
+
setup([true, true], {
|
|
92
|
+
items: [
|
|
93
|
+
{ question: 'Q1?', answer: 'A1.', sourceQuote: '' },
|
|
94
|
+
{ question: 'Q2?', answer: 'A2.' },
|
|
95
|
+
],
|
|
96
|
+
})
|
|
97
|
+
expect(screen.queryByText(/^Source:/)).toBeNull()
|
|
98
|
+
expect(screen.queryByText(/“”/)).toBeNull()
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
it('omits the signal line when there are no signals', () => {
|
|
102
|
+
setup([true, true, true], { signals: null })
|
|
103
|
+
expect(screen.queryByText(/Cited by|Fetched by|asked/)).toBeNull()
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
it('disables the heading field and every checkbox when disabled', () => {
|
|
107
|
+
setup([true, true, true], { disabled: true })
|
|
108
|
+
expect(screen.getByLabelText('Section heading')).toHaveProperty('disabled', true)
|
|
109
|
+
for (const box of screen.getAllByRole('checkbox')) expect(box).toHaveProperty('disabled', true)
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
describe('faqSignalLine', () => {
|
|
114
|
+
it('prefers referral citations, then retrieval fetches, then the top query', () => {
|
|
115
|
+
expect(faqSignalLine(signals)).toBe(
|
|
116
|
+
'Cited by chatgpt 14× in 28 days · asked "how long does it take" 120× on Google',
|
|
117
|
+
)
|
|
118
|
+
expect(
|
|
119
|
+
faqSignalLine({ geo: { referralVisits: 0, retrievalHits: 40, engines: [] }, queries: [] }),
|
|
120
|
+
).toBe('Fetched by AI engines 40× in 28 days')
|
|
121
|
+
expect(
|
|
122
|
+
faqSignalLine({ geo: null, queries: [{ query: 'why', impressions: 9, clicks: 0 }] }),
|
|
123
|
+
).toBe('asked "why" 9× on Google')
|
|
124
|
+
expect(faqSignalLine({ geo: null, queries: [] })).toBeNull()
|
|
125
|
+
expect(faqSignalLine(null)).toBeNull()
|
|
126
|
+
})
|
|
127
|
+
})
|
|
128
|
+
|
|
129
|
+
describe('faqDraftBlocker', () => {
|
|
130
|
+
it('blocks only on too few selected items', () => {
|
|
131
|
+
expect(faqDraftBlocker([true, false, false])).toBe(
|
|
132
|
+
`Select at least ${FAQ_MIN_SELECTED} questions to approve (1 selected).`,
|
|
133
|
+
)
|
|
134
|
+
expect(faqDraftBlocker([false, false, false])).toMatch(/\(0 selected\)/)
|
|
135
|
+
expect(faqDraftBlocker([true, true, false])).toBeNull()
|
|
136
|
+
})
|
|
137
|
+
})
|
|
@@ -27,21 +27,45 @@ const orphanIssue: SeoIssue = {
|
|
|
27
27
|
resolvedAt: null,
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
const faqSchemaIssue: SeoIssue = {
|
|
31
|
+
...orphanIssue,
|
|
32
|
+
id: 'iss-faq-schema',
|
|
33
|
+
entityTitle: 'Pricing',
|
|
34
|
+
url: '/pricing',
|
|
35
|
+
category: 'schema',
|
|
36
|
+
type: 'faq-schema-missing',
|
|
37
|
+
title: 'FAQ section without FAQPage schema',
|
|
38
|
+
fixActionType: 'edit-schema',
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const fetchSuggestionMock = vi.fn(async (issueId: string) => ({
|
|
42
|
+
suggestion:
|
|
43
|
+
issueId === faqSchemaIssue.id
|
|
44
|
+
? {
|
|
45
|
+
autoFixable: true,
|
|
46
|
+
source: 'deterministic',
|
|
47
|
+
// Metadata/schema fixes carry no strategy — only redirects do.
|
|
48
|
+
fingerprint: 'fp-faq',
|
|
49
|
+
patch: { structuredData: {} },
|
|
50
|
+
changes: [],
|
|
51
|
+
justification: 'Adds a FAQPage node.',
|
|
52
|
+
}
|
|
53
|
+
: {
|
|
54
|
+
autoFixable: true,
|
|
55
|
+
source: 'deterministic',
|
|
56
|
+
fixStrategy: 'insert-link',
|
|
57
|
+
fingerprint: 'fp-insert',
|
|
58
|
+
patch: {},
|
|
59
|
+
changes: [],
|
|
60
|
+
justification: 'Add an inbound link from a related page.',
|
|
61
|
+
},
|
|
62
|
+
}))
|
|
63
|
+
|
|
30
64
|
vi.mock('../../lib/seo-service.js', async (importOriginal) => {
|
|
31
65
|
const actual = await importOriginal<typeof import('../../lib/seo-service.js')>()
|
|
32
66
|
return {
|
|
33
67
|
...actual,
|
|
34
|
-
fetchSeoIssueFixSuggestion:
|
|
35
|
-
suggestion: {
|
|
36
|
-
autoFixable: true,
|
|
37
|
-
source: 'deterministic',
|
|
38
|
-
fixStrategy: 'insert-link',
|
|
39
|
-
fingerprint: 'fp-insert',
|
|
40
|
-
patch: {},
|
|
41
|
-
changes: [],
|
|
42
|
-
justification: 'Add an inbound link from a related page.',
|
|
43
|
-
},
|
|
44
|
-
})),
|
|
68
|
+
fetchSeoIssueFixSuggestion: (issueId: string) => fetchSuggestionMock(issueId),
|
|
45
69
|
applySeoIssueFix: vi.fn(async () => ({})),
|
|
46
70
|
fetchSeoContentBrief: vi.fn(async () => ({})),
|
|
47
71
|
fetchSeoContentResearch: vi.fn(async () => ({})),
|
|
@@ -62,4 +86,11 @@ describe('SeoIssueFixPanel insert-link copy', () => {
|
|
|
62
86
|
expect(await screen.findByRole('button', { name: 'Approve link' })).toBeTruthy()
|
|
63
87
|
expect(screen.queryByRole('button', { name: 'Approve redirect' })).toBeNull()
|
|
64
88
|
})
|
|
89
|
+
|
|
90
|
+
it('labels a strategy-less schema fix (faq-schema-missing) Approve fix, not Approve redirect', async () => {
|
|
91
|
+
render(<SeoIssueFixPanel issue={faqSchemaIssue} expanded />)
|
|
92
|
+
|
|
93
|
+
expect(await screen.findByRole('button', { name: 'Approve fix' })).toBeTruthy()
|
|
94
|
+
expect(screen.queryByRole('button', { name: 'Approve redirect' })).toBeNull()
|
|
95
|
+
})
|
|
65
96
|
})
|
|
@@ -220,6 +220,10 @@ describe('inline SEO fix issue types', () => {
|
|
|
220
220
|
it('treats orphan-page as an inline Approve issue', () => {
|
|
221
221
|
expect(isInlineSeoFixIssue('orphan-page')).toBe(true)
|
|
222
222
|
})
|
|
223
|
+
|
|
224
|
+
it('treats faq-schema-missing as an inline Approve issue (mirrors core DETERMINISTIC_FIX_TYPES)', () => {
|
|
225
|
+
expect(isInlineSeoFixIssue('faq-schema-missing')).toBe(true)
|
|
226
|
+
})
|
|
223
227
|
})
|
|
224
228
|
|
|
225
229
|
describe('SEO audit mutation contract', () => {
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
|
+
import type { SeoGeoReport } from '../../lib/seo-service.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Wire-level tests for the AI visibility (GEO measurement) service wrapper.
|
|
6
|
+
* The render test replaces `seo-service` wholesale, so the URL and the
|
|
7
|
+
* envelope handling are pinned here against a mocked `cmsApi`.
|
|
8
|
+
*/
|
|
9
|
+
const cmsApi = vi.fn()
|
|
10
|
+
vi.mock('../../lib/api.js', () => ({ cmsApi: (...args: unknown[]) => cmsApi(...args) }))
|
|
11
|
+
|
|
12
|
+
const svc = await import('../../lib/seo-service.js')
|
|
13
|
+
|
|
14
|
+
const REPORT: SeoGeoReport = {
|
|
15
|
+
enabled: true,
|
|
16
|
+
window: { from: '2026-09-04', to: '2026-09-10', days: 7 },
|
|
17
|
+
firstSeenAt: null,
|
|
18
|
+
crawl: { total: { hits: 0, prevHits: null }, series: [], bots: [], topPaths: [], otherHits: 0 },
|
|
19
|
+
referrals: { total: { visits: 0, prevVisits: null }, engines: [], topPaths: [], otherVisits: 0 },
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
beforeEach(() => {
|
|
23
|
+
// Block body on purpose: `mockReset()` returns the mock, and vitest would
|
|
24
|
+
// run a returned function as after-test cleanup.
|
|
25
|
+
cmsApi.mockReset()
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
describe('fetchSeoGeo', () => {
|
|
29
|
+
it('GETs /seo/geo?days=N and unwraps the body', async () => {
|
|
30
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: REPORT })
|
|
31
|
+
await expect(svc.fetchSeoGeo(7)).resolves.toEqual(REPORT)
|
|
32
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/geo?days=7')
|
|
33
|
+
|
|
34
|
+
cmsApi.mockResolvedValueOnce({
|
|
35
|
+
status: 200,
|
|
36
|
+
data: { ...REPORT, window: { ...REPORT.window, days: 28 } },
|
|
37
|
+
})
|
|
38
|
+
const r = await svc.fetchSeoGeo(28)
|
|
39
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/geo?days=28')
|
|
40
|
+
expect(r.window.days).toBe(28)
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
it('throws on error envelopes', async () => {
|
|
44
|
+
cmsApi.mockResolvedValueOnce({ error: 'nope', status: 500 })
|
|
45
|
+
await expect(svc.fetchSeoGeo(28)).rejects.toThrow('nope')
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
it('rejects a malformed body instead of handing it to the UI', async () => {
|
|
49
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { enabled: 'yes' } })
|
|
50
|
+
await expect(svc.fetchSeoGeo(90)).rejects.toThrow('Unexpected AI visibility response')
|
|
51
|
+
cmsApi.mockResolvedValueOnce({ status: 200 })
|
|
52
|
+
await expect(svc.fetchSeoGeo(90)).rejects.toThrow('Unexpected AI visibility response')
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
it('rejects a body from an older server that lacks crawl.total', async () => {
|
|
56
|
+
const crawlWithoutTotal: Partial<SeoGeoReport['crawl']> = { ...REPORT.crawl }
|
|
57
|
+
delete crawlWithoutTotal.total
|
|
58
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { ...REPORT, crawl: crawlWithoutTotal } })
|
|
59
|
+
await expect(svc.fetchSeoGeo(28)).rejects.toThrow('Unexpected AI visibility response')
|
|
60
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { ...REPORT, crawl: undefined } })
|
|
61
|
+
await expect(svc.fetchSeoGeo(28)).rejects.toThrow('Unexpected AI visibility response')
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
// Mirrors `GET|PUT /seo/geo-settings` in `cms-core/src/api/routes/seo-geo.ts`:
|
|
66
|
+
// GET answers `{ data: { enabled, retentionDays } }`; PUT takes a sparse
|
|
67
|
+
// `{ enabled?, retentionDays? }` and answers `{ data: { ok: true } }` or a
|
|
68
|
+
// 400 `{ error }` envelope.
|
|
69
|
+
describe('fetchGeoSettings', () => {
|
|
70
|
+
it('GETs /seo/geo-settings and unwraps the body', async () => {
|
|
71
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { enabled: false, retentionDays: 30 } })
|
|
72
|
+
await expect(svc.fetchGeoSettings()).resolves.toEqual({ enabled: false, retentionDays: 30 })
|
|
73
|
+
expect(cmsApi).toHaveBeenCalledTimes(1)
|
|
74
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/geo-settings')
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
it('returns null on an error envelope (404 / GEO tables not migrated)', async () => {
|
|
78
|
+
cmsApi.mockResolvedValueOnce({ error: 'Not found', status: 404 })
|
|
79
|
+
await expect(svc.fetchGeoSettings()).resolves.toBeNull()
|
|
80
|
+
cmsApi.mockResolvedValueOnce({ error: 'Request failed (500)', status: 500 })
|
|
81
|
+
await expect(svc.fetchGeoSettings()).resolves.toBeNull()
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
it('returns null on a malformed body instead of handing it to the card', async () => {
|
|
85
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { enabled: 'yes', retentionDays: 90 } })
|
|
86
|
+
await expect(svc.fetchGeoSettings()).resolves.toBeNull()
|
|
87
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { enabled: true, retentionDays: '90' } })
|
|
88
|
+
await expect(svc.fetchGeoSettings()).resolves.toBeNull()
|
|
89
|
+
cmsApi.mockResolvedValueOnce({ status: 200 })
|
|
90
|
+
await expect(svc.fetchGeoSettings()).resolves.toBeNull()
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
describe('updateGeoSettings', () => {
|
|
95
|
+
it('PUTs the sparse patch as JSON and reports ok', async () => {
|
|
96
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { ok: true } })
|
|
97
|
+
await expect(svc.updateGeoSettings({ enabled: false })).resolves.toEqual({ ok: true })
|
|
98
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/geo-settings', {
|
|
99
|
+
method: 'PUT',
|
|
100
|
+
body: JSON.stringify({ enabled: false }),
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { ok: true } })
|
|
104
|
+
await svc.updateGeoSettings({ retentionDays: 30 })
|
|
105
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/geo-settings', {
|
|
106
|
+
method: 'PUT',
|
|
107
|
+
body: JSON.stringify({ retentionDays: 30 }),
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
it('surfaces the validation error verbatim', async () => {
|
|
112
|
+
cmsApi.mockResolvedValueOnce({ error: 'retentionDays must be an integer', status: 400 })
|
|
113
|
+
await expect(svc.updateGeoSettings({ retentionDays: 1.5 })).resolves.toEqual({
|
|
114
|
+
ok: false,
|
|
115
|
+
error: 'retentionDays must be an integer',
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
})
|
|
@@ -100,6 +100,36 @@ describe('proposal service helpers', () => {
|
|
|
100
100
|
})
|
|
101
101
|
})
|
|
102
102
|
|
|
103
|
+
it('applySeoIssueFix sends includeItems and headingOverride only when given', async () => {
|
|
104
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { issue: { id: 'i1' } } })
|
|
105
|
+
await expect(
|
|
106
|
+
svc.applySeoIssueFix('i1', 'fp', { includeItems: [0, 2], headingOverride: 'H' }),
|
|
107
|
+
).resolves.toEqual({ issue: { id: 'i1' } })
|
|
108
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/issues/i1/apply-fix', {
|
|
109
|
+
method: 'POST',
|
|
110
|
+
body: JSON.stringify({ fingerprint: 'fp', includeItems: [0, 2], headingOverride: 'H' }),
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { issue: { id: 'i1' } } })
|
|
114
|
+
await svc.applySeoIssueFix('i1', 'fp')
|
|
115
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/issues/i1/apply-fix', {
|
|
116
|
+
method: 'POST',
|
|
117
|
+
body: JSON.stringify({ fingerprint: 'fp' }),
|
|
118
|
+
})
|
|
119
|
+
|
|
120
|
+
cmsApi.mockResolvedValueOnce({ status: 200, data: { issue: { id: 'i1' } } })
|
|
121
|
+
await svc.applySeoIssueFix('i1', 'fp', {})
|
|
122
|
+
expect(cmsApi).toHaveBeenLastCalledWith('/seo/issues/i1/apply-fix', {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
body: JSON.stringify({ fingerprint: 'fp' }),
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
cmsApi.mockResolvedValueOnce({ status: 409, error: 'Fix suggestion is stale.' })
|
|
128
|
+
await expect(svc.applySeoIssueFix('i1', 'fp', { includeItems: [0, 1] })).resolves.toEqual({
|
|
129
|
+
error: 'Fix suggestion is stale.',
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
|
|
103
133
|
it('dismissSeoIssueFix POSTs to the encoded issue path', async () => {
|
|
104
134
|
cmsApi.mockResolvedValueOnce({ status: 200, data: { dismissed: true } })
|
|
105
135
|
await expect(svc.dismissSeoIssueFix('a/b')).resolves.toEqual({})
|
|
@@ -21,6 +21,11 @@ describe('seoTabForPath', () => {
|
|
|
21
21
|
expect(seoTabForPath('/seo/proposals')).toBe('proposals')
|
|
22
22
|
})
|
|
23
23
|
|
|
24
|
+
it('routes the AI visibility deep link (Technical → "View trends") to its tab', () => {
|
|
25
|
+
expect(SEO_DEEP_PATHS).toContain('/seo/ai-visibility')
|
|
26
|
+
expect(seoTabForPath('/seo/ai-visibility')).toBe('ai-visibility')
|
|
27
|
+
})
|
|
28
|
+
|
|
24
29
|
it('returns null for non-SEO paths so they fall through', () => {
|
|
25
30
|
expect(seoTabForPath('/dashboard')).toBeNull()
|
|
26
31
|
expect(seoTabForPath('/media')).toBeNull()
|