diff --git a/resources/js/Components/FlightsGoneBy/CopyPageButton.vue b/resources/js/Components/FlightsGoneBy/CopyPageButton.vue new file mode 100644 index 0000000..e55fb2e --- /dev/null +++ b/resources/js/Components/FlightsGoneBy/CopyPageButton.vue @@ -0,0 +1,55 @@ + + + diff --git a/resources/js/Components/FlightsGoneBy/FlightFilter.vue b/resources/js/Components/FlightsGoneBy/FlightFilter.vue index 89cf595..48b0780 100644 --- a/resources/js/Components/FlightsGoneBy/FlightFilter.vue +++ b/resources/js/Components/FlightsGoneBy/FlightFilter.vue @@ -270,20 +270,6 @@ onMounted(async () => { emitFilters() }) -// ── Copy link ───────────────────────────────────────────────────────────────── - -const linkCopied = ref(false) - -async function copyFilterLink() { - try { - await navigator.clipboard.writeText(window.location.href) - linkCopied.value = true - setTimeout(() => { linkCopied.value = false }, 2000) - } catch { - // Clipboard API unavailable (e.g. non-secure context) - nothing to fall - // back to here, the button just silently no-ops. - } -} // ── Helpers ─────────────────────────────────────────────────────────────────── @@ -670,18 +656,6 @@ const countryFlagClass = (code: string) => - -
- - {{ linkCopied ? 'Copied!' : 'Copy Link to This Page With Filters' }} - -
diff --git a/resources/js/Components/FlightsGoneBy/GenericBadgeTable.vue b/resources/js/Components/FlightsGoneBy/GenericBadgeTable.vue index c246cd9..0086b4d 100644 --- a/resources/js/Components/FlightsGoneBy/GenericBadgeTable.vue +++ b/resources/js/Components/FlightsGoneBy/GenericBadgeTable.vue @@ -4,6 +4,7 @@ defineProps<{ rowKey: (row: T) => string | number hasItems: (row: T) => boolean labelWidth?: string + compactOnMobile?: boolean }>() @@ -15,7 +16,11 @@ defineProps<{ class="badge-row" > -
+
@@ -38,8 +43,6 @@ defineProps<{ container-type: inline-size; } - - .badge-row { display: flex; align-items: center; @@ -49,13 +52,13 @@ defineProps<{ .badge-label { flex: 0 0 auto; - width: 15em; + width: 21em; padding: 0.5em; border-right: 1px solid var(--table-border); align-self: stretch; display: flex; align-items: center; - font-size:0.9rem; + font-size: 0.9rem; } @container (max-width: 480px) { @@ -63,6 +66,12 @@ defineProps<{ font-size: 0.75rem; width: 9em; } + + .badge-label--compact { + font-size: 0.7rem; + width: clamp(6em, 50cqw, 9em); + flex-shrink: 0; + } } .badge-scroll-container { diff --git a/resources/js/Components/FlightsGoneBy/MainFooter.vue b/resources/js/Components/FlightsGoneBy/MainFooter.vue index 899a620..9cfcf54 100644 --- a/resources/js/Components/FlightsGoneBy/MainFooter.vue +++ b/resources/js/Components/FlightsGoneBy/MainFooter.vue @@ -1,6 +1,7 @@