generated from Dicken/dickendock
round32: Bestaetigen-Button fuer Scan-Ergebnisse, API-Scan auf wirklich nutzbare Endpunkte eingegrenzt, Firefox-Android-Hinweis mit Alternativen
This commit is contained in:
@@ -129,7 +129,13 @@ function NameChangesReview({
|
||||
);
|
||||
}
|
||||
|
||||
function NewServicesList({ newServices }: { newServices: Service[] }) {
|
||||
function NewServicesList({
|
||||
newServices,
|
||||
onResolve,
|
||||
}: {
|
||||
newServices: Service[];
|
||||
onResolve: (id: string) => void;
|
||||
}) {
|
||||
if (newServices.length === 0) return null;
|
||||
|
||||
return (
|
||||
@@ -139,8 +145,19 @@ function NewServicesList({ newServices }: { newServices: Service[] }) {
|
||||
</p>
|
||||
<ul className="max-h-60 space-y-1 overflow-y-auto">
|
||||
{newServices.map((s) => (
|
||||
<li key={s.id} className="text-black/70 dark:text-white/70">
|
||||
{s.displayName} ({s.hostname}:{s.port})
|
||||
<li key={s.id} className="flex items-center justify-between gap-2">
|
||||
<span className="text-black/70 dark:text-white/70">
|
||||
{s.displayName} ({s.hostname}:{s.port})
|
||||
</span>
|
||||
<Button
|
||||
size="icon"
|
||||
variant="ghost"
|
||||
onClick={() => onResolve(s.id)}
|
||||
title="Bestätigen (aus dieser Liste entfernen)"
|
||||
aria-label="Bestätigen"
|
||||
>
|
||||
<FontAwesomeIcon icon={faCheck} />
|
||||
</Button>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
@@ -375,7 +392,20 @@ function ApiScannerCard() {
|
||||
<ul className="mt-4 max-h-72 space-y-2 overflow-y-auto text-sm">
|
||||
{lastNewFindings.map(({ serviceId, serviceName, apis: entries }) => (
|
||||
<li key={serviceId} className="rounded-lg border border-emerald-500/30 bg-emerald-500/5 p-2">
|
||||
<div className="font-medium text-black dark:text-white">{serviceName}</div>
|
||||
<div className="flex items-center justify-between gap-2">
|
||||
<div className="font-medium text-black dark:text-white">{serviceName}</div>
|
||||
<Button
|
||||
size="icon"
|
||||
variant="ghost"
|
||||
onClick={() =>
|
||||
setLastNewFindings((prev) => prev.filter((f) => f.serviceId !== serviceId))
|
||||
}
|
||||
title="Bestätigen (aus dieser Liste entfernen)"
|
||||
aria-label="Bestätigen"
|
||||
>
|
||||
<FontAwesomeIcon icon={faCheck} />
|
||||
</Button>
|
||||
</div>
|
||||
<ul className="mt-1 flex flex-wrap gap-2">
|
||||
{entries.map((e) => (
|
||||
<li key={e.id}>
|
||||
@@ -626,7 +656,10 @@ export function ScannerPage() {
|
||||
{bulkStatus ? (
|
||||
<p className="mt-2 text-sm text-black/50 dark:text-white/50">{bulkStatus}</p>
|
||||
) : null}
|
||||
<NewServicesList newServices={bulkNewServices} />
|
||||
<NewServicesList
|
||||
newServices={bulkNewServices}
|
||||
onResolve={(id) => setBulkNewServices((prev) => prev.filter((s) => s.id !== id))}
|
||||
/>
|
||||
<NameChangesReview
|
||||
nameChanges={bulkNameChanges}
|
||||
onResolve={(key) => setBulkNameChanges((prev) => prev.filter((c) => nameChangeKey(c) !== key))}
|
||||
|
||||
@@ -374,6 +374,14 @@ function SearchEngineHint() {
|
||||
Danach: „lp <suchbegriff>" in die Adresszeile – bei eindeutigem Treffer geht's direkt
|
||||
zum Dienst, sonst zur LaunchPad-Suche mit vorbefülltem Begriff.
|
||||
</p>
|
||||
<div className="rounded-lg bg-amber-500/10 p-2 text-xs text-amber-700 dark:text-amber-400">
|
||||
<strong>Android:</strong> Firefox für Android unterstützt Schlagwort-Suchen bislang
|
||||
grundsätzlich nicht (auch keine synchronisierten Desktop-Kürzel) – das ist eine
|
||||
Firefox-Einschränkung, kein LaunchPad-Problem. Auf Android funktioniert es in{" "}
|
||||
<strong>Chrome</strong> genauso wie oben für Chrome/Edge beschrieben. Alternative: die
|
||||
LaunchPad-Seite über „Zum Startbildschirm hinzufügen" als App-Symbol ablegen – dann reicht
|
||||
ein Fingertipp bis zum Suchfeld.
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user