style: polish ui wording

This commit is contained in:
2026-06-07 20:32:54 +02:00
parent d50f6687da
commit 5f2bd97ea9

View File

@@ -800,7 +800,7 @@ function htmlPage(): string {
<aside> <aside>
<section class="card"> <section class="card">
<h2>Nextcloud Share</h2> <h2>Nextcloud Share</h2>
<p>Paste a public share link. The app loads the images in the browser and extracts GPS data locally.</p> <p>Paste a public share link to import images directly in the browser.</p>
<label> <label>
Share URL Share URL
<input <input
@@ -819,7 +819,7 @@ function htmlPage(): string {
<path d="M3 12.5h10" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/> <path d="M3 12.5h10" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/>
</svg> </svg>
</span> </span>
<span>Load share</span> <span>Import share</span>
</button> </button>
<button class="danger" id="cancel-share" type="button" disabled> <button class="danger" id="cancel-share" type="button" disabled>
<span class="button-icon" aria-hidden="true"> <span class="button-icon" aria-hidden="true">
@@ -832,7 +832,7 @@ function htmlPage(): string {
</div> </div>
<div class="status-row"> <div class="status-row">
<span class="spinner" id="activity-spinner" aria-hidden="true"></span> <span class="spinner" id="activity-spinner" aria-hidden="true"></span>
<div class="status" id="share-status">Ready to load a share.</div> <div class="status" id="share-status">Ready to import a share.</div>
</div> </div>
<div class="progress" aria-label="Loading progress"> <div class="progress" aria-label="Loading progress">
<div class="progress-bar" aria-hidden="true"> <div class="progress-bar" aria-hidden="true">
@@ -850,21 +850,21 @@ function htmlPage(): string {
<h2>Photos</h2> <h2>Photos</h2>
<small id="photo-count" class="muted">0 photos</small> <small id="photo-count" class="muted">0 photos</small>
<div id="photo-list" class="list"> <div id="photo-list" class="list">
<div class="empty-state" id="empty-state">No images loaded yet.</div> <div class="empty-state" id="empty-state">No images imported yet.</div>
</div> </div>
</section> </section>
</aside> </aside>
<main> <main>
<section class="map-panel"> <section class="map-panel">
<div class="map-label">Hover: thumbnail · click: fullscreen · route: time sorted</div> <div class="map-label">Hover for thumbnail · click for fullscreen · route sorted by time</div>
<div id="map"></div> <div id="map"></div>
</section> </section>
<section class="card timeline" aria-label="Photo timeline"> <section class="card timeline" aria-label="Photo timeline">
<div class="timeline-header"> <div class="timeline-header">
<div> <div>
<h2>Timeline</h2> <h2>Timeline</h2>
<div class="timeline-summary" id="timeline-summary">No photos loaded yet.</div> <div class="timeline-summary" id="timeline-summary">No photos imported yet.</div>
</div> </div>
<button class="secondary" id="timeline-clear" type="button" disabled>Clear range</button> <button class="secondary" id="timeline-clear" type="button" disabled>Clear range</button>
</div> </div>
@@ -1181,7 +1181,7 @@ function htmlPage(): string {
function formatTimelineSummary(photos, unit) { function formatTimelineSummary(photos, unit) {
if (!photos.length) { if (!photos.length) {
return "No photos loaded yet."; return "No photos imported yet.";
} }
const count = photos.length + (photos.length === 1 ? " photo" : " photos"); const count = photos.length + (photos.length === 1 ? " photo" : " photos");
@@ -1307,9 +1307,9 @@ function htmlPage(): string {
markers.clearLayers(); markers.clearLayers();
route.setLatLngs([]); route.setLatLngs([]);
photoList.replaceChildren(emptyState); photoList.replaceChildren(emptyState);
emptyState.textContent = "No images loaded yet."; emptyState.textContent = "No images imported yet.";
photoCount.textContent = "0 photos"; photoCount.textContent = "0 photos";
timelineSummary.textContent = "No photos loaded yet."; timelineSummary.textContent = "No photos imported yet.";
timelineRange.textContent = "All photos"; timelineRange.textContent = "All photos";
timelineUnit.textContent = "Scale: day"; timelineUnit.textContent = "Scale: day";
timelineClear.disabled = true; timelineClear.disabled = true;
@@ -1520,11 +1520,11 @@ function htmlPage(): string {
if (!visiblePhotos.length) { if (!visiblePhotos.length) {
emptyState.textContent = state.photos.length emptyState.textContent = state.photos.length
? "No photos match the selected range." ? "No photos match the selected range."
: "No images loaded yet."; : "No images imported yet.";
photoList.appendChild(emptyState); photoList.appendChild(emptyState);
photoCount.textContent = "0 photos"; photoCount.textContent = "0 photos";
} else { } else {
emptyState.textContent = "No images loaded yet."; emptyState.textContent = "No images imported yet.";
photoCount.textContent = photoCount.textContent =
visiblePhotos.length + (visiblePhotos.length === 1 ? " photo shown" : " photos shown"); visiblePhotos.length + (visiblePhotos.length === 1 ? " photo shown" : " photos shown");
@@ -1854,7 +1854,7 @@ function htmlPage(): string {
updateStatus( updateStatus(
"Nextcloud import complete: " + "Nextcloud import complete: " +
loaded + loaded +
" images loaded" + " images imported" +
(skipped ? ", " + skipped + " skipped" : "") + (skipped ? ", " + skipped + " skipped" : "") +
"." "."
); );
@@ -1898,7 +1898,7 @@ function htmlPage(): string {
}); });
clearGallery(); clearGallery();
updateStatus("Ready to load a share."); updateStatus("Ready to import a share.");
</script> </script>
</body> </body>
</html>`; </html>`;