+
+
+
EventQR
-
+
-
Events
+
Events
-
Generate
+
Generate
-
Scan
+
Scan
-
+
-
+
-
diff --git a/client/src/index.css b/client/src/index.css
index 93483a3..03a47ec 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -55,13 +55,21 @@ button {
.btn-primary {
background: var(--accent-gradient);
color: white;
- padding: 0.75rem 1.5rem;
+ padding: 0.625rem 1.25rem;
border-radius: 0.5rem;
font-weight: 600;
transition: all 0.2s ease;
display: inline-flex;
align-items: center;
gap: 0.5rem;
+ font-size: 0.875rem;
+}
+
+@media (min-width: 768px) {
+ .btn-primary {
+ padding: 0.75rem 1.5rem;
+ font-size: 1rem;
+ }
}
.btn-primary:hover {
@@ -70,14 +78,31 @@ button {
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}
+.btn-primary:disabled {
+ opacity: 0.6;
+ cursor: not-allowed;
+ transform: none;
+}
+
.btn-secondary {
background: var(--bg-secondary);
color: var(--text-primary);
- padding: 0.75rem 1.5rem;
+ padding: 0.625rem 1.25rem;
border-radius: 0.5rem;
font-weight: 600;
border: 1px solid var(--glass-border);
transition: all 0.2s ease;
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ font-size: 0.875rem;
+}
+
+@media (min-width: 768px) {
+ .btn-secondary {
+ padding: 0.75rem 1.5rem;
+ font-size: 1rem;
+ }
}
.btn-secondary:hover {
@@ -90,13 +115,22 @@ textarea {
background: var(--bg-secondary);
border: 1px solid var(--glass-border);
color: var(--text-primary);
- padding: 0.75rem;
+ padding: 0.625rem;
border-radius: 0.5rem;
width: 100%;
- font-size: 1rem;
+ font-size: 0.875rem;
transition: border-color 0.2s;
}
+@media (min-width: 768px) {
+ input,
+ select,
+ textarea {
+ padding: 0.75rem;
+ font-size: 1rem;
+ }
+}
+
input:focus,
select:focus,
textarea:focus {
@@ -107,10 +141,22 @@ textarea:focus {
.container {
max-width: 1200px;
margin: 0 auto;
- padding: 2rem;
+ padding: 1rem;
width: 100%;
}
+@media (min-width: 640px) {
+ .container {
+ padding: 1.5rem;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ padding: 2rem;
+ }
+}
+
.page-transition {
/* animation: fadeIn 0.3s ease-in-out; */
}
@@ -148,11 +194,14 @@ textarea:focus {
/* Scanner Overrides */
#reader {
border: none !important;
+ max-width: 100% !important;
}
#reader video {
border-radius: 0.5rem;
object-fit: cover;
+ max-width: 100% !important;
+ height: auto !important;
}
#reader__scan_region {
@@ -167,6 +216,13 @@ textarea:focus {
border-radius: 0.5rem !important;
font-weight: 600 !important;
margin-top: 1rem !important;
+ font-size: 0.875rem !important;
+}
+
+@media (min-width: 768px) {
+ #reader__dashboard_section_csr button {
+ font-size: 1rem !important;
+ }
}
#reader__dashboard_section_swaplink {
@@ -174,4 +230,11 @@ textarea:focus {
text-decoration: none !important;
margin-top: 0.5rem !important;
display: inline-block !important;
+ font-size: 0.875rem !important;
+}
+
+@media (min-width: 768px) {
+ #reader__dashboard_section_swaplink {
+ font-size: 1rem !important;
+ }
}
diff --git a/client/src/pages/Generate.tsx b/client/src/pages/Generate.tsx
index 86dfdb8..82c8d46 100644
--- a/client/src/pages/Generate.tsx
+++ b/client/src/pages/Generate.tsx
@@ -56,14 +56,14 @@ export const Generate: React.FC = () => {
};
return (
-
-
+
+
-
Generate Ticket
-
Create a new QR code ticket for an attendee.
+
Generate Ticket
+
Create a new QR code ticket for an attendee.
-