# Vue Component Analysis - 20251123-092506 == Components using 'any' type == src/views/ProjectsView.vue:358: myPendingRequests.value = data.filter((r: any) => r.approvalStatus !== 'APPROVED') src/views/ProjectsView.vue:446:function showRejectModal(project: any) { src/views/LoginView.vue:162: } catch (err: any) { src/views/InvoicesView.vue:343:async function viewInvoice(invoice: any) { src/views/InvoicesView.vue:353:function payInvoice(invoice: any) { src/views/RegisterView.vue:217: } catch (err: any) { == Components with inline styles (should use CSS classes) == src/components/trustBusiness/QuestionnaireSection.vue:18: :style="{ width: `${progressPercentage}%` }" src/components/trustBusiness/QuestionnaireSidebar.vue:35: :style="{ width: `${store.completionPercentage}%` }" == Direct DOM manipulation (anti-pattern in Vue) == src/components/trustBusiness/WebsiteCopyGenerator.vue:472: const a = document.createElement('a') src/components/trustBusiness/WebsiteCopyGenerator.vue:505: const a = document.createElement('a') src/components/trustBusiness/BusinessPlanGenerator.vue:332: const a = document.createElement('a') src/components/trustBusiness/BusinessPlanGenerator.vue:342: printWindow.document.write(` src/components/trustBusiness/BusinessPlanGenerator.vue:361: printWindow.document.close() src/components/trustBusiness/GovernanceCharterGenerator.vue:443: const a = document.createElement('a') src/components/trustBusiness/GovernanceCharterGenerator.vue:453: printWindow.document.write(` src/components/trustBusiness/GovernanceCharterGenerator.vue:480: printWindow.document.close() src/views/BizCardView.vue:337: const link = document.createElement('a') src/views/BizCardView.vue:340: document.body.appendChild(link) src/views/BizCardView.vue:342: document.body.removeChild(link) src/views/TrustBusinessView.vue:354: const a = document.createElement('a') == v-html usage (XSS risk) == src/components/trustBusiness/WebsiteCopyGenerator.vue:53: v-html="renderedContent" src/components/trustBusiness/BusinessPlanGenerator.vue:35: v-html="renderedPlan" src/components/trustBusiness/GovernanceCharterGenerator.vue:35: v-html="renderedCharter" src/views/ArticleDetailView.vue:33:
src/views/ServiceDetailView.vue:33:
== Deprecated Options API usage == None found