This commit is contained in:
2026-06-24 15:10:50 +02:00
commit a3e7512f95
212 changed files with 212927 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
/* /index.html 200
+40
View File
@@ -0,0 +1,40 @@
const { app, BrowserWindow } = require('electron')
const path = require('path')
const isDev = require('electron-is-dev')
let mainWindow
const createWindow = () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
icon: path.join(__dirname, 'media/icons/electron.png'),
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
},
})
mainWindow.loadURL(
isDev
? 'http://localhost:3000'
: `file://${path.join(__dirname, '..', 'build', 'index.html')}`
)
mainWindow.on('closed', () => (mainWindow = null))
}
app.disableHardwareAcceleration()
app.on('ready', createWindow)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (mainWindow === null) {
createWindow()
}
})
+50
View File
@@ -0,0 +1,50 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/media/icons/favicon.ico" />
<link
rel="icon"
type="image/png"
sizes="32x32"
href="%PUBLIC_URL%/media/icons/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="%PUBLIC_URL%/media/icons/favicon-16x16.png"
/>
<link
rel="apple-touch-icon"
href="%PUBLIC_URL%/media/icons/apple-touch-icon.png"
/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike '/favicon.ico' or 'favicon.ico', '%PUBLIC_URL%/favicon.ico' will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<link
href="https://cdn.jsdelivr.net/gh/hung1001/font-awesome-pro@4cac1a6/css/all.css"
rel="stylesheet"
type="text/css"
/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="app"></div>
</body>
</html>
+113
View File
@@ -0,0 +1,113 @@
{
"name": "Debaters' toolkit",
"short_name": "Debaters' toolkit",
"categories": [
"education",
"sports",
"utilities"
],
"description": "Generate a random debate motion, search our database of over 7000 motions, calculate break chances or do debate timekeeping.",
"screenshots": [
{
"src": "media/screenshots/1.png",
"sizes": "1800x2040",
"type": "image/png"
},
{
"src": "media/screenshots/2.png",
"sizes": "1800x2040",
"type": "image/png"
},
{
"src": "media/screenshots/3.png",
"sizes": "1800x2040",
"type": "image/png"
},
{
"src": "media/screenshots/4.png",
"sizes": "1800x2040",
"type": "image/png"
},
{
"src": "media/screenshots/5.png",
"sizes": "1800x2040",
"type": "image/png"
}
],
"icons": [
{
"src": "media/icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "media/icons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"shortcuts": [
{
"name": "Motion Generator",
"short_name": "Generator",
"description": "Generate a random debate motion",
"url": "/generator",
"icons": [
{ "src": "/media/icons/generator/36x36.png", "sizes": "36x36" },
{ "src": "/media/icons/generator/48x48.png", "sizes": "48x48" },
{ "src": "/media/icons/generator/72x72.png", "sizes": "72x72" },
{ "src": "/media/icons/generator/96x96.png", "sizes": "96x96" },
{ "src": "/media/icons/generator/144x144.png", "sizes": "144x144" },
{ "src": "/media/icons/generator/192x192.png", "sizes": "192x192" }
]
},
{
"name": "Motion Database",
"short_name": "Database",
"description": "Search for motions from the database",
"url": "/database",
"icons": [
{ "src": "/media/icons/database/36x36.png", "sizes": "36x36" },
{ "src": "/media/icons/database/48x48.png", "sizes": "48x48" },
{ "src": "/media/icons/database/72x72.png", "sizes": "72x72" },
{ "src": "/media/icons/database/96x96.png", "sizes": "96x96" },
{ "src": "/media/icons/database/144x144.png", "sizes": "144x144" },
{ "src": "/media/icons/database/192x192.png", "sizes": "192x192" }
]
},
{
"name": "Break Calculator",
"short_name": "Calculator",
"description": "Calculate break chances in AP, WSDC, or BP tournaments",
"url": "/break_calculator",
"icons": [
{ "src": "/media/icons/break-calculator/36x36.png", "sizes": "36x36" },
{ "src": "/media/icons/break-calculator/48x48.png", "sizes": "48x48" },
{ "src": "/media/icons/break-calculator/72x72.png", "sizes": "72x72" },
{ "src": "/media/icons/break-calculator/96x96.png", "sizes": "96x96" },
{ "src": "/media/icons/break-calculator/144x144.png", "sizes": "144x144" },
{ "src": "/media/icons/break-calculator/192x192.png", "sizes": "192x192" }
]
},
{
"name": "Debate Timekeeper",
"short_name": "Timekeeper",
"description": "Do debate timekeeping",
"url": "/keeper",
"icons": [
{ "src": "/media/icons/timekeeper/36x36.png", "sizes": "36x36" },
{ "src": "/media/icons/timekeeper/48x48.png", "sizes": "48x48" },
{ "src": "/media/icons/timekeeper/72x72.png", "sizes": "72x72" },
{ "src": "/media/icons/timekeeper/96x96.png", "sizes": "96x96" },
{ "src": "/media/icons/timekeeper/144x144.png", "sizes": "144x144" },
{ "src": "/media/icons/timekeeper/192x192.png", "sizes": "192x192" }
]
}
],
"id": "/",
"start_url": "/",
"display": "standalone",
"theme_color": "#FFFFFF",
"background_color": "#FFFFFF",
"android_package_name": "com.debaterstoolkit.android"
}
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

+3
View File
@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow: