diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index b92c70c..0086358 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,2 +1 @@ blank_issues_enabled: true - diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml index adabd3c..a2a340c 100644 --- a/.github/ISSUE_TEMPLATE/documentation.yml +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -31,4 +31,4 @@ body: description: By submitting this issue, you agree to follow our Code of Conduct options: - label: I agree to follow this project's Code of Conduct - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 30b85c9..c521f97 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -40,4 +40,4 @@ body: description: By submitting this issue, you agree to follow our Code of Conduct options: - label: I agree to follow this project's Code of Conduct - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/styles.yml b/.github/ISSUE_TEMPLATE/styles.yml index b5c4146..9befc3f 100644 --- a/.github/ISSUE_TEMPLATE/styles.yml +++ b/.github/ISSUE_TEMPLATE/styles.yml @@ -1,7 +1,7 @@ name: Style Changing Request description: Suggest a style design -title: '[style]: ' -labels: ['enhancement'] +title: "[style]: " +labels: ["enhancement"] body: - type: markdown @@ -13,7 +13,7 @@ body: attributes: label: What's the style idea? placeholder: Add descriptions - value: 'We need to improve' + value: "We need to improve" validations: required: true - type: textarea @@ -22,7 +22,7 @@ body: label: Add screenshots description: Add screenshots to show the demo placeholder: Add screenshots - value: 'Add screenshots' + value: "Add screenshots" - type: checkboxes id: terms attributes: @@ -36,4 +36,4 @@ body: - label: I agree to follow this project's [Code of Conduct](https://github.com/Stoccoin-Official/Stoccoin-Website/blob/main/CODE_OF_CONDUCT.md) required: true - label: I'm a GSSoC'23 contributor - - label: I want to work on this issue \ No newline at end of file + - label: I want to work on this issue diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 24ddada..d1f0d08 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,6 @@ version: 2 updates: - - package-ecosystem: 'npm' - directory: '/' + - package-ecosystem: "npm" + directory: "/" schedule: - interval: 'daily' \ No newline at end of file + interval: "daily" diff --git a/.github/workflows/auto-comment.yml b/.github/workflows/auto-comment.yml index 0213e9c..3c3c656 100644 --- a/.github/workflows/auto-comment.yml +++ b/.github/workflows/auto-comment.yml @@ -33,7 +33,7 @@ jobs: with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pullRequestMerged: | - 👋 @{{ author }} 🎉 Congrats on your merged pull request! Thanks for the valuable contribution! + 👋 @{{ author }} 🎉 Congrats on your merged pull request! Thanks for the valuable contribution! - name: Auto Comment on Pull Request Opened uses: wow-actions/auto-comment@v1 with: diff --git a/.github/workflows/lock-issues.yml b/.github/workflows/lock-issues.yml index 3fdcb64..0ee1015 100644 --- a/.github/workflows/lock-issues.yml +++ b/.github/workflows/lock-issues.yml @@ -1,4 +1,4 @@ -name: 'Lock new issues' +name: "Lock new issues" on: issues: @@ -14,8 +14,8 @@ jobs: - uses: dessant/repo-lockdown@v3 with: close-issue: false - exclude-issue-labels: 'status: ready for dev' - process-only: 'issues' + exclude-issue-labels: "status: ready for dev" + process-only: "issues" skip-closed-issue-comment: true issue-comment: > - To reduce notifications, issues are locked. Your issue will be unlock when we will add label as `status: ready for dev`. Check out the [contributing guide](https://github.com/Stoccoin-Official/Stoccoin-Website/blob/main/CONTRIBUTING.md) for more information. \ No newline at end of file + To reduce notifications, issues are locked. Your issue will be unlock when we will add label as `status: ready for dev`. Check out the [contributing guide](https://github.com/Stoccoin-Official/Stoccoin-Website/blob/main/CONTRIBUTING.md) for more information. diff --git a/GSSoC-CONTRIBUTORS.md b/GSSoC-CONTRIBUTORS.md index 632b035..b20082f 100644 --- a/GSSoC-CONTRIBUTORS.md +++ b/GSSoC-CONTRIBUTORS.md @@ -52,4 +52,4 @@ Please add your name and college above if you are a contributor: | 36. | Atharva Raut | NBN Sinhgad Institute of Technical Campus, Pune | | 37. | Shreya Gupta | Pranveer Singh Institute of Technology, Kanpur | | 38. | Ayush Rathore | Dr.B.R. Ambedkar NIT Jalandhar | -| 39. | Md Shadab Alam | National Institute of Technology Karnataka +| 39. | Md Shadab Alam | National Institute of Technology Karnataka | diff --git a/app/index.html b/app/index.html index b23e736..504f3df 100644 --- a/app/index.html +++ b/app/index.html @@ -1,4 +1,4 @@ - + diff --git a/app/postcss.config.cjs b/app/postcss.config.cjs index 33ad091..12a703d 100644 --- a/app/postcss.config.cjs +++ b/app/postcss.config.cjs @@ -3,4 +3,4 @@ module.exports = { tailwindcss: {}, autoprefixer: {}, }, -} +}; diff --git a/app/src/App.css b/app/src/App.css index 53d44f8..8bceb26 100644 --- a/app/src/App.css +++ b/app/src/App.css @@ -40,13 +40,13 @@ color: #888; } -.active{ +.active { width: fit-content; position: relative; } -.active::after{ +.active::after { display: block; - content: ''; + content: ""; position: absolute; height: 3px; background-color: #4f46e5; @@ -65,10 +65,10 @@ } @keyframes spin { -from { - transform: rotate(0deg); -} -to { - transform: rotate(360deg); + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } } -} \ No newline at end of file diff --git a/app/src/App.jsx b/app/src/App.jsx index 7b0926b..95c4cf3 100644 --- a/app/src/App.jsx +++ b/app/src/App.jsx @@ -44,12 +44,20 @@ const App = () => {
- }> + } + > } /> } /> - } /> - } /> + } + /> + } + /> } /> } /> } /> @@ -69,4 +77,4 @@ const App = () => { ); }; -export default App; \ No newline at end of file +export default App; diff --git a/app/src/assets/index.js b/app/src/assets/index.js index b6984a9..da9aa4f 100644 --- a/app/src/assets/index.js +++ b/app/src/assets/index.js @@ -1,4 +1,4 @@ -export { default as loginIMG } from './loginIMG.svg'; -export { default as signupIMG } from './signupIMG.svg'; -export { default as koo } from './koo-icon.svg'; -export { default as koo2 } from './koo-icon-hover.svg'; \ No newline at end of file +export { default as loginIMG } from "./loginIMG.svg"; +export { default as signupIMG } from "./signupIMG.svg"; +export { default as koo } from "./koo-icon.svg"; +export { default as koo2 } from "./koo-icon-hover.svg"; diff --git a/app/src/components/Accordion.jsx b/app/src/components/Accordion.jsx index 6545264..72a686d 100644 --- a/app/src/components/Accordion.jsx +++ b/app/src/components/Accordion.jsx @@ -1,119 +1,117 @@ -import React,{useState} from 'react'; - +import React, { useState } from "react"; function Accordion() { - const faq=[ + const faq = [ { - que:"Do you have free plans?", - ans:"Yea we have free plans", + que: "Do you have free plans?", + ans: "Yea we have free plans", }, { - que:"Do you have free plans?", - ans:"Yea we have free plans", + que: "Do you have free plans?", + ans: "Yea we have free plans", }, { - que:"Do you have free plans?", - ans:"Yea we have free plans", + que: "Do you have free plans?", + ans: "Yea we have free plans", }, { - que:"Do you have free plans?", - ans:"Yea we have free plans", + que: "Do you have free plans?", + ans: "Yea we have free plans", }, - ] + ]; return ( -
- -
-
-

- Have any questions? -

-

- Frequently Asked Questions -

-
- {faq.map((member,index)=>())} +
+ +
+
+

+ Have any questions? +

+

+ Frequently Asked Questions +

+
+ {faq.map((member, index) => ( + + ))} +
+

+ Still have any questions? + + Contact us + +

+
-

- Still have any questions? - - Contact us - -

-
-
-
- ) + + ); } -function QnA({faq}){ - const [show,setshow]=useState(false); - return( +function QnA({ faq }) { + const [show, setshow] = useState(false); + return (
-
setshow(!show)} > -
-
-
-

- {faq.que} -

-

- {faq.ans} -

-
-
- - - - - - -
-
+
setshow(!show)}> +
+
+
+

+ {faq.que} +

+

+ {faq.ans} +

+
+
+ + + + + +
+
+
); } - - - - - - - -export default Accordion; \ No newline at end of file +export default Accordion; diff --git a/app/src/components/ContactForm.jsx b/app/src/components/ContactForm.jsx index 87df504..2b0b6c2 100644 --- a/app/src/components/ContactForm.jsx +++ b/app/src/components/ContactForm.jsx @@ -1,10 +1,9 @@ import { React, useState } from "react"; export default function App() { - - const [name, setName] = useState(''); - const [email, setEmail] = useState(''); - const [message, setMessage] = useState(''); + const [name, setName] = useState(""); + const [email, setEmail] = useState(""); + const [message, setMessage] = useState(""); const handleSubmit = async (e) => { e.preventDefault(); @@ -15,13 +14,13 @@ export default function App() { message, }; - const res = await fetch('http://localhost:3000/mail', { + const res = await fetch("http://localhost:3000/mail", { method: "POST", headers: { - "Content-Type": "application/json" + "Content-Type": "application/json", }, - body: JSON.stringify(data) - }) + body: JSON.stringify(data), + }); }; return ( diff --git a/app/src/components/Features.jsx b/app/src/components/Features.jsx index b531b60..ae7551f 100644 --- a/app/src/components/Features.jsx +++ b/app/src/components/Features.jsx @@ -1,43 +1,52 @@ -import { FingerPrintIcon, LockClosedIcon } from '@heroicons/react/24/outline' -import { BookOpenIcon, ChartBarIcon, ArrowsUpDownIcon} from '@heroicons/react/24/solid' +import { FingerPrintIcon, LockClosedIcon } from "@heroicons/react/24/outline"; +import { + BookOpenIcon, + ChartBarIcon, + ArrowsUpDownIcon, +} from "@heroicons/react/24/solid"; const features = [ { - name: 'Open Source', + name: "Open Source", description: - 'More eyes on the code, more contributors, and faster resolution of security vulnerabilities.', + "More eyes on the code, more contributors, and faster resolution of security vulnerabilities.", icon: BookOpenIcon, }, { - name: 'Real-time market data', + name: "Real-time market data", description: - 'Immediate and continuous updating of financial information as it occurs in the market.', + "Immediate and continuous updating of financial information as it occurs in the market.", icon: ArrowsUpDownIcon, }, { - name: 'Advanced charting and analytics', + name: "Advanced charting and analytics", description: - 'Access market analysis using charts & analytics tools for informed decision-making.', + "Access market analysis using charts & analytics tools for informed decision-making.", icon: ChartBarIcon, }, { - name: 'SSL certificates', + name: "SSL certificates", description: - 'Secure Socket Layer (SSL) encryption to protect user data and transactions.', + "Secure Socket Layer (SSL) encryption to protect user data and transactions.", icon: LockClosedIcon, }, -] +]; export default function Example() { return (
-

Trade Boosters

-

- Streamlined Trading Features -

+

+ Trade Boosters +

+

+ Streamlined Trading Features +

- Explore the comprehensive list of features that make our trading platform stand out from the rest. Our powerful tools and advanced technologies are designed to enhance your trading experience and give you an edge in the market. + Explore the comprehensive list of features that make our trading + platform stand out from the rest. Our powerful tools and advanced + technologies are designed to enhance your trading experience and + give you an edge in the market.

@@ -46,16 +55,21 @@ export default function Example() {
-
{feature.name}
-
{feature.description}
+
+ {feature.description} +
))}
- ) + ); } diff --git a/app/src/components/Footer.jsx b/app/src/components/Footer.jsx index 9c074b4..7225b9d 100644 --- a/app/src/components/Footer.jsx +++ b/app/src/components/Footer.jsx @@ -6,11 +6,9 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link } from "react-router-dom"; import { BsGithub, BsTwitter, BsLinkedin } from "react-icons/bs"; import { AiFillInstagram, AiFillMail } from "react-icons/ai"; -import { koo, koo2 } from '../assets'; - +import { koo, koo2 } from "../assets"; function Footer() { - const [hover, setHover] = useState(false); const handleSubmit = (e) => { @@ -28,71 +26,121 @@ function Footer() {
logo -

Stoccoin

+

+ Stoccoin +

- Discover our mission to provide real-time market data and curated news feeds for stocks and cryptocurrencies.
Stay informed and make confident investment decisions with our comprehensive resources. + Discover our mission to provide real-time market data and curated + news feeds for stocks and cryptocurrencies.
Stay informed + and make confident investment decisions with our comprehensive + resources.

-

Follow Us

+

+ Follow Us +

- +
- +
- - + +
- - { - hover - ? - koo-icon setHover(true)} onMouseLeave={() => setHover(false)} /> - : - koo-icon setHover(true)} onMouseLeave={() => setHover(false)} /> - } + + {hover ? ( + koo-icon setHover(true)} + onMouseLeave={() => setHover(false)} + /> + ) : ( + koo-icon setHover(true)} + onMouseLeave={() => setHover(false)} + /> + )}
- - + +
-

Newsletter

+

+ Newsletter +

- +
- +
diff --git a/app/src/components/Header.jsx b/app/src/components/Header.jsx index ff62884..ea5d1a2 100644 --- a/app/src/components/Header.jsx +++ b/app/src/components/Header.jsx @@ -38,7 +38,12 @@ export default function Header() { stoccoin-homepage-header
diff --git a/app/src/components/Navbar.jsx b/app/src/components/Navbar.jsx index 9ecded5..99c64b5 100644 --- a/app/src/components/Navbar.jsx +++ b/app/src/components/Navbar.jsx @@ -60,7 +60,10 @@ export default function Example({ darkMode, setDarkMode }) { onClick={() => setMobileMenuOpen(true)} > Open main menu -
@@ -83,18 +86,17 @@ export default function Example({ darkMode, setDarkMode }) { Log out
- {darkMode - ? + {darkMode ? ( setDarkMode(false)} /> - : + ) : ( setDarkMode(true)} className="ml-8 lg:ml-4 transform hover:scale-150 cursor-pointer text-xl text-gray-700 hover:text-gray-800 transition-all ease-in-out duration-300" /> - } + )} setMobileMenuOpen(false)} > Close menu -
-
+
{navigation.map((item) => ( diff --git a/app/src/components/NotFound.jsx b/app/src/components/NotFound.jsx index 0ee4506..bef4c2e 100644 --- a/app/src/components/NotFound.jsx +++ b/app/src/components/NotFound.jsx @@ -11,9 +11,15 @@ export default function NotFound() { */}
-

404

-

Page not found

-

Sorry, we couldn’t find the page you’re looking for.

+

+ 404 +

+

+ Page not found +

+

+ Sorry, we couldn’t find the page you’re looking for. +

- ) + ); } diff --git a/app/src/components/Pricing.jsx b/app/src/components/Pricing.jsx index 0886817..fcebb3c 100644 --- a/app/src/components/Pricing.jsx +++ b/app/src/components/Pricing.jsx @@ -13,12 +13,16 @@ export default function Example() {
{/* Pricing Card */}
-

Free

+

+ Free +

Get a taste of trading with our free plan.

- $0 + + $0 + /month
{/* List */} @@ -76,7 +80,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • {/* Icon */} @@ -94,7 +100,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • {/* Icon */} @@ -112,7 +120,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • -

    Professional

    +

    + Professional +

    Unlock advanced trading features with our premium plan.

    - $10 + + $10 + /month
    {/* List */} @@ -188,7 +202,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • {/* Icon */} @@ -206,7 +222,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • {/* Icon */} @@ -224,7 +242,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • -

    Enterprise

    +

    + Enterprise +

    Custom solutions for your trading needs.

    - $25 + + $25 + /month
    {/* List */} @@ -300,7 +324,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • {/* Icon */} @@ -318,7 +344,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • {/* Icon */} @@ -336,7 +364,9 @@ export default function Example() { stroke-linejoin="round" /> - Individual configuration + + Individual configuration +
  • { const widgetContainerRef = useRef(null); useEffect(() => { - const script = document.createElement('script'); - script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js'; + const script = document.createElement("script"); + script.src = + "https://s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js"; script.async = true; - script.innerHTML =JSON.stringify({ - "symbols": [ - { - "proName": "FOREXCOM:SPXUSD", - "title": "S&P 500" - }, - { - "proName": "FOREXCOM:NSXUSD", - "title": "US 100" - }, - { - "proName": "FX_IDC:EURUSD", - "title": "EUR/USD" - }, - { - "proName": "BITSTAMP:BTCUSD", - "title": "Bitcoin" - }, - { - "proName": "BITSTAMP:ETHUSD", - "title": "Ethereum" - } - ], - "showSymbolLogo": true, - "colorTheme": darkMode ? "dark" : "light", - "isTransparent": true, - "displayMode": "adaptive", - "locale": "in" - }); + script.innerHTML = JSON.stringify({ + symbols: [ + { + proName: "FOREXCOM:SPXUSD", + title: "S&P 500", + }, + { + proName: "FOREXCOM:NSXUSD", + title: "US 100", + }, + { + proName: "FX_IDC:EURUSD", + title: "EUR/USD", + }, + { + proName: "BITSTAMP:BTCUSD", + title: "Bitcoin", + }, + { + proName: "BITSTAMP:ETHUSD", + title: "Ethereum", + }, + ], + showSymbolLogo: true, + colorTheme: darkMode ? "dark" : "light", + isTransparent: true, + displayMode: "adaptive", + locale: "in", + }); widgetContainerRef.current.appendChild(script); return () => { @@ -44,16 +45,21 @@ const Ticker = ({ darkMode }) => { }, [darkMode]); const tickerContainerStyle = { - maxWidth: '100%', - width: '1000px', - margin: '0 auto', + maxWidth: "100%", + width: "1000px", + margin: "0 auto", }; return ( -
    -
    -
    -
    +
    +
    +
    ); }; diff --git a/app/src/components/crypto/Header.jsx b/app/src/components/crypto/Header.jsx index e52bfbe..a7a2b7d 100644 --- a/app/src/components/crypto/Header.jsx +++ b/app/src/components/crypto/Header.jsx @@ -39,7 +39,12 @@ export default function Header() { stoccoin-crypto-header
    diff --git a/app/src/components/crypto/Widget1.jsx b/app/src/components/crypto/Widget1.jsx index be00a14..cc4efba 100644 --- a/app/src/components/crypto/Widget1.jsx +++ b/app/src/components/crypto/Widget1.jsx @@ -1,35 +1,47 @@ -import React, { useEffect } from 'react'; +import React, { useEffect } from "react"; const Widget1 = ({ darkMode }) => { useEffect(() => { - const script = document.createElement('script'); - script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-screener.js'; + const script = document.createElement("script"); + script.src = + "https://s3.tradingview.com/external-embedding/embed-widget-screener.js"; script.async = true; script.innerHTML = JSON.stringify({ width: 1000, height: 800, - defaultColumn: 'overview', - screener_type: 'crypto_mkt', - displayCurrency: 'USD', - colorTheme: `${darkMode ? 'dark' : 'light'}`, - locale: 'in', + defaultColumn: "overview", + screener_type: "crypto_mkt", + displayCurrency: "USD", + colorTheme: `${darkMode ? "dark" : "light"}`, + locale: "in", }); - const widgetContainer = document.getElementById('tradingview-widget'); + const widgetContainer = document.getElementById("tradingview-widget"); if (widgetContainer && widgetContainer.childElementCount === 0) { widgetContainer.appendChild(script); } return () => { if (widgetContainer) { - widgetContainer.innerHTML = ''; + widgetContainer.innerHTML = ""; } }; }, [darkMode]); return ( -
    -
    +
    +
    ); }; diff --git a/app/src/components/news/CryptoWidget.jsx b/app/src/components/news/CryptoWidget.jsx index 129e1da..226f642 100644 --- a/app/src/components/news/CryptoWidget.jsx +++ b/app/src/components/news/CryptoWidget.jsx @@ -1,22 +1,23 @@ -import React, { useEffect, useRef } from 'react'; +import React, { useEffect, useRef } from "react"; const CryptoWidget = ({ darkMode }) => { const widgetContainerRef = useRef(null); useEffect(() => { - const script = document.createElement('script'); - script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-timeline.js'; + const script = document.createElement("script"); + script.src = + "https://s3.tradingview.com/external-embedding/embed-widget-timeline.js"; script.async = true; script.innerHTML = JSON.stringify({ - "feedMode": "market", - "colorTheme": `${darkMode ? 'dark' : 'light'}`, - "isTransparent": false, - "displayMode": "adaptive", - "width": "1000", - "height": "400", - "locale": "in", - "market": "crypto" - }); + feedMode: "market", + colorTheme: `${darkMode ? "dark" : "light"}`, + isTransparent: false, + displayMode: "adaptive", + width: "1000", + height: "400", + locale: "in", + market: "crypto", + }); widgetContainerRef.current.appendChild(script); return () => { @@ -27,10 +28,12 @@ const CryptoWidget = ({ darkMode }) => { return (
    -
    -
    -
    +
    +
    ); }; @@ -39,13 +42,13 @@ export default CryptoWidget; // CSS styles const containerStyle = { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', + display: "flex", + flexDirection: "column", + alignItems: "center", + justifyContent: "center", }; const centerStyle = { - display: 'flex', - justifyContent: 'center', + display: "flex", + justifyContent: "center", }; diff --git a/app/src/components/news/Header.jsx b/app/src/components/news/Header.jsx index 46ea612..18281e0 100644 --- a/app/src/components/news/Header.jsx +++ b/app/src/components/news/Header.jsx @@ -39,7 +39,12 @@ export default function Header() { stoccoin-news-header
    diff --git a/app/src/components/news/StocksWidget.jsx b/app/src/components/news/StocksWidget.jsx index 65a6b64..4bad9dd 100644 --- a/app/src/components/news/StocksWidget.jsx +++ b/app/src/components/news/StocksWidget.jsx @@ -1,22 +1,23 @@ -import React, { useEffect, useRef } from 'react'; +import React, { useEffect, useRef } from "react"; const StocksWidget = ({ darkMode }) => { const widgetContainerRef = useRef(null); useEffect(() => { - const script = document.createElement('script'); - script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-timeline.js'; + const script = document.createElement("script"); + script.src = + "https://s3.tradingview.com/external-embedding/embed-widget-timeline.js"; script.async = true; script.innerHTML = JSON.stringify({ - "feedMode": "market", - "colorTheme": darkMode ? 'dark' : 'light', - "isTransparent": false, - "displayMode": "adaptive", - "width": "1000", - "height": "400", - "locale": "in", - "market": "stock" - }); + feedMode: "market", + colorTheme: darkMode ? "dark" : "light", + isTransparent: false, + displayMode: "adaptive", + width: "1000", + height: "400", + locale: "in", + market: "stock", + }); widgetContainerRef.current.appendChild(script); return () => { @@ -26,26 +27,27 @@ const StocksWidget = ({ darkMode }) => { return (
    -
    -
    -
    -
    -
    +
    +
    +
    +
    ); }; export default StocksWidget; - const containerStyle = { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', - }; +const containerStyle = { + display: "flex", + flexDirection: "column", + alignItems: "center", + justifyContent: "center", +}; - const centerStyle = { - display: 'flex', - justifyContent: 'center', - }; - \ No newline at end of file +const centerStyle = { + display: "flex", + justifyContent: "center", +}; diff --git a/app/src/components/stocks/Header.jsx b/app/src/components/stocks/Header.jsx index 3b680ce..c420d05 100644 --- a/app/src/components/stocks/Header.jsx +++ b/app/src/components/stocks/Header.jsx @@ -39,7 +39,12 @@ export default function Header() { stoccoin-stocks-header
    diff --git a/app/src/components/stocks/Widget1.jsx b/app/src/components/stocks/Widget1.jsx index e327524..6a87668 100644 --- a/app/src/components/stocks/Widget1.jsx +++ b/app/src/components/stocks/Widget1.jsx @@ -1,9 +1,10 @@ -import React, { useEffect } from 'react'; +import React, { useEffect } from "react"; const Widget1 = ({ darkMode }) => { useEffect(() => { - const script = document.createElement('script'); - script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-market-quotes.js'; + const script = document.createElement("script"); + script.src = + "https://s3.tradingview.com/external-embedding/embed-widget-market-quotes.js"; script.async = true; script.innerHTML = JSON.stringify({ title: "Stocks", @@ -13,113 +14,123 @@ const Widget1 = ({ darkMode }) => { showSymbolLogo: true, symbolsGroups: [ { - "name": "Financial", - "symbols": [ + name: "Financial", + symbols: [ { - "name": "NYSE:JPM", - "displayName": "Jpmorgan Chase & Co" + name: "NYSE:JPM", + displayName: "Jpmorgan Chase & Co", }, { - "name": "NYSE:WFC", - "displayName": "Wells Fargo Co New" + name: "NYSE:WFC", + displayName: "Wells Fargo Co New", }, { - "name": "NYSE:BAC", - "displayName": "Bank Amer Corp" + name: "NYSE:BAC", + displayName: "Bank Amer Corp", }, { - "name": "NYSE:HSBC", - "displayName": "Hsbc Hldgs Plc" + name: "NYSE:HSBC", + displayName: "Hsbc Hldgs Plc", }, { - "name": "NYSE:C", - "displayName": "Citigroup Inc" + name: "NYSE:C", + displayName: "Citigroup Inc", }, { - "name": "NYSE:MA", - "displayName": "Mastercard Incorporated" - } - ] + name: "NYSE:MA", + displayName: "Mastercard Incorporated", + }, + ], }, { - "name": "Technology", - "symbols": [ + name: "Technology", + symbols: [ { - "name": "NASDAQ:AAPL", - "displayName": "Apple" + name: "NASDAQ:AAPL", + displayName: "Apple", }, { - "name": "NASDAQ:GOOGL", - "displayName": "Google Inc" + name: "NASDAQ:GOOGL", + displayName: "Google Inc", }, { - "name": "NASDAQ:MSFT", - "displayName": "Microsoft Corp" + name: "NASDAQ:MSFT", + displayName: "Microsoft Corp", }, { - "name": "NASDAQ:FB", - "displayName": "Meta Platforms, Inc" + name: "NASDAQ:FB", + displayName: "Meta Platforms, Inc", }, { - "name": "NYSE:ORCL", - "displayName": "Oracle Corp" + name: "NYSE:ORCL", + displayName: "Oracle Corp", }, { - "name": "NASDAQ:INTC", - "displayName": "Intel Corp" - } - ] + name: "NASDAQ:INTC", + displayName: "Intel Corp", + }, + ], }, { - "name": "Services", - "symbols": [ + name: "Services", + symbols: [ { - "name": "NASDAQ:AMZN", - "displayName": "Amazon Com Inc" + name: "NASDAQ:AMZN", + displayName: "Amazon Com Inc", }, { - "name": "NYSE:BABA", - "displayName": "Alibaba Group Hldg Ltd" + name: "NYSE:BABA", + displayName: "Alibaba Group Hldg Ltd", }, { - "name": "NYSE:T", - "displayName": "At&t Inc" + name: "NYSE:T", + displayName: "At&t Inc", }, { - "name": "NYSE:WMT", - "displayName": "Wal-mart Stores Inc" + name: "NYSE:WMT", + displayName: "Wal-mart Stores Inc", }, { - "name": "NYSE:V", - "displayName": "Visa Inc" - } - ] - } + name: "NYSE:V", + displayName: "Visa Inc", + }, + ], + }, ], - colorTheme: `${darkMode ? 'dark' : 'light'}`, + colorTheme: `${darkMode ? "dark" : "light"}`, }); - const widgetContainer = document.createElement('div'); - widgetContainer.className = 'tradingview-widget-container'; - + const widgetContainer = document.createElement("div"); + widgetContainer.className = "tradingview-widget-container"; widgetContainer.appendChild(script); - const container = document.getElementById('tradingview-widget'); + const container = document.getElementById("tradingview-widget"); if (container && container.childElementCount === 0) { container.appendChild(widgetContainer); } return () => { if (container) { - container.innerHTML = ''; + container.innerHTML = ""; } }; }, [darkMode]); return ( -
    -
    +
    +
    ); }; diff --git a/app/src/components/trade/CryptoWidget.jsx b/app/src/components/trade/CryptoWidget.jsx index a58c852..145d71c 100644 --- a/app/src/components/trade/CryptoWidget.jsx +++ b/app/src/components/trade/CryptoWidget.jsx @@ -1,57 +1,58 @@ -import React, { useEffect, useRef } from 'react'; +import React, { useEffect, useRef } from "react"; let tvScriptLoadingPromise; export default function CryptoWidget({ darkMode }) { const onLoadScriptRef = useRef(); - useEffect( - () => { - onLoadScriptRef.current = createWidget; - - if (!tvScriptLoadingPromise) { - tvScriptLoadingPromise = new Promise((resolve) => { - const script = document.createElement('script'); - script.id = 'tradingview-widget-loading-script'; - script.src = 'https://s3.tradingview.com/tv.js'; - script.type = 'text/javascript'; - script.onload = resolve; - - document.head.appendChild(script); + useEffect(() => { + onLoadScriptRef.current = createWidget; + + if (!tvScriptLoadingPromise) { + tvScriptLoadingPromise = new Promise((resolve) => { + const script = document.createElement("script"); + script.id = "tradingview-widget-loading-script"; + script.src = "https://s3.tradingview.com/tv.js"; + script.type = "text/javascript"; + script.onload = resolve; + + document.head.appendChild(script); + }); + } + + tvScriptLoadingPromise.then( + () => onLoadScriptRef.current && onLoadScriptRef.current(), + ); + + return () => (onLoadScriptRef.current = null); + + function createWidget() { + if ( + document.getElementById("tradingview_20a86") && + "TradingView" in window + ) { + new window.TradingView.widget({ + width: 1000, + height: 600, + symbol: "BINANCE:BTCUSDT", + interval: "D", + timezone: "Etc/UTC", + theme: darkMode ? "dark" : "light", + style: "1", + locale: "in", + toolbar_bg: "#f1f3f6", + enable_publishing: false, + allow_symbol_change: true, + container_id: "tradingview_20a86", }); } - - tvScriptLoadingPromise.then(() => onLoadScriptRef.current && onLoadScriptRef.current()); - - return () => onLoadScriptRef.current = null; - - function createWidget() { - if (document.getElementById('tradingview_20a86') && 'TradingView' in window) { - new window.TradingView.widget({ - width: 1000, - height: 600, - symbol: "BINANCE:BTCUSDT", - interval: "D", - timezone: "Etc/UTC", - theme: darkMode ? "dark" : "light", - style: "1", - locale: "in", - toolbar_bg: "#f1f3f6", - enable_publishing: false, - allow_symbol_change: true, - container_id: "tradingview_20a86" - }); - } - } - }, - [darkMode] - ); + } + }, [darkMode]); return ( -
    -
    -
    -
    +
    +
    +
    ); } diff --git a/app/src/components/trade/Header.jsx b/app/src/components/trade/Header.jsx index 3752d30..dcb2497 100644 --- a/app/src/components/trade/Header.jsx +++ b/app/src/components/trade/Header.jsx @@ -39,7 +39,12 @@ export default function Header() { stoccoin-trade-header
    diff --git a/app/src/components/trade/StocksWidget.jsx b/app/src/components/trade/StocksWidget.jsx index 5582b3f..27f665a 100644 --- a/app/src/components/trade/StocksWidget.jsx +++ b/app/src/components/trade/StocksWidget.jsx @@ -1,56 +1,58 @@ -import React, { useEffect, useRef } from 'react'; +import React, { useEffect, useRef } from "react"; let tvScriptLoadingPromise; export default function StocksWidget({ darkMode }) { const onLoadScriptRef = useRef(); - useEffect( - () => { - onLoadScriptRef.current = createWidget; - - if (!tvScriptLoadingPromise) { - tvScriptLoadingPromise = new Promise((resolve) => { - const script = document.createElement('script'); - script.id = 'tradingview-widget-loading-script'; - script.src = 'https://s3.tradingview.com/tv.js'; - script.type = 'text/javascript'; - script.onload = resolve; - - document.head.appendChild(script); + useEffect(() => { + onLoadScriptRef.current = createWidget; + + if (!tvScriptLoadingPromise) { + tvScriptLoadingPromise = new Promise((resolve) => { + const script = document.createElement("script"); + script.id = "tradingview-widget-loading-script"; + script.src = "https://s3.tradingview.com/tv.js"; + script.type = "text/javascript"; + script.onload = resolve; + + document.head.appendChild(script); + }); + } + + tvScriptLoadingPromise.then( + () => onLoadScriptRef.current && onLoadScriptRef.current(), + ); + + return () => (onLoadScriptRef.current = null); + + function createWidget() { + if ( + document.getElementById("tradingview_7d84a") && + "TradingView" in window + ) { + new window.TradingView.widget({ + width: 1000, + height: 600, + symbol: "NASDAQ:AAPL", + interval: "D", + timezone: "Etc/UTC", + theme: darkMode ? "dark" : "light", + style: "1", + locale: "in", + toolbar_bg: "#f1f3f6", + enable_publishing: false, + allow_symbol_change: true, + container_id: "tradingview_7d84a", }); } - - tvScriptLoadingPromise.then(() => onLoadScriptRef.current && onLoadScriptRef.current()); - - return () => onLoadScriptRef.current = null; - - function createWidget() { - if (document.getElementById('tradingview_7d84a') && 'TradingView' in window) { - new window.TradingView.widget({ - width: 1000, - height: 600, - symbol: "NASDAQ:AAPL", - interval: "D", - timezone: "Etc/UTC", - theme: darkMode ? "dark" : "light", - style: "1", - locale: "in", - toolbar_bg: "#f1f3f6", - enable_publishing: false, - allow_symbol_change: true, - container_id: "tradingview_7d84a" - }); - } - } - }, - [darkMode] - ); + } + }, [darkMode]); return ( -
    -
    -
    +
    +
    +
    ); -} \ No newline at end of file +} diff --git a/app/src/firebase/auth.js b/app/src/firebase/auth.js index 284bf6b..e1f21e2 100644 --- a/app/src/firebase/auth.js +++ b/app/src/firebase/auth.js @@ -2,12 +2,12 @@ import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth"; const firebaseConfig = { - apiKey: import.meta.env.VITE_API_KEY, - authDomain: import.meta.env.VITE_AUTH_DOMAIN, - projectId: import.meta.env.VITE_PROJECT_ID, - storageBucket: import.meta.env.VITE_STORAGE_BUCKET, - messagingSenderId: import.meta.env.VITE_MESSAGING_SENDER_ID, - appId: import.meta.env.VITE_APP_ID, + apiKey: import.meta.env.VITE_API_KEY, + authDomain: import.meta.env.VITE_AUTH_DOMAIN, + projectId: import.meta.env.VITE_PROJECT_ID, + storageBucket: import.meta.env.VITE_STORAGE_BUCKET, + messagingSenderId: import.meta.env.VITE_MESSAGING_SENDER_ID, + appId: import.meta.env.VITE_APP_ID, }; // Initialize Firebase diff --git a/app/src/index.css b/app/src/index.css index bd6213e..b5c61c9 100644 --- a/app/src/index.css +++ b/app/src/index.css @@ -1,3 +1,3 @@ @tailwind base; @tailwind components; -@tailwind utilities; \ No newline at end of file +@tailwind utilities; diff --git a/app/src/main.jsx b/app/src/main.jsx index 5cc5991..7f2a045 100644 --- a/app/src/main.jsx +++ b/app/src/main.jsx @@ -1,10 +1,10 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App' -import './index.css' +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App"; +import "./index.css"; -ReactDOM.createRoot(document.getElementById('root')).render( +ReactDOM.createRoot(document.getElementById("root")).render( , -) +); diff --git a/app/src/pages/Dashboard.jsx b/app/src/pages/Dashboard.jsx index 35ef675..cc7faf1 100644 --- a/app/src/pages/Dashboard.jsx +++ b/app/src/pages/Dashboard.jsx @@ -1,4 +1,3 @@ - const Dashboard = () => { return (
    diff --git a/app/src/pages/Derivatives.jsx b/app/src/pages/Derivatives.jsx index d59967b..338fe9a 100644 --- a/app/src/pages/Derivatives.jsx +++ b/app/src/pages/Derivatives.jsx @@ -1,9 +1,9 @@ - - const Derivatives = () => { return (
    -

    Derivatives

    +

    + Derivatives +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate, placeat blanditiis, est non atque cum aut ratione pariatur quas eligendi diff --git a/app/src/pages/Institutional.jsx b/app/src/pages/Institutional.jsx index 13653fb..fbd5d3a 100644 --- a/app/src/pages/Institutional.jsx +++ b/app/src/pages/Institutional.jsx @@ -1,8 +1,9 @@ - const Institutional = () => { return (

    -

    Institutional

    +

    + Institutional +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate, placeat blanditiis, est non atque cum aut ratione pariatur quas eligendi diff --git a/app/src/pages/Login.jsx b/app/src/pages/Login.jsx index 3a517f2..e277fca 100644 --- a/app/src/pages/Login.jsx +++ b/app/src/pages/Login.jsx @@ -52,7 +52,9 @@ const Login = () => {

    {error &&

    {error}

    }
    - + { />
    - + { Reset Password
    - + {
    - + { />
    - + { return (
    diff --git a/app/src/pages/News.jsx b/app/src/pages/News.jsx index 02fd378..568c8b2 100644 --- a/app/src/pages/News.jsx +++ b/app/src/pages/News.jsx @@ -6,11 +6,11 @@ const News = ({ darkMode }) => { return (
    -
    +
    -
    +
    -
    +
    ); }; diff --git a/app/src/pages/SignUp.jsx b/app/src/pages/SignUp.jsx index 6730515..c3571e5 100644 --- a/app/src/pages/SignUp.jsx +++ b/app/src/pages/SignUp.jsx @@ -70,7 +70,9 @@ const SignUp = () => {
    {error &&

    {error}

    }
    - + { />
    - + {
    - + { />
    - + {
    - + { />
    - + {
    -
    +
    ); }; diff --git a/app/src/pages/Support.jsx b/app/src/pages/Support.jsx index e89b508..6ae2779 100644 --- a/app/src/pages/Support.jsx +++ b/app/src/pages/Support.jsx @@ -1,8 +1,9 @@ - const Support = () => { return (
    -

    Support

    +

    + Support +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate, placeat blanditiis, est non atque cum aut ratione pariatur quas eligendi diff --git a/app/tailwind.config.cjs b/app/tailwind.config.cjs index d0a34a3..c506b7b 100644 --- a/app/tailwind.config.cjs +++ b/app/tailwind.config.cjs @@ -1,21 +1,18 @@ /** @type {import('tailwindcss').Config} */ module.exports = { darkMode: "class", - content: [ - "./index.html", - "./src/**/*.{js,ts,jsx,tsx}", - ], + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], theme: { fontSize: { - sm: '0.8rem', - base: '1rem', - xl: '1.25rem', - '2xl': '1.563rem', - '3xl': '1.953rem', - '4xl': '2.441rem', - '5xl': '3.052rem', + sm: "0.8rem", + base: "1rem", + xl: "1.25rem", + "2xl": "1.563rem", + "3xl": "1.953rem", + "4xl": "2.441rem", + "5xl": "3.052rem", }, extend: {}, }, plugins: [], -} +}; diff --git a/app/vercel.json b/app/vercel.json index 2c6e202..408821b 100644 --- a/app/vercel.json +++ b/app/vercel.json @@ -1,8 +1,8 @@ { - "rewrites": [ - { - "source": "/(.*)", - "destination": "/" - } - ] + "rewrites": [ + { + "source": "/(.*)", + "destination": "/" + } + ] }