From fbab3bb01ed32dbf16c476a552ff17587d0e9d3b Mon Sep 17 00:00:00 2001
From: MuslemRahimi
Date: Tue, 1 Apr 2025 15:14:21 +0200
Subject: [PATCH] clean code
---
package-lock.json | 327 ------
package.json | 8 -
src/lib/components/DCF.svelte | 411 -------
src/lib/components/FailToDeliver.svelte | 2 +-
src/lib/components/HoverStockChart.svelte | 257 +----
src/lib/components/MiniPlot.svelte | 195 ----
src/lib/components/PriceAnalysis.svelte | 344 ------
src/lib/components/Sidecard.svelte | 6 +-
src/lib/components/VaR.svelte | 253 ----
src/routes/economic-indicator/+page.server.ts | 22 -
src/routes/economic-indicator/+page.svelte | 1023 -----------------
.../index/[tickerID]/options/+page.svelte | 331 +-----
src/routes/pricing/+page.svelte | 32 +-
src/routes/stocks/[tickerID]/+page.svelte | 9 +-
.../statistics/revenue/+page.svelte | 12 +-
src/routes/watchlist/stocks/+page.svelte | 4 +-
tailwind.config.cjs | 2 -
17 files changed, 95 insertions(+), 3143 deletions(-)
delete mode 100644 src/lib/components/DCF.svelte
delete mode 100644 src/lib/components/MiniPlot.svelte
delete mode 100644 src/lib/components/PriceAnalysis.svelte
delete mode 100644 src/lib/components/VaR.svelte
delete mode 100644 src/routes/economic-indicator/+page.server.ts
delete mode 100644 src/routes/economic-indicator/+page.svelte
diff --git a/package-lock.json b/package-lock.json
index 198b5d4d..3779cbf6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -38,15 +38,11 @@
"date-fns": "^3.6.0",
"date-fns-tz": "^3.1.3",
"date-picker-svelte": "^2.12.0",
- "echarts": "^5.5.1",
"file-saver": "^2.0.5",
- "flowbite-svelte": "^0.46.15",
"got": "^14.4.2",
- "html2canvas": "^1.4.1",
"html2canvas-pro": "^1.5.8",
"jsonwebtoken": "^9.0.2",
"katex": "^0.16.11",
- "lightweight-charts": "^4.1.3",
"lodash-es": "^4.17.21",
"lucide-svelte": "^0.438.0",
"luxon": "^3.5.0",
@@ -58,8 +54,6 @@
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"prettier-plugin-svelte": "^3.2.7",
- "quill": "^2.0.2",
- "quill-delta-to-html": "^0.12.1",
"rollup-plugin-visualizer": "^5.12.0",
"rollup-plugin-web-worker-loader": "^1.6.1",
"sass": "^1.75.0",
@@ -67,10 +61,8 @@
"string-similarity": "^4.0.4",
"svelte": "^4.2.15",
"svelte-check": "^3.6.9",
- "svelte-echarts": "^1.0.0-rc3",
"svelte-inview": "^4.0.2",
"svelte-lazy": "^1.2.11",
- "svelte-lightweight-charts": "^2.2.0",
"svelte-loading-spinners": "^0.3.6",
"svelte-preprocess": "^5.1.4",
"svelte-sonner": "^0.3.27",
@@ -1280,16 +1272,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@popperjs/core": {
- "version": "2.11.8",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
- "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/popperjs"
- }
- },
"node_modules/@rollup/plugin-commonjs": {
"version": "28.0.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.1.tgz",
@@ -2822,12 +2804,6 @@
"license": "Apache-2.0",
"peer": true
},
- "node_modules/@yr/monotone-cubic-spline": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz",
- "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==",
- "dev": true
- },
"node_modules/abs-svg-path": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz",
@@ -2989,21 +2965,6 @@
"node": ">= 8"
}
},
- "node_modules/apexcharts": {
- "version": "3.53.0",
- "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.53.0.tgz",
- "integrity": "sha512-QESZHZY3w9LPQ64PGh1gEdfjYjJ5Jp+Dfy0D/CLjsLOPTpXzdxwlNMqRj+vPbTcP0nAHgjWv1maDqcEq6u5olw==",
- "dev": true,
- "dependencies": {
- "@yr/monotone-cubic-spline": "^1.0.3",
- "svg.draggable.js": "^2.2.2",
- "svg.easing.js": "^2.0.0",
- "svg.filter.js": "^2.0.2",
- "svg.pathmorphing.js": "^0.1.3",
- "svg.resize.js": "^1.4.3",
- "svg.select.js": "^3.0.1"
- }
- },
"node_modules/aria-query": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
@@ -4331,22 +4292,6 @@
"safe-buffer": "^5.0.1"
}
},
- "node_modules/echarts": {
- "version": "5.5.1",
- "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.1.tgz",
- "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
- "dev": true,
- "dependencies": {
- "tslib": "2.3.0",
- "zrender": "5.6.0"
- }
- },
- "node_modules/echarts/node_modules/tslib": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
- "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
- "dev": true
- },
"node_modules/electron-to-chromium": {
"version": "1.5.79",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz",
@@ -4688,12 +4633,6 @@
"es5-ext": "~0.10.14"
}
},
- "node_modules/eventemitter3": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
- "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
- "dev": true
- },
"node_modules/events": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
@@ -4772,12 +4711,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/fancy-canvas": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fancy-canvas/-/fancy-canvas-2.1.0.tgz",
- "integrity": "sha512-nifxXJ95JNLFR2NgRV4/MxVP45G9909wJTEKz5fg/TZS20JJZA6hfgRVh/bC9bwl2zBtBNcYPjiBE4njQHVBwQ==",
- "dev": true
- },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4785,12 +4718,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/fast-diff": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
- "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
- "dev": true
- },
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
@@ -4876,46 +4803,6 @@
"dtype": "^2.0.0"
}
},
- "node_modules/flowbite": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/flowbite/-/flowbite-2.5.1.tgz",
- "integrity": "sha512-7jP1jy9c3QP7y+KU9lc8ueMkTyUdMDvRP+lteSWgY5TigSZjf9K1kqZxmqjhbx2gBnFQxMl1GAjVThCa8cEpKA==",
- "dev": true,
- "dependencies": {
- "@popperjs/core": "^2.9.3",
- "flowbite-datepicker": "^1.3.0",
- "mini-svg-data-uri": "^1.4.3"
- }
- },
- "node_modules/flowbite-datepicker": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/flowbite-datepicker/-/flowbite-datepicker-1.3.0.tgz",
- "integrity": "sha512-CLVqzuoE2vkUvWYK/lJ6GzT0be5dlTbH3uuhVwyB67+PjqJWABm2wv68xhBf5BqjpBxvTSQ3mrmLHpPJ2tvrSQ==",
- "dev": true,
- "dependencies": {
- "@rollup/plugin-node-resolve": "^15.2.3",
- "flowbite": "^2.0.0"
- }
- },
- "node_modules/flowbite-svelte": {
- "version": "0.46.15",
- "resolved": "https://registry.npmjs.org/flowbite-svelte/-/flowbite-svelte-0.46.15.tgz",
- "integrity": "sha512-xWhyLDez/gafTAmQayPMPKmWj1BAoq80SoA48yHZ12Wk3Vu3hFrELLUZf0UksxnjQL9hMOKRUlYl3/IH6pHwnQ==",
- "dev": true,
- "dependencies": {
- "@floating-ui/dom": "^1.6.7",
- "apexcharts": "^3.49.2",
- "flowbite": "^2.4.1",
- "tailwind-merge": "^2.3.0"
- },
- "engines": {
- "node": ">=18.0.0",
- "pnpm": ">=8.0.0"
- },
- "peerDependencies": {
- "svelte": "^3.55.1 || ^4.0.0 || ^5.0.0"
- }
- },
"node_modules/focus-trap": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz",
@@ -5578,20 +5465,6 @@
"integrity": "sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==",
"license": "MIT"
},
- "node_modules/html2canvas": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
- "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "css-line-break": "^2.1.0",
- "text-segmentation": "^1.0.3"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
"node_modules/html2canvas-pro": {
"version": "1.5.8",
"resolved": "https://registry.npmjs.org/html2canvas-pro/-/html2canvas-pro-1.5.8.tgz",
@@ -6455,15 +6328,6 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/lightweight-charts": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lightweight-charts/-/lightweight-charts-4.1.3.tgz",
- "integrity": "sha512-SJacmEyx3LmT2Qsc7Kq7cEX7nEHtQv0MOlujhRlcDxhW62pG6nkBlcM52/jNqkq8B28KQeVmgOQ7zrdJ4BCPDw==",
- "dev": true,
- "dependencies": {
- "fancy-canvas": "2.1.0"
- }
- },
"node_modules/lilconfig": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
@@ -6515,12 +6379,6 @@
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
- "node_modules/lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
- "dev": true
- },
"node_modules/lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
@@ -6533,12 +6391,6 @@
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
"dev": true
},
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
- "dev": true
- },
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
@@ -6875,15 +6727,6 @@
"node": ">=4"
}
},
- "node_modules/mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "dev": true,
- "bin": {
- "mini-svg-data-uri": "cli.js"
- }
- },
"node_modules/minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -7250,12 +7093,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/parchment": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz",
- "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==",
- "dev": true
- },
"node_modules/parenthesis": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz",
@@ -7830,44 +7667,6 @@
"integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==",
"license": "ISC"
},
- "node_modules/quill": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/quill/-/quill-2.0.2.tgz",
- "integrity": "sha512-QfazNrhMakEdRG57IoYFwffUIr04LWJxbS/ZkidRFXYCQt63c1gK6Z7IHUXMx/Vh25WgPBU42oBaNzQ0K1R/xw==",
- "dev": true,
- "dependencies": {
- "eventemitter3": "^5.0.1",
- "lodash-es": "^4.17.21",
- "parchment": "^3.0.0",
- "quill-delta": "^5.1.0"
- },
- "engines": {
- "npm": ">=8.2.3"
- }
- },
- "node_modules/quill-delta": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz",
- "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==",
- "dev": true,
- "dependencies": {
- "fast-diff": "^1.3.0",
- "lodash.clonedeep": "^4.5.0",
- "lodash.isequal": "^4.5.0"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/quill-delta-to-html": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/quill-delta-to-html/-/quill-delta-to-html-0.12.1.tgz",
- "integrity": "sha512-QhpeMk9+5ge3HYbL5A0Ewz3pXCsbemqGvIF/kw5D6D4V68AtcUp7yt9xNUkzOk/0IQz43hKy3IkzBzRhLIE+oA==",
- "dev": true,
- "dependencies": {
- "lodash.isequal": "^4.5.0"
- }
- },
"node_modules/raf": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
@@ -8693,16 +8492,6 @@
"svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0"
}
},
- "node_modules/svelte-echarts": {
- "version": "1.0.0-rc3",
- "resolved": "https://registry.npmjs.org/svelte-echarts/-/svelte-echarts-1.0.0-rc3.tgz",
- "integrity": "sha512-jM9EU4m7yFJaISCXhnGgtYirMD1VP2DzoI3Lhbl2jsvGzZFIAg8wsn/5n8GccZxm7wHgzcEL48EVJVlrKPU7gQ==",
- "dev": true,
- "peerDependencies": {
- "echarts": "^5.0.0",
- "svelte": "^4.0.0"
- }
- },
"node_modules/svelte-hmr": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz",
@@ -8734,16 +8523,6 @@
"svelte": "^3.0.0 || ^4.0.0 || ^5.0.0"
}
},
- "node_modules/svelte-lightweight-charts": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/svelte-lightweight-charts/-/svelte-lightweight-charts-2.2.0.tgz",
- "integrity": "sha512-LXdha4vfLMuOPc0Yyetu+DLSDJkPryGkufUQgpCkfguCscSQUcrLiI9MdqKwQk6Fkm6AZbg8SQ5qDIYxcyC+Dg==",
- "dev": true,
- "peerDependencies": {
- "lightweight-charts": ">=4.0.0",
- "svelte": ">=3.44.0"
- }
- },
"node_modules/svelte-loading-spinners": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/svelte-loading-spinners/-/svelte-loading-spinners-0.3.6.tgz",
@@ -8891,97 +8670,6 @@
"svg-path-bounds": "^1.0.1"
}
},
- "node_modules/svg.draggable.js": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz",
- "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==",
- "dev": true,
- "dependencies": {
- "svg.js": "^2.0.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/svg.easing.js": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz",
- "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==",
- "dev": true,
- "dependencies": {
- "svg.js": ">=2.3.x"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/svg.filter.js": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz",
- "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==",
- "dev": true,
- "dependencies": {
- "svg.js": "^2.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/svg.js": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz",
- "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==",
- "dev": true
- },
- "node_modules/svg.pathmorphing.js": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz",
- "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==",
- "dev": true,
- "dependencies": {
- "svg.js": "^2.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/svg.resize.js": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz",
- "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==",
- "dev": true,
- "dependencies": {
- "svg.js": "^2.6.5",
- "svg.select.js": "^2.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/svg.resize.js/node_modules/svg.select.js": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz",
- "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==",
- "dev": true,
- "dependencies": {
- "svg.js": "^2.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/svg.select.js": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz",
- "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==",
- "dev": true,
- "dependencies": {
- "svg.js": "^2.6.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
"node_modules/tabbable": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
@@ -10025,21 +9713,6 @@
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
- },
- "node_modules/zrender": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz",
- "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
- "dev": true,
- "dependencies": {
- "tslib": "2.3.0"
- }
- },
- "node_modules/zrender/node_modules/tslib": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
- "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
- "dev": true
}
}
}
diff --git a/package.json b/package.json
index 904191ae..e5ffedd2 100644
--- a/package.json
+++ b/package.json
@@ -38,15 +38,11 @@
"date-fns": "^3.6.0",
"date-fns-tz": "^3.1.3",
"date-picker-svelte": "^2.12.0",
- "echarts": "^5.5.1",
"file-saver": "^2.0.5",
- "flowbite-svelte": "^0.46.15",
"got": "^14.4.2",
- "html2canvas": "^1.4.1",
"html2canvas-pro": "^1.5.8",
"jsonwebtoken": "^9.0.2",
"katex": "^0.16.11",
- "lightweight-charts": "^4.1.3",
"lodash-es": "^4.17.21",
"lucide-svelte": "^0.438.0",
"luxon": "^3.5.0",
@@ -58,8 +54,6 @@
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"prettier-plugin-svelte": "^3.2.7",
- "quill": "^2.0.2",
- "quill-delta-to-html": "^0.12.1",
"rollup-plugin-visualizer": "^5.12.0",
"rollup-plugin-web-worker-loader": "^1.6.1",
"sass": "^1.75.0",
@@ -67,10 +61,8 @@
"string-similarity": "^4.0.4",
"svelte": "^4.2.15",
"svelte-check": "^3.6.9",
- "svelte-echarts": "^1.0.0-rc3",
"svelte-inview": "^4.0.2",
"svelte-lazy": "^1.2.11",
- "svelte-lightweight-charts": "^2.2.0",
"svelte-loading-spinners": "^0.3.6",
"svelte-preprocess": "^5.1.4",
"svelte-sonner": "^0.3.27",
diff --git a/src/lib/components/DCF.svelte b/src/lib/components/DCF.svelte
deleted file mode 100644
index ab98f996..00000000
--- a/src/lib/components/DCF.svelte
+++ /dev/null
@@ -1,411 +0,0 @@
-
-
-
-
-
-
- Discounted Cashflow Model
-
-
-
-
- {#if ["Pro", "Plus"]?.includes(data?.user?.tier)}
- {#if isLoaded}
- {#if fairPrice !== null}
-
-
- The DCF model signals a
-
- {#if change < -3}
-
-
- Buy
-
- {:else if change > 3}
-
-
- Sell
-
- {:else}
-
-
- Hold
-
- {/if}
-
-
- {#if change > 0}
-
- The Stock Price is
- {Math?.abs(change)}% overvalued .
-
- {:else if change < 0}
-
- The Stock Price is
- {Math?.abs(change)}% undervalued .
-
- {/if}
-
-
- ${$stockTicker}
- (${lastPrice}) is trading {change < 0 ? "below" : "above"}
- our estimate of fair value (${fairPrice}).
-
-
-
-
-
- What is the Fair Price of ${$stockTicker} when looking at its future cash flows? For this estimate we use a
- Discounted Cash Flow model (DCF).
-
-
-
-
-
-
-
-
- {#if Math?.abs(change) > 30}
-
-
- Caution: The DCF model may not be reliable for
-
${$stockTicker} due to significant
- deviation between intrinsic value and current price.
-
- {/if}
-
- {/if}
- {:else}
-
- {/if}
- {:else}
-
-
- Unlock content with
-
Pro Subscription
-
- {/if}
-
-
-
-
diff --git a/src/lib/components/FailToDeliver.svelte b/src/lib/components/FailToDeliver.svelte
index a8be5132..50938494 100644
--- a/src/lib/components/FailToDeliver.svelte
+++ b/src/lib/components/FailToDeliver.svelte
@@ -277,7 +277,7 @@
diff --git a/src/lib/components/HoverStockChart.svelte b/src/lib/components/HoverStockChart.svelte
index 9fd28af5..0c120ee1 100644
--- a/src/lib/components/HoverStockChart.svelte
+++ b/src/lib/components/HoverStockChart.svelte
@@ -1,57 +1,8 @@
- getStockData(symbol)} class="inline-block">
-
-
-
-
-
-
-
-
-
-
- {symbol}
-
-
- {stockChartData?.name?.length > charNumber
- ? stockChartData?.name?.slice(0, charNumber) + "..."
- : stockChartData?.name}
-
-
-
- Current Price: {stockChartData?.price?.toFixed(2)} ({change?.toFixed(2)} )
-
-
-
- = 0 ? "#00FC50" : "#FF2F1F"}
- d="M12.884 5.116a1.253 1.253 0 0 0-1.768 0l-5 5a1.25 1.25 0 0 0 1.768 1.768l2.866-2.866V18a1.25 1.25 0 1 0 2.5 0V9.018l2.866 2.866a1.25 1.25 0 1 0 1.768-1.768z"
- />
-
- {#if changesPercentage != null}
-
- {changesPercentage >= 1000 || changesPercentage <= -1000
- ? abbreviateNumber(changesPercentage)
- : changesPercentage?.toFixed(2)}%
-
- {:else}
- -
- {/if}
- today
-
-
- {#if priceData?.length > 0}
-
-
(chart = ref)}
- >
-
-
-
-
-
- {/if}
-
-
-
-
-
-
-
-
+{symbol?.length !== 0 ? symbol : "-"}
diff --git a/src/lib/components/MiniPlot.svelte b/src/lib/components/MiniPlot.svelte
deleted file mode 100644
index e658eaab..00000000
--- a/src/lib/components/MiniPlot.svelte
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-
-
{title}
-
- {#if changesPercentage >= 0}
-
-
+{changesPercentage?.toFixed(2)}%
- {:else}
-
-
{changesPercentage?.toFixed(2)}%
-
- {/if}
-
-
- (chart = ref)}
- >
-
-
-
-
-
diff --git a/src/lib/components/PriceAnalysis.svelte b/src/lib/components/PriceAnalysis.svelte
deleted file mode 100644
index 776abb2e..00000000
--- a/src/lib/components/PriceAnalysis.svelte
+++ /dev/null
@@ -1,344 +0,0 @@
-
-
-
-
-
-
- AI Price Analysis
-
-
-
-
- {#if isLoaded}
- {#if Object?.keys(priceAnalysisDict)?.length !== 0}
-
-
- Our model predicts future prices by analyzing trends, seasonal
- variations, and holiday impacts. Here are the stats of the model for {$displayCompanyName}
- to ensure transparency and reliability.
-
-
-
-
-
-
-
-
- Price Sentiment
- {priceSentiment}
-
-
-
-
-
-
-
- R 2 Score
-
- {r2Score >= 65 ? "Good" : r2Score >= 50 ? "Moderate" : "Bad"}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {r2Score}%
-
-
-
-
-
-
-
-
-
- MAPE
-
- {mape <= 15 ? "Good" : mape <= 35 ? "Moderate" : "Bad"}
-
-
-
-
-
-
-
-
-
- 0 ? 100 - mape : 1}
- >
-
-
-
-
- {mape}%
-
-
-
-
-
-
-
-
-
-
-
-
-
- Over the next 12 months, the model predicts a
- {priceSentiment}
- trend, suggesting that the future price is expected to {priceSentiment ===
- "Bullish"
- ? "surpass"
- : "to be less than"} the previous price of
- ${lastPrice?.toFixed(2) ?? "n/a"} ,
- with a mean value of
- ${oneYearPricePrediction} .
-
- {/if}
- {:else}
-
- {/if}
-
-
-
-
diff --git a/src/lib/components/Sidecard.svelte b/src/lib/components/Sidecard.svelte
index 3329b7dc..f13bff74 100644
--- a/src/lib/components/Sidecard.svelte
+++ b/src/lib/components/Sidecard.svelte
@@ -69,9 +69,9 @@
animation: false,
},
title: {
- text: `Price Target: $${priceTarget}
+ text: `Price Target: $${priceTarget}
(${changesPercentage}% ${changesPercentage >= 0 ? "upside" : "downside"})
- Analyst Consensus: ${consensusRating ?? "n/a"}
`,
+ Analyst Consensus: ${consensusRating ?? "n/a"}
`,
style: {
color: "white",
// Using inline CSS for margin-top and margin-bottom
@@ -299,7 +299,7 @@
diff --git a/src/lib/components/VaR.svelte b/src/lib/components/VaR.svelte
deleted file mode 100644
index 11d2ecfb..00000000
--- a/src/lib/components/VaR.svelte
+++ /dev/null
@@ -1,253 +0,0 @@
-
-
-
-
-
-
- Value at Risk
-
-
-
-
- {#if Object?.keys(rawData)?.length !== 0}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {rating}
-
-
-
-
-
-
- {outlook} outlook:
-
-
- Under typical market conditions, there is a 95%
- probability that
- {$assetType === "stock" ? $stockTicker : $etfTicker}
- will incur a maximum loss of
- {valueAtRisk}%
- in the upcoming week.
-
-
-
-
-
-
-
- Historical VaR
-
-
- Based on historical price data, the company experienced an average
- monthly Value-at-Risk {monthlyVarAvg}% .
-
-
-
-
-
- {:else}
-
- {/if}
-
-
-
-
diff --git a/src/routes/economic-indicator/+page.server.ts b/src/routes/economic-indicator/+page.server.ts
deleted file mode 100644
index b704d431..00000000
--- a/src/routes/economic-indicator/+page.server.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-export const load = async ({ locals, setHeaders }) => {
- const getEconomicIndicator = async () => {
- const { apiKey, apiURL } = locals;
-
- const response = await fetch(apiURL + "/economic-indicator", {
- method: "GET",
- headers: {
- "Content-Type": "application/json",
- "X-API-KEY": apiKey,
- },
- });
-
- const output = await response.json();
-
- return output;
- };
-
- // Make sure to return a promise
- return {
- getEconomicIndicator: await getEconomicIndicator(),
- };
-};
diff --git a/src/routes/economic-indicator/+page.svelte b/src/routes/economic-indicator/+page.svelte
deleted file mode 100644
index 6709413e..00000000
--- a/src/routes/economic-indicator/+page.svelte
+++ /dev/null
@@ -1,1023 +0,0 @@
-
-
-
-
-
-
-
- Home
- US Economic Indicator
-
-
-
-
-
-
-
-
-
- Economic Indicators
-
-
-
- {#if isLoaded}
-
-
-
-
- Federal Fund Rate
-
-
-
- The federal funds rate is the interest rate at which banks lend
- to each other overnight to maintain reserve balances. It's a
- critical tool for U.S. monetary policy, influencing borrowing
- costs for consumers and businesses, economic growth, and
- inflation. Changes in the federal funds rate affect everything
- from loan interest rates to stock market performance, making it
- a key indicator of economic health.
-
-
-
-
-
-
-
-
-
- Consumer Price Index (CPI)
-
-
-
- The CPI measures the average change in prices for a typical
- basket of goods. It's key for tracking inflation, affecting
- interest rates, wages, and business decisions. Rising CPI
- indicates inflation, impacting purchasing power and the overall
- economy.
-
-
-
-
-
-
-
-
-
- Gross Domestic Product (GDP)
-
-
-
- The GDP measures a country's economic performance, representing
- the total value of all goods and services produced within a
- specific period. It's a key indicator of economic health, used
- to compare the economic output of different nations and track
- growth or decline over time.
-
-
-
-
-
-
-
-
-
- Unemployment Rate vs Inflation Rate
-
-
-
- The unemployment rate measures the jobless percentage in the
- labor force, impacting spending and growth. Low unemployment
- boosts wages and activity, while high unemployment slows them.
- The inflation rate tracks price increases, with moderate
- inflation (~2%) being healthy. These rates are often inversely
- related and crucial for economic stability, influencing
- spending, savings, and investment.
-
-
-
-
-
-
-
-
-
- Treasury Rates
-
-
-
- Treasury rates are the interest rates that the US government
- pays on its debt obligations, and they are a key benchmark for
- interest rates across the economy.
-
-
-
-
-
- Choose a Time Period
- 1M
- 6M
- 1Y
- 3Y
- 5Y
- Max
-
-
-
-
-
-
-
-
-
-
- {#each tabs as item, i}
-
changeTablePeriod(i)}
- class="group relative z-1 rounded-full px-6 py-1 {activeIdx ===
- i
- ? 'z-0'
- : ''} "
- >
- {#if activeIdx === i}
-
- {/if}
-
- {item.title}
-
-
-
- {/each}
-
-
-
-
-
-
- Date
- 1-Month
- 2-Month
- 3-Month
- 6-Month
- 1-Year
- 2-Year
- 3-Year
- 5-Year
- 7-Year
- 10-Year
- 20-Year
- 30-Year
-
-
-
- {#each tableList as item}
-
-
-
- {item?.date}
-
-
- {item?.month1}
-
-
- {item?.month2 !== null ? item?.month2 : "-"}
-
-
- {item?.month3}
-
-
- {item?.month6}
-
-
- {item?.year1}
-
-
- {item?.year2}
-
-
- {item?.year3}
-
-
- {item?.year5}
-
-
- {item?.year7}
-
-
- {item?.year10}
-
-
- {item?.year20}
-
-
- {item?.year30}
-
-
- {/each}
-
-
-
-
- {:else}
-
- {/if}
-
-
-
-
-
-
-
-
diff --git a/src/routes/index/[tickerID]/options/+page.svelte b/src/routes/index/[tickerID]/options/+page.svelte
index 4bdf1049..650cb36b 100644
--- a/src/routes/index/[tickerID]/options/+page.svelte
+++ b/src/routes/index/[tickerID]/options/+page.svelte
@@ -1,19 +1,13 @@