@necrolab/dashboard 0.5.9 → 0.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@necrolab/dashboard",
3
- "version": "0.5.9",
3
+ "version": "0.5.11",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "rm -rf dist && npx workbox-cli generateSW workbox-config.cjs && vite build",
package/src/App.vue CHANGED
@@ -737,17 +737,31 @@ body {
737
737
 
738
738
  // iPhone landscape lock overlay
739
739
  .iphone-landscape-lock {
740
- display: none;
741
740
  position: fixed;
742
741
  inset: 0;
743
742
  background: oklch(0.1822 0 0);
744
743
  z-index: 99999;
745
744
  align-items: center;
746
745
  justify-content: center;
746
+ display: flex;
747
+ opacity: 1;
748
+ transition: opacity 0.1s ease-out;
749
+
750
+ // Hide in portrait mode
751
+ @media (max-device-width: 430px) and (orientation: portrait) {
752
+ opacity: 0;
753
+ pointer-events: none;
754
+ }
747
755
 
748
- // Only show on iPhone (not iPad) in landscape
756
+ // Show immediately in landscape
749
757
  @media (max-device-width: 430px) and (orientation: landscape) {
750
- display: flex;
758
+ opacity: 1;
759
+ pointer-events: all;
760
+ }
761
+
762
+ // Hide completely on iPad and desktop
763
+ @media (min-device-width: 431px) {
764
+ display: none;
751
765
  }
752
766
 
753
767
  .rotate-message {
@@ -38,7 +38,7 @@
38
38
  />
39
39
  </div>
40
40
 
41
- <div class="input-container relative-positioned z-dropdown">
41
+ <div class="input-container relative-positioned z-dropdown">
42
42
  <span class="w-1/3 text-light-300 font-medium text-xs">Queue Proxies</span>
43
43
  <Dropdown
44
44
  class="!w-2/3"
@@ -228,6 +228,12 @@
228
228
  -webkit-overflow-scrolling: touch !important;
229
229
  border: 1px solid oklch(0.26 0 0) !important;
230
230
  background: linear-gradient(135deg, oklch(0.18 0 0) 0%, oklch(0.20 0 0) 100%) !important;
231
+ width: calc(100vw - 4rem) !important;
232
+ max-width: 600px !important;
233
+
234
+ @media (min-width: 700px) {
235
+ width: 600px !important;
236
+ }
231
237
  }
232
238
 
233
239
  :deep(.dropdown-item) {
@@ -56,7 +56,7 @@ onClickOutside(target, (event) => {
56
56
  </script>
57
57
  <style lang="scss" scoped>
58
58
  .modal-mask {
59
- @apply fixed left-0 top-0 flex h-screen w-screen duration-300 ease-in-out;
59
+ @apply fixed left-0 top-0 flex w-screen duration-300 ease-in-out;
60
60
  z-index: 25000;
61
61
  align-items: flex-start;
62
62
  justify-content: center;
@@ -64,19 +64,25 @@ onClickOutside(target, (event) => {
64
64
  padding-top: 3.5rem;
65
65
  background-color: rgba(17, 17, 17, 0.85);
66
66
  backdrop-filter: blur(4px);
67
+ height: 100dvh;
67
68
  overflow-y: auto;
68
69
  -webkit-overflow-scrolling: touch;
69
- // Prevent zoom in modals
70
70
  touch-action: pan-y !important;
71
+
72
+ @supports not (height: 100dvh) {
73
+ height: 100vh;
74
+ }
71
75
  }
72
76
 
73
77
  .component-modal {
74
78
  width: 640px;
75
- margin-bottom: 10rem;
79
+ margin-bottom: 20rem;
76
80
  overflow-y: visible;
77
81
  @apply flex flex-col rounded-lg bg-dark-300 px-5 py-5;
78
- // Prevent zoom in modal content
79
- touch-action: pan-y !important;
82
+
83
+ @media (max-width: 480px) {
84
+ margin-bottom: 25rem;
85
+ }
80
86
 
81
87
  .modal-header {
82
88
  @apply flex font-bold text-white;
@@ -94,16 +100,16 @@ onClickOutside(target, (event) => {
94
100
 
95
101
  @media (max-width: 810px) {
96
102
  .modal-mask {
97
- align-items: flex-start; // Start from top on mobile
103
+ align-items: flex-start;
98
104
  justify-content: center;
99
105
  padding: 1rem;
100
106
  padding-top: 3rem;
101
- padding-bottom: 2rem; // Ensure bottom space
107
+ padding-bottom: 15rem !important;
102
108
  }
103
109
 
104
110
  .component-modal {
105
111
  width: calc(100vw - 2rem);
106
- margin-bottom: 6rem; // Increased bottom margin for better button access
112
+ margin-bottom: 10rem;
107
113
  }
108
114
 
109
115
  .modal-body {
@@ -117,16 +123,16 @@ onClickOutside(target, (event) => {
117
123
  /* iPhone portrait mode - extra spacing for create button */
118
124
  @media (max-width: 480px) and (orientation: portrait) {
119
125
  .modal-mask {
120
- padding-bottom: 3rem !important; // Extra bottom padding for iPhone
126
+ padding-bottom: 3rem !important;
121
127
  }
122
128
 
123
129
  .component-modal {
124
- margin-bottom: 3rem !important; // Even more bottom margin for iPhone portrait
125
- max-height: calc(100vh - 12rem) !important; // Ensure modal doesn't get too tall
130
+ margin-bottom: 3rem !important;
131
+ max-height: none !important;
126
132
  }
127
133
 
128
134
  .modal-body {
129
- padding-bottom: 1rem !important; // Extra padding for create button on iPhone
135
+ padding-bottom: 1rem !important;
130
136
  }
131
137
  }
132
138
 
@@ -157,8 +157,9 @@ export default {
157
157
  active: true,
158
158
  email: "suphathrphrnb@gmail.com",
159
159
  password: "PrthYTpNPk1hfm3",
160
- status: "Waiting for Stock",
161
- statusColor: "white",
160
+ status: "Checked out! #123467",
161
+ statusColor: "green",
162
+ orderNumber: "#123456",
162
163
  manual: false,
163
164
  quickQueue: false,
164
165
  loginAfterCart: false,
@@ -163,6 +163,8 @@
163
163
  height: calc(100vh - 18rem);
164
164
  scrollbar-width: thin;
165
165
  scrollbar-color: oklch(0.35 0 0) oklch(0.19 0 0);
166
+ touch-action: pan-x pan-y !important;
167
+ -webkit-overflow-scrolling: touch;
166
168
 
167
169
  // Use fixed height on mobile portrait to ensure switches are visible
168
170
  @media (max-width: 768px) {
package/vite.config.js CHANGED
@@ -63,6 +63,7 @@ export default defineConfig({
63
63
  hmr: {
64
64
  overlay: false
65
65
  },
66
+ allowedHosts: ["localhost", "127.0.0.1", "::1", "mac.local"],
66
67
  // Handle iOS connection resets gracefully
67
68
  watch: {
68
69
  usePolling: false,