mirror of
https://github.com/JustusPlays78/SectorFileUpdater.git
synced 2025-04-29 19:24:24 +00:00
Compare commits
No commits in common. "9c45227337a3f9b83d499a9c55870a9f7c2abb97" and "8eb0b99959f8162e4594c324f299864c6c365d97" have entirely different histories.
9c45227337
...
8eb0b99959
32
.gitlab-ci.yml
Normal file
32
.gitlab-ci.yml
Normal file
@ -0,0 +1,32 @@
|
||||
version: 2.1
|
||||
jobs:
|
||||
build:
|
||||
working_directory: ~/repo
|
||||
docker:
|
||||
- image: circleci/node:11
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Update NPM
|
||||
command: "sudo npm install -g npm"
|
||||
- restore_cache:
|
||||
key: dependency-cache-{{ checksum "package.json" }}
|
||||
- run:
|
||||
name: Install Dependencies
|
||||
command: npm install
|
||||
- run:
|
||||
name: Install dpkg and fakeroot
|
||||
command: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y dpkg fakeroot
|
||||
|
||||
- save_cache:
|
||||
key: dependency-cache-{{ checksum "package.json" }}
|
||||
paths:
|
||||
- ./node_modules
|
||||
- run:
|
||||
name: Generate Builds
|
||||
command: npm run make
|
||||
|
||||
- store_artifacts:
|
||||
path: ~/repo/out/make
|
9
git-commit.sh
Normal file
9
git-commit.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# $1 = Changes
|
||||
# $2 = Branch
|
||||
|
||||
git add .
|
||||
git commit -m "$1"
|
||||
git push -uf origin paul-bastelt
|
||||
#git push -uf paulgit paul-bastelt
|
7709
package-lock.json
generated
7709
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
BIN
release-test-lustigeDateiv1.zip
Normal file
BIN
release-test-lustigeDateiv1.zip
Normal file
Binary file not shown.
BIN
release-test-lustigeDateiv2.zip
Normal file
BIN
release-test-lustigeDateiv2.zip
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
@ -1,10 +0,0 @@
|
||||
<header class="bg-gray-800 text-white shadow-lg">
|
||||
<nav class="container mx-auto flex justify-between items-center py-4 px-6">
|
||||
<h1 class="text-2xl font-bold">AIRAC Updater</h1>
|
||||
<ul class="flex space-x-6">
|
||||
<li><button onclick="ChangeSite(1)" class="hover:underline transition">Home</button></li>
|
||||
<li><button onclick="ChangeSite(2)" class="hover:underline transition">Push</button></li>
|
||||
<li><button onclick="ChangeSite(3)" class="hover:underline transition">Settings</button></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
@ -1,22 +0,0 @@
|
||||
const HomeType= {
|
||||
Home: 1,
|
||||
Push: 2,
|
||||
Settings: 3
|
||||
}
|
||||
|
||||
function ChangeSite(mimetype){
|
||||
console.log(mimetype);
|
||||
if (mimetype === HomeType.Home){
|
||||
homeDiv.style.display = 'block';
|
||||
pushDiv.style.display = 'none';
|
||||
settingsDiv.style.display = 'none';
|
||||
} else if (mimetype === HomeType.Push){
|
||||
homeDiv.style.display = 'none';
|
||||
pushDiv.style.display = 'block';
|
||||
settingsDiv.style.display = 'none';
|
||||
} else if (mimetype === HomeType.Settings){
|
||||
homeDiv.style.display = 'none';
|
||||
pushDiv.style.display = 'none';
|
||||
settingsDiv.style.display = 'block';
|
||||
}
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
<section class="container mx-auto p-6 bg-gray-800 shadow-md rounded-lg mt-6">
|
||||
<div class="space-y-6">
|
||||
<div class="flex space-x-4">
|
||||
<div class="w-full">
|
||||
<label for="homeDayDropdown" class="block text-sm font-medium text-gray-300">Day</label>
|
||||
<select id="homeDayDropdown" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;" onchange="handleDayChange()">
|
||||
<option value="">Choose Day</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="w-full">
|
||||
<label for="homeTypeDropdown" class="block text-sm font-medium text-gray-300">Change Type:</label>
|
||||
<select id="homeTypeDropdown" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;">
|
||||
<option value="Fix">Fix</option>
|
||||
<option value="Feat">Feat</option>
|
||||
<option value="Sonst">Sonst</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex space-x-4">
|
||||
<div class="w-full">
|
||||
<label for="homeTicketTypeDropdown" class="block text-sm font-medium text-gray-300">Ticket:</label>
|
||||
<select id="homeTicketTypeDropdown" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;">
|
||||
<option value="QA">QA</option>
|
||||
<option value="DEV">DEV</option>
|
||||
<option value="DEV">GD</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label for="homeTicketNumberInput" class="block text-sm font-medium text-gray-300">Ticketnumber:</label>
|
||||
<input id="homeTicketNumberInput" type="text" maxlength="7" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="space-y-6">
|
||||
<div>
|
||||
<label for="homeTicketDescriptionInput" class="block text-sm font-medium text-gray-300">Description:</label>
|
||||
<input id="homeTicketDescriptionInput" type="text" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-800 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="text-right">
|
||||
<button id="homeDayChangeAddButton" class="bg-blue-600 text-white px-4 py-2 rounded-md shadow hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-blue-700 dark:hover:bg-blue-600">
|
||||
Add
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="container mx-auto p-6 bg-gray-800 shadow-md rounded-lg mt-6">
|
||||
<h3 class="text-xl font-bold">Day</h3>
|
||||
<table class="w-full table-auto border-collapse">
|
||||
<thead class="bg-gray-700">
|
||||
<tr>
|
||||
<th class="px-4 py-2 border border-gray-600 text-left text-gray-200">Type</th>
|
||||
<th class="px-4 py-2 border border-gray-600 text-left text-gray-200">Ticket</th>
|
||||
<th class="px-4 py-2 border border-gray-600 text-left text-gray-200">Desciption</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="homeDay">
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
@ -1,57 +0,0 @@
|
||||
<section class="container mx-auto p-6 bg-gray-800 shadow-md rounded-lg mt-6">
|
||||
<div class="space-y-6">
|
||||
<div class="flex space-x-4">
|
||||
<div class="w-full">
|
||||
<div>
|
||||
<label for="pushRepoLabel" class="block text-sm font-medium text-gray-300">Repository:</label>
|
||||
<label id="pushRepoLabel" type="text" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-800 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<div class="space-y-6">
|
||||
<div>
|
||||
<label for="pushTokenInput" class="block text-sm font-medium text-gray-300">Git Token:</label>
|
||||
<label id="pushTokenInput" type="password" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-800 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label for="pushTypeDropdown" class="block text-sm font-medium text-gray-300">Git Type:</label>
|
||||
<select id="pushTypeDropdown" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white dark:border-gray-600" style="background-color: #2d3748 !important;">
|
||||
<option value="Fix">GitHub</option>
|
||||
<option value="Feat">GitLab</option>
|
||||
<option value="Sonst">Gitea</option>
|
||||
<option value="Sonst">Sonst (kommt noch)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex space-x-4">
|
||||
<div class="w-full">
|
||||
<label for="settingsCheckBoxSaveElse" class="flex items-center cursor-pointer">
|
||||
<div class="relative">
|
||||
<input type="checkbox" id="push" class="sr-only">
|
||||
<div class="block bg-gray-600 w-14 h-8 rounded-full"></div>
|
||||
<div class="dot absolute left-1 top-1 bg-white w-6 h-6 rounded-full transition"></div>
|
||||
</div>
|
||||
<label class="ml-3 block text-sm font-medium text-gray-300">Save Else</label>
|
||||
</label>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label for="settingsCheckBoxSaveElse" class="flex items-center cursor-pointer">
|
||||
<div class="relative">
|
||||
<input type="checkbox" id="settingsCheckBoxSaveElse" class="sr-only">
|
||||
<div class="block bg-gray-600 w-14 h-8 rounded-full"></div>
|
||||
<div class="dot absolute left-1 top-1 bg-white w-6 h-6 rounded-full transition"></div>
|
||||
</div>
|
||||
<label class="ml-3 block text-sm font-medium text-gray-300">Save Else</label>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-right">
|
||||
<button id="push-save-button" class="bg-blue-600 text-white px-4 py-2 rounded-md shadow hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-blue-700 dark:hover:bg-blue-600">
|
||||
Save Settings
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
@ -1,84 +0,0 @@
|
||||
<section class="container mx-auto p-6 bg-gray-800 shadow-md rounded-lg mt-6">
|
||||
<h3 class="text-xl font-bold">Profile Settings</h3>
|
||||
<div class="space-y-6">
|
||||
<div class="flex space-x-4">
|
||||
<div class="w-full">
|
||||
<label for="settingsProfileDirselectbutton" class="block text-sm font-medium text-gray-300">Profile Name:</label>
|
||||
<label id="settingsProfileDirselectprofilename" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500" style="background-color: #2d3748 !important;">Kein Profil</label>
|
||||
<input id="settingsProfileDirselectprofilenameInput" type="text" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500" style="background-color: #2d3748 !important; display: none"/>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label for="settingsProfileDirselectbutton" class="block text-sm font-medium text-gray-300">Select Profile</label>
|
||||
<button id="settingsProfileDirselectbutton" class="bg-blue-600 text-white px-4 py-2 rounded-md shadow hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500">Select Directory</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label id="settingsProfileDirselectPath" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500" style="background-color: #2d3748 !important;">Kein Verzeichnis</label>
|
||||
</div>
|
||||
<div class="flex space-x-4">
|
||||
<div class="w-full">
|
||||
<label for="settingsCheckBoxSaveGitSettings" class="flex items-center cursor-pointer">
|
||||
<div class="relative">
|
||||
<input type="checkbox" id="settingsCheckBoxSaveGitSettings" class="sr-only">
|
||||
<div class="block bg-gray-600 w-14 h-8 rounded-full"></div>
|
||||
<div class="dot absolute left-1 top-1 bg-white w-6 h-6 rounded-full transition"></div>
|
||||
</div>
|
||||
<label class="ml-3 block text-sm font-medium text-gray-300">Save Git Settings</label>
|
||||
</label>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label for="settingsCheckBoxSaveElse" class="flex items-center cursor-pointer">
|
||||
<div class="relative">
|
||||
<input type="checkbox" id="settingsCheckBoxSaveElse" class="sr-only">
|
||||
<div class="block bg-gray-600 w-14 h-8 rounded-full"></div>
|
||||
<div class="dot absolute left-1 top-1 bg-white w-6 h-6 rounded-full transition"></div>
|
||||
</div>
|
||||
<label class="ml-3 block text-sm font-medium text-gray-300">Save Else</label>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-right">
|
||||
<button id="settings-profile-edit-button" class="bg-blue-600 text-white px-4 py-2 rounded-md shadow hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
Edit Profile
|
||||
</button>
|
||||
<button id="settings-profile-save-button" class="bg-blue-600 text-white px-4 py-2 rounded-md shadow hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
Save Profile
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="container mx-auto p-6 bg-gray-800 shadow-md rounded-lg mt-6">
|
||||
<h3 class="text-xl font-bold">Git Settings</h3>
|
||||
<div class="space-y-6">
|
||||
<div class="w-full">
|
||||
<div>
|
||||
<label for="settings-repo-input" class="block text-sm font-medium text-gray-300">Repository Link:</label>
|
||||
<input id="settings-repo-input" type="text" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500" style="background-color: #2d3748 !important;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<div class="space-y-6">
|
||||
<div>
|
||||
<label for="settings-token-input" class="block text-sm font-medium text-gray-300">Git Token:</label>
|
||||
<input id="settings-token-input" type="password" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500" style="background-color: #2d3748 !important;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<label for="settings-type-dropdown" class="block text-sm font-medium text-gray-300">Git Type:</label>
|
||||
<select id="settings-type-dropdown" class="mt-1 block w-full p-2 border border-gray-600 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500" style="background-color: #2d3748 !important;">
|
||||
<option value="Fix">GitHub</option>
|
||||
<option value="Feat">GitLab</option>
|
||||
<option value="Sonst">Gitea</option>
|
||||
<option value="Sonst">Sonst (noch nicht implementiert)</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="text-right">
|
||||
<button id="settings-save-button" class="bg-blue-600 text-white px-4 py-2 rounded-md shadow hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-blue-700 dark:hover:bg-blue-600">
|
||||
Save Settings
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
@ -1,44 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>AIRAC Updater</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
|
||||
<link href="components/css/index.css" rel="stylesheet">
|
||||
<script src="components/js/index.js"></script>
|
||||
</head>
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
|
||||
crossorigin="anonymous">
|
||||
</script>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#header").load("./components/html/header.html");
|
||||
$("#homeDiv").load("./components/views/home.html");
|
||||
$("#pushDiv").load("./components/views/push.html");
|
||||
$("#settingsDiv").load("./components/views/settings.html");
|
||||
$("#footer").load("./components/html/footer.html");
|
||||
});
|
||||
</script>
|
||||
|
||||
<body class="bg-gray-900 text-gray-100">
|
||||
<div id="header"></div>
|
||||
|
||||
<div id="homeDiv"></div>
|
||||
<div id="pushDiv" style="display: none;"></div>
|
||||
<div id="settingsDiv" style="display: none;"></div>
|
||||
|
||||
<!--Footer-->
|
||||
<div id="footer"></div>
|
||||
<script src="./components/js/frontend_handler.js"></script>
|
||||
<script src="components/js/data_structure.js"></script>
|
||||
<script src="components/js/html_elements.js"></script>
|
||||
<script src="renderer.js"></script>
|
||||
<script src="components/js/startup.js"></script>
|
||||
<script src="components/js/save.js"></script>
|
||||
<script src="components/js/getFiles.js"></script>
|
||||
<script src="components/js/download.js"></script>
|
||||
<script src="components/js/git_ops.js"></script>
|
||||
<script src="components/js/append_to_file.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,12 +0,0 @@
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ["./src/**/*.{html,js}"],
|
||||
theme: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
}
|
||||
}
|
||||
|
2
.gitignore → updater/.gitignore
vendored
2
.gitignore → updater/.gitignore
vendored
@ -2,8 +2,6 @@
|
||||
systemfile.json
|
||||
settings.json
|
||||
|
||||
./idea
|
||||
.idea/
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
61
updater/.gitlab/actions/release/action.yml
Normal file
61
updater/.gitlab/actions/release/action.yml
Normal file
@ -0,0 +1,61 @@
|
||||
name: Electron Builder Action
|
||||
author: Samuel Meuli
|
||||
description: GitHub Action for building and releasing Electron apps
|
||||
|
||||
inputs:
|
||||
github_token:
|
||||
description: GitHub authentication token
|
||||
required: true
|
||||
mac_certs:
|
||||
description: Base64-encoded code signing certificate for macOS
|
||||
required: false
|
||||
mac_certs_password:
|
||||
description: Password for decrypting `mac_certs`
|
||||
required: false
|
||||
release:
|
||||
description: Whether the app should be released after a successful build
|
||||
required: false
|
||||
default: false
|
||||
windows_certs:
|
||||
description: Base64-encoded code signing certificate for Windows
|
||||
required: false
|
||||
windows_certs_password:
|
||||
description: Password for decrypting `windows_certs`
|
||||
required: false
|
||||
package_root:
|
||||
description: Directory where NPM/Yarn commands should be run
|
||||
required: false
|
||||
default: "."
|
||||
build_script_name:
|
||||
description: Name of the optional NPM build script which is executed before `electron-builder`
|
||||
required: false
|
||||
default: build
|
||||
skip_build:
|
||||
description: Whether the action should execute the NPM build script before running `electron-builder`
|
||||
required: false
|
||||
default: false
|
||||
use_vue_cli:
|
||||
description: Whether to run `electron-builder` using the Vue CLI plugin instead of calling the command directly
|
||||
required: false
|
||||
default: false
|
||||
args:
|
||||
description: Other arguments to pass to the `electron-builder` command, e.g. configuration overrides
|
||||
required: false
|
||||
default: ""
|
||||
max_attempts:
|
||||
description: Maximum number of attempts for completing the build and release step
|
||||
required: false
|
||||
default: "1"
|
||||
|
||||
# Deprecated
|
||||
app_root:
|
||||
description: Directory where `electron-builder` commands should be run
|
||||
required: false
|
||||
|
||||
runs:
|
||||
using: node12
|
||||
main: index.js
|
||||
|
||||
branding:
|
||||
icon: upload-cloud
|
||||
color: blue
|
156
updater/.gitlab/actions/release/index.js
Normal file
156
updater/.gitlab/actions/release/index.js
Normal file
@ -0,0 +1,156 @@
|
||||
const { execSync } = require("child_process");
|
||||
const { existsSync, readFileSync } = require("fs");
|
||||
const { join } = require("path");
|
||||
|
||||
/**
|
||||
* Logs to the console
|
||||
*/
|
||||
const log = (msg) => console.log(`\n${msg}`); // eslint-disable-line no-console
|
||||
|
||||
/**
|
||||
* Exits the current process with an error code and message
|
||||
*/
|
||||
const exit = (msg) => {
|
||||
console.error(msg);
|
||||
process.exit(1);
|
||||
};
|
||||
|
||||
/**
|
||||
* Executes the provided shell command and redirects stdout/stderr to the console
|
||||
*/
|
||||
const run = (cmd, cwd) => execSync(cmd, { encoding: "utf8", stdio: "inherit", cwd });
|
||||
|
||||
/**
|
||||
* Determines the current operating system (one of ["mac", "windows", "linux"])
|
||||
*/
|
||||
const getPlatform = () => {
|
||||
switch (process.platform) {
|
||||
case "darwin":
|
||||
return "mac";
|
||||
case "win32":
|
||||
return "windows";
|
||||
default:
|
||||
return "linux";
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the value for an environment variable (or `null` if it's not defined)
|
||||
*/
|
||||
const getEnv = (name) => process.env[name.toUpperCase()] || null;
|
||||
|
||||
/**
|
||||
* Sets the specified env variable if the value isn't empty
|
||||
*/
|
||||
const setEnv = (name, value) => {
|
||||
if (value) {
|
||||
process.env[name.toUpperCase()] = value.toString();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the value for an input variable (or `null` if it's not defined). If the variable is
|
||||
* required and doesn't have a value, abort the action
|
||||
*/
|
||||
const getInput = (name, required) => {
|
||||
const value = getEnv(`INPUT_${name}`);
|
||||
if (required && !value) {
|
||||
exit(`"${name}" input variable is not defined`);
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
/**
|
||||
* Installs NPM dependencies and builds/releases the Electron app
|
||||
*/
|
||||
const runAction = () => {
|
||||
const platform = getPlatform();
|
||||
const release = getInput("release", true) === "true";
|
||||
const pkgRoot = getInput("package_root", true);
|
||||
const buildScriptName = getInput("build_script_name", true);
|
||||
const skipBuild = getInput("skip_build") === "true";
|
||||
const useVueCli = getInput("use_vue_cli") === "true";
|
||||
const args = getInput("args") || "";
|
||||
const maxAttempts = Number(getInput("max_attempts") || "1");
|
||||
|
||||
// TODO: Deprecated option, remove in v2.0. `electron-builder` always requires a `package.json` in
|
||||
// the same directory as the Electron app, so the `package_root` option should be used instead
|
||||
const appRoot = getInput("app_root") || pkgRoot;
|
||||
|
||||
const pkgJsonPath = join(pkgRoot, "package.json");
|
||||
const pkgLockPath = join(pkgRoot, "package-lock.json");
|
||||
|
||||
// Determine whether NPM should be used to run commands (instead of Yarn, which is the default)
|
||||
const useNpm = existsSync(pkgLockPath);
|
||||
log(`Will run ${useNpm ? "NPM" : "Yarn"} commands in directory "${pkgRoot}"`);
|
||||
|
||||
// Make sure `package.json` file exists
|
||||
if (!existsSync(pkgJsonPath)) {
|
||||
exit(`\`package.json\` file not found at path "${pkgJsonPath}"`);
|
||||
}
|
||||
|
||||
// Copy "github_token" input variable to "GH_TOKEN" env variable (required by `electron-builder`)
|
||||
setEnv("GH_TOKEN", getInput("github_token", true));
|
||||
|
||||
// Require code signing certificate and password if building for macOS. Export them to environment
|
||||
// variables (required by `electron-builder`)
|
||||
if (platform === "mac") {
|
||||
const mac_certs = getInput("mac_certs");
|
||||
const mac_certs_password = getInput("mac_certs_password");
|
||||
if (mac_certs && mac_certs_password) {
|
||||
setEnv("CSC_LINK", mac_certs);
|
||||
setEnv("CSC_KEY_PASSWORD", mac_certs_password);
|
||||
} else {
|
||||
setEnv("CSC_IDENTITY_AUTO_DISCOVERY", "false");
|
||||
}
|
||||
} else if (platform === "windows") {
|
||||
setEnv("CSC_LINK", getInput("windows_certs"));
|
||||
setEnv("CSC_KEY_PASSWORD", getInput("windows_certs_password"));
|
||||
}
|
||||
|
||||
// Disable console advertisements during install phase
|
||||
setEnv("ADBLOCK", true);
|
||||
|
||||
// log(`Installing dependencies using ${useNpm ? "NPM" : "Yarn"}…`);
|
||||
// run(useNpm ? "npm install" : "yarn", pkgRoot);
|
||||
|
||||
// Run NPM build script if it exists
|
||||
if (skipBuild) {
|
||||
log("Skipping build script because `skip_build` option is set");
|
||||
} else {
|
||||
log("Running the build script…");
|
||||
if (useNpm) {
|
||||
run(`npm run ${buildScriptName} --if-present`, pkgRoot);
|
||||
} else {
|
||||
// TODO: Use `yarn run ${buildScriptName} --if-present` once supported
|
||||
// https://github.com/yarnpkg/yarn/issues/6894
|
||||
const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
|
||||
if (pkgJson.scripts && pkgJson.scripts[buildScriptName]) {
|
||||
run(`yarn run ${buildScriptName}`, pkgRoot);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log(`Building${release ? " and releasing" : ""} the Electron app…`);
|
||||
const cmd = useVueCli ? "vue-cli-service electron:build" : `electron-builder`;
|
||||
for (let i = 0; i < maxAttempts; i += 1) {
|
||||
try {
|
||||
run(
|
||||
`${useNpm ? "npx --no-install" : "yarn run"} ${cmd} --${platform} ${
|
||||
release ? "--publish always" : ""
|
||||
} ${args}`,
|
||||
appRoot,
|
||||
);
|
||||
break;
|
||||
} catch (err) {
|
||||
if (i < maxAttempts - 1) {
|
||||
log(`Attempt ${i + 1} failed:`);
|
||||
log(err);
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
runAction();
|
38
updater/.gitlab/workflows/build.yml
Normal file
38
updater/.gitlab/workflows/build.yml
Normal file
@ -0,0 +1,38 @@
|
||||
name: Build/release
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, ubuntu-latest, windows-latest]
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Install Node.js, NPM and Yarn
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- name: Installing dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Tsc
|
||||
run: npx tsc
|
||||
|
||||
- name: Build/release Electron app
|
||||
uses: ./.github/actions/release
|
||||
with:
|
||||
skip_build: false
|
||||
# GitHub token, automatically provided to the action
|
||||
# (No need to define this secret in the repo settings)
|
||||
github_token: ${{ secrets.DEPLOY_TOKEN }}
|
||||
|
||||
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
||||
# release the app after building
|
||||
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
11776
updater/package-lock.json
generated
Normal file
11776
updater/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -5,22 +5,22 @@
|
||||
"description": "This application allows users to easily update and maintain their sector files. It offers a simple, intuitive interface for downloading and installing the latest version of sector files, ensuring that users have access to the most accurate and up-to-date data. With automatic update checks and notifications, users can rest assured that their sector files are always up-to-date and ready for use.",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"dev": "electron-forge start",
|
||||
"start": "electron-forge start",
|
||||
"package": "electron-forge package",
|
||||
"make": "electron-forge make --platform=win32",
|
||||
"publish": "electron-forge publish"
|
||||
"publish": "electron-forge publish",
|
||||
"lint": "echo \"No linting configured\""
|
||||
},
|
||||
"keywords": [],
|
||||
"authors": [
|
||||
"Julian <info@julscha.de>",
|
||||
"Julian <JustusPlays78@gmail.com>",
|
||||
"Paul <paul@pabr.de>"
|
||||
],
|
||||
"license": "MIT",
|
||||
"config": {
|
||||
"forge": {
|
||||
"packagerConfig": {},
|
||||
"makers": [
|
||||
{
|
||||
"makers": [{
|
||||
"name": "@electron-forge/maker-squirrel",
|
||||
"config": {
|
||||
"name": "updater"
|
||||
@ -61,9 +61,6 @@
|
||||
"@electron-forge/maker-rpm": "^6.0.0-beta.66",
|
||||
"@electron-forge/maker-squirrel": "^6.0.0-beta.66",
|
||||
"@electron-forge/maker-zip": "^6.0.0-beta.66",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"electron": "^33.2.1",
|
||||
"postcss": "^8.4.49",
|
||||
"tailwindcss": "^3.4.17"
|
||||
"electron": "^21.0.1"
|
||||
}
|
||||
}
|
||||
}
|
26547
updater/src/css/boot.css
Normal file
26547
updater/src/css/boot.css
Normal file
File diff suppressed because it is too large
Load Diff
36
updater/src/header.html
Normal file
36
updater/src/header.html
Normal file
@ -0,0 +1,36 @@
|
||||
<link rel="stylesheet" href="./css/boot.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
<link rel="stylesheet" href="./index.css">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>Euroscope SectorfileUpdater</title>
|
||||
<link rel="stylesheet" href="./css/boot.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
<link rel="stylesheet" href="./index.css">
|
||||
<div class="container-fluid">
|
||||
<h1 class="navbar-brand text-white text-center">
|
||||
Euroscope Sectorfile Updater
|
||||
</h1>
|
||||
</div>
|
||||
</head>
|
||||
<nav class="navbar navbar-main navbar-expand-lg px-0 mx-4 mt-3 shadow-none border-radius-xl bg-transparent" id="navbarTop">
|
||||
<ul class="navbar-nav navbar-nav-hover ms-auto">
|
||||
<div class="border-radius-lg d-flex me-6">
|
||||
<div class="col-4 text-end">
|
||||
<a href=".\index.html" class="btn ecsu-btn-light btn-sm mb-0 mx-2">Home</a>
|
||||
</div>
|
||||
<div class="border-radius-lg d-flex me-2">
|
||||
<div class="col-4 text-end">
|
||||
<a href=".\syncing.html" class="btn ecsu-btn-light btn-sm mb-0">Syncing</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-radius-lg d-flex me-4">
|
||||
<div class="col-4 text-end">
|
||||
<a href=".\settings.html" class="btn ecsu-btn-light btn-sm mb-0">Credentials</a>
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
@ -1,5 +1,5 @@
|
||||
// Global Variabels
|
||||
let settingsProfileDirselectbutton = document.getElementById('settingsProfileDirselectbutton');
|
||||
let selectDirBtn = document.getElementById('select-dir');
|
||||
let dirBox = document.getElementById('dirBox');
|
||||
let usernameInput = document.getElementById('username');
|
||||
let passwordInput = document.getElementById('password');
|
||||
@ -22,14 +22,10 @@ let applyHoppie = document.getElementById('applyHoppie');
|
||||
let dropDownGNG = document.getElementById('gng');
|
||||
let dropDownFiles = document.getElementById('files');
|
||||
|
||||
const homeDiv = document.getElementById('homeDiv');
|
||||
const pushDiv = document.getElementById('pushDiv');
|
||||
const settingsDiv = document.getElementById('settingsDiv');
|
||||
|
||||
saveCredBtn.addEventListener('click', (e) => {
|
||||
save();
|
||||
});
|
||||
|
||||
settingsProfileDirselectbutton.addEventListener('click', (e) => {
|
||||
selectDirBtn.addEventListener('click', (e) => {
|
||||
changeUserpath();
|
||||
});
|
230
updater/src/index.css
Normal file
230
updater/src/index.css
Normal file
@ -0,0 +1,230 @@
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,
|
||||
Arial, sans-serif;
|
||||
margin: auto;
|
||||
max-width: 38rem;
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
/* Loopple Alert */
|
||||
.loopple-alert {
|
||||
position: relative;
|
||||
margin-bottom: 16px;
|
||||
padding: 16px 24px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.loopple-alert.loopple-alert-gradient-dark {
|
||||
color: #fff;
|
||||
border-color: #45484b;
|
||||
background: linear-gradient(87deg, #212529 0, #212229 100%) !important;
|
||||
}
|
||||
|
||||
.loopple-alert.loopple-alert-dismissible .close {
|
||||
top: 50%;
|
||||
right: 24px;
|
||||
padding: 0;
|
||||
transform: translateY(-50%);
|
||||
opacity: 1;
|
||||
position: absolute;
|
||||
color: inherit;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.loopple-alert.loopple-alert-dismissible .close span {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.loopple-fade {
|
||||
transition: opacity 0.15s linear;
|
||||
}
|
||||
|
||||
/* Loopple Button */
|
||||
.loopple-btn {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
transition: all 0.15s ease;
|
||||
padding: 10px 20px;
|
||||
letter-spacing: 0.3px;
|
||||
text-transform: none;
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
.loopple-btn.loopple-btn-white {
|
||||
color: #212529;
|
||||
border-color: #fff;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.loopple-btn.loopple-btn-white:hover {
|
||||
color: #212529;
|
||||
border-color: #fff;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.loopple-btn.loopple-btn-white:focus,
|
||||
.loopple-btn.loopple-btn-white.focus {
|
||||
box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(255, 255, 255, 0.5) l;
|
||||
}
|
||||
|
||||
.loopple-btn.loopple-btn-white:not(:disabled):not(.disabled):active,
|
||||
.loopple-btn.loopple-btn-white:not(:disabled):not(.disabled).active {
|
||||
color: #212529;
|
||||
border-color: #fff;
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
|
||||
/* Loopple Utilities */
|
||||
.loopple-position-absolute {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.loopple-position-sticky {
|
||||
position: sticky;
|
||||
}
|
||||
|
||||
.loopple-position-fixed {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
.loopple-z-index-9999 {
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loopple-bottom-2 {
|
||||
bottom: 8px;
|
||||
}
|
||||
|
||||
.loopple-mx-auto {
|
||||
margin-left: auto !important;
|
||||
margin-right: auto !important;
|
||||
}
|
||||
|
||||
.loopple-text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.loopple-right-0 {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.loopple-left-0 {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.loopple-w-50 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.loopple-ml-2,
|
||||
.loopple-mx-2 {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.loopple-opacity-0 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.ecsu-bg-dark-out {
|
||||
background: #23262c;
|
||||
}
|
||||
|
||||
.ecsu-bg-dark-light-out {
|
||||
background: #343a40;
|
||||
|
||||
}
|
||||
|
||||
.ecsu-bg-light-out {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
|
||||
.ecsu-bg-dark-light-2-out {
|
||||
background: #495057;
|
||||
}
|
||||
|
||||
.ecsu-btn-primary {
|
||||
--bs-btn-color: #fff;
|
||||
--bs-btn-bg: #070752;
|
||||
--bs-btn-border-color: #cb0c9f;
|
||||
--bs-btn-hover-color: #fff;
|
||||
--bs-btn-hover-bg: #2020a1;
|
||||
--bs-btn-hover-border-color: #a20a7f;
|
||||
--bs-btn-focus-shadow-rgb: 211, 48, 173;
|
||||
--bs-btn-active-color: #fff;
|
||||
--bs-btn-active-bg: #a20a7f;
|
||||
--bs-btn-active-border-color: #980977;
|
||||
--bs-btn-active-shadow: none;
|
||||
--bs-btn-disabled-color: #fff;
|
||||
--bs-btn-disabled-bg: #cb0c9f;
|
||||
--bs-btn-disabled-border-color: #cb0c9f
|
||||
}
|
||||
|
||||
.ecsu-btn-dark {
|
||||
--bs-btn-color: #fff;
|
||||
--bs-btn-bg: #14161a;
|
||||
--bs-btn-border-color: #344767;
|
||||
--bs-btn-hover-color: #fff;
|
||||
--bs-btn-hover-bg: #4a5c7c;
|
||||
--bs-btn-hover-border-color: #2a3952;
|
||||
--bs-btn-focus-shadow-rgb: 82, 99, 126;
|
||||
--bs-btn-active-color: #fff;
|
||||
--bs-btn-active-bg: #2a3952;
|
||||
--bs-btn-active-border-color: #27354d;
|
||||
--bs-btn-active-shadow: none;
|
||||
--bs-btn-disabled-color: #fff;
|
||||
--bs-btn-disabled-bg: #344767;
|
||||
--bs-btn-disabled-border-color: #344767
|
||||
}
|
||||
|
||||
.ecsu-btn-light {
|
||||
--bs-btn-color: #000;
|
||||
--bs-btn-bg: #e9ecef;
|
||||
--bs-btn-border-color: #e9ecef;
|
||||
--bs-btn-hover-color: #000;
|
||||
--bs-btn-hover-bg: #9ea3a7;
|
||||
--bs-btn-hover-border-color: #ebeef1;
|
||||
--bs-btn-focus-shadow-rgb: 198, 201, 203;
|
||||
--bs-btn-active-color: #000;
|
||||
--bs-btn-active-bg: #edf0f2;
|
||||
--bs-btn-active-border-color: #ebeef1;
|
||||
--bs-btn-active-shadow: none;
|
||||
--bs-btn-disabled-color: #000;
|
||||
--bs-btn-disabled-bg: #e9ecef;
|
||||
--bs-btn-disabled-border-color: #e9ecef
|
||||
}
|
||||
|
||||
.escu-bg-gradient-primary {
|
||||
background-color: #4a5c7c;
|
||||
}
|
||||
.tooltip {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border-bottom: 1px dotted black;
|
||||
}
|
||||
|
||||
.tooltip .tooltiptext {
|
||||
visibility: hidden;
|
||||
width: 450px;
|
||||
background-color: black;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
border-radius: 6px;
|
||||
padding: 5px 0;
|
||||
/* Position the tooltip */
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.tooltip:hover .tooltiptext {
|
||||
visibility: visible;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
<link rel="stylesheet" href="./css/boot.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
<!DOCTYPE html>
|
||||
<html class="ecsu-bg-dark-out">
|
||||
@ -6,8 +7,9 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>AIRAC Updater</title>
|
||||
<link rel="stylesheet" href="./css/boot.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
<link rel="stylesheet" href="components/css/index.css">
|
||||
<link rel="stylesheet" href="./index.css">
|
||||
<div class="container-fluid">
|
||||
<h1 class="text-white text-center">
|
||||
AIRAC Updater
|
||||
@ -21,7 +23,7 @@
|
||||
|
||||
<div>
|
||||
<h3 class="text-white">Settings</h3>
|
||||
<button id="settingsProfileDirselectbutton">Select Directory</button>
|
||||
<button id="select-dir">Select Directory</button>
|
||||
<input type="text" id="dirBox" name="name" size="50" readonly />
|
||||
<progress id="progressbar" max="100" value="0"></progress>
|
||||
<p id="progressbarText"></p>
|
||||
@ -145,8 +147,8 @@
|
||||
</div>-->
|
||||
<br>
|
||||
<button id="savecred">Save your Credentials</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<form>
|
||||
If you want Eurosounds, please check the box below and click the download button. <br>
|
||||
@ -169,16 +171,15 @@
|
||||
</div>
|
||||
|
||||
|
||||
<script src="components/js/data_structure.js"></script>
|
||||
<script src="components/js/html_elements.js"></script>
|
||||
<script src="renderer.js"></script>
|
||||
<script src="components/js/startup.js"></script>
|
||||
<script src="components/js/save.js"></script>
|
||||
<script src="components/js/getFiles.js"></script>
|
||||
<script src="components/js/download.js"></script>
|
||||
<script src="components/js/git_ops.js"></script>
|
||||
<script src="components/js/append_to_file.js"></script>
|
||||
</div>
|
||||
<script src="./data_structure.js"></script>
|
||||
<script src="./html_elements.js"></script>
|
||||
<script src="./renderer.js"></script>
|
||||
<script src="./startup.js"></script>
|
||||
<script src="./save.js"></script>
|
||||
<script src="./getFiles.js"></script>
|
||||
<script src="./download.js"></script>
|
||||
<script src="./git_ops.js"></script>
|
||||
<script src="./append_to_file.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -13,17 +13,17 @@ const createWindow = () => {
|
||||
const mainWindow = new BrowserWindow({
|
||||
width: 1000,
|
||||
height: 800,
|
||||
/*webPreferences: {
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
contextIsolation: false,
|
||||
nodeIntegrationInWorker: true,
|
||||
preload: path.join(__dirname, 'preload.js'),
|
||||
},*/
|
||||
},
|
||||
});
|
||||
mainWindow.loadFile(path.join(__dirname, 'index1.html'));
|
||||
mainWindow.webContents.openDevTools();
|
||||
mainWindow.loadFile(path.join(__dirname, 'index.html'));
|
||||
//mainWindow.webContents.openDevTools();
|
||||
// Select Directory
|
||||
/*ipcMain.on('app-path', async(event, arg) => {
|
||||
ipcMain.on('app-path', async(event, arg) => {
|
||||
filepath = await dialog.showOpenDialog(mainWindow, {
|
||||
properties: ['openDirectory']
|
||||
});
|
||||
@ -35,7 +35,7 @@ const createWindow = () => {
|
||||
});
|
||||
ipcMain.on("app-path-get", (event) => {
|
||||
mainWindow.webContents.send("app-path-get", app.getAppPath());
|
||||
});*/
|
||||
});
|
||||
};
|
||||
|
||||
|
91
updater/src/index1.html
Normal file
91
updater/src/index1.html
Normal file
@ -0,0 +1,91 @@
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
|
||||
crossorigin="anonymous">
|
||||
</script>
|
||||
<script src=".\js\loople.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#header").load("header.html");
|
||||
$("#footer").load("footer.html");
|
||||
});
|
||||
</script>
|
||||
|
||||
<body class="bg-dark">
|
||||
<div class="main-content" id="panel">
|
||||
|
||||
<!--Header-->
|
||||
<div id="header"></div>
|
||||
|
||||
|
||||
<!--CONTENT-->
|
||||
<div class="card mb-4 ecsu-bg-dark-light-out">
|
||||
<div class="card-body">
|
||||
<form>
|
||||
<div class="row">
|
||||
<div class="col-8 ">
|
||||
<h6 class="mb-0 text-white">Home</h6>
|
||||
</div>
|
||||
<div class="col-4"><button class="btn btn-sm ecsu-btn-dark" id="download">Sync</button></div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group">
|
||||
<label class="form-control-label text-white" for="input-last-name">Select Sectorfilefolder</label>
|
||||
<input type="file" id="sctfolder" class="form-control" webkitdirectory directory />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-white">Sectorfile AIRAC: 2209</h6>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-uppercase text-xs font-weight-bolder text-white">Logins</h6>
|
||||
<div class="progress-wrapper mb-4">
|
||||
<div class="progress-info">
|
||||
<div class="progress-percentage">
|
||||
<span class="text-sm font-weight-bold">60%</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar escu-bg-gradient-primary " role="progressbar" aria-valuenow="60"
|
||||
aria-valuemin="0" aria-valuemax="100" style="width: 60%;" id="progessb" id="dirBox"></div>
|
||||
</div>
|
||||
</div><button class="btn ecsu-btn-dark mb-4">Button</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!--CONTENT PRIMARY DROPDOWN BUTTON
|
||||
<div class="container-fluid pt-3 ">
|
||||
<div class="col-12 col-xl-4 mb-4">
|
||||
<div class="dropdown mb-4">
|
||||
<button class="btn bg-gradient-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Primary
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<li><a class="dropdown-item" href="#">Action</a></li>
|
||||
<li><a class="dropdown-item" href="#">Another action</a></li>
|
||||
<li><a class="dropdown-item" href="#">Something else here</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<!--Footer-->
|
||||
<div id="footer"></div>
|
||||
</div>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/core/popper.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/plugins/chartjs.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/plugins/Chart.extension.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/soft-ui-dashboard.min.js?v=1.0.2"></script>
|
||||
<script src="./js/loopple.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#header").load(".\html\header.html");
|
||||
$("#footer").load(".\html\footer.html");
|
||||
});
|
||||
|
||||
|
||||
function kackc(){
|
||||
var dragonHealth = document.getElementById("progressb").value;
|
||||
dragonHealth.value = 25;
|
||||
}
|
||||
</script>
|
||||
</body>
|
@ -6,7 +6,10 @@ document.querySelector('.loopple-alert.loopple-alert-dismissible .close').onclic
|
||||
}, 1000);}
|
||||
|
||||
document.getElementById('download').addEventListener('click', () => {
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
@ -2,8 +2,8 @@ const { contextBridge, ipcRenderer } = require('electron')
|
||||
|
||||
process.once('loaded', () => {
|
||||
window.addEventListener('message', evt => {
|
||||
if (evt.data.type === 'settingsProfileDirselectbutton') {
|
||||
ipcRenderer.send('settingsProfileDirselectbutton')
|
||||
if (evt.data.type === 'select-dirs') {
|
||||
ipcRenderer.send('select-dirs')
|
||||
}
|
||||
})
|
||||
})
|
@ -26,7 +26,7 @@ function removeFileItems() {
|
||||
}
|
||||
}
|
||||
|
||||
export function changeUserpath() {
|
||||
function changeUserpath() {
|
||||
ipcRenderer.send('app-path');
|
||||
}
|
||||
|
278
updater/src/settings.html
Normal file
278
updater/src/settings.html
Normal file
@ -0,0 +1,278 @@
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
|
||||
crossorigin="anonymous">
|
||||
</script>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#header").load("header.html");
|
||||
$("#footer").load("footer.html");
|
||||
});
|
||||
</script>
|
||||
|
||||
<body class="g-sidenav-show bg-dark">
|
||||
<div class="main-content" id="panel">
|
||||
|
||||
<!--Header-->
|
||||
<div id="header"></div>
|
||||
|
||||
<!--CONTENT-->
|
||||
<div class="card mb-4 ecsu-bg-dark-light-out" id="login">
|
||||
<div class="card-body">
|
||||
<form>
|
||||
<div class="row">
|
||||
<div class="col-8 ">
|
||||
<h6 class="mb-0 text-white">Credentials</h6>
|
||||
</div>
|
||||
<div class="col-4"><button class="btn btn-sm ecsu-btn-dark " id="savecred">Save your Credentials</button></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group form-switch ps-0">
|
||||
<label class="form-control-label text-white" for="input-username">Name</label><input class="form-check-input ms-auto" type="checkbox" id="saverealname">
|
||||
<input type="text" id="input-username" class="form-control" placeholder="Name" id="realname">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group form-switch ps-0">
|
||||
<label class="form-control-label text-white" for="input-email">CID</label><input class="form-check-input ms-auto" type="checkbox" id="saveuser" >
|
||||
<input type="email" id="input-email" class="form-control" placeholder="1234567" id="username">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group form-switch ps-0">
|
||||
<label class="form-control-label text-white" for="input-first-name">Password</label><input class="form-check-input ms-auto" type="checkbox" id="savepw" >
|
||||
<input type="password" id="input-first-name" class="form-control" placeholder="password" id="password">
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group form-switch ps-0">
|
||||
<label class="form-control-label text-white" for="input-last-name">CPDLC HoppieCode</label><input class="form-check-input ms-auto" type="checkbox" id="savepwhoppie" >
|
||||
<input type="password" id="input-last-name" class="form-control" placeholder="CPDLC Code" id="passwordhoppie">
|
||||
</div>
|
||||
</div>
|
||||
<label class="form-control-label text-white" for="input-last-name">Select Your Rating</label>
|
||||
<select id="rating">
|
||||
<option id="0">obs</option>
|
||||
<option id="1">s1</option>
|
||||
<option id="2">s2</option>
|
||||
<option id="3">s3</option>
|
||||
<option id="4">c1</option>
|
||||
<option id="6">c3</option>
|
||||
<option id="7">i1</option>
|
||||
<option id="9">i3</option>
|
||||
<option id="10">sup</option>
|
||||
<option id="11">adm</option>
|
||||
</select>
|
||||
<div class="form-group form-switch ps-0">
|
||||
<label class="form-control-label text-white" for="input-last-name">If you want Eurosounds, please check the box below and click the download button. </label>
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="download-checkbox" onclick="toggleDownloadButton()">
|
||||
<br>
|
||||
<a href="https://cdn.ganderoceanic.ca/resources/files/eurosounds/eurosounds-8apr20.zip" id="download-link" style="display:none">Download Sounds</a>
|
||||
</div>
|
||||
<script>
|
||||
function toggleDownloadButton() {
|
||||
const downloadLink = document.getElementById("download-link");
|
||||
if (document.getElementById("download-checkbox").checked) {
|
||||
downloadLink.style.display = "block";
|
||||
} else {
|
||||
downloadLink.style.display = "none";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--Footer-->
|
||||
<div id="footer"></div>
|
||||
</div>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/core/popper.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/plugins/chartjs.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/plugins/Chart.extension.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/soft-ui-dashboard.min.js?v=1.0.2"></script>
|
||||
<script src="./js/html_elements.js"></script>
|
||||
<script src="./js/renderer.js"></script>
|
||||
<script src="./js/startup.js"></script>
|
||||
<script src="./js/save.js"></script>
|
||||
<script src="./js/getFiles.js"></script>
|
||||
<script src="./js/data_structure.js"></script>
|
||||
<script src="./js/download.js"></script>
|
||||
<script src="./js/git_ops.js"></script>
|
||||
<script src="./js/append_to_file.js"></script>
|
||||
<script>
|
||||
if (document.querySelector("#chart-bars")) {
|
||||
var ctx = document.getElementById("chart-bars").getContext("2d");
|
||||
new Chart(ctx, {
|
||||
type: "bar",
|
||||
data: {
|
||||
labels: ["Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
datasets: [{
|
||||
label: "Sales",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
borderRadius: 4,
|
||||
borderSkipped: false,
|
||||
backgroundColor: "#fff",
|
||||
data: [450, 200, 100, 220, 500, 100, 400, 230, 500],
|
||||
maxBarThickness: 6
|
||||
},],
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false,
|
||||
}
|
||||
},
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
},
|
||||
scales: {
|
||||
y: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false,
|
||||
},
|
||||
ticks: {
|
||||
suggestedMin: 0,
|
||||
suggestedMax: 500,
|
||||
beginAtZero: true,
|
||||
padding: 15,
|
||||
font: {
|
||||
size: 14,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
color: "#fff"
|
||||
},
|
||||
},
|
||||
x: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false
|
||||
},
|
||||
ticks: {
|
||||
display: false
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
};
|
||||
if (document.querySelector("#chart-line")) {
|
||||
var ctx2 = document.getElementById("chart-line").getContext("2d");
|
||||
var gradientStroke1 = ctx2.createLinearGradient(0, 230, 0, 50);
|
||||
gradientStroke1.addColorStop(1, "rgba(203,12,159,0.2)");
|
||||
gradientStroke1.addColorStop(0.2, "rgba(72,72,176,0.0)");
|
||||
gradientStroke1.addColorStop(0, "rgba(203,12,159,0)");
|
||||
var gradientStroke2 = ctx2.createLinearGradient(0, 230, 0, 50);
|
||||
gradientStroke2.addColorStop(1, "rgba(20,23,39,0.2)");
|
||||
gradientStroke2.addColorStop(0.2, "rgba(72,72,176,0.0)");
|
||||
gradientStroke2.addColorStop(0, "rgba(20,23,39,0)");
|
||||
new Chart(ctx2, {
|
||||
type: "line",
|
||||
data: {
|
||||
labels: ["Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
datasets: [{
|
||||
label: "Mobile apps",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
pointRadius: 0,
|
||||
borderColor: "#cb0c9f",
|
||||
borderWidth: 3,
|
||||
backgroundColor: gradientStroke1,
|
||||
fill: true,
|
||||
data: [50, 40, 300, 220, 500, 250, 400, 230, 500],
|
||||
maxBarThickness: 6
|
||||
|
||||
},
|
||||
{
|
||||
label: "Websites",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
pointRadius: 0,
|
||||
borderColor: "#3A416F",
|
||||
borderWidth: 3,
|
||||
backgroundColor: gradientStroke2,
|
||||
fill: true,
|
||||
data: [30, 90, 40, 140, 290, 290, 340, 230, 400],
|
||||
maxBarThickness: 6
|
||||
},
|
||||
],
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false,
|
||||
}
|
||||
},
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
},
|
||||
scales: {
|
||||
y: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: true,
|
||||
drawOnChartArea: true,
|
||||
drawTicks: false,
|
||||
borderDash: [5, 5]
|
||||
},
|
||||
ticks: {
|
||||
display: true,
|
||||
padding: 10,
|
||||
color: '#b2b9bf',
|
||||
font: {
|
||||
size: 11,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
}
|
||||
},
|
||||
x: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false,
|
||||
borderDash: [5, 5]
|
||||
},
|
||||
ticks: {
|
||||
display: true,
|
||||
color: '#b2b9bf',
|
||||
padding: 20,
|
||||
font: {
|
||||
size: 11,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<script src="./js/loopple.js"></script>
|
||||
</script>
|
||||
</body>
|
265
updater/src/syncing.html
Normal file
265
updater/src/syncing.html
Normal file
@ -0,0 +1,265 @@
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
|
||||
crossorigin="anonymous">
|
||||
</script>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#header").load("header.html");
|
||||
$("#footer").load("footer.html");
|
||||
});
|
||||
</script>
|
||||
|
||||
<body class="g-sidenav-show bg-dark">
|
||||
<div class="main-content" id="panel">
|
||||
|
||||
<!--Header-->
|
||||
<div id="header"></div>
|
||||
|
||||
<!--CONTENT-->
|
||||
<div class="card mb-4 ecsu-bg-dark-light-out">
|
||||
<div class="card-body">
|
||||
<form>
|
||||
<div class="row">
|
||||
<div class="col-8 ">
|
||||
<h6 class="mb-0 text-white">Syncing</h6>
|
||||
</div>
|
||||
<div class="col-4"><button class="btn btn-sm ecsu-btn-dark ">Save (WIP)</button></div>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-uppercase text-xs font-weight-bolder text-white">Apply to Update</h6>
|
||||
<ul class="list-group ">
|
||||
<li class="list-group-item border-0 px-0 ecsu-bg-dark-light-out">
|
||||
<div class="form-check form-switch ps-0">
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="applyToPrf" checked="">
|
||||
<label class="form-check-label text-white ms-3 text-truncate w-80 mb-0"
|
||||
for="flexSwitchCheckDefault">Credentials into Profiles</label>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 px-0 ecsu-bg-dark-light-out">
|
||||
<div class="form-check form-switch ps-0">
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="applyHoppie">
|
||||
<label class="form-check-label text-white ms-3 text-truncate w-80 mb-0"
|
||||
for="flexSwitchCheckDefault1">Hoppie Code into Txt File</label>
|
||||
</div>
|
||||
</li>
|
||||
<!-- <li class="list-group-item border-0 px-0 ecsu-bg-dark-light-out">
|
||||
<div class="form-check form-switch ps-0">
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="flexSwitchCheckDefault2" checked="">
|
||||
<label class="form-check-label text-white ms-3 text-truncate w-80 mb-0"
|
||||
for="flexSwitchCheckDefault2">OBS</label>
|
||||
</div>
|
||||
</li> -->
|
||||
</ul>
|
||||
<!-- <h6 class="text-uppercase text-white text-xs font-weight-bolder mt-4">Application</h6>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item border-0 px-0 ecsu-bg-dark-light-out">
|
||||
<div class="form-check form-switch ps-0">
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="flexSwitchCheckDefault3">
|
||||
<label class="form-check-label text-white ms-3 text-truncate w-80 mb-0"
|
||||
for="flexSwitchCheckDefault3">New launches and projects</label>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 px-0 ecsu-bg-dark-light-out">
|
||||
<div class="form-check form-switch ps-0">
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="flexSwitchCheckDefault4" checked="">
|
||||
<label class="form-check-label text-white ms-3 text-truncate w-80 mb-0"
|
||||
for="flexSwitchCheckDefault4">Monthly product updates</label>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 px-0 pb-0 ecsu-bg-dark-light-out">
|
||||
<div class="form-check form-switch ps-0">
|
||||
<input class="form-check-input ms-auto" type="checkbox" id="flexSwitchCheckDefault5">
|
||||
<label class="form-check-label text-white ms-3 text-truncate w-80 mb-0"
|
||||
for="flexSwitchCheckDefault5">Subscribe to newsletter</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul> -->
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--Footer-->
|
||||
<div id="footer"></div>
|
||||
</div>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/core/popper.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/plugins/chartjs.min.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/plugins/Chart.extension.js"></script>
|
||||
<script src="https://demos.creative-tim.com/soft-ui-dashboard/assets/js/soft-ui-dashboard.min.js?v=1.0.2"></script>
|
||||
<script>
|
||||
if (document.querySelector("#chart-bars")) {
|
||||
var ctx = document.getElementById("chart-bars").getContext("2d");
|
||||
new Chart(ctx, {
|
||||
type: "bar",
|
||||
data: {
|
||||
labels: ["Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
datasets: [{
|
||||
label: "Sales",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
borderRadius: 4,
|
||||
borderSkipped: false,
|
||||
backgroundColor: "#fff",
|
||||
data: [450, 200, 100, 220, 500, 100, 400, 230, 500],
|
||||
maxBarThickness: 6
|
||||
},],
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false,
|
||||
}
|
||||
},
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
},
|
||||
scales: {
|
||||
y: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false,
|
||||
},
|
||||
ticks: {
|
||||
suggestedMin: 0,
|
||||
suggestedMax: 500,
|
||||
beginAtZero: true,
|
||||
padding: 15,
|
||||
font: {
|
||||
size: 14,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
color: "#fff"
|
||||
},
|
||||
},
|
||||
x: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false
|
||||
},
|
||||
ticks: {
|
||||
display: false
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
};
|
||||
if (document.querySelector("#chart-line")) {
|
||||
var ctx2 = document.getElementById("chart-line").getContext("2d");
|
||||
var gradientStroke1 = ctx2.createLinearGradient(0, 230, 0, 50);
|
||||
gradientStroke1.addColorStop(1, "rgba(203,12,159,0.2)");
|
||||
gradientStroke1.addColorStop(0.2, "rgba(72,72,176,0.0)");
|
||||
gradientStroke1.addColorStop(0, "rgba(203,12,159,0)");
|
||||
var gradientStroke2 = ctx2.createLinearGradient(0, 230, 0, 50);
|
||||
gradientStroke2.addColorStop(1, "rgba(20,23,39,0.2)");
|
||||
gradientStroke2.addColorStop(0.2, "rgba(72,72,176,0.0)");
|
||||
gradientStroke2.addColorStop(0, "rgba(20,23,39,0)");
|
||||
new Chart(ctx2, {
|
||||
type: "line",
|
||||
data: {
|
||||
labels: ["Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
datasets: [{
|
||||
label: "Mobile apps",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
pointRadius: 0,
|
||||
borderColor: "#cb0c9f",
|
||||
borderWidth: 3,
|
||||
backgroundColor: gradientStroke1,
|
||||
fill: true,
|
||||
data: [50, 40, 300, 220, 500, 250, 400, 230, 500],
|
||||
maxBarThickness: 6
|
||||
|
||||
},
|
||||
{
|
||||
label: "Websites",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
pointRadius: 0,
|
||||
borderColor: "#3A416F",
|
||||
borderWidth: 3,
|
||||
backgroundColor: gradientStroke2,
|
||||
fill: true,
|
||||
data: [30, 90, 40, 140, 290, 290, 340, 230, 400],
|
||||
maxBarThickness: 6
|
||||
},
|
||||
],
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false,
|
||||
}
|
||||
},
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
},
|
||||
scales: {
|
||||
y: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: true,
|
||||
drawOnChartArea: true,
|
||||
drawTicks: false,
|
||||
borderDash: [5, 5]
|
||||
},
|
||||
ticks: {
|
||||
display: true,
|
||||
padding: 10,
|
||||
color: '#b2b9bf',
|
||||
font: {
|
||||
size: 11,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
}
|
||||
},
|
||||
x: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false,
|
||||
borderDash: [5, 5]
|
||||
},
|
||||
ticks: {
|
||||
display: true,
|
||||
color: '#b2b9bf',
|
||||
padding: 20,
|
||||
font: {
|
||||
size: 11,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<script src="./js/loopple.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#header").load(".\html\header.html");
|
||||
$("#footer").load(".\html\footer.html");
|
||||
});
|
||||
</script>
|
||||
</body>
|
3
updater/systemfile.json
Normal file
3
updater/systemfile.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"path": "F:\\02 Benutzer\\Chef\\Downloads\\Donwload tets"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user