Player-pwa-cs2

CSS ParaNerd 1 Views Size: 4.60 KB Posted on: Dec 10, 25 @ 9:18 PM
  1. 1/* PWA-specific styles */
  2. 2.pwa-mode .radio-player.footer {
  3. 3 padding-bottom: 20px;
  4. 4}
  5. 5
  6. 6/* Install Banner Styles */
  7. 7.install-banner {
  8. 8 position: absolute;
  9. 9 top: -80px;
  10. 10 left: 0;
  11. 11 right: 0;
  12. 12 background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  13. 13 border: 1px solid rgba(255, 255, 255, 0.1);
  14. 14 border-radius: 8px 8px 0 0;
  15. 15 padding: 12px 20px;
  16. 16 animation: slideDown 0.3s ease-out;
  17. 17 z-index: 10001;
  18. 18}
  19. 19
  20. 20.install-banner-content {
  21. 21 display: flex;
  22. 22 align-items: center;
  23. 23 gap: 12px;
  24. 24}
  25. 25
  26. 26.install-banner-icon {
  27. 27 font-size: 1.5rem;
  28. 28}
  29. 29
  30. 30.install-banner-text {
  31. 31 flex: 1;
  32. 32}
  33. 33
  34. 34.install-banner-title {
  35. 35 font-weight: 600;
  36. 36 color: #ffffff;
  37. 37 margin-bottom: 2px;
  38. 38 font-size: 14px;
  39. 39}
  40. 40
  41. 41.install-banner-description {
  42. 42 font-size: 12px;
  43. 43 color: rgba(255, 255, 255, 0.7);
  44. 44}
  45. 45
  46. 46.install-banner-actions {
  47. 47 display: flex;
  48. 48 gap: 8px;
  49. 49}
  50. 50
  51. 51.install-banner-button {
  52. 52 padding: 6px 12px;
  53. 53 border: none;
  54. 54 border-radius: 4px;
  55. 55 font-size: 12px;
  56. 56 font-weight: 500;
  57. 57 cursor: pointer;
  58. 58 transition: all 0.2s ease;
  59. 59}
  60. 60
  61. 61.install-banner-button.install-now {
  62. 62 background: #ffffff;
  63. 63 color: #000000;
  64. 64}
  65. 65
  66. 66.install-banner-button.install-now:hover {
  67. 67 background: #f0f0f0;
  68. 68}
  69. 69
  70. 70.install-banner-button.install-later {
  71. 71 background: transparent;
  72. 72 color: rgba(255, 255, 255, 0.7);
  73. 73 border: 1px solid rgba(255, 255, 255, 0.3);
  74. 74}
  75. 75
  76. 76.install-banner-button.install-later:hover {
  77. 77 background: rgba(255, 255, 255, 0.1);
  78. 78 color: #ffffff;
  79. 79}
  80. 80
  81. 81/* Update Banner Styles */
  82. 82.update-banner {
  83. 83 position: absolute;
  84. 84 top: -60px;
  85. 85 left: 0;
  86. 86 right: 0;
  87. 87 background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
  88. 88 border-radius: 8px 8px 0 0;
  89. 89 padding: 12px 20px;
  90. 90 animation: slideDown 0.3s ease-out;
  91. 91 z-index: 10001;
  92. 92}
  93. 93
  94. 94.update-banner-content {
  95. 95 display: flex;
  96. 96 align-items: center;
  97. 97 justify-content: space-between;
  98. 98 gap: 12px;
  99. 99}
  100. 100
  101. 101.update-banner-text {
  102. 102 flex: 1;
  103. 103}
  104. 104
  105. 105.update-banner-title {
  106. 106 font-weight: 600;
  107. 107 color: #ffffff;
  108. 108 margin-bottom: 2px;
  109. 109 font-size: 14px;
  110. 110}
  111. 111
  112. 112.update-banner-description {
  113. 113 font-size: 12px;
  114. 114 color: rgba(255, 255, 255, 0.8);
  115. 115}
  116. 116
  117. 117.update-banner-button {
  118. 118 padding: 6px 16px;
  119. 119 border: none;
  120. 120 border-radius: 4px;
  121. 121 font-size: 12px;
  122. 122 font-weight: 500;
  123. 123 cursor: pointer;
  124. 124 background: #ffffff;
  125. 125 color: #1e3a8a;
  126. 126 transition: all 0.2s ease;
  127. 127}
  128. 128
  129. 129.update-banner-button:hover {
  130. 130 background: #f0f0f0;
  131. 131}
  132. 132
  133. 133/* PWA Toast Notifications */
  134. 134.pwa-toast {
  135. 135 position: fixed;
  136. 136 top: 20px;
  137. 137 right: 20px;
  138. 138 background: #2d2d2d;
  139. 139 border: 1px solid rgba(255, 255, 255, 0.1);
  140. 140 border-radius: 8px;
  141. 141 padding: 12px 16px;
  142. 142 color: #ffffff;
  143. 143 z-index: 10002;
  144. 144 transform: translateX(100%);
  145. 145 transition: transform 0.3s ease;
  146. 146 max-width: 300px;
  147. 147}
  148. 148
  149. 149.pwa-toast.show {
  150. 150 transform: translateX(0);
  151. 151}
  152. 152
  153. 153.pwa-toast-success {
  154. 154 background: linear-gradient(135deg, #065f46 0%, #10b981 100%);
  155. 155}
  156. 156
  157. 157.pwa-toast-content {
  158. 158 display: flex;
  159. 159 align-items: center;
  160. 160 gap: 8px;
  161. 161}
  162. 162
  163. 163.pwa-toast-content i {
  164. 164 font-size: 1.2rem;
  165. 165}
  166. 166
  167. 167/* Install Button Styling */
  168. 168.install-button {
  169. 169 position: relative;
  170. 170 overflow: visible;
  171. 171}
  172. 172
  173. 173.install-button::after {
  174. 174 content: '';
  175. 175 position: absolute;
  176. 176 top: -2px;
  177. 177 right: -2px;
  178. 178 width: 8px;
  179. 179 height: 8px;
  180. 180 background: #10b981;
  181. 181 border-radius: 50%;
  182. 182 animation: pulse 2s infinite;
  183. 183}
  184. 184
  185. 185/* Animations */
  186. 186@keyframes slideDown {
  187. 187 from {
  188. 188 transform: translateY(-100%);
  189. 189 opacity: 0;
  190. 190 }
  191. 191 to {
  192. 192 transform: translateY(0);
  193. 193 opacity: 1;
  194. 194 }
  195. 195}
  196. 196
  197. 197@keyframes pulse {
  198. 198 0%, 100% {
  199. 199 opacity: 1;
  200. 200 transform: scale(1);
  201. 201 }
  202. 202 50% {
  203. 203 opacity: 0.5;
  204. 204 transform: scale(1.2);
  205. 205 }
  206. 206}
  207. 207
  208. 208/* PWA Mode Adjustments */
  209. 209@media (display-mode: standalone) {
  210. 210 body {
  211. 211 padding-top: env(safe-area-inset-top);
  212. 212 padding-bottom: env(safe-area-inset-bottom);
  213. 213 }
  214. 214
  215. 215 .radio-player.footer {
  216. 216 bottom: env(safe-area-inset-bottom);
  217. 217 }
  218. 218}
  219. 219
  220. 220/* Mobile PWA optimizations */
  221. 221@media (max-width: 768px) {
  222. 222 .install-banner {
  223. 223 top: -70px;
  224. 224 padding: 10px 15px;
  225. 225 }
  226. 226
  227. 227 .install-banner-title {
  228. 228 font-size: 13px;
  229. 229 }
  230. 230
  231. 231 .install-banner-description {
  232. 232 font-size: 11px;
  233. 233 }
  234. 234
  235. 235 .install-banner-button {
  236. 236 padding: 5px 10px;
  237. 237 font-size: 11px;
  238. 238 }
  239. 239
  240. 240 .pwa-toast {
  241. 241 top: 10px;
  242. 242 right: 10px;
  243. 243 left: 10px;
  244. 244 max-width: none;
  245. 245 }
  246. 246}

Raw Paste

Comments 0
Login to post a comment.
  • No comments yet. Be the first.
Login to post a comment. Login or Register
We use cookies. To comply with GDPR in the EU and the UK we have to show you these.

We use cookies and similar technologies to keep this website functional (including spam protection via Google reCAPTCHA or Cloudflare Turnstile), and — with your consent — to measure usage and show ads. See Privacy.