Files
speedtest/templates/settings-personal.php
neonoverlord cf7836e1f9 settings: move out of the app menu and into Settings -> Personal
Brock's call, and it is the right one: this is a utility, not a destination.
Nobody opens a speedtest the way they open Files or Mail. The app menu is for
places you go; Settings is for things you check.

Registers an IIconSection + ISettings pair and drops <navigations> entirely.

The settings template is a SEPARATE file with NO #app-content wrapper, and that
is deliberate: the settings shell supplies its own layout, so reusing the
app-menu template nests two layout containers and breaks the width. Same trap as
the frame issue, mirrored — one context needs the wrapper, the other must not
have it. Both templates carry a comment saying which is which.

/apps/speedtest/ still resolves for anyone who bookmarked it; it just no longer
occupies a slot in the menu.
2026-08-06 08:12:28 -07:00

40 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
/**
* Settings variant. Deliberately has NO #app-content wrapper: the settings
* shell supplies its own layout, and adding ours nests two layout containers
* and breaks the width. The app-menu page needs it; this one must not have it.
*/
/** @var \OCP\IL10N $l */
?>
<div id="speedtest-app">
<div class="st-wrap">
<h2 class="st-title"><?php p($l->t('Speedtest')); ?></h2>
<p class="st-sub"><?php p($l->t('Measured against this server. Nothing is written to disk.')); ?></p>
<div class="st-grid">
<div class="st-tile" id="st-down">
<div class="st-label"><?php p($l->t('Download')); ?></div>
<div class="st-value"><span data-v>—</span><span class="st-unit">Mbps</span></div>
</div>
<div class="st-tile" id="st-up">
<div class="st-label"><?php p($l->t('Upload')); ?></div>
<div class="st-value"><span data-v>—</span><span class="st-unit">Mbps</span></div>
</div>
<div class="st-tile" id="st-ping">
<div class="st-label"><?php p($l->t('Latency')); ?></div>
<div class="st-value"><span data-v>—</span><span class="st-unit">ms</span></div>
</div>
<div class="st-tile" id="st-jitter">
<div class="st-label"><?php p($l->t('Jitter')); ?></div>
<div class="st-value"><span data-v>—</span><span class="st-unit">ms</span></div>
</div>
</div>
<div class="st-bar"><div class="st-bar-fill" id="st-progress"></div></div>
<div class="st-status" id="st-status"><?php p($l->t('Ready.')); ?></div>
<button class="primary st-go" id="st-go"><?php p($l->t('Start test')); ?></button>
</div>
</div>