diff --git a/python/web/src/static/style.css b/python/web/src/static/style.css
index 202b56d2..15ea683c 100644
--- a/python/web/src/static/style.css
+++ b/python/web/src/static/style.css
@@ -2,19 +2,7 @@ body {
color: black;
background-color: white;
font-family: Arial, Helvetica, sans-serif;
- text-decoration:none;
-}
-
-h1 {
- color: white;
- font-size:20px;
- background-color:black;
-}
-
-h2 {
- color: black;
- font-size:16px;
- margin: 0px;
+ text-decoration: none;
}
a {
@@ -27,10 +15,50 @@ form {
table, tr, td {
border: 1px solid black;
- border-collapse:collapse;
+ border-collapse: collapse;
margin: none;
}
+h1 {
+ color: white;
+ font-size: 20px;
+}
+
+h2 {
+ color: black;
+ font-size: large;
+ font-weight: bold;
+ margin: 3px;
+}
+
+summary.heading {
+ color: black;
+ font-size: large;
+ font-weight: bold;
+ margin: 3px;
+}
+
+div.header {
+ color: white;
+ background-color: black;
+}
+
+div.footer {
+ font-family: monospace;
+}
+
+div.logged_in {
+ background-color: green;
+}
+
+div.logged_out {
+ background-color: red;
+}
+
+input.lun {
+ width: 36px;
+}
+
div.flash {
margin-top: 5px;
margin-bottom: 5px;
@@ -61,71 +89,76 @@ div.flash div.info {
}
td.inactive {
- text-align:center;
- background-color:tan;
+ text-align: center;
+ background-color: tan;
}
-summary.heading {
- color: black;
- font-size: large;
- font-weight: bold;
- margin: 0px;
+ul.inline_list {
+ list-style: none;
}
.dropzone, .dropzone * {
- box-sizing: border-box;
+ box-sizing: border-box;
}
.dropzone {
- position: relative;
+ position: relative;
+}
+
+.dropzone .dz-button {
+ position: relative;
+ background-color: white;
+ color: black;
+ border: 2px dashed blue;
+ padding: 12px 28px;
}
.dropzone .dz-preview {
- position: relative;
- display: inline-block;
- width: 120px;
- margin: .5em;
+ position: relative;
+ display: inline-block;
+ width: 120px;
+ margin: .5em;
}
.dropzone .dz-preview .dz-progress {
- display: block;
- height: 15px;
- border: 1px solid #aaa;
+ display: block;
+ height: 15px;
+ border: 1px solid #aaa;
}
.dropzone .dz-preview .dz-progress .dz-upload {
- display: block;
- height: 100%;
- width: 0;
- background: green;
+ display: block;
+ height: 100%;
+ width: 0;
+ background: green;
}
.dropzone .dz-preview .dz-error-message {
- color: red;
- display: none;
+ color: red;
+ display: none;
}
.dropzone .dz-preview.dz-error .dz-error-message {
- display: block;
+ display: block;
}
.dropzone .dz-preview.dz-error .dz-error-mark {
- display: block;
- filter: drop-shadow(0px 0px 2px red);
+ display: block;
+ filter: drop-shadow(0px 0px 2px red);
+ opacity: 0;
}
.dropzone .dz-preview.dz-success .dz-success-mark {
- display: block;
- filter: drop-shadow(0px 0px 2px green);
+ display: block;
+ filter: drop-shadow(0px 0px 2px green);
}
.dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
- position: absolute;
- display: none;
- left: 30px;
- top: 30px;
- width: 54px;
- height: 58px;
- left: 50%;
- margin-left: -27px;
+ position: absolute;
+ display: none;
+ top: 30px;
+ width: 54px;
+ height: 58px;
+ left: 50%;
+ margin-left: -27px;
}
diff --git a/python/web/src/templates/base.html b/python/web/src/templates/base.html
index e8a21057..10c6b209 100644
--- a/python/web/src/templates/base.html
+++ b/python/web/src/templates/base.html
@@ -1,80 +1,76 @@
-
+
" + Notification + "{{ _(" The Web Interface will become unresponsive momentarily. Reload this page after the Pi has started up again.") }}
";
+ window.scrollTo(0,0);
+ }
+
+
-
{% for category, message in get_flashed_messages(with_categories=true) %}
@@ -88,9 +84,27 @@
{% block content %}{% endblock content %}
-
diff --git a/python/web/src/templates/deviceinfo.html b/python/web/src/templates/deviceinfo.html
index 7371815f..52cc25c6 100644
--- a/python/web/src/templates/deviceinfo.html
+++ b/python/web/src/templates/deviceinfo.html
@@ -1,52 +1,52 @@
{% extends "base.html" %}
{% block content %}
-
{{ _("Detailed Info for Attached Devices") }}
+
{{ _("Detailed Info for Attached Devices") }}
{% for device in devices %}
-
+
- {{ _("SCSI ID") }}
+ {{ _("SCSI ID") }}
{{ device["id"] }}
- {{ _("LUN") }}
+ {{ _("LUN") }}
{{ device["unit"] }}
- {{ _("Type") }}
+ {{ _("Type") }}
{{ device["device_type"] }}
- {{ _("Status") }}
+ {{ _("Status") }}
{{ device["status"] }}
- {{ _("File") }}
+ {{ _("File") }}
{{ device["image"] }}
- {{ _("Parameters") }}
+ {{ _("Parameters") }}
{{ device["params"] }}
- {{ _("Vendor") }}
+ {{ _("Vendor") }}
{{ device["vendor"] }}
- {{ _("Product") }}
+ {{ _("Product") }}
{{ device["product"] }}
- {{ _("Revision") }}
+ {{ _("Revision") }}
{{ device["revision"] }}
- {{ _("Block Size") }}
+ {{ _("Block Size") }}
{{ device["block_size"] }}
- {{ _("Image Size") }}
+ {{ _("Image Size") }}
{{ device["size"] }}
diff --git a/python/web/src/templates/diskinfo.html b/python/web/src/templates/diskinfo.html
index 6b41fa3b..8b9aea45 100644
--- a/python/web/src/templates/diskinfo.html
+++ b/python/web/src/templates/diskinfo.html
@@ -1,7 +1,7 @@
{% extends "base.html" %}
{% block content %}
-{{ _("Disk Image Details: %(file_name)s", file_name=file_name) }}
+{{ _("Disk Image Details: %(file_name)s", file_name=file_name) }}
{{ diskinfo }}
{{ _("Go to Home") }}
diff --git a/python/web/src/templates/drives.html b/python/web/src/templates/drives.html
index 0f5c8561..a980b9e8 100644
--- a/python/web/src/templates/drives.html
+++ b/python/web/src/templates/drives.html
@@ -5,33 +5,32 @@
{{ _("These device profiles are provided as-is with no guarantee to work equally to the actual physical device they are named after. You may need to provide appropirate device drivers and/or configuration parameters for them to function properly. If you would like to see data modified, or have additional devices to add to the list, please raise an issue ticket at GitHub .", url="https://github.com/akuker/RASCSI/issues") }}
{{ _("Hard Disk Drives") }}
-
+
- {{ _("Name") }}
- {{ _("Size (MiB)") }}
- {{ _("Description") }}
- {{ _("Ref.") }}
- {{ _("Action") }}
+ {{ _("Name") }}
+ {{ _("Size (MiB)") }}
+ {{ _("Description") }}
+ {{ _("Action") }}
{% for hd in drive_properties['hd_conf']|sort(attribute='name') %}
- {{ hd.name }}
- {{ hd.size_mb }}
- {{ hd.description }}
-
- {% if hd.url != "" %}
- {{ _("Link") }}
- {% else %}
- -
- {% endif %}
-
-
+
+ {% if hd.url != "" %}
+ {{ hd.name }}
+ {% else %}
+ {{ hd.name }}
+ {% endif %}
+
+ {{ hd.size_mb }}
+ {{ hd.description }}
+
@@ -44,38 +43,36 @@
{{ _("CD/DVD Drives") }}
{{ _("This will create a properties file for the given CD-ROM or DVD image. No new image file will be created.") }}
-
+
- {{ _("Name") }}
- {{ _("Size (MiB)") }}
- {{ _("Description") }}
- {{ _("Ref.") }}
- {{ _("Action") }}
+ {{ _("Name") }}
+ {{ _("Size (MiB)") }}
+ {{ _("Description") }}
+ {{ _("Action") }}
{% for cd in drive_properties['cd_conf']|sort(attribute='name') %}
- {{ cd.name }}
- {{ cd.size_mb }}
- {{ cd.description }}
-
- {% if cd.url != "" %}
- {{ _("Link") }}
- {% else %}
- -
- {% endif %}
+
+ {% if cd.url != "" %}
+ {{ cd.name }}
+ {% else %}
+ {{ cd.name }}
+ {% endif %}
-
+ {{ cd.size_mb }}
+ {{ cd.description }}
+
@@ -87,33 +84,32 @@
{{ _("Removable Disk Drives") }}
-
+
- {{ _("Name") }}
- {{ _("Size (MiB)") }}
- {{ _("Description") }}
- {{ _("Ref.") }}
- {{ _("Action") }}
+ {{ _("Name") }}
+ {{ _("Size (MiB)") }}
+ {{ _("Description") }}
+ {{ _("Action") }}
{% for rm in drive_properties['rm_conf']|sort(attribute='name') %}
- {{ rm.name }}
- {{ rm.size_mb }}
- {{ rm.description }}
-
- {% if rm.url != "" %}
- {{ _("Link") }}
- {% else %}
- -
- {% endif %}
+
+ {% if rm.url != "" %}
+ {{ rm.name }}
+ {% else %}
+ {{ rm.name }}
+ {% endif %}
-
+ {{ rm.size_mb }}
+ {{ rm.description }}
+
diff --git a/python/web/src/templates/index.html b/python/web/src/templates/index.html
index 44eec02a..62a6b0a2 100644
--- a/python/web/src/templates/index.html
+++ b/python/web/src/templates/index.html
@@ -7,17 +7,19 @@
{{ _("Displays the currently attached devices for each available SCSI ID.") }}
- {{ _("Save and load device configurations, stored as json files in %(config_dir)s ", config_dir=CFG_DIR) }}
+ {{ _("Save and load device configurations, stored as json files in %(config_dir)s ", config_dir=CFG_DIR) }}
{{ _("To have a particular device configuration load when RaSCSI starts, save it as default .") }}
-
+
-
-
+
+
+ {{ _("File name") }}
+
+ .{{ CONFIG_FILE_SUFFIX }}
-
+
+
-
+
- {{ _("ID") }}
+ {{ _("ID") }}
{% if units %}
- {{ _("LUN") }}
+ {{ _("LUN") }}
{% endif %}
- {{ _("Device") }}
- {{ _("Parameters") }}
- {{ _("Product") }}
- {{ _("Actions") }}
+ {{ _("Device") }}
+ {{ _("Parameters") }}
+ {{ _("Product") }}
+ {{ _("Actions") }}
{% for device in devices | sort(attribute='id') %}
{% if device["id"] not in reserved_scsi_ids %}
- {{ device.id }}
+ {{ device.id }}
{% if units %}
- {{ device.unit }}
+ {{ device.unit }}
{% endif %}
- {{ device.device_name }}
-
+ {{ device.device_name }}
+
{% if "No Media" in device.status %}
-
+ {{ _("File name") }}
+
{% for f in files|sort(attribute='name') %}
{% if device.device_type == "SCCD" %}
- {% if f["name"].lower().endswith(cdrom_file_suffix) %}
- {{ f["name"].replace(base_dir, '') }}
+ {% if f["name"].lower().endswith(env['cd_suffixes']) %}
+ {{ f["name"].replace(env["image_dir"], '') }}
{% endif %}
{% elif device.device_type == "SCRM" %}
- {% if f["name"].lower().endswith(removable_file_suffix) %}
- {{ f["name"].replace(base_dir, '') }}
+ {% if f["name"].lower().endswith(env['rm_suffixes']) %}
+ {{ f["name"].replace(env["image_dir"], '') }}
{% endif %}
{% elif device.device_type == "SCMO" %}
- {% if f["name"].lower().endswith(mo_file_suffix) %}
- {{ f["name"].replace(base_dir, '') }}
+ {% if f["name"].lower().endswith(env['mo_suffixes']) %}
+ {{ f["name"].replace(env["image_dir"], '') }}
{% endif %}
{% endif %}
{% endfor %}
@@ -97,7 +105,7 @@
{% endif %}
{% endif %}
-
+
{% if device.vendor != "RaSCSI" %}
{{ device.vendor }}
{% endif %}
@@ -106,8 +114,8 @@
{{ device.revision }}
{% endif %}
-
- {% if device.id in scsi_ids["occupied_ids"] %}
+
+ {% if device.id in scsi_ids["occupied_ids"] %}
{% if device.device_type in REMOVABLE_DEVICE_TYPES and "No Media" not in device.status %}
@@ -120,13 +128,13 @@
- {% else %}
-
+ {% else %}
+
- {% endif %}
+ {% endif %}
{% else %}
{{ device.id }}
@@ -148,20 +156,14 @@
-
+
+
+
+
+
+
+
+
@@ -170,7 +172,7 @@
{{ _("Image File Management") }}
- {{ _("Manage image files in the active RaSCSI image directory: %(directory)s with a scan depth of %(scan_depth)s.", directory=base_dir, scan_depth=scan_depth) }}
+ {{ _("Manage image files in the active RaSCSI image directory: %(directory)s with a scan depth of %(scan_depth)s.", directory=env["image_dir"], scan_depth=scan_depth) }}
{{ _("Select a valid SCSI ID and LUN to attach to. Unless you know what you're doing, always use LUN 0.", url="https://en.wikipedia.org/wiki/Logical_unit_number") }}
{{ _("If RaSCSI was unable to detect the media type associated with the image, you get to choose the type from the dropdown.") }}
@@ -187,12 +189,12 @@
-