Removed old files

This commit is contained in:
Scott Idem
2022-05-07 13:33:48 -04:00
parent f706855b5b
commit bc1a3b2cc5
21 changed files with 0 additions and 1754 deletions

View File

@@ -1,28 +0,0 @@
body {
/* min-height: 100%;
height: 100%;
max-height: 100%; */
margin: .1em;
padding: .1em;
}
section#Main-Body {
/* outline: solid thin red; */
/* min-height: 100%;
height: 100%;
max-height: 100%; */
}
section#Main-Nav-Menu {
min-height: 100%;
height: 100%;
max-height: 100%;
}
section#Main-Content {
min-height: 100%;
height: 100%;
max-height: 100%;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,223 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>One Sky IT's Aether App</title>
<link rel="shortcut icon" type="image/png" href="img/favicon.ico">
<!-- Cascading Style Sheets (CSS) start -->
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- One Sky IT default custom Cascading Style Sheets (CSS) -->
<!-- One Sky IT site custom Cascading Style Sheets (CSS) -->
<!-- <link rel="stylesheet" href="https://demo.oneskyit.com/static/css/aether_variables.css"> -->
<link rel="stylesheet" href="http://dev.oneskyit.local:5000/static/css/aether_variables.css">
<!-- <link rel="stylesheet" href="https://demo.oneskyit.com/static/svelte/build/aether_utilities.css"> -->
<link rel="stylesheet" href="http://dev.oneskyit.local:5000/static/svelte/build/aether_utilities.css">
<!-- <link rel="stylesheet" href="https://demo.oneskyit.com/static/css/aether_system.css"> -->
<link rel="stylesheet" href="http://dev.oneskyit.local:5000/static/css/aether_system.css">
<!-- <link rel="stylesheet" href="svelte/build/aether_layout.css"> -->
<!-- <link rel="stylesheet" href="css/aether_layout_flow.css"> -->
<!-- <link rel="stylesheet" href="css/aether_layout_grid.css"> -->
<!-- <link rel="stylesheet" href="https://demo.oneskyit.com/static/svelte/build/aether_modules_core.css"> -->
<link rel="stylesheet" href="http://dev.oneskyit.local:5000/static/svelte/build/aether_modules_core.css">
<!-- <link href="https://demo.oneskyit.com/static/svelte/build/bundle.css" rel="stylesheet"> -->
<!-- <link href="http://app-local.oneskyit.com/static/svelte/build/bundle.css" rel="stylesheet"> -->
<link href="http://dev.oneskyit.local:5000/static/svelte/build/bundle.css" rel="stylesheet">
<!-- <link href="https://demo.oneskyit.com/static/svelte/build/reloading.css" rel="stylesheet"> -->
<link href="https://demo.oneskyit.com/static/svelte/build/reloading.css" rel="stylesheet">
<!-- <link href="https://demo.oneskyit.com/static/svelte/build/base_style_grid_layout_v3.css" rel="stylesheet"> -->
<link href="http://dev.oneskyit.local:5000/static/svelte/build/base_style_grid_layout_v3.css" rel="stylesheet">
<!-- <link href="https://demo.oneskyit.com/static/svelte/build/base_style_grid_theme_v3.css" rel="stylesheet"> -->
<link href="http://dev.oneskyit.local:5000/static/svelte/build/base_style_grid_theme_v3.css" rel="stylesheet">
<!-- <link href="https://demo.oneskyit.com/static/svelte/build/event_launcher.css" rel="stylesheet"> -->
<link href="http://dev.oneskyit.local:5000/static/svelte/build/event_launcher.css" rel="stylesheet">
<link rel="stylesheet" href="css/aether_native_app_v3.css">
<style>
</style>
<!-- Cascading Style Sheets (CSS) end -->
<!-- JavaScript (JS) start -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.22.0/axios.min.js" integrity="sha512-m2ssMAtdCEYGWXQ8hXVG4Q39uKYtbfaJL5QMTbhl2kc6vYyubrKHhr6aLLXW4ITeXSywQLn1AhsAaqrJl8Acfg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.2.0/socket.io.js" integrity="sha512-WL6WGKMPBiM9PnHRYIn5YEtq0Z8XP4fkVb4qy7PP4vhmYQErJ/dySyXuFIMDf1eEYCXCrQrMJfkNwKc9gsjTjA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.10.7/dayjs.min.js" integrity="sha512-bwD3VD/j6ypSSnyjuaURidZksoVx3L1RPvTkleC48SbHCZsemT3VKMD39KknPnH728LLXVMTisESIBOAb5/W0Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/localforage/1.10.0/localforage.min.js" integrity="sha512-+BMamP0e7wn39JGL8nKAZ3yAQT2dL5oaXWr4ZYlTGkKOaoXM/Yj7c4oy50Ngz5yoUutAG17flueD4F6QpTlPng==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<!-- <script src="https://static.oneskyit.com/js/utilities.js"></script> -->
<!-- <script src="js/app_idb.js"></script> -->
<script>
const app = require('./js/aether_native_app_v3');
let app_config = app.load_config();
console.log(app_config);
const flask_env = 'development'; // 'development', 'production'
const env = 'development'; // 'development', 'production'
const app_env = 'development_local'; // 'development_local', 'development_remote'
const api_env = 'development_local'; // 'development_local', 'development_remote'
const app_mode = 'native'; // null, 'default', 'onsite', 'native'
let client_account_id = app_config.account_id;
console.log(client_account_id);
let event_id = app_config.event_id;
let event_device_id = app_config.event_device_id;
let event_location_id = app_config.event_location_id;
const page_for = { 'event': event_id, 'event_device': event_device_id, 'event_location': event_location_id }; // Simple key value like object
console.log(page_for);
const host_file_cache_path = app_config.host_file_cache_path; // 'file_cache/'
// console.log(host_file_cache_path);
const host_file_temp_path = app_config.host_file_temp_path; // 'temp/'
// console.log(host_file_temp_path);
let idb_name = app_config.idb_name;
// BEGIN: API section
const access_control_allow_origin = app_config.access_control_allow_origin;
const api_secret_key = app_config.api_secret_key;
console.log(api_secret_key);
let api_temporary_token = null;
let api_server_base_url = app_config.api_server_base_url; // null;
let api_server_base_url_bak = app_config.api_server_base_url_bak;
let app_server_base_url = app_config.app_server_base_url;
// let file_base_url = app_config.file_server_base_url;
// if (app_config.use_local_api) {
// api_server_base_url = app_config.api_local_base_url; // 'http://api.localhost:5001'
// } else {
// api_server_base_url = app_config.api_remote_base_url; // 'https://api.oneskyit.com'
// }
/* ***** **** *** ** * ### * ** *** **** ***** */
let app_online = false;
//let app_use_cached_data = true;
window.addEventListener('online', app.currently_online);
window.addEventListener('offline', app.currently_offline);
/* ***** **** *** ** * ### * ** *** **** ***** */
</script>
<!-- <script defer src="svelte/build/bundle.js" crossorigin></script> -->
<!-- <script defer src="https://demo.oneskyit.com/static/svelte/build/bundle.js" crossorigin></script> -->
<!-- <script defer src="http://app-local.oneskyit.com/static/svelte/build/bundle.js" crossorigin></script> -->
<script defer src="http://dev.oneskyit.local:5000/static/svelte/build/bundle.js" crossorigin></script>
<!-- JavaScript (JS) end -->
</head>
<body class="body_container">
<section id="System-Nav-Menu">Site-Nav-Menu</section>
<section id="Site-Header">Site-Header</section>
<section id="Site-Nav-Menu">Site-Nav-Menu</section>
<section id="System-Notifications">System-Notifications (and Site-Notifications)</section><!-- and what would be Site-Notifications-->
<section id="Main-Body" class="main_template_content svelte_target event_launcher_main">
</section>
<section id="Site-Footer">Site-Footer</section>
<section id="System-Footer">Site-Footer</section>
<section id="System-Debug">System-Debug</section>
</body>
<!-- JavaScript (JS) start -->
<!-- One Sky IT default custom JavaScript (JS) -->
<!-- One Sky IT site custom JavaScript (JS) -->
<!-- <script>const app = require('./js/app_v3');</script> -->
<!-- <script src="js/app_v3.js"></script> -->
<script>
/* ***** **** *** ** * ### * ** *** **** ***** */
// BEGIN: Load IDB section
// let idb_name = app_config.idb_name;
// let tbl_event = null;
// let tbl_event_location = null;
// let tbl_event_session = null;
// let tbl_event_presentation = null;
// let tbl_event_presenter = null;
// let tbl_event_file = null;
// let tbl_hosted_file = null;
// let tbl_event_key_count = null;
// let tbl_event_location_key_count = null;
// let tbl_event_session_key_count = null;
// let tbl_event_presentation_key_count = null;
// let tbl_event_presenter_key_count = null;
// let tbl_event_file_key_count = null;
// let tbl_hosted_file_key_count = null;
// let load_idb_tables_result = load_idb_tables()
// .then(async function (result) {
// console.log('IDB tables have been opened');
// idb_tables_opened = load_idb_tables_result;
// console.log('Attempting to use cached IDB data...');
// if (tbl_event_key_count
// && tbl_event_location_key_count
// && tbl_event_session_key_count
// && tbl_event_presentation_key_count
// && tbl_event_presenter_key_count
// && tbl_event_file_key_count) {
// console.log('********* Not yet sure how this works... ');
// } else {
// console.log('One or more of the IDB tables has 0 records. The IDB probably needs to be updated.');
// return true;
// }
// console.log(tbl_event);
// console.log(tbl_event_location);
// console.log(tbl_event_session);
// console.log(tbl_event_presentation);
// console.log(tbl_event_presenter);
// console.log(tbl_event_file);
// console.log(tbl_hosted_file);
// })
// .catch(function (error) {
// console.log('Something went wrong opening the IDB tables.');
// console.log(error);
// return false;
// });
/* ***** **** *** ** * ### * ** *** **** ***** */
</script>
</html>

View File

@@ -1,552 +0,0 @@
'use strict';
const os = require('os');
const path = require('path');
const fs = require('fs');
const fs_promises = require('node:fs/promises');
const child_process = require('child_process');
const { ipcRenderer } = require('electron');
// import psList from 'ps-list';
// const ps_list = require('ps-list');
let home_directory = require('os').homedir();
console.log('Home: '+home_directory);
let tmp_directory = require('os').tmpdir();
console.log('Temporary: '+tmp_directory);
let config = null;
exports.load_config = function () {
console.log('*** Electron framework: load_config() ***');
let cwd = process.cwd();
console.log(`CWD: ${cwd}`);
try {
if (cwd == '/') {
cwd = home_directory;
}
console.log('Reading directory...');
let directory_list = fs_promises.readdir(cwd).then(function (read_dir_result) {
console.log('Got contents:');
for (let file of read_dir_result) {
console.log(file);
}
});
} catch (err) {
console.error(err);
}
// let home_directory = require('os').homedir();
// console.log('Home: '+home_directory);
// let tmp_directory = require('os').tmpdir();
// console.log('Temporary: '+tmp_directory);
// let config = null;
let config_directory = null;
// let default_config_path = path.join(process.cwd(),'config.json.default');
let default_config_path = 'config.json.default';
console.log(default_config_path);
let config_path = null;
// Set the config path for macOS or Linux
if (os.platform == 'darwin') {
config_directory = path.join(home_directory, 'Library/Application Support/OSIT');
console.log('macOS config directory: '+config_directory);
} else if (os.platform == 'linux') {
config_directory = path.join(home_directory, '.config/OSIT');
console.log('Linux config directory: '+config_directory);
}
// Look for the config file and copy the default if not found.
if (fs.existsSync(config_directory)) {
console.log('Config directory found: '+config_directory);
} else {
fs.mkdirSync(config_directory);
console.log('Config directory created: '+config_directory);
//default_config_path = path.join(process.cwd(),'config.json.default');
// config_path = path.join(config_directory, 'config.json');
// fs.copyFileSync(default_config_path, config_path);
// console.log('Default config file copied: '+config_directory);
}
config_path = path.join(config_directory, 'config.json');
// Attempt to open the config file. The preferred location is based on the OS's config directory.
if (fs.existsSync(config_path)) {
console.log(`Config file (config.json) found under ${config_directory}`);
} else if (!fs.existsSync(config_path) && fs.existsSync(default_config_path)) {
fs.copyFileSync(default_config_path, config_path);
console.log('Default config file copied: '+config_directory);
// config = JSON.parse(fs.readFileSync(config_path));
// console.log('Config file read.');
} else if (fs.existsSync(path.join(cwd, 'config.json'))) {
//fs.copyFileSync(default_config_path, config_path);
//console.log('Default config file copied: '+config_directory);
console.log(`Config file (config.json) not found under ${config_directory}. Using config in CWD. ${cwd}`);
config_path = path.join(cwd, 'config.json');
console.log(`Config file (config.json) not found under ${config_directory}. Using config in CWD. ${cwd}`);
found_config_path = path.join(cwd, 'config.json');
fs.copyFileSync(found_config_path, config_path);
console.log(`Found config file copied: ${config_directory}`);
} else if (fs.existsSync(path.join(cwd, 'config.json.default'))) {
console.log(`Config file (config.json) not found under ${config_directory} or CWD. Using default config in CWD. ${cwd}`);
default_config_path = path.join(cwd, 'config.json.default');
fs.copyFileSync(default_config_path, config_path);
console.log(`Default config file copied: ${config_directory}`);
} else {
console.log('Can not find a config file.');
return false;
}
config = JSON.parse(fs.readFileSync(config_path));
console.log('Config file read.');
config.home_directory = home_directory; // From the OS platform
config.tmp_directory = tmp_directory; // From the OS platform
config.app_root_path = config.app_root_path.replace('[home]', home_directory);
config.app_root_path = config.app_root_path.replace('[tmp]', tmp_directory);
console.log(config.app_root_path);
config.host_file_cache_path = config.host_file_cache_path.replace('[home]', home_directory);
config.host_file_cache_path = config.host_file_cache_path.replace('[tmp]', tmp_directory);
console.log(config.host_file_cache_path);
// if (fs.existsSync(config.host_file_cache_path)) {
// } else {
// fs.mkdirSync(config.host_file_cache_path);
// console.log(`Host file cache directory created: ${config.host_file_cache_path}`);
// }
config.host_file_temp_path = config.host_file_temp_path.replace('[home]', home_directory);
config.host_file_temp_path = config.host_file_temp_path.replace('[tmp]', tmp_directory);
console.log(config.host_file_temp_path);
// if (fs.existsSync(config.host_file_temp_path)) {
// } else {
// fs.mkdirSync(config.host_file_temp_path);
// console.log(`Host file temp directory created: ${config.host_file_temp_path}`);
// }
let import_config_to_ipc_result = ipcRenderer.invoke('import_config', config).then((result) => {
console.log('IPC import config finished');
console.log(result);
return true;
})
//console.log(config);
return config;
}
// Check for local file
// Updated 2022-05-06
exports.check_local_file = async function ({local_file_path, filename}) {
console.log('*** Electron framework export: check_local_file() ***');
// console.log('Check for local file');
console.log(`Local File Path: ${local_file_path}; Filename: ${filename}`);
let full_local_file_path = path.join(local_file_path, filename);
console.log(full_local_file_path);
if (fs.existsSync(full_local_file_path)) {
console.log(`Local file exists: ${full_local_file_path}`);
return true;
} else {
return false;
}
}
// Check local hash file cache
// Updated 2022-05-06
exports.check_hash_file_cache = async function ({host_file_cache_path, hash}) {
console.log('*** Electron framework export: check_hash_file_cache() ***');
// console.log('Check local hash file cache');
console.log(`Host File Cache Path: ${host_file_cache_path}; Hash: ${hash}`);
let hash_filename = `${hash}.file`;
let subdirectory = hash_filename.substring(0,2);
let subdirectory_path = path.join(host_file_cache_path, subdirectory);
if (fs.existsSync(subdirectory_path)) {
} else {
console.log(`Hashed file subdirectory not found in cache: ${subdirectory_path}`);
return false;
}
let hash_file_cache_path = path.join(subdirectory_path, hash_filename);
// console.log(hash_file_cache_path);
if (fs.existsSync(hash_file_cache_path)) {
console.log(`Hashed file exists in cache: ${hash_file_cache_path}`);
return true;
} else {
console.log(`Hashed file not found in cache: ${hash_file_cache_path}`);
return false;
}
}
// Download hash file to cache
// Updated 2022-05-06
exports.download_hash_file_to_cache = async function ({host_file_cache_path, event_file_id=null, hash=null}) {
console.log('*** Electron framework export: download_hash_file_to_cache() ***');
// console.log('Download hash file to cache');
console.log(`Host File Cache Path: ${host_file_cache_path}; Event File ID: ${event_file_id}; Hash: ${hash}`);
let endpoint = `/event/file/${event_file_id}/download`;
let hash_filename = `${hash}.file`;
let subdirectory = hash_filename.substring(0,2);
let subdirectory_path = path.join(host_file_cache_path, subdirectory);
if (fs.existsSync(subdirectory_path)) {
} else {
fs.mkdirSync(subdirectory_path);
console.log(`Subdirectory directory created: ${subdirectory_path}`);
}
let hash_file_cache_path = path.join(subdirectory_path, hash_filename);
// console.log(hash_file_cache_path);
let download_file_result = await ipcRenderer.invoke('download_file', api_server_base_url, endpoint, hash_file_cache_path).then((result) => {
console.log('IPC download file process finished');
console.log(result);
return true;
});
// console.log(download_file_result);
// console.log('End: download_hash_file_to_cache()');
if (download_file_result) {
console.log('File downloaded successfully');
return true;
} else {
console.log('File was not downloaded successfully');
return false;
}
}
// Open cached hash file after copying to temp directory
// Updated 2022-05-06
exports.open_hash_file_to_temp = async function ({host_file_cache_path, hash, host_file_temp_path, filename}) {
console.log('*** Electron framework export: open_hash_file_to_temp() ***');
// console.log('Open cached hash file after copying to temp directory');
console.log(`Host File Cache Path: ${host_file_cache_path}; Hash: ${hash}; Host File Temp Path: ${host_file_temp_path}; Filename: ${filename}`);
let subdirectory = hash.substring(0,2);
let subdirectory_path = path.join(host_file_cache_path, subdirectory);
if (fs.existsSync(subdirectory_path)) {
} else {
console.log(`Hashed file subdirectory not found in cache: ${subdirectory_path}`);
return false;
}
let open_hash_file_to_temp_result = await ipcRenderer.invoke('open_hash_file_to_temp', subdirectory_path, hash, host_file_temp_path, filename).then((result) => {
console.log('IPC open hash file to temp finished');
console.log(result);
return true;
})
// let result = await ipcRenderer.send('open_local_file', host_file_cache_path, hash, host_file_temp_path, filename);
// console.log(result);
console.log(open_hash_file_to_temp_result);
console.log('End: open_hash_file_to_temp()');
if (open_hash_file_to_temp_result) {
console.log('File opened successfully');
return true;
} else {
console.log('File was not opened successfully');
return false;
}
}
// Open local file
// Updated 2022-03-10
exports.open_local_file = async function ({local_file_path, filename}) {
console.log('*** Electron framework export: open_local_file() ***');
// console.log('Open local file');
console.log(`Local File Path: ${local_file_path}; Filename: ${filename}`);
// let full_local_file_path = path.join(local_file_path, filename);
// console.log(full_local_file_path);
// if (fs.existsSync(full_local_file_path)) {
// console.log(`Local file exists: ${full_local_file_path}`);
// // return true;
// } else {
// return false;
// }
let open_local_file_result = await ipcRenderer.invoke('open_local_file', local_file_path, filename).then((result) => {
console.log('IPC open local file finished');
console.log(result);
return true;
})
console.log(open_local_file_result);
console.log('End: open_local_file()');
if (open_local_file_result) {
console.log('File opened successfully');
return true;
} else {
console.log('File was not opened successfully');
return false;
}
}
// Check local file cache and download from server if needed.
// Updated 2022-03-09
// exports.check_file_cache = async function ({host_file_cache_path, event_file_id, hash}) {
exports.check_file_cache = async function ({host_file_cache_path, event_file_id, hash}) {
console.log('*** Electron framework export: check_file_cache() ***');
// console.log('Check local file cache and download from server if needed.');
console.log(`Host File Cache Path: ${host_file_cache_path}; Event File ID: ${event_file_id}; Hash: ${hash}`);
// NOTE: event_file_id is the event_file.id_random or event_file.event_file_id_random
let hash_filename = hash+'.file';
let save_path = path.join(host_file_cache_path, hash_filename);
console.log(save_path);
if (fs.existsSync(save_path)) {
console.log('Hashed file cache already exists: '+save_path);
return true;
} else {
console.log('Hashed file not found in local cache. Downloading file: '+save_path);
let endpoint = `/event/file/${event_file_id}/download`;
let result = await ipcRenderer.send('download_file', api_server_base_url, endpoint, save_path); // Must download file using main node.js thread.
console.log(result);
return new Promise((resolve, reject) => {
ipcRenderer.once('download_file_reply', function(event, response){
console.log(response);
return response;
})
resolve(true);
});
// await ipcRenderer.once('download_file_reply', function(event, response){
// console.log(response);
// return response;
// });
// result.then(function (response) {
// console.log('Downloaded!!!???');
// return true;
// }).catch(function (error) {
// console.log(error);
// return false;
// });
// return result;
// console.log(result);
// if (result) {
// return true;
// } else {
// return false;
// }
}
}
// Check local file cache and download from server if needed. Must use IPC to Main to download file. Set a Promise to wait for download_file_reply.
// Updated 2022-03-09
async function check_file_cache({host_file_cache_path, event_file_id, hash}) {
console.log('*** Electron framework: check_file_cache() ***');
// console.log('Check local file cache and download from server if needed.');
console.log(`Host File Cache Path: ${host_file_cache_path}; Event File ID: ${event_file_id}; Hash: ${hash}`);
// NOTE: event_file_id is the event_file.id_random or event_file.event_file_id_random
let hash_filename = hash+'.file';
let save_path = path.join(host_file_cache_path, hash_filename);
console.log(save_path);
if (fs.existsSync(save_path)) {
console.log('Hashed file cache already exists: '+save_path);
return true;
} else {
console.log('Hashed file not found in local cache. Downloading file: '+save_path);
let endpoint = `/event/file/${event_file_id}/download`;
let result = await ipcRenderer.send('download_file', api_server_base_url, endpoint, save_path); // Must download file using main node.js thread.
console.log(result);
return new Promise((resolve, reject) => {
ipcRenderer.once('download_file_reply', function(event, response){
console.log(response);
return response;
})
resolve(true);
});
// await ipcRenderer.once('download_file_reply', function(event, response){
// console.log(response);
// return response;
// });
// result.then(function (response) {
// console.log('Downloaded!!!???');
// return true;
// }).catch(function (error) {
// console.log(error);
// return false;
// });
// return result;
// console.log(result);
// if (result) {
// return true;
// } else {
// return false;
// }
}
}
// IPC to Main: Open local file cache if available. Copy to temp directory with given filename first.
// Updated 2022-03-09
async function open_local_file({host_file_cache_path, hash, host_file_temp_path, filename}) {
console.log('*** Electron framework: open_local_file() ***');
// console.log('Open local file cache if available. Copy to temp directory with given filename first.');
console.log(`Host File Cache Path: ${host_file_cache_path}; Hash: ${hash}; Host File Temp Path: ${host_file_temp_path}; Filename: ${filename}`);
console.log(host_file_cache_path);
console.log(hash);
console.log(filename);
let result = await ipcRenderer.send('open_local_file', host_file_cache_path, hash, host_file_temp_path, filename);
console.log(result);
return true;
}
exports.check_file_cache_and_open_local_file = async function ({host_file_cache_path, event_file_id, hash, host_file_temp_path, filename}) {
console.log('*** Electron framework: check_file_cache_and_open_local_file() ***');
console.log('Checking the local file cache against the remote server and then opening the local file.');
let check_file_cache_result = check_file_cache({host_file_cache_path: host_file_cache_path, event_file_id: event_file_id, hash: hash});
console.log(check_file_cache_result);
if (check_file_cache_result) {
let open_local_file_result = open_local_file({host_file_cache_path: host_file_cache_path, hash: hash, host_file_temp_path: host_file_temp_path, filename: filename});
console.log(open_local_file_result);
return open_local_file_result;
}
ipcRenderer.once('download_file_reply', function(event, response){
console.log(response);
let open_local_file_result = open_local_file({host_file_cache_path: host_file_cache_path, hash: hash, host_file_temp_path: host_file_temp_path, filename: filename});
console.log(open_local_file_result);
return open_local_file_result;
})
}
// Kill processes
// Updated 2022-05-06
exports.kill_processes = async function ({process_name = null}) {
console.log('*** Electron framework export: kill_processes() ***');
console.log(process_name); // process_name or grep pattern
let command = '';
if (os.platform == 'darwin') {
// command = `osascript -e 'quit app "${process_name}" saving no'`;
command = `osascript -e 'quit application "${process_name}" saving no'`;
} else {
command = `pkill ${process_name}`;
}
child_process.exec(command, (err, stdout, stdin) => {
if (err) throw err;
console.log(stdout);
});
console.log('Killed processes?');
// let command = `ps -aux | grep ${process_name}`;
// child_process.exec(command, (err, stdout, stdin) => {
// if (err) throw err;
// console.log(stdout);
// });
// console.log(await psList());
// console.log(await ps_list());
// let signal = 'SIGTERM'; // 'SIGTERM', 'SIGINT', 'SIGHUP'
// process.kill(pid, signal);
// process.kill(pid, 0); // Special case test if process exists
return true;
}
// Run raw osascript
// Updated 2022-05-07
exports.run_osascript = async function ({command=null, interactive=false, language=null, flags='h', program_file=null}) {
console.log('*** Electron framework export: kill_processes() ***');
console.log(command);
if (os.platform == 'darwin') {
} else {
console.log('Not available for this platform. macOS (darwin) only.');
return false;
}
let osascript_str = '';
if (Array.isArray(command)) {
console.log('List of command strings');
let commands_str = '';
for (let i = 0; i < command.length; i++) {
commands_str += `-e '${command[i]}'`;
}
osascript_str = `osascript ${commands_str}`
} else if (typeof command === 'string') {
console.log('Single command string');
osascript_str = `osascript -e '${command}'`;
} else {
return false;
}
if (language) {
console.log(`Language: ${language}`);
osascript_str = `${osascript_str} -l ${language}`;
}
if (flags) {
console.log(`Flags: ${flags}`);
osascript_str = `${osascript_str} -s ${flags}`;
}
console.log(`OSA Script String: ${osascript_str}`);
child_process.exec(osascript_str, (err, stdout, stdin) => {
if (err) throw err;
console.log(stdout);
console.log(stdin);
});
console.log('Finished');
return true;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1 +0,0 @@
launcher reset

View File

@@ -1 +0,0 @@
test txt

View File

@@ -1,878 +0,0 @@
html {
/* Parent Layout */
/* Box Model */
/* Positioning */
/*height: 100%;*/
/* Display */
}
body {
/* Parent Layout */
/* Box Model */
/* Positioning */
margin-bottom: 2.25rem; /* full height */
/* margin: 0; */
/* padding: 0; */
/* Display */
}
nav {
}
/* *** BEGIN *** Layout *** System Menu (root menu) *** */
/* *** END *** Layout *** System Menu (root menu) *** */
/* Aether System Styles */
/* Most of this should not be overridden by the client unless using something like an iframe for specific content. */
/* *** BEGIN *** System *** General *** */
/* *** END *** System *** General *** */
/* *** BEGIN *** System *** System Menu (root menu) *** */
.system_menu {
z-index: 1040; /* Bootstrap's modal background is also z-index: 1040 */
position: fixed;
top: 0;
left: 50%;
/*height: .1rem;*/
height: 2.68rem;
/*height: 6.12rem;*/
width: 100vw;
max-width: 1440px; /*100vw*/
transform: translateX(-50%);
margin: 0 0;
margin-bottom: .1rem;
padding-top: .03rem;
padding-left: .03rem;
padding-right: .03rem;
padding-bottom: .03rem;
overflow: hidden;
display: flex;
flex-direction: row;
/*background: linear-gradient(to right, rgba(220,220,220,.9) 25%, rgba(128,128,128,.8) 50%, rgba(220,220,220,.9) 75%);*/
border: solid thick transparent;
border-top: none;
border-left: solid thick hsl(var(--hue-green),var(--saturation-least),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-green),var(--saturation-least),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-green),var(--saturation-least),var(--lum-darkest));
border-bottom: none;
border-image:
linear-gradient(
to bottom,
hsl(var(--hue-green),var(--saturation-least),var(--lum-darkest)),
transparent
) 1;
/* NOTE: transition when no longer hovering */
transition-property: height;
transition-delay: 4s;
transition-duration: .1s;
transition-timing-function: linear;
}
.system_menu:hover {
z-index: 1051; /* Bootstrap's modal background is z-index: 1040 */
border-left: solid thick hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image: linear-gradient(to right, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest).1) 0%, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest),.9) 3%, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest),.9) 97%, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest),.1) 100%);
height: 5.33rem;
/* NOTE: transition when hover starts */
transition-property: height;
transition-delay: 1.5s;
transition-duration: .15s;
transition-timing-function: linear;
}
.system_menu_clicked {
z-index: 1051; /* Bootstrap's modal background is z-index: 1040 */
border-left: solid thick hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image: linear-gradient(to right, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest).1) 0%, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest),.9) 3%, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest),.9) 97%, hsla(var(--hue-yellow), var(--saturation-less), var(--lum-lightest),.1) 100%);
height: 5.33rem;
/* NOTE: transition when hover starts */
transition-property: height;
transition-delay: 0s;
transition-duration: .15s;
transition-timing-function: linear;
}
.system_menu_begin {
/*border: solid thin red;*/
align-self: flex-end;
display: flex;
/*align-content: center;*/
align-items: center;
/*justify-content: center;*/
height: 100%;
padding: 0 .25rem;
text-shadow: 0 0 .25rem hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),1), 0 0 .75rem hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),1), 0 0 1rem hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),1);
color: black;
/*background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),.9) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),.9) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),0) 100%);*/
}
.system_menu_begin:hover {
}
.system_menu_center {
/*border: solid thin blue;*/
align-self: flex-end;
flex: auto;
display: flex;
flex-direction: column;
/*background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-mid),.1) 25%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-mid),.8) 50%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-mid),.9) 75%);*/
}
.system_menu_end {
/*border: solid thin red;*/
align-self: flex-end;
display: flex;
/*align-content: center;*/
align-items: center;
/*justify-content: center;*/
height: 100%;
padding: 0 .25rem;
text-shadow: 0 0 .25rem white, 0 0 .75rem hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),1), 0 0 1rem hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),1);
color: black;
/*background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.6) 20%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.6) 80%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 100%);*/
}
.system_menu_end:hover {
}
.system_menu_hidden {
border-bottom: none;
align-self: flex-end;
flex: auto;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 0;
padding: .1rem .75rem;
/*background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.9) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.9) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 100%);*/
}
.system_menu_hidden:hover {
/*border-bottom: solid thin gray;*/
}
.system_menu_visible {
border-bottom: none;
/*border-bottom: solid thin gray;*/
align-self: flex-end;
flex: auto;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 0;
padding: .1rem .75rem;
/*background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.9) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.9) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 100%);*/
}
.system_menu_visible:hover {
/*border-bottom: solid thin gray;*/
}
.system_menu_name {
/*border: dashed thin blue;*/
/*flex: auto;*/
display: flex;
flex-direction: row;
justify-content: flex-begin;
align-items: center;
margin: 0;
padding: 0rem .5rem;
background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.8) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.8) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 100%);
}
.system_menu_name img {
max-height: 1rem;
}
.system_menu_information {
/*border: dashed thin green;*/
/*flex: auto;*/
align-self: flex-end;
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
margin: 0;
padding: 0rem .5rem;
background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.8) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.8) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),0) 100%);
}
.system_menu_information:hover {
/*background-color: gray;*/
/*background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),.9) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),.9) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lighter),0) 100%);*/
background-image: linear-gradient(to right, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.0) 0%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.97) 3%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.97) 97%, hsla(var(--hue-blue), var(--saturation-least), var(--lum-lightest),.0) 100%);
}
.system_menu_float {
z-index: 1040;
position: fixed;
top: 2.75rem;
right: .1rem;
background-color: rgba(220,175,175,.8);
padding: .1rem .5rem;
/*position: fixed; top: 0; right: 0; */
}
/* Set style based on the user's permissions */
.system_menu.user_super {
border-left: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image:
linear-gradient(
to bottom,
hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest)),
transparent
);
}
.system_menu.user_manager {
border-left: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image:
linear-gradient(
to bottom,
hsl(var(--hue-orange),var(--saturation-most),var(--lum-darkest)),
transparent
);
}
.system_menu.user_administrator {
border-left: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image:
linear-gradient(
to bottom,
hsl(var(--hue-yellow),var(--saturation-most),var(--lum-darkest)),
transparent
);
}
.system_menu.user_verified {
border-left: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image:
linear-gradient(
to bottom,
hsl(var(--hue-yellow),var(--saturation-most),var(--lum-darkest)),
transparent
);
}
.system_menu.user_authenticated {
border-left: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-right: solid thick hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-bottom: solid thin hsl(var(--hue-red),var(--saturation-most),var(--lum-darkest));
border-image:
linear-gradient(
to top,
hsl(var(--hue-green),var(--saturation-most),var(--lum-darkest)),
transparent
) 1;
background-image:
linear-gradient(
to bottom,
hsl(var(--hue-cyan),var(--saturation-most),var(--lum-darkest)),
transparent
);
}
.system_menu .user_status_options {
font-size: .8rem;
line-height: 1rem;
}
/* *** END *** System *** System Menu (root menu) *** */
/* *** BEGIN *** System *** User Login *** */
.user_login .account__name--container {
font-size: 1.1rem;
font-weight: bold;
}
.user_login .account__none--container {
font-size: 1.1rem;
font-weight: bold;
color: darkred;
}
.user_login .show_password, .user_change_password .show_password {
font-size: 1.1rem;
line-height: 3.0rem;
color: darkred;
cursor: zoom-in; /*progress*/
}
.user_login .show_password:hover, .user_change_password .show_password:hover {
font-size: 1.3rem;
}
/* *** END *** System *** User Login *** */
/* *** BEGIN *** System *** System Footer *** */
/* system_footer or system_footer or system_status is the global (root) footer or status bar */
.system_footer {
position: fixed;
/*width: 100vw;*/
bottom: 0;
margin: 0 0;
padding: 0 .5rem;
color: gray;
background: #eee;
}
.system_footer .footer_left {
float: left;
}
.system_footer .footer_right {
float: right;
}
/* *** END *** System *** System Footer *** */
/* *** BEGIN *** System *** Debug *** */
.view_debug {
cursor: help;
}
.hidden_debug {
display: none;
position: fixed;
bottom: 1.5rem;
right: 0;
background: pink;
border: dashed thin pink;
margin: .25rem .25rem .25rem;
padding: .25rem;
opacity: .5;
font-size: .7rem;
overflow-y: scroll;
max-height: 96.75vh;
z-index: 1050; /* Bootstrap 4 sticky-top class has a z-index of 1020 */
}
.hidden_debug:hover {
z-index: 1051;
border: solid thin pink;
opacity: .95;
}
/* *** END *** System *** Debug *** */
/* BEGIN: Global System Classes */
/* BEGIN: Main section of the page layout */
.site_header {
padding-top: .5rem;
padding-bottom: .5rem;
margin-bottom: .25rem;
max-height: 15rem; /* Just in case something is added that is very high. */
width: 95%;
max-width: 1400px;
}
.site_header img {
max-width: 100%;
max-height: 8rem; /* Just in case something is added that is very high. */
/*border: solid thin #aaa;*/
border-radius: .25rem;
}
/* primary_menu is generally the site_menu */
.primary_menu {
z-index: 1040; /* Bootstrap's modal background is also z-index: 1040 */
/*padding-top: 2rem;*/
width: 95%;
max-width: 1400px; /* 2048px or 2560px is 2K */
margin-bottom: .25rem;
padding-right: 1.75rem;
padding-left: 1.75rem;
background-image: linear-gradient(to right, rgba(255,255,255,.7) 0%, rgba(255,255,255,.95) 3%, rgba(255,255,255,.95) 97%, rgba(255,255,255,.7) 100%);
}
.primary_menu:hover {
z-index: 1041; /* Bootstrap's modal background is also z-index: 1040 */
}
.flash_messages {
width: 95%;
max-width: 1400px; /* 2048px or 2560px is 2K */
margin-bottom: .25rem;
padding-top: .25rem;
padding-right: 1.75rem;
padding-bottom: .25rem;
padding-left: 1.75rem;
background-image: linear-gradient(to right, #ffff80 0%, #ffffe1 2%, #ffffe1 98%, #ffff80 100%);
/*border: solid thin #ffff80;*/
}
.flash_messages ul {
margin: .25rem .25rem .25rem .25rem;
padding: .25rem .25rem .25rem .25rem;
}
.flash_messages li {
list-style-type: circle;
}
.flash_messages li.info {
/*background-color: green;*/
}
.flash_messages .flashes {
}
.flash_messages.show_dev .debug {
}
/* BEGIN: main_template_content section of the page layout */
.main_template_container {
/*border: dashed medium darkred;
* background-color: red;*/
position: relative;
/*display: flex;*/
align-items: stretch;
height: auto;
min-height: 60vh;
width: 95%;
max-width: 1400px; /* 2048px or 2560px is 2K */
margin: .5rem auto;
padding: 0;
}
/* secondary_menu is generally the page_menu or object_type_menu */
.secondary_menu {
/*border: dashed medium darkgreen;
* background-color: green;*/
/*position: relative;*/
margin-top: .25rem;
margin-right: 0rem;
margin-bottom: .25rem;
margin-left: 0rem;
padding-top: .25rem;
padding-right: 1.75rem;
padding-bottom: .25rem;
padding-left: 1.75rem;
width: 100%;
min-width: 100%;
max-width: 100%;
background-image: linear-gradient(to right, rgba(255,255,255,.7) 0%, rgba(255,255,255,.95) 3%, rgba(255,255,255,.95) 97%, rgba(255,255,255,.7) 100%);
}
.secondary_menu>.btn-toolbar>.btn-group {
margin-left: .1em;
margin-right: .1em;
}
.secondary_menu>.btn-toolbar>.btn-group>.btn {
margin-left: .05em;
margin-right: .05em;
/*
* border-left: solid thin #aaa;
* border-right: solid thin #aaa;*/
}
.main_template_content {
/*border: dashed medium darkgreen;
* background-color: green;*/
position: relative;
/*display: flex;
* align-items: stretch;*/
margin-top: .25rem;
margin-right: 0rem; /* Keep 0 to avoid horizontal scroll */
margin-bottom: .25rem;
margin-left: 0rem; /* Keep 0 to avoid horizontal scroll */
padding-top: .5rem;
padding-right: 1.75rem;
padding-bottom: .5rem;
padding-left: 1.75rem;
height: 100%;
min-height: 50vh;
max-height: 100%;
width: 100%;
min-width: 100%;
max-width: 100%;
/*background: white;*/
/*background-image: linear-gradient(to right, #eee 0%, #fff 2%, #fff 98%, #eee 100%);*/
background-image: linear-gradient(to right, rgba(255,255,255,.7) 0%, rgba(255,255,255,.95) 3%, rgba(255,255,255,.95) 97%, rgba(255,255,255,.7) 100%);
}
/* END: main_template_content section of the page layout */
/* END: Global System Classes */
/*X-Small devices (portrait phones, less than 576px)*/
/*No media query for `xs` since this is the default in Bootstrap*/
/*x-Small devices (portrait phones, less than 576px)*/
@media (max-width: 575px) {
.viewport_width {
padding-left: .5rem;
padding-right: .5rem;
background-color: blue;
color: white;
}
.viewport_width::after {
content: 'xs';
padding-left: .5rem;
}
header.site_header, nav.primary_menu.site_menu, section.flash_messages, div.main_template_container {
width: 100%;
}
.main_template_container {
width: 100%;
margin: 0rem auto;
padding: 0;
}
.main_template_content {
margin-top: .05rem;
margin-right: 0rem; /* Keep 0 to avoid horizontal scroll */
margin-bottom: .05rem;
margin-left: 0rem; /* Keep 0 to avoid horizontal scroll */
padding-top: .0rem;
padding-right: .05rem;
padding-bottom: .0rem;
padding-left: .05rem;
}
footer.system_footer {
font-size: .8em;
}
}
/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {
.viewport_width {
padding-left: .5rem;
padding-right: .5rem;
background-color: green;
color: black;
}
.viewport_width::after {
content: 'sm';
padding-left: .5rem;
}
header.site_header, nav.primary_menu.site_menu, section.flash_messages, div.main_template_container {
width: 97%;
}
.main_template_container {
width: 97%;
margin: .25rem auto;
padding: 0;
}
.main_template_content {
margin-top: .1rem;
margin-right: 0rem;
margin-bottom: .1rem;
margin-left: 0rem;
padding-top: .25rem;
padding-right: 1.00rem;
padding-bottom: .25rem;
padding-left: 1.00rem;
}
footer.system_footer {
font-size: .85em;
}
}
/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
.viewport_width {
padding-left: .5rem;
padding-right: .5rem;
background-color: yellow;
color: black;
}
.viewport_width::after {
content: 'md';
padding-left: .5rem;
}
footer.system_footer {
font-size: 1em;
}
}
/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
.viewport_width {
padding-left: .5rem;
padding-right: .5rem;
background-color: orange;
color: black;
}
.viewport_width::after {
content: 'lg';
padding-left: .5rem;
}
}
/*X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
.viewport_width {
padding-left: .5rem;
padding-right: .5rem;
background-color: red;
color: white;
}
.viewport_width::after {
content: 'xl';
padding-left: .5rem;
}
}
/*XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {
.viewport_width {
background-color: black;
color: white;
}
.viewport_width::after {
content: 'xxl';
padding-left: .5rem;
}
}
@media print {
@page {
size: Letter; /*Legal*/
margin: .5in !important; /* top and bottom margin is set to .41 because of Google Chrome */
padding: 0in;
}
body {
background-color: white !important;
background-image: none !important;
color: black !important;
margin: .25in !important;
padding: .1in !important;
border: solid thin #eeeeee;
}
.system_menu {
display: none;
}
.system_menu_float {
display: none;
}
.site_header {
display: none;
}
.site_menu {
display: none;
}
.flash_messages {
display: none;
}
.main_template_container {
/*border: dashed thin red;*/
background-color: white !important;
background-image: none !important;
color: black !important;
margin: .01in !important;
padding: .0in !important;
min-width: 0 !important;
/*width: 0 !important;*/
max-width: 100% !important;
display: flex;
align-items: center;
}
.secondary_menu {
display: none;
}
.main_template_content {
/*border: dotted thin red;*/
background-color: white !important;
background-image: none !important;
color: black !important;
margin: .01in !important;
padding: .01in !important;
min-width: 0 !important;
/*width: 0 !important;*/
max-width: 100% !important;
display: flex;
align-items: center;
}
.system_footer {
display: none;
}
.hidden_debug {
display: none;
}
}
.page_help {
float: right;
}
.page_links {
float: right;
}

View File

@@ -1 +0,0 @@

View File

@@ -1 +0,0 @@

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,60 +0,0 @@
/* This file will trigger the browser to reload quickly */
/* Component types */
/* A section is a main component and should be outlined. It may be displayed as block. */
section.component {
outline: dashed thin;
outline-color: var(--default-color-lighter);
}
section.component:hover {
outline: dashed thin;
outline-color: var(--default-color-light);
}
/* A div is a shared component, block, and should not be styled internally */
div.component {
outline: dotted thin;
outline-color: var(--default-color-lighter);
}
div.component:hover {
outline-color: var(--default-color-light);
}
/* A span is a shared component, inline, and should not be styled internally */
span.component {
outline: dotted thin;
outline-color: var(--default-color-lighter);
}
span.component:hover {
outline-color: var(--default-color-light);
}
.main_template_container {
/*outline: dashed medium green;*/
}
.main_template_content {
/*outline: dashed thin red;*/
}
.qr_scanner_form {
/*outline: solid thin green;*/
}
.qr_scanner {
/*outline: solid thin pink;*/
}
.badge_body {
/*outline: dotted thin red;*/
}
.badge_person_name {
/*outline: dashed thin pink;*/
}
.badge_affiliations_location {
/*outline: dashed thin pink;*/
}