From dc73aecf410b7c2729e5118a97303c9e1a3c629c Mon Sep 17 00:00:00 2001 From: Nicolas Dickreuter Date: Sun, 7 Jan 2024 23:14:20 +0000 Subject: [PATCH] dynamic download link --- .github/workflows/website.yml | 2 +- website/src/routes/NavBar.tsx | 108 ++++--- website/src/views/Purchase.tsx | 403 ++++++++++++++----------- website/src/views/StrategyAnalyzer.tsx | 2 +- website/src/views/TableAnalyzer.tsx | 2 +- website/src/views/TableMapper.tsx | 3 +- website/src/views/config.tsx | 24 ++ 7 files changed, 319 insertions(+), 225 deletions(-) create mode 100644 website/src/views/config.tsx diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 7b1dfe79..f586374d 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -2,7 +2,7 @@ name: Build and Deploy on: push: - branches: [ main ] + branches: [ master ] jobs: build: diff --git a/website/src/routes/NavBar.tsx b/website/src/routes/NavBar.tsx index 93c34c50..2edcf580 100644 --- a/website/src/routes/NavBar.tsx +++ b/website/src/routes/NavBar.tsx @@ -1,45 +1,77 @@ -import 'bootstrap/dist/css/bootstrap.css'; +import "bootstrap/dist/css/bootstrap.css"; import { Link } from "react-router-dom"; +import { useDlLink } from "../views/config"; function NavBar() { - return ( - - ) + + + ); } -export default NavBar \ No newline at end of file +export default NavBar; diff --git a/website/src/views/Purchase.tsx b/website/src/views/Purchase.tsx index ee779f87..1806d10d 100644 --- a/website/src/views/Purchase.tsx +++ b/website/src/views/Purchase.tsx @@ -1,194 +1,233 @@ -import Button from '@mui/material/Button'; -import ClickAwayListener from '@mui/material/ClickAwayListener'; -import Tooltip from '@mui/material/Tooltip'; -import 'bootstrap/dist/css/bootstrap.css'; -import { useState } from 'react'; +import Button from "@mui/material/Button"; +import ClickAwayListener from "@mui/material/ClickAwayListener"; +import Tooltip from "@mui/material/Tooltip"; +import axios from "axios"; +import "bootstrap/dist/css/bootstrap.css"; +import { useState } from "react"; +import { useDlLink } from './config'; function PaymentCards() { - const [hover, setHover] = useState(false); - const [showBitcoin, setShowBitcoin] = useState(false); - const bitcoinAddress = "bc1q6r0l549jefv3rgs7e0jzsdkx9pq9trd2cqyw50" - const dl_link = "https://onedrive.live.com/download?cid=A3B69BDCC03E82A9&resid=A3B69BDCC03E82A9%21111289&authkey=AEftpEpz8jxnBdI" + const [hover, setHover] = useState(false); + const [showBitcoin, setShowBitcoin] = useState(false); + const bitcoinAddress = "bc1q6r0l549jefv3rgs7e0jzsdkx9pq9trd2cqyw50"; + const dlLink = useDlLink(); + const goToLink = (link: string) => { + window.location.href = link; + }; + const handleCopy = () => { + if (!showBitcoin) setShowBitcoin(true); + else setShowBitcoin(false); + }; - const goToLink = (link: string) => { - window.location.href = link; - } - const handleCopy = () => { - if (!showBitcoin) setShowBitcoin(true); - else setShowBitcoin(false); - }; - - return ( - <>
-
-
-
- {/*
*/} -
-
-
Free
-
Version
-
-
-
-

    -
  • Scrape Table and Analyze
  • -
  • Auto Click on best action
  • -
  • Select table templates
  • -
  • Map your own tables
  • -
  • Analyze results
  • -
  • Track payoff
  • -
    -
  • Trial strategies
  • -
    -
  • Get free trial for betfair-bot.com
  • - -
-
-
- {/*
*/} -
-
-
-
-
-
Monthly
-
$25 / month
-
-
-
-

    -
  • Scrape Table and Analyze
  • -
  • Auto Click on best action
  • -
  • Select table templates
  • -
  • Map your own tables
  • -
  • Analyze results
  • -
  • Track payoff
  • -
    + return ( + <> +
    +
    +
    +
    + {/*
    */} +
    +
    +
    Free
    +
    Version
    +
    + +
    +
    +
      +
      +
    • Scrape Table and Analyze
    • +
    • Auto Click on best action
    • +
    • Select table templates
    • +
    • Map your own tables
    • +
    • Analyze results
    • +
    • Track payoff
    • +
      +
    • Trial strategies
    • +
      +
    • Get free trial for betfair-bot.com
    • +
    +
    +
    + {/*
    */} +
    +
    +
    +
    +
    +
    Monthly
    +
    $25 / month
    +
    + +
    +
    +
      +
      +
    • Scrape Table and Analyze
    • +
    • Auto Click on best action
    • +
    • Select table templates
    • +
    • Map your own tables
    • +
    • Analyze results
    • +
    • Track payoff
    • +
      -
    • Support chat
    • -
    • Access to all strategies
    • -
    • Edit strategies
    • -
    • Create custom strategies
    • -
      -
    • Get free licence for betfair-bot.com
    • -
    -
    -
    - {/*
    */} -
    -
    -
    -
    -
    -
    1 year
    -
    $49 / year
    -
    - -
    -
    -

      -
    • Scrape Table and Analyze
    • -
    • Auto Click on best action
    • -
    • Select table templates
    • -
    • Map your own tables
    • -
    • Analyze results
    • -
    • Track payoff
    • -
      +
    • Support chat
    • +
    • Access to all strategies
    • +
    • Edit strategies
    • +
    • Create custom strategies
    • +
      +
    • Get free licence for betfair-bot.com
    • +
    +
    +
    + {/*
    */} +
    +
    +
    +
    +
    +
    1 year
    +
    $49 / year
    +
    + +
    +
    +
      +
      +
    • Scrape Table and Analyze
    • +
    • Auto Click on best action
    • +
    • Select table templates
    • +
    • Map your own tables
    • +
    • Analyze results
    • +
    • Track payoff
    • +
      -
    • Support chat
    • -
    • Access to all strategies
    • -
    • Edit strategies
    • -
    • Create custom strategies
    • -
      -
    • Get free licence for betfair-bot.com
    • -
    -
    -
    -
    +
  • Support chat
  • +
  • Access to all strategies
  • +
  • Edit strategies
  • +
  • Create custom strategies
  • +
    +
  • Get free licence for betfair-bot.com
  • +
+
+
+
+
+
+
+
+
1 year
+
$49 / year
+
+ setHover(false)}> + + + {showBitcoin && ( +
+ Bitcoin address: {bitcoinAddress}
+ Please email me to confirm once you have made a payment: + dickreuter@gmail.com
-
-
-
-
1 year
-
$49 / year
-
- setHover(false)}> - - - {showBitcoin && -
- Bitcoin address: {bitcoinAddress}
Please email me to confirm once you have made a payment: dickreuter@gmail.com -
- } - -
- {/*

Bitcoin: bc1q6r0l549jefv3rgs7e0jzsdkx9pq9trd2cqyw50
*/} -
-

    -
  • Scrape Table and Analyze
  • -
  • Auto Click on best action
  • -
  • Select table templates
  • -
  • Map your own tables
  • -
  • Analyze results
  • -
  • Track payoff
  • -
    + )} +
+ {/*

Bitcoin: bc1q6r0l549jefv3rgs7e0jzsdkx9pq9trd2cqyw50
*/} +
+
    +
    +
  • Scrape Table and Analyze
  • +
  • Auto Click on best action
  • +
  • Select table templates
  • +
  • Map your own tables
  • +
  • Analyze results
  • +
  • Track payoff
  • +
    -
  • Support chat
  • -
  • Access to all strategies
  • -
  • Edit strategies
  • -
  • Create custom strategies
  • -
    -
  • Get free licence for betfair-bot.com
  • -
-
-
-
-
-
-
-
-
Lifetime
-
$499 / life
-
- -
-
-

    -
  • Scrape Table and Analyze
  • -
  • Auto Click on best action
  • -
  • Select table templates
  • -
  • Map your own tables
  • -
  • Analyze results
  • -
  • Track payoff
  • -
    +
  • Support chat
  • +
  • Access to all strategies
  • +
  • Edit strategies
  • +
  • Create custom strategies
  • +
    +
  • Get free licence for betfair-bot.com
  • +
+
+
+
+
+
+
+
+
Lifetime
+
$499 / life
+
+ +
+
+
    +
    +
  • Scrape Table and Analyze
  • +
  • Auto Click on best action
  • +
  • Select table templates
  • +
  • Map your own tables
  • +
  • Analyze results
  • +
  • Track payoff
  • +
    -
  • Support chat
  • -
  • Access to all strategies
  • -
  • Edit strategies
  • -
  • Create custom strategies
  • -
    -
  • Get free licence for betfair-bot.com
  • -
-
-
-
-
+
  • Support chat
  • +
  • Access to all strategies
  • +
  • Edit strategies
  • +
  • Create custom strategies
  • +
    +
  • Get free licence for betfair-bot.com
  • +
    +
    - - ) +
    +
    +
    + + ); +} + +export default PaymentCards; + +function fetchDlLink() { + throw new Error("Function not implemented."); } -export default PaymentCards \ No newline at end of file diff --git a/website/src/views/StrategyAnalyzer.tsx b/website/src/views/StrategyAnalyzer.tsx index 478a0fa4..4069de78 100644 --- a/website/src/views/StrategyAnalyzer.tsx +++ b/website/src/views/StrategyAnalyzer.tsx @@ -9,10 +9,10 @@ import { pirate } from '../assets/Images'; import FundsChangeLineChart from '../components/FundsChangeChart'; import Loading from '../components/Loading'; import DataTable from '../components/TableData'; +import { API_URL } from './config'; const StrategyAnalyzer: React.FC = () => { - const API_URL = import.meta.env.VITE_REACT_APP_API_URL || 'http://dickreuter.com:7777'; const [strategies, setStrategies] = useState([]); const [selectedStrategy, setSelectedStrategy] = useState(null); const [endStage, setEndStage] = useState('All'); diff --git a/website/src/views/TableAnalyzer.tsx b/website/src/views/TableAnalyzer.tsx index 27f6be9b..7d17f204 100644 --- a/website/src/views/TableAnalyzer.tsx +++ b/website/src/views/TableAnalyzer.tsx @@ -3,9 +3,9 @@ import axios from 'axios'; import 'bootstrap/dist/css/bootstrap.css'; import { useEffect, useState } from 'react'; import { Bar, BarChart, CartesianGrid, Legend, Tooltip, XAxis, YAxis } from 'recharts'; +import { API_URL } from './config'; function TableAnalyzer() { - const API_URL = import.meta.env.VITE_REACT_APP_API_URL || 'http://dickreuter.com:7777'; const [tableData, setTableData] = useState([]); const [loading, setLoading] = useState(true); // New state for loading diff --git a/website/src/views/TableMapper.tsx b/website/src/views/TableMapper.tsx index 68c082e2..f1d8328d 100644 --- a/website/src/views/TableMapper.tsx +++ b/website/src/views/TableMapper.tsx @@ -4,10 +4,9 @@ import "bootstrap/dist/css/bootstrap.css"; import React, { useEffect, useRef, useState } from "react"; import { Dropdown } from "react-bootstrap"; import "./TableMapper.css"; +import { API_URL } from "./config"; function TableMapper() { - const API_URL = - import.meta.env.VITE_REACT_APP_API_URL || "http://dickreuter.com:7777"; const canvasRef = useRef(null); const previewRef = useRef(null); const [isDrawing, setIsDrawing] = useState(false); diff --git a/website/src/views/config.tsx b/website/src/views/config.tsx new file mode 100644 index 00000000..f8d2db28 --- /dev/null +++ b/website/src/views/config.tsx @@ -0,0 +1,24 @@ +import axios from "axios"; +import { useEffect, useState } from "react"; + +export const API_URL = + import.meta.env.VITE_REACT_APP_API_URL || "http://dickreuter.com:7777"; + +export const useDlLink = () => { + const [dlLink, setDlLink] = useState(""); + + useEffect(() => { + const fetchDlLink = async () => { + try { + const response = await axios.post(`${API_URL}/get_internal`); + setDlLink(response.data[0].dl); + } catch (error) { + console.error("Error fetching dl link:", error); + } + }; + + fetchDlLink(); + }, []); + + return dlLink; +};