This commit is contained in:
Jonathan Carter
2024-09-23 16:13:34 +02:00
parent 71011fcafd
commit 6a2dfbbde5
5 changed files with 96 additions and 44 deletions

View File

@@ -1,17 +1,25 @@
{% extends "layout.html" %}
{% block body %}
<h1 class="is-size-3"> Disks and Partitions </h1>
<div style="width: 1000px; font-family: Noto Sans;">
<div class="pywebview-drag-regioni"> <!-- Header -->
<span>
<h1 class="is-size-4"> <button class="button is-link"></button>&nbsp; System Installer - Disks and Partitions <button class="button is-danger" style="float: right;"> 🗙 </button> </h1>
</span>
</div> <!-- Header -->
<div> <!-- Disks and Partitions Content -->
<br>
<div class="tabs">
<ul>
<li><a href="/welcome">Welcome</a></li>
<li><a href="/users">Users</a></li>
<li class="is-active"><a href="/disks">Disks</a></li>
<li><a href="/software">Software</a></li>
<li><a href="/summary">Summary</a></li>
<div class="tabs" style="padding-left: 0px;">
<uli>
<button class="button is-dark"><a href="/welcome">Welcome</a></button>
<button class="button is-dark"><a href="/users">Users</a></button>
<button class="button is-success"><a href="/disks">Disks</a></button>
<button class="button is-dark"><a href="/software">Software</a></button>
<button class="button is-dark"><a href="/summary">Summary</a></button>
</ul>
</div>
@@ -32,17 +40,75 @@
</label>
<label class="radio">
<input type="radio" name="rsvp" disabled />
Define your own disk and partitioning setup
Edit existing partitions
</label>
</div>
<br>
<p> Proposed layout: </p>
<p> There are {{ blockdevs["blockdevices"]|count }} block devices detected. </p>
<p> They are </p>
<br>
<div style="background-color: gray; padding: 15px; border-radius: 15px;">
<p> <span style="width: 100%;" class="tag is-black">Physical disk: TOSHIBA HDWD120 (2000 GB)<span class="tag is-primary">Healthy</span></span> </p>
{% for disk in blockdevs["blockdevices"] %}
<p> Diskname: {{ disk['name'] }} </p>
<p> Model: {{ disk['model'] }} </p>
<p> Serial: {{ disk['serial'] }} </p>
<p> Removable: {{ disk['rm'] }} </p>
<p> Size: {{ (disk['size'] | int) / 1024000000 | round(2) }} GiB </p>
<p> ID: {{disk['id'] }} </p>
<p> pttype: {{disk['pttype'] }} </p>
<p> Maj:min: {{disk['maj:min']}} </p>
<p> phy-sec: {{ disk['phy-sec'] }}. log-sec: {{ disk['log-sec'] }} </p>
<p> There are {{ disk['children']|count }} Children </p>
{% for child in disk['children'] %}
<br>
<p> Name: {{ child['name'] }}. Path: {{ child['path'] }}. {{ child['size'] }}. Block: {{ child['subsystems'] }} {{ child['maj:min'] }} {{ child['type'] }} </p>
<p> Fstype: {{ child['fstype'] }}. Label: {{ child['label'] }}. Rota: {{ child['rota'] }}</p>
<p> Parttypename: {{ child['parttypename'] }}
<br>
{% endfor %}
<br>
{% endfor %}
<div class="columns" width="100%">
<div class="column"><p> Proposed layout: </p></div>
<div class="column is-link"><button> + </button></div>
</div>
<!-- Add Undetected Disk
Add Virtual Filesystem
Add Network Filesystem -->
<div style=""> <!-- partition bars -->
<div style="background-color: gray; padding: 10px; border-radius: 10px;">
<p> <span style="width: 100%;" class="tag is-black">Physical disk: TOSHIBA HDWD120 (2000 GB) <br>
<div class="columns">
<div class="column is-narrow is-primary">
<div class="box" style="min-width: 220px;">
<p class="is-tiny">/dev/sda1</p>
<p class="title is-5"><span class="tag is-black">/boot/efi</span>
<span class="tag is-dark">200 MB</span>
<span class="tag is-link">vfat</span>
</p>
</div>
</div>
<a hx-get="/disks/partition/sda" hx-swap="outerHTML"/>
<div class="column">
<div class="box">
<p class="is-tiny">/dev/sda2</p>
<p class="title is-5"><span class="tag is-black">/</span> <span class="tag is-dark">18 GB</span> <span class="tag is-link">btrfs</span></p>
</div>
</a>
</div>
</div>
</div>
<br><br>
<div style="background-color: gray; padding: 10px; border-radius: 10px;">
<p> <span style="width: 100%;" class="tag is-black">Physical disk: TOSHIBA HDWD120 (2000 GB) <br>
<div class="columns">
<div class="column is-narrow is-primary">
<div class="box" style="width: 220px;">
@@ -66,43 +132,26 @@
<br><br>
<div style="background-color: gray; padding: 15px; border-radius: 15px;">
<p> <span style="width: 100%;" class="tag is-black">Physical disk: TOSHIBA HDWD120 (2000 GB)<span class="tag is-primary">Healthy</span></span> </p>
<div class="columns">
<div class="column is-narrow is-primary">
<div class="box" style="width: 220px;">
<p class="is-tiny">/dev/sda1</p>
<p class="title is-5"><span class="tag is-black">/boot/efi</span>
<span class="tag is-dark">200 MB</span>
<span class="tag is-link">vfat</span>
</p>
</div>
</div>
<a hx-get="/disks/partition/sda" hx-swap="outerHTML"/>
<div class="column">
<div class="box">
<p class="is-tiny">/dev/sda2</p>
<p class="title is-5"><span class="tag is-black">/</span> <span class="tag is-dark">18 GB</span> <span class="tag is-link">btrfs</span></p>
</div>
</a>
</div>
</div>
</div>
</div> <!-- end partition bars -->
<div> <!-- Disks and Partitions Content -->
<br><br>
<div class="columns">
<div class="column"><button class="button is-light">Cancel</button></div>
<a href="/software"><div class="column"><button class="button is-link">Continue</button></div></a>
<div class="column"><button class="btn primary" hx-trigger="click, keyup[altKey&&shiftKey&&key=='D'] from:body"
hx-post="/">Do It! (alt-shift-D)</button></div>
<a href="/software">
<div class="column"><button hx-src='html' class="button is-link" hx-trigger="click, keyup[altKey&&shiftKey&&key=='N'] from:body" hx-get="/software">Co<u>n</u>tinue</button></div></a>
</div>
</div>
</div>
</div>
<br><br>
</div>
</div>
</div>
{% endblock %}

View File

@@ -15,8 +15,8 @@
<option>Logical volume for ZFS zpool</option>
<option>Logical volume for LVM</option>
<option>Logical volume for LUKS encryption</option>
<option>Logical volume for Linux (mdadm) RAID</option>
<option>Logical volume for Microsoft LDM RAID</option>
<option>Logical volume for Linux (mdadm) RAID</option>
<option>Logical volume for Microsoft LDM RAID</option>
<option>Swap partition</option>
<option>Do not configure</option>
</select>

View File

@@ -8,7 +8,9 @@ def disks():
"""
Disks screen for the webui.
"""
return render_template('disks.html')
blockdevs = lsblk.list_block_devices()
print(lsblk.list_block_devices())
return render_template('disks.html', blockdevs=blockdevs)
@bp.route('/disks/partition/<part>')

View File

@@ -16,5 +16,6 @@ background-image: radial-gradient(circle at 30% 86%, rgba(255,255,255,0.03) 0%,
body {
display: flex;
border-radius: 15px;
}

View File

@@ -7,11 +7,11 @@
<link href="/static/welcome.css" rel="stylesheet">
<script src="/static/htmx.min.js" crossorigin="anonymous"></script>
</head>
<body>
<body style="background-color: transparent; border-radius: 50px;">
<div class="bg"></div>
<!--div class="bg"></div> -->
<div style="min-height: 80%; left: 22%; right: 22%; top: 50px; bottom: 50px; position: absolute; width:1000px; height:800;" class="container">
<!--div style="min-height: 80%; left: 22%; right: 22%; top: 50px; bottom: 50px; position: absolute; width:1000px; height:800;" class="container" -->
<div class="notification is-dark">
{% block body %}