aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/components/StopGallery.css
diff options
context:
space:
mode:
authorcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>2025-11-06 22:49:47 +0000
committerAriel Costas Guerrero <ariel@costas.dev>2025-11-07 10:46:51 +0100
commite51cdd89afc08274ca622e18b8127feca29e90a3 (patch)
tree1e016c9bb977f8db4e7c61ad5fe1b3be311b6fef /src/frontend/app/components/StopGallery.css
parent43ea6cc94b6c1f2bfaf3f8787991d3283765da0b (diff)
Add gallery components and improve search functionality
Co-authored-by: arielcostas <94913521+arielcostas@users.noreply.github.com>
Diffstat (limited to 'src/frontend/app/components/StopGallery.css')
-rw-r--r--src/frontend/app/components/StopGallery.css161
1 files changed, 161 insertions, 0 deletions
diff --git a/src/frontend/app/components/StopGallery.css b/src/frontend/app/components/StopGallery.css
new file mode 100644
index 0000000..f53f2a5
--- /dev/null
+++ b/src/frontend/app/components/StopGallery.css
@@ -0,0 +1,161 @@
+/* Gallery Container */
+.gallery-container {
+ margin-bottom: 1.5rem;
+}
+
+.gallery-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 0.75rem;
+}
+
+.gallery-counter {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-width: 2rem;
+ height: 2rem;
+ padding: 0 0.5rem;
+ background-color: var(--button-background-color);
+ color: white;
+ border-radius: 1rem;
+ font-size: 0.9rem;
+ font-weight: 600;
+}
+
+/* Scroll Container */
+.gallery-scroll-container {
+ overflow-x: auto;
+ overflow-y: hidden;
+ -webkit-overflow-scrolling: touch;
+ scroll-snap-type: x mandatory;
+ scrollbar-width: none; /* Firefox */
+ -ms-overflow-style: none; /* IE and Edge */
+ margin: 0 -1rem;
+ padding: 0 1rem;
+}
+
+.gallery-scroll-container::-webkit-scrollbar {
+ display: none; /* Chrome, Safari, Opera */
+}
+
+/* Gallery Track */
+.gallery-track {
+ display: flex;
+ gap: 1rem;
+ padding-bottom: 0.5rem;
+}
+
+/* Gallery Item */
+.gallery-item {
+ flex: 0 0 280px;
+ scroll-snap-align: start;
+ scroll-snap-stop: always;
+}
+
+.gallery-item-link {
+ display: block;
+ padding: 1rem;
+ background-color: var(--card-background-color, var(--message-background-color));
+ border: 1px solid var(--border-color);
+ border-radius: 12px;
+ text-decoration: none;
+ color: var(--text-color);
+ transition: all 0.2s ease-in-out;
+ height: 100%;
+ min-height: 120px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+
+.gallery-item-link:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
+ border-color: var(--button-background-color);
+}
+
+.gallery-item-header {
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+ margin-bottom: 0.5rem;
+}
+
+.gallery-item-header .favourite-icon {
+ color: var(--star-color);
+ font-size: 1rem;
+}
+
+.gallery-item-code {
+ font-size: 0.85rem;
+ color: var(--subtitle-color);
+ font-weight: 500;
+}
+
+.gallery-item-name {
+ font-size: 1rem;
+ font-weight: 600;
+ margin-bottom: 0.75rem;
+ line-height: 1.3;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ min-height: 2.6em;
+}
+
+.gallery-item-lines {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.25rem;
+ align-items: center;
+}
+
+.more-lines {
+ font-size: 0.75rem;
+ color: var(--subtitle-color);
+ font-weight: 500;
+ padding: 0.125rem 0.375rem;
+ background-color: var(--border-color);
+ border-radius: 4px;
+}
+
+/* Gallery Indicators */
+.gallery-indicators {
+ display: flex;
+ justify-content: center;
+ gap: 0.5rem;
+ margin-top: 1rem;
+ padding: 0.5rem 0;
+}
+
+.gallery-indicator {
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+ background-color: var(--border-color);
+ transition: background-color 0.2s ease-in-out;
+}
+
+.gallery-indicator.active {
+ background-color: var(--button-background-color);
+}
+
+/* Tablet and larger */
+@media (min-width: 768px) {
+ .gallery-item {
+ flex: 0 0 320px;
+ }
+
+ .gallery-scroll-container {
+ margin: 0;
+ padding: 0;
+ }
+}
+
+/* Desktop */
+@media (min-width: 1024px) {
+ .gallery-item {
+ flex: 0 0 340px;
+ }
+}