37 lines
2.5 KiB
Plaintext
37 lines
2.5 KiB
Plaintext
# Vue Component Analysis - 20251123-124310
|
|
== 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: <div class="article-content text-base sm:text-lg text-gray-800 leading-relaxed" v-html="article.content"></div>
|
|
src/views/ServiceDetailView.vue:33: <div class="service-content text-base sm:text-lg text-gray-800 leading-relaxed" v-html="service.content"></div>
|
|
|
|
== Deprecated Options API usage ==
|
|
None found
|