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;
+};