@iobroker/adapter-react-v5 6.1.10 → 7.0.1

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.
Files changed (207) hide show
  1. package/Components/404.js +13 -13
  2. package/Components/Loader.js +223 -223
  3. package/Components/Loaders/PT.css +108 -108
  4. package/Components/Loaders/PT.js +103 -103
  5. package/Components/Loaders/Vendor.css +13 -13
  6. package/Components/Loaders/Vendor.js +7 -7
  7. package/Components/ObjectBrowser.js +29 -29
  8. package/Components/UploadImage.js +305 -305
  9. package/Components/loader.css +221 -221
  10. package/Components/types.d.ts +82 -82
  11. package/GenericApp.js +49 -49
  12. package/LICENSE +22 -22
  13. package/Prompt.js +7 -7
  14. package/README.md +1004 -1005
  15. package/Theme.js +8 -7
  16. package/assets/devices/Alarm Systems.svg +18 -18
  17. package/assets/devices/Amplifier.svg +21 -21
  18. package/assets/devices/Awnings.svg +4 -4
  19. package/assets/devices/Battery Status.svg +4 -4
  20. package/assets/devices/Ceiling Spotlights.svg +15 -15
  21. package/assets/devices/Chandelier.svg +6 -6
  22. package/assets/devices/Climate.svg +11 -11
  23. package/assets/devices/Coffee Makers.svg +5 -5
  24. package/assets/devices/Cold Water.svg +31 -31
  25. package/assets/devices/Computer.svg +21 -21
  26. package/assets/devices/Consumption.svg +7 -7
  27. package/assets/devices/Curtains.svg +43 -43
  28. package/assets/devices/Dishwashers.svg +11 -11
  29. package/assets/devices/Doors.svg +5 -5
  30. package/assets/devices/Doorstep.svg +35 -35
  31. package/assets/devices/Dryer.svg +13 -13
  32. package/assets/devices/Fan.svg +20 -20
  33. package/assets/devices/Floor Lamps.svg +4 -4
  34. package/assets/devices/Garage Doors.svg +9 -9
  35. package/assets/devices/Gates.svg +32 -32
  36. package/assets/devices/Hairdryer.svg +23 -23
  37. package/assets/devices/Handle.svg +6 -6
  38. package/assets/devices/Hanging Lamps.svg +8 -8
  39. package/assets/devices/Heater.svg +44 -44
  40. package/assets/devices/Hoods.svg +11 -11
  41. package/assets/devices/Hot Water.svg +9 -9
  42. package/assets/devices/Humidity.svg +41 -41
  43. package/assets/devices/Iron.svg +4 -4
  44. package/assets/devices/Irrigation.svg +22 -22
  45. package/assets/devices/Led Strip.svg +30 -30
  46. package/assets/devices/Light.svg +29 -29
  47. package/assets/devices/Lightings.svg +46 -46
  48. package/assets/devices/Lock.svg +19 -19
  49. package/assets/devices/Louvre.svg +6 -6
  50. package/assets/devices/Mowing Machine.svg +8 -8
  51. package/assets/devices/Music.svg +12 -12
  52. package/assets/devices/Outdoor Blinds.svg +6 -6
  53. package/assets/devices/People.svg +19 -19
  54. package/assets/devices/Pool.svg +7 -7
  55. package/assets/devices/Power Consumption.svg +12 -12
  56. package/assets/devices/Printer.svg +9 -9
  57. package/assets/devices/Pump.svg +9 -9
  58. package/assets/devices/Receiver.svg +18 -18
  59. package/assets/devices/Sconces.svg +9 -9
  60. package/assets/devices/Security.svg +34 -34
  61. package/assets/devices/Shading.svg +4 -4
  62. package/assets/devices/Shutters.svg +10 -10
  63. package/assets/devices/SmokeDetector.svg +12 -12
  64. package/assets/devices/Sockets.svg +13 -13
  65. package/assets/devices/Speaker.svg +35 -35
  66. package/assets/devices/Stove.svg +11 -11
  67. package/assets/devices/Table Lamps.svg +11 -11
  68. package/assets/devices/Temperature Sensors.svg +28 -28
  69. package/assets/devices/Tv.svg +7 -7
  70. package/assets/devices/Vacuum Cleaner.svg +15 -15
  71. package/assets/devices/Ventilation.svg +12 -12
  72. package/assets/devices/Washing Machines.svg +15 -15
  73. package/assets/devices/Water Consumption.svg +5 -5
  74. package/assets/devices/Water Heater.svg +8 -8
  75. package/assets/devices/Water.svg +40 -40
  76. package/assets/devices/Weather.svg +28 -28
  77. package/assets/devices/Window.svg +7 -7
  78. package/assets/lamp_ceiling.svg +8 -8
  79. package/assets/lamp_table.svg +7 -7
  80. package/assets/no_icon.svg +9 -9
  81. package/assets/rooms/Anteroom.svg +52 -52
  82. package/assets/rooms/Attic.svg +21 -21
  83. package/assets/rooms/Balcony.svg +12 -12
  84. package/assets/rooms/Barn.svg +5 -5
  85. package/assets/rooms/Basement.svg +4 -4
  86. package/assets/rooms/Bathroom.svg +38 -38
  87. package/assets/rooms/Bedroom.svg +5 -5
  88. package/assets/rooms/Boiler Room.svg +12 -12
  89. package/assets/rooms/Carport.svg +17 -17
  90. package/assets/rooms/Cellar.svg +89 -89
  91. package/assets/rooms/Chamber.svg +9 -9
  92. package/assets/rooms/Corridor.svg +52 -52
  93. package/assets/rooms/Dining Area.svg +37 -37
  94. package/assets/rooms/Dining Room.svg +37 -37
  95. package/assets/rooms/Dining.svg +37 -37
  96. package/assets/rooms/Dressing Room.svg +4 -4
  97. package/assets/rooms/Driveway.svg +14 -14
  98. package/assets/rooms/Entrance.svg +44 -44
  99. package/assets/rooms/Equipment Room.svg +14 -14
  100. package/assets/rooms/Front Yard.svg +64 -64
  101. package/assets/rooms/Gallery.svg +13 -13
  102. package/assets/rooms/Garage.svg +20 -20
  103. package/assets/rooms/Garden.svg +12 -12
  104. package/assets/rooms/Ground Floor.svg +95 -95
  105. package/assets/rooms/Guest Bathroom.svg +32 -32
  106. package/assets/rooms/Guest Room.svg +5 -5
  107. package/assets/rooms/Gym.svg +4 -4
  108. package/assets/rooms/Hall.svg +19 -19
  109. package/assets/rooms/Home Theater.svg +7 -7
  110. package/assets/rooms/Kitchen.svg +17 -17
  111. package/assets/rooms/Laundry Room.svg +11 -11
  112. package/assets/rooms/Living Area.svg +10 -10
  113. package/assets/rooms/Living Room.svg +10 -10
  114. package/assets/rooms/Locker Room.svg +16 -16
  115. package/assets/rooms/Nursery.svg +4 -4
  116. package/assets/rooms/Office.svg +8 -8
  117. package/assets/rooms/Outdoors.svg +7 -7
  118. package/assets/rooms/Playroom.svg +5 -5
  119. package/assets/rooms/Pool.svg +7 -7
  120. package/assets/rooms/Rear Wall.svg +30 -30
  121. package/assets/rooms/Second Floor.svg +95 -95
  122. package/assets/rooms/Shed.svg +16 -16
  123. package/assets/rooms/Sleeping Area.svg +22 -22
  124. package/assets/rooms/Stairway.svg +4 -4
  125. package/assets/rooms/Stairwell.svg +15 -15
  126. package/assets/rooms/Storeroom.svg +4 -4
  127. package/assets/rooms/Summer House.svg +27 -27
  128. package/assets/rooms/Swimming Pool.svg +21 -21
  129. package/assets/rooms/Terrace.svg +6 -6
  130. package/assets/rooms/Toilet.svg +10 -10
  131. package/assets/rooms/Upstairs.svg +5 -5
  132. package/assets/rooms/Wardrobe.svg +60 -60
  133. package/assets/rooms/Washroom.svg +19 -19
  134. package/assets/rooms/Wc.svg +10 -10
  135. package/assets/rooms/Windscreen.svg +60 -60
  136. package/assets/rooms/Workshop.svg +22 -22
  137. package/assets/rooms/Workspace.svg +8 -8
  138. package/craco-module-federation.js +71 -71
  139. package/icons/IconFx.js +1 -1
  140. package/icons/IconLogout.js +1 -1
  141. package/index.css +54 -54
  142. package/modulefederation.admin.config.js +31 -31
  143. package/package.json +4 -4
  144. package/src/AdminConnection.tsx +3 -3
  145. package/src/Components/404.tsx +121 -121
  146. package/src/Components/ColorPicker.tsx +315 -315
  147. package/src/Components/ComplexCron.tsx +507 -507
  148. package/src/Components/CopyToClipboard.tsx +165 -165
  149. package/src/Components/CustomModal.tsx +163 -163
  150. package/src/Components/FileBrowser.tsx +2414 -2414
  151. package/src/Components/FileViewer.tsx +393 -393
  152. package/src/Components/Icon.tsx +210 -210
  153. package/src/Components/IconPicker.tsx +149 -149
  154. package/src/Components/IconSelector.tsx +2202 -2202
  155. package/src/Components/Image.tsx +176 -176
  156. package/src/Components/Loader.tsx +304 -304
  157. package/src/Components/Logo.tsx +166 -166
  158. package/src/Components/MDUtils.tsx +100 -100
  159. package/src/Components/ObjectBrowser.tsx +8032 -8032
  160. package/src/Components/Router.tsx +90 -90
  161. package/src/Components/SaveCloseButtons.tsx +113 -113
  162. package/src/Components/Schedule.tsx +1724 -1724
  163. package/src/Components/SelectWithIcon.tsx +197 -197
  164. package/src/Components/TabContainer.tsx +55 -55
  165. package/src/Components/TabContent.tsx +37 -37
  166. package/src/Components/TabHeader.tsx +19 -19
  167. package/src/Components/TableResize.tsx +259 -259
  168. package/src/Components/TextWithIcon.tsx +148 -148
  169. package/src/Components/ToggleThemeMenu.tsx +34 -34
  170. package/src/Components/TreeTable.tsx +919 -919
  171. package/src/Components/UploadImage.tsx +599 -599
  172. package/src/Components/Utils.tsx +1794 -1794
  173. package/src/Components/loader.css +221 -221
  174. package/src/Components/withWidth.tsx +21 -21
  175. package/src/Connection.tsx +7 -7
  176. package/src/Dialogs/ComplexCron.tsx +129 -129
  177. package/src/Dialogs/Confirm.tsx +162 -162
  178. package/src/Dialogs/Cron.tsx +182 -182
  179. package/src/Dialogs/Error.tsx +72 -72
  180. package/src/Dialogs/Message.tsx +71 -71
  181. package/src/Dialogs/SelectFile.tsx +270 -270
  182. package/src/Dialogs/SelectID.tsx +298 -298
  183. package/src/Dialogs/SimpleCron.tsx +100 -100
  184. package/src/Dialogs/TextInput.tsx +107 -107
  185. package/src/GenericApp.tsx +976 -976
  186. package/src/LegacyConnection.tsx +3589 -3589
  187. package/src/Prompt.tsx +20 -20
  188. package/src/Theme.tsx +479 -479
  189. package/src/icons/IconAdapter.tsx +20 -20
  190. package/src/icons/IconAlias.tsx +20 -20
  191. package/src/icons/IconChannel.tsx +21 -21
  192. package/src/icons/IconClearFilter.tsx +22 -22
  193. package/src/icons/IconClosed.tsx +17 -17
  194. package/src/icons/IconCopy.tsx +16 -16
  195. package/src/icons/IconDevice.tsx +27 -27
  196. package/src/icons/IconDocument.tsx +17 -17
  197. package/src/icons/IconDocumentReadOnly.tsx +18 -18
  198. package/src/icons/IconExpert.tsx +18 -18
  199. package/src/icons/IconFx.tsx +36 -36
  200. package/src/icons/IconInstance.tsx +20 -20
  201. package/src/icons/IconLogout.tsx +30 -30
  202. package/src/icons/IconNoIcon.tsx +19 -19
  203. package/src/icons/IconOpen.tsx +17 -17
  204. package/src/icons/IconProps.tsx +15 -15
  205. package/src/icons/IconState.tsx +17 -17
  206. package/src/index.css +54 -54
  207. package/types.d.ts +134 -134
@@ -1,8 +1,8 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512.5 512.5" width="512" height="512">
2
- <g fill="currentColor">
3
- <path d="M504.75,418.5c-4.143,0-7.5,3.358-7.5,7.5v78.5c0,9.673,15,9.673,15,0V426C512.25,421.858,508.893,418.5,504.75,418.5z"/>
4
- <path d="M504.75,249.355h-58.894v-27.043h18.011c10.964,0,19.883-8.919,19.883-19.883V19.884C483.75,8.92,474.831,0,463.867,0 H184.059c-10.964,0-19.883,8.92-19.883,19.884v26.929c0,9.673,15,9.673,15,0V19.884c0-2.693,2.19-4.884,4.883-4.884h279.809 c2.692,0,4.883,2.191,4.883,4.884v145.429h-22.894V85.406c0-2.475-1.221-4.79-3.263-6.188c-2.041-1.398-4.641-1.699-6.949-0.805 c-1.962,0.761-43.34,17.659-52.146,86.899H179.176v-79.5c0-9.673-15-9.673-15,0v116.617c0,10.964,8.919,19.883,19.883,19.883 h100.746v27.043H114.516c16.612-16.594,18.234-42.871,18.234-64.949c0-4.142-3.357-7.5-7.5-7.5h-40.5v-14.159 c24.06,5.114,50.288-14.616,49.967-39.645c-0.043-3.352-0.459-6.758-3.556-8.803c-14.246-9.403-33.866-5.485-46.411,4.783v-13.529 c21.433-14.793,23.025-49.629,2.429-65.889c-2.075-1.638-4.371-3.197-6.834-4.201c-10.571-4.316-22.191,14.513-24.71,21.781 c-5.951,17.174-0.568,36.926,14.114,47.824v13.931c-9.627-7.833-22.2-11.696-34.483-9.236c-5.076,1.017-13.971,3.314-15.078,9.467 c-4.758,26.476,25.235,48.643,49.562,43.539v14.137h-43.5c-4.143,0-7.5,3.358-7.5,7.5c0,22.047,1.196,48.357,17.806,64.949H7.75 c-4.143,0-7.5,3.358-7.5,7.5V504.5c0,9.673,15,9.673,15,0v-35h135.5v35c0,9.673,15,9.673,15,0v-191h265.215 c0.039,2.613,0.289,16.688,0.32,20.906H304.356c-29.651,0-51.62,7.718-65.298,22.939c-16.422,18.274-14.26,40.426-14.159,41.359 c0.408,3.811,3.624,6.701,7.457,6.701h96.894v13.5h-29.5c-9.673,0-9.673,15,0,15h29.5V497h-96c-9.673,0-9.673,15,0,15h100.825 c0.832,0.318,1.731,0.5,2.675,0.5s1.843-0.182,2.675-0.5H440.25c9.673,0,9.673-15,0-15h-96v-91.594h50.106 c17.218,0,29.664-4.151,38.052-12.69c14.699-14.965,14.251-40.022,13.684-71.747c-0.044-2.454-0.087-4.95-0.125-7.47h51.283V384 c0,9.673,15,9.673,15,0V256.855C512.25,252.713,508.893,249.355,504.75,249.355z M97.276,128.496 c9.652-6.124,18.049-4.681,22.421-3.137c-1.32,15.547-20.221,26.86-34.668,21.963C85.635,142.511,88.077,134.332,97.276,128.496z M47.424,144.097c-6.372-4.043-11.792-11.005-12.493-18.742c15.02-5.28,32.683,6.418,34.64,21.967 C62.286,149.792,53.81,148.148,47.424,144.097z M77.637,51.169c12.56,9.554,11.997,31.359-0.044,41.054 c-3.715-3.055-9.319-9.481-9.319-20.441C68.273,60.352,73.991,54.035,77.637,51.169z M33.856,191.906h83.781 c-1.27,40.515-13.362,56.5-41.888,56.5C46.832,248.407,35.072,232.936,33.856,191.906z M421.707,382.205 c-5.421,5.519-14.367,8.201-27.351,8.201H240.013c0.694-5.988,3.006-15.026,10.203-23.035 c10.712-11.921,28.927-17.965,54.141-17.965h126.736C430.473,364.105,428.251,375.543,421.707,382.205z M468.75,180.313v22.117 c0,2.693-2.19,4.883-4.883,4.883h-18.011v-27H468.75z M419.126,111.358c4.084-5.395,8.19-9.41,11.73-12.322v187.863 c-3.528-3.023-7.604-7.146-11.659-12.622c-14.615-19.739-22.341-48.049-22.341-81.872 C396.856,158.632,404.558,130.606,419.126,111.358z M383.873,222.313c1.432,10.095,3.553,19.077,6.138,27.043h-26.89v-27.043 H383.873z M179.176,202.429v-22.117h202.993c-0.469,8.992-0.415,18.015,0.169,27H184.059 C181.366,207.313,179.176,205.122,179.176,202.429z M299.805,222.313h48.316v27.043h-48.316V222.313z M395.901,264.355 c7.815,16.7,17.516,27.488,25.365,34.145H15.25v-34.145H395.901z M15.25,454.5v-63h135.5v63H15.25z M150.75,376.5H15.25v-63h135.5 V376.5z M445.856,298.5v-34.145h51.394V298.5H445.856z"/>
5
- <path d="M54.75,352.5h57c9.673,0,9.673-15,0-15h-57C45.077,337.5,45.077,352.5,54.75,352.5z"/>
6
- <path d="M111.75,415.5h-57c-9.673,0-9.673,15,0,15h57C121.423,430.5,121.423,415.5,111.75,415.5z"/>
7
- </g>
8
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512.5 512.5" width="512" height="512">
2
+ <g fill="currentColor">
3
+ <path d="M504.75,418.5c-4.143,0-7.5,3.358-7.5,7.5v78.5c0,9.673,15,9.673,15,0V426C512.25,421.858,508.893,418.5,504.75,418.5z"/>
4
+ <path d="M504.75,249.355h-58.894v-27.043h18.011c10.964,0,19.883-8.919,19.883-19.883V19.884C483.75,8.92,474.831,0,463.867,0 H184.059c-10.964,0-19.883,8.92-19.883,19.884v26.929c0,9.673,15,9.673,15,0V19.884c0-2.693,2.19-4.884,4.883-4.884h279.809 c2.692,0,4.883,2.191,4.883,4.884v145.429h-22.894V85.406c0-2.475-1.221-4.79-3.263-6.188c-2.041-1.398-4.641-1.699-6.949-0.805 c-1.962,0.761-43.34,17.659-52.146,86.899H179.176v-79.5c0-9.673-15-9.673-15,0v116.617c0,10.964,8.919,19.883,19.883,19.883 h100.746v27.043H114.516c16.612-16.594,18.234-42.871,18.234-64.949c0-4.142-3.357-7.5-7.5-7.5h-40.5v-14.159 c24.06,5.114,50.288-14.616,49.967-39.645c-0.043-3.352-0.459-6.758-3.556-8.803c-14.246-9.403-33.866-5.485-46.411,4.783v-13.529 c21.433-14.793,23.025-49.629,2.429-65.889c-2.075-1.638-4.371-3.197-6.834-4.201c-10.571-4.316-22.191,14.513-24.71,21.781 c-5.951,17.174-0.568,36.926,14.114,47.824v13.931c-9.627-7.833-22.2-11.696-34.483-9.236c-5.076,1.017-13.971,3.314-15.078,9.467 c-4.758,26.476,25.235,48.643,49.562,43.539v14.137h-43.5c-4.143,0-7.5,3.358-7.5,7.5c0,22.047,1.196,48.357,17.806,64.949H7.75 c-4.143,0-7.5,3.358-7.5,7.5V504.5c0,9.673,15,9.673,15,0v-35h135.5v35c0,9.673,15,9.673,15,0v-191h265.215 c0.039,2.613,0.289,16.688,0.32,20.906H304.356c-29.651,0-51.62,7.718-65.298,22.939c-16.422,18.274-14.26,40.426-14.159,41.359 c0.408,3.811,3.624,6.701,7.457,6.701h96.894v13.5h-29.5c-9.673,0-9.673,15,0,15h29.5V497h-96c-9.673,0-9.673,15,0,15h100.825 c0.832,0.318,1.731,0.5,2.675,0.5s1.843-0.182,2.675-0.5H440.25c9.673,0,9.673-15,0-15h-96v-91.594h50.106 c17.218,0,29.664-4.151,38.052-12.69c14.699-14.965,14.251-40.022,13.684-71.747c-0.044-2.454-0.087-4.95-0.125-7.47h51.283V384 c0,9.673,15,9.673,15,0V256.855C512.25,252.713,508.893,249.355,504.75,249.355z M97.276,128.496 c9.652-6.124,18.049-4.681,22.421-3.137c-1.32,15.547-20.221,26.86-34.668,21.963C85.635,142.511,88.077,134.332,97.276,128.496z M47.424,144.097c-6.372-4.043-11.792-11.005-12.493-18.742c15.02-5.28,32.683,6.418,34.64,21.967 C62.286,149.792,53.81,148.148,47.424,144.097z M77.637,51.169c12.56,9.554,11.997,31.359-0.044,41.054 c-3.715-3.055-9.319-9.481-9.319-20.441C68.273,60.352,73.991,54.035,77.637,51.169z M33.856,191.906h83.781 c-1.27,40.515-13.362,56.5-41.888,56.5C46.832,248.407,35.072,232.936,33.856,191.906z M421.707,382.205 c-5.421,5.519-14.367,8.201-27.351,8.201H240.013c0.694-5.988,3.006-15.026,10.203-23.035 c10.712-11.921,28.927-17.965,54.141-17.965h126.736C430.473,364.105,428.251,375.543,421.707,382.205z M468.75,180.313v22.117 c0,2.693-2.19,4.883-4.883,4.883h-18.011v-27H468.75z M419.126,111.358c4.084-5.395,8.19-9.41,11.73-12.322v187.863 c-3.528-3.023-7.604-7.146-11.659-12.622c-14.615-19.739-22.341-48.049-22.341-81.872 C396.856,158.632,404.558,130.606,419.126,111.358z M383.873,222.313c1.432,10.095,3.553,19.077,6.138,27.043h-26.89v-27.043 H383.873z M179.176,202.429v-22.117h202.993c-0.469,8.992-0.415,18.015,0.169,27H184.059 C181.366,207.313,179.176,205.122,179.176,202.429z M299.805,222.313h48.316v27.043h-48.316V222.313z M395.901,264.355 c7.815,16.7,17.516,27.488,25.365,34.145H15.25v-34.145H395.901z M15.25,454.5v-63h135.5v63H15.25z M150.75,376.5H15.25v-63h135.5 V376.5z M445.856,298.5v-34.145h51.394V298.5H445.856z"/>
5
+ <path d="M54.75,352.5h57c9.673,0,9.673-15,0-15h-57C45.077,337.5,45.077,352.5,54.75,352.5z"/>
6
+ <path d="M111.75,415.5h-57c-9.673,0-9.673,15,0,15h57C121.423,430.5,121.423,415.5,111.75,415.5z"/>
7
+ </g>
8
+ </svg>
@@ -1,71 +1,71 @@
1
- // const webpack = require('webpack');
2
- const paths = require('react-scripts/config/paths');
3
-
4
- const getModuleFederationConfigPath = (additionalPaths = []) => {
5
- const path = require('node:path');
6
- const fs = require('node:fs');
7
- const appDirectory = fs.realpathSync(process.cwd());
8
- const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
9
-
10
- const moduleFederationConfigFiles = [
11
- 'modulefederation.config.js',
12
- ...additionalPaths,
13
- ];
14
- return moduleFederationConfigFiles
15
- .map(resolveApp)
16
- .filter(fs.existsSync)
17
- .shift();
18
- };
19
-
20
- module.exports = {
21
- overrideWebpackConfig: ({ webpackConfig, pluginOptions }) => {
22
- const moduleFederationConfigPath = getModuleFederationConfigPath();
23
-
24
- if (moduleFederationConfigPath) {
25
- webpackConfig.output.publicPath = 'auto';
26
-
27
- if (pluginOptions?.useNamedChunkIds) {
28
- webpackConfig.optimization.chunkIds = 'named';
29
- }
30
-
31
- const htmlWebpackPlugin = webpackConfig.plugins.find(
32
- plugin => plugin.constructor.name === 'HtmlWebpackPlugin',
33
- );
34
-
35
- const myModule = require(moduleFederationConfigPath);
36
-
37
- htmlWebpackPlugin.userOptions = {
38
- ...htmlWebpackPlugin.userOptions,
39
- publicPath: paths.publicUrlOrPath,
40
- excludeChunks: [myModule.name],
41
- };
42
-
43
- const ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin');
44
-
45
- webpackConfig.plugins = [
46
- ...webpackConfig.plugins,
47
- new ModuleFederationPlugin(myModule),
48
- ];
49
-
50
- // webpackConfig.module = {
51
- // ...webpackConfig.module,
52
- // generator: {
53
- // "asset/resource": {
54
- // publicPath: paths.publicUrlOrPath,
55
- // },
56
- // },
57
- // };
58
- }
59
- return webpackConfig;
60
- },
61
-
62
- overrideDevServerConfig: ({ devServerConfig }) => {
63
- devServerConfig.headers = {
64
- 'Access-Control-Allow-Origin': '*',
65
- 'Access-Control-Allow-Methods': '*',
66
- 'Access-Control-Allow-Headers': '*',
67
- };
68
-
69
- return devServerConfig;
70
- },
71
- };
1
+ // const webpack = require('webpack');
2
+ const paths = require('react-scripts/config/paths');
3
+
4
+ const getModuleFederationConfigPath = (additionalPaths = []) => {
5
+ const path = require('node:path');
6
+ const fs = require('node:fs');
7
+ const appDirectory = fs.realpathSync(process.cwd());
8
+ const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
9
+
10
+ const moduleFederationConfigFiles = [
11
+ 'modulefederation.config.js',
12
+ ...additionalPaths,
13
+ ];
14
+ return moduleFederationConfigFiles
15
+ .map(resolveApp)
16
+ .filter(fs.existsSync)
17
+ .shift();
18
+ };
19
+
20
+ module.exports = {
21
+ overrideWebpackConfig: ({ webpackConfig, pluginOptions }) => {
22
+ const moduleFederationConfigPath = getModuleFederationConfigPath();
23
+
24
+ if (moduleFederationConfigPath) {
25
+ webpackConfig.output.publicPath = 'auto';
26
+
27
+ if (pluginOptions?.useNamedChunkIds) {
28
+ webpackConfig.optimization.chunkIds = 'named';
29
+ }
30
+
31
+ const htmlWebpackPlugin = webpackConfig.plugins.find(
32
+ plugin => plugin.constructor.name === 'HtmlWebpackPlugin',
33
+ );
34
+
35
+ const myModule = require(moduleFederationConfigPath);
36
+
37
+ htmlWebpackPlugin.userOptions = {
38
+ ...htmlWebpackPlugin.userOptions,
39
+ publicPath: paths.publicUrlOrPath,
40
+ excludeChunks: [myModule.name],
41
+ };
42
+
43
+ const ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin');
44
+
45
+ webpackConfig.plugins = [
46
+ ...webpackConfig.plugins,
47
+ new ModuleFederationPlugin(myModule),
48
+ ];
49
+
50
+ // webpackConfig.module = {
51
+ // ...webpackConfig.module,
52
+ // generator: {
53
+ // "asset/resource": {
54
+ // publicPath: paths.publicUrlOrPath,
55
+ // },
56
+ // },
57
+ // };
58
+ }
59
+ return webpackConfig;
60
+ },
61
+
62
+ overrideDevServerConfig: ({ devServerConfig }) => {
63
+ devServerConfig.headers = {
64
+ 'Access-Control-Allow-Origin': '*',
65
+ 'Access-Control-Allow-Methods': '*',
66
+ 'Access-Control-Allow-Headers': '*',
67
+ };
68
+
69
+ return devServerConfig;
70
+ },
71
+ };
package/icons/IconFx.js CHANGED
@@ -5,5 +5,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const IconFx = (props) => react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", onClick: e => props.onClick && props.onClick(e), viewBox: "0 0 95 95", width: props.width || (props.fontSize === 'small' ? 16 : 20), height: props.height || props.width || (props.fontSize === 'small' ? 16 : 20), className: props.className, style: props.style },
8
- react_1.default.createElement("path", { fill: "currentColor", d: "M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062\n c-0.344,0.922-0.443,1.413-0.907,1.363c-0.786-0.078-3.845-3.346-4.845-8.145l-2.482-11.6c1.961-3.177,3.977-5.629,5.988-7.292\n c1.08-0.882,2.314-1.349,3.808-1.43c3.815-0.26,5.203-0.74,6.14-1.399c1.547-1.115,2.397-2.728,2.397-4.542\n c0-1.596-0.604-3.019-1.75-4.115c-1.106-1.059-2.581-1.618-4.26-1.618c-2.468,0-5.239,1.142-8.474,3.49\n c-1.91,1.388-3.935,3.406-6.121,6.111c-0.711-2.653-1.319-3.889-1.771-4.628c-1.396-2.303-3.664-2.303-4.41-2.303l-0.813,0.013\n l-23.045,0.544l1.297-5.506c0.828-3.593,1.915-6.436,3.226-8.45c0.638-0.98,1.614-2.148,2.638-2.148\n c0.387,0,1.152,0.063,2.582,0.36c3.978,0.86,5.465,0.959,6.239,0.959c1.708,0,3.21-0.571,4.347-1.651\n c1.176-1.119,1.797-2.583,1.797-4.233c0-1.29-0.424-3.156-2.445-4.722c-1.396-1.081-3.311-1.629-5.691-1.629\n c-3.568,0-7.349,1.141-11.241,3.39c-3.862,2.232-7.038,5.317-9.438,9.171c-2.105,3.379-3.929,8.124-5.555,14.459H21.877\n l-2.238,8.831h10.186l-7.74,31.116c-1.603,6.443-2.777,8.028-3.098,8.361c-0.875,0.904-2.68,1.094-4.04,1.094\n c-1.683,0-3.477-0.121-5.349-0.361c-1.286-0.157-2.265-0.234-2.991-0.234c-1.878,0-3.423,0.488-4.59,1.448\n C0.716,81.858,0,83.403,0,85.14c0,1.357,0.44,3.309,2.539,4.895c1.434,1.08,3.389,1.628,5.813,1.628\n c6.069,0,11.725-2.411,16.813-7.165c4.947-4.624,8.571-11.413,10.773-20.195l6.119-24.935l20.87,0.354l2.244,9.64l-4.573,6.748\n c-0.824,1.209-2.051,2.701-3.658,4.441c-0.84,0.92-1.398,1.426-1.721,1.689c-1.316-1.608-2.809-2.424-4.432-2.424\n c-1.525,0-2.91,0.625-4.002,1.804c-1.036,1.116-1.583,2.514-1.583,4.038c0,1.83,0.783,3.459,2.264,4.709\n c1.357,1.146,3.034,1.728,4.981,1.728c2.414,0,4.884-0.921,7.344-2.737c2.053-1.519,4.697-4.526,8.074-9.189\n c2.17,6.24,5.248,10.252,6.714,11.927c2.313,2.644,6.049,4.22,9.993,4.22c3.348,0,5.244-1.402,6.916-2.641l0.148-0.109\n c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z" }));
8
+ react_1.default.createElement("path", { fill: "currentColor", d: "M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062\r\n c-0.344,0.922-0.443,1.413-0.907,1.363c-0.786-0.078-3.845-3.346-4.845-8.145l-2.482-11.6c1.961-3.177,3.977-5.629,5.988-7.292\r\n c1.08-0.882,2.314-1.349,3.808-1.43c3.815-0.26,5.203-0.74,6.14-1.399c1.547-1.115,2.397-2.728,2.397-4.542\r\n c0-1.596-0.604-3.019-1.75-4.115c-1.106-1.059-2.581-1.618-4.26-1.618c-2.468,0-5.239,1.142-8.474,3.49\r\n c-1.91,1.388-3.935,3.406-6.121,6.111c-0.711-2.653-1.319-3.889-1.771-4.628c-1.396-2.303-3.664-2.303-4.41-2.303l-0.813,0.013\r\n l-23.045,0.544l1.297-5.506c0.828-3.593,1.915-6.436,3.226-8.45c0.638-0.98,1.614-2.148,2.638-2.148\r\n c0.387,0,1.152,0.063,2.582,0.36c3.978,0.86,5.465,0.959,6.239,0.959c1.708,0,3.21-0.571,4.347-1.651\r\n c1.176-1.119,1.797-2.583,1.797-4.233c0-1.29-0.424-3.156-2.445-4.722c-1.396-1.081-3.311-1.629-5.691-1.629\r\n c-3.568,0-7.349,1.141-11.241,3.39c-3.862,2.232-7.038,5.317-9.438,9.171c-2.105,3.379-3.929,8.124-5.555,14.459H21.877\r\n l-2.238,8.831h10.186l-7.74,31.116c-1.603,6.443-2.777,8.028-3.098,8.361c-0.875,0.904-2.68,1.094-4.04,1.094\r\n c-1.683,0-3.477-0.121-5.349-0.361c-1.286-0.157-2.265-0.234-2.991-0.234c-1.878,0-3.423,0.488-4.59,1.448\r\n C0.716,81.858,0,83.403,0,85.14c0,1.357,0.44,3.309,2.539,4.895c1.434,1.08,3.389,1.628,5.813,1.628\r\n c6.069,0,11.725-2.411,16.813-7.165c4.947-4.624,8.571-11.413,10.773-20.195l6.119-24.935l20.87,0.354l2.244,9.64l-4.573,6.748\r\n c-0.824,1.209-2.051,2.701-3.658,4.441c-0.84,0.92-1.398,1.426-1.721,1.689c-1.316-1.608-2.809-2.424-4.432-2.424\r\n c-1.525,0-2.91,0.625-4.002,1.804c-1.036,1.116-1.583,2.514-1.583,4.038c0,1.83,0.783,3.459,2.264,4.709\r\n c1.357,1.146,3.034,1.728,4.981,1.728c2.414,0,4.884-0.921,7.344-2.737c2.053-1.519,4.697-4.526,8.074-9.189\r\n c2.17,6.24,5.248,10.252,6.714,11.927c2.313,2.644,6.049,4.22,9.993,4.22c3.348,0,5.244-1.402,6.916-2.641l0.148-0.109\r\n c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z" }));
9
9
  exports.default = IconFx;
@@ -6,5 +6,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const IconLogout = (props) => react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", onClick: e => props.onClick && props.onClick(e), viewBox: "0 0 512 512", width: props.width || (props.fontSize === 'small' ? 16 : 20), height: props.height || props.width || (props.fontSize === 'small' ? 16 : 20), className: props.className, style: props.style },
8
8
  react_1.default.createElement("path", { fill: "currentColor", d: "M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z" }),
9
- react_1.default.createElement("path", { fill: "currentColor", d: "M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437\n l-74.091-22.229h174.635v106.667c0,11.776,9.536,21.333,21.333,21.333s21.333-9.557,21.333-21.333v-128\n C384.013,9.557,374.477,0,362.68,0H21.347c-0.768,0-1.451,0.32-2.197,0.405c-1.003,0.107-1.92,0.277-2.88,0.512\n c-2.24,0.576-4.267,1.451-6.165,2.645c-0.469,0.299-1.045,0.32-1.493,0.661C8.44,4.352,8.376,4.587,8.205,4.715\n C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992\n c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907\n l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491\n v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z" }));
9
+ react_1.default.createElement("path", { fill: "currentColor", d: "M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437\r\n l-74.091-22.229h174.635v106.667c0,11.776,9.536,21.333,21.333,21.333s21.333-9.557,21.333-21.333v-128\r\n C384.013,9.557,374.477,0,362.68,0H21.347c-0.768,0-1.451,0.32-2.197,0.405c-1.003,0.107-1.92,0.277-2.88,0.512\r\n c-2.24,0.576-4.267,1.451-6.165,2.645c-0.469,0.299-1.045,0.32-1.493,0.661C8.44,4.352,8.376,4.587,8.205,4.715\r\n C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992\r\n c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907\r\n l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491\r\n v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z" }));
10
10
  exports.default = IconLogout;
package/index.css CHANGED
@@ -1,55 +1,55 @@
1
- /**
2
- * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>
3
- *
4
- * MIT License
5
- *
6
- **/
7
-
8
- html {
9
- height: 100%;
10
- }
11
-
12
- body {
13
- margin: 0;
14
- padding: 0;
15
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
16
- -webkit-font-smoothing: antialiased;
17
- -moz-osx-font-smoothing: grayscale;
18
- width: 100%;
19
- height: 100%;
20
- overflow: hidden;
21
- }
22
-
23
- /* scrollbar */
24
- ::-webkit-scrollbar-track {
25
- background-color: #ccc;
26
- border-radius: 5px;
27
- }
28
-
29
- ::-webkit-scrollbar {
30
- width: 5px;
31
- height: 5px;
32
- background-color: #ccc;
33
- }
34
-
35
- ::-webkit-scrollbar-thumb {
36
- background-color: #575757;
37
- border-radius: 5px;
38
- }
39
-
40
- #root {
41
- height: 100%;
42
- }
43
-
44
- .App {
45
- height: 100%;
46
- }
47
-
48
- @keyframes glow {
49
- from {
50
- background-color: initial;
51
- }
52
- to {
53
- background-color: #58c458;
54
- }
1
+ /**
2
+ * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>
3
+ *
4
+ * MIT License
5
+ *
6
+ **/
7
+
8
+ html {
9
+ height: 100%;
10
+ }
11
+
12
+ body {
13
+ margin: 0;
14
+ padding: 0;
15
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ width: 100%;
19
+ height: 100%;
20
+ overflow: hidden;
21
+ }
22
+
23
+ /* scrollbar */
24
+ ::-webkit-scrollbar-track {
25
+ background-color: #ccc;
26
+ border-radius: 5px;
27
+ }
28
+
29
+ ::-webkit-scrollbar {
30
+ width: 5px;
31
+ height: 5px;
32
+ background-color: #ccc;
33
+ }
34
+
35
+ ::-webkit-scrollbar-thumb {
36
+ background-color: #575757;
37
+ border-radius: 5px;
38
+ }
39
+
40
+ #root {
41
+ height: 100%;
42
+ }
43
+
44
+ .App {
45
+ height: 100%;
46
+ }
47
+
48
+ @keyframes glow {
49
+ from {
50
+ background-color: initial;
51
+ }
52
+ to {
53
+ background-color: #58c458;
54
+ }
55
55
  }
@@ -1,31 +1,31 @@
1
- function makeShared(pkgs) {
2
- const result = {};
3
- pkgs.forEach(packageName => {
4
- result[packageName] = {
5
- requiredVersion: '*',
6
- singleton: true,
7
- };
8
- });
9
- return result;
10
- }
11
-
12
- // Admin shares these modules for all components
13
- module.exports = {
14
- shared: makeShared([
15
- '@iobroker/adapter-react-v5',
16
- '@iobroker/json-config',
17
- '@iobroker/dm-gui-components',
18
- '@mui/icons-material',
19
- '@mui/material',
20
- '@mui/x-date-pickers',
21
- 'date-fns/locale',
22
- 'leaflet',
23
- 'leaflet-geosearch',
24
- 'prop-types',
25
- 'react',
26
- 'react-ace',
27
- 'react-dom',
28
- 'react-dropzone',
29
- 'semver',
30
- ]),
31
- };
1
+ function makeShared(pkgs) {
2
+ const result = {};
3
+ pkgs.forEach(packageName => {
4
+ result[packageName] = {
5
+ requiredVersion: '*',
6
+ singleton: true,
7
+ };
8
+ });
9
+ return result;
10
+ }
11
+
12
+ // Admin shares these modules for all components
13
+ module.exports = {
14
+ shared: makeShared([
15
+ '@iobroker/adapter-react-v5',
16
+ '@iobroker/json-config',
17
+ '@iobroker/dm-gui-components',
18
+ '@mui/icons-material',
19
+ '@mui/material',
20
+ '@mui/x-date-pickers',
21
+ 'date-fns/locale',
22
+ 'leaflet',
23
+ 'leaflet-geosearch',
24
+ 'prop-types',
25
+ 'react',
26
+ 'react-ace',
27
+ 'react-dom',
28
+ 'react-dropzone',
29
+ 'semver',
30
+ ]),
31
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/adapter-react-v5",
3
- "version": "6.1.10",
3
+ "version": "7.0.1",
4
4
  "description": "React classes to develop admin interfaces for ioBroker with react.",
5
5
  "author": {
6
6
  "name": "Denis Haev (bluefox)",
@@ -33,10 +33,10 @@
33
33
  "@iobroker/types": "^6.0.11",
34
34
  "@iobroker/js-controller-common": "^6.0.11",
35
35
  "@iobroker/js-controller-common-db": "^6.0.11",
36
- "@mui/icons-material": "^5.16.7",
37
- "@mui/material": "^5.16.7",
36
+ "@mui/icons-material": "^6.0.0",
37
+ "@mui/material": "^6.0.0",
38
38
  "@mui/x-date-pickers": "^7.14.0",
39
- "@sentry/browser": "^8.26.0",
39
+ "@sentry/browser": "^8.27.0",
40
40
  "cronstrue": "^2.50.0",
41
41
  "react-color": "^2.19.3",
42
42
  "react-colorful": "^5.6.1",
@@ -1,3 +1,3 @@
1
- import { AdminConnection } from '@iobroker/socket-client';
2
-
3
- export default AdminConnection;
1
+ import { AdminConnection } from '@iobroker/socket-client';
2
+
3
+ export default AdminConnection;
@@ -1,121 +1,121 @@
1
- import React from 'react';
2
- import { Box } from '@mui/material';
3
-
4
- /*
5
- Copyright 2019 Robin Selmer
6
- https://codepen.io/robinselmer/pen/vJjbOZ
7
- */
8
-
9
- import I18n from '../i18n';
10
-
11
- const styles: Record<string, any> = {
12
- content: {
13
- background: 'black',
14
- position: 'absolute',
15
- top: 0,
16
- bottom: 0,
17
- left: 0,
18
- right: 0,
19
- },
20
- root: {
21
- boxSizing: 'border-box',
22
- height: '100%',
23
- width: '100%',
24
- backgroundColor: '#000000',
25
- backgroundImage: 'radial-gradient(#104254 , #05181c)',
26
- fontFamily: "'Inconsolata', Helvetica, sans-serif",
27
- fontSize: '1.5rem',
28
- color: 'rgba(128, 175, 255, 0.8)',
29
- textShadow:
30
- `0 0 1ex rgba(51, 70, 255, 1),
31
- 0 0 2px rgba(255, 255, 255, 0.8)`,
32
- },
33
- overlay: {
34
- pointerEvents: 'none',
35
- width: '100%',
36
- height: '100%',
37
- background:
38
- `repeating-linear-gradient(
39
- 180deg,
40
- rgba(0, 0, 0, 0) 0,
41
- rgba(0, 0, 0, 0.3) 50%,
42
- rgba(0, 0, 0, 0) 100%)`,
43
- backgroundSize: 'auto 4px',
44
- zIndex: 99,
45
- '&::before': {
46
- content: '""',
47
- pointerEvents: 'none',
48
- position: 'absolute',
49
- display: 'block',
50
- top: 0,
51
- left: 0,
52
- right: 0,
53
- bottom: 0,
54
- width: '100%',
55
- height: '100%',
56
- backgroundImage: `linear-gradient(
57
- 0deg,
58
- transparent 0%,
59
- rgba(32, 50, 128, 0.2) 2%,
60
- rgba(32, 50, 128, 0.8) 3%,
61
- rgba(32, 50, 128, 0.2) 3%,
62
- transparent 100%)`,
63
- backgroundRepeat: 'no-repeat',
64
- animation: 'scan 7.5s linear 0s infinite',
65
- },
66
- },
67
-
68
- terminal: {
69
- boxSizing: 'inherit',
70
- position: 'absolute',
71
- height: '100%',
72
- width: 'calc(100% - 8rem)',
73
- maxWidth: '100%',
74
- padding: '4rem',
75
- textTransform: 'uppercase',
76
- },
77
- output: {
78
- color: 'rgba(128, 175, 255, 0.8)',
79
- textShadow: `
80
- 0 0 1px rgba(51, 70, 255, 0.4),
81
- 0 0 2px rgba(255, 255, 255, 0.8)`,
82
- '&::before': {
83
- content: '"> "',
84
- },
85
- },
86
- errorCode: {
87
- color: 'white',
88
- },
89
- };
90
-
91
- function Page404() {
92
- return <div
93
- style={styles.content}
94
- >
95
- <div
96
- style={styles.root}
97
- >
98
- <Box
99
- component="div"
100
- sx={styles.overlay}
101
- >
102
- <div
103
- style={styles.terminal}
104
- >
105
- <h1>
106
- {I18n.t('ra_Error')}
107
- <span style={styles.errorCode}>404</span>
108
- </h1>
109
- <Box component="p" sx={styles.output}>
110
- {I18n.t('ra_The page you are looking for was not found')}
111
- </Box>
112
- <Box component="p" sx={styles.output}>
113
- {I18n.t('ra_Good luck')}
114
- </Box>
115
- </div>
116
- </Box>
117
- </div>
118
- </div>;
119
- }
120
-
121
- export default Page404;
1
+ import React from 'react';
2
+ import { Box } from '@mui/material';
3
+
4
+ /*
5
+ Copyright 2019 Robin Selmer
6
+ https://codepen.io/robinselmer/pen/vJjbOZ
7
+ */
8
+
9
+ import I18n from '../i18n';
10
+
11
+ const styles: Record<string, any> = {
12
+ content: {
13
+ background: 'black',
14
+ position: 'absolute',
15
+ top: 0,
16
+ bottom: 0,
17
+ left: 0,
18
+ right: 0,
19
+ },
20
+ root: {
21
+ boxSizing: 'border-box',
22
+ height: '100%',
23
+ width: '100%',
24
+ backgroundColor: '#000000',
25
+ backgroundImage: 'radial-gradient(#104254 , #05181c)',
26
+ fontFamily: "'Inconsolata', Helvetica, sans-serif",
27
+ fontSize: '1.5rem',
28
+ color: 'rgba(128, 175, 255, 0.8)',
29
+ textShadow:
30
+ `0 0 1ex rgba(51, 70, 255, 1),
31
+ 0 0 2px rgba(255, 255, 255, 0.8)`,
32
+ },
33
+ overlay: {
34
+ pointerEvents: 'none',
35
+ width: '100%',
36
+ height: '100%',
37
+ background:
38
+ `repeating-linear-gradient(
39
+ 180deg,
40
+ rgba(0, 0, 0, 0) 0,
41
+ rgba(0, 0, 0, 0.3) 50%,
42
+ rgba(0, 0, 0, 0) 100%)`,
43
+ backgroundSize: 'auto 4px',
44
+ zIndex: 99,
45
+ '&::before': {
46
+ content: '""',
47
+ pointerEvents: 'none',
48
+ position: 'absolute',
49
+ display: 'block',
50
+ top: 0,
51
+ left: 0,
52
+ right: 0,
53
+ bottom: 0,
54
+ width: '100%',
55
+ height: '100%',
56
+ backgroundImage: `linear-gradient(
57
+ 0deg,
58
+ transparent 0%,
59
+ rgba(32, 50, 128, 0.2) 2%,
60
+ rgba(32, 50, 128, 0.8) 3%,
61
+ rgba(32, 50, 128, 0.2) 3%,
62
+ transparent 100%)`,
63
+ backgroundRepeat: 'no-repeat',
64
+ animation: 'scan 7.5s linear 0s infinite',
65
+ },
66
+ },
67
+
68
+ terminal: {
69
+ boxSizing: 'inherit',
70
+ position: 'absolute',
71
+ height: '100%',
72
+ width: 'calc(100% - 8rem)',
73
+ maxWidth: '100%',
74
+ padding: '4rem',
75
+ textTransform: 'uppercase',
76
+ },
77
+ output: {
78
+ color: 'rgba(128, 175, 255, 0.8)',
79
+ textShadow: `
80
+ 0 0 1px rgba(51, 70, 255, 0.4),
81
+ 0 0 2px rgba(255, 255, 255, 0.8)`,
82
+ '&::before': {
83
+ content: '"> "',
84
+ },
85
+ },
86
+ errorCode: {
87
+ color: 'white',
88
+ },
89
+ };
90
+
91
+ function Page404() {
92
+ return <div
93
+ style={styles.content}
94
+ >
95
+ <div
96
+ style={styles.root}
97
+ >
98
+ <Box
99
+ component="div"
100
+ sx={styles.overlay}
101
+ >
102
+ <div
103
+ style={styles.terminal}
104
+ >
105
+ <h1>
106
+ {I18n.t('ra_Error')}
107
+ <span style={styles.errorCode}>404</span>
108
+ </h1>
109
+ <Box component="p" sx={styles.output}>
110
+ {I18n.t('ra_The page you are looking for was not found')}
111
+ </Box>
112
+ <Box component="p" sx={styles.output}>
113
+ {I18n.t('ra_Good luck')}
114
+ </Box>
115
+ </div>
116
+ </Box>
117
+ </div>
118
+ </div>;
119
+ }
120
+
121
+ export default Page404;