diff --git a/.eslintrc.cjs b/.eslintrc.cjs index d29b926..f8105f9 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -10,7 +10,7 @@ module.exports = { parserOptions: { ecmaVersion: "latest", sourceType: "module" }, plugins: ["react-refresh", "prettier"], rules: { - "react-refresh/only-export-components": "warn", "prettier/prettier": "error", + "react-refresh/only-export-components": "warn", }, }; diff --git a/bun.lockb b/bun.lockb index 0b20fc9..1b90782 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/docs/inspiration.md b/docs/inspiration.md new file mode 100644 index 0000000..2089b46 --- /dev/null +++ b/docs/inspiration.md @@ -0,0 +1,5 @@ +# Inspiration + +* [Tasks shadcn](https://ui.shadcn.com/examples/tasks) + +![Alt text](inspiration1.png) diff --git a/docs/inspiration1.png b/docs/inspiration1.png new file mode 100644 index 0000000..5814aa8 Binary files /dev/null and b/docs/inspiration1.png differ diff --git a/docs/servimainUI.excalidraw b/docs/servimainUI.excalidraw index c8ef057..3f2190b 100644 --- a/docs/servimainUI.excalidraw +++ b/docs/servimainUI.excalidraw @@ -5,8 +5,8 @@ "elements": [ { "type": "rectangle", - "version": 1202, - "versionNonce": 1674514359, + "version": 1208, + "versionNonce": 478327579, "isDeleted": false, "id": "S0A9g07WpP2BzYKcwg7_M", "fillStyle": "solid", @@ -35,14 +35,14 @@ "type": "arrow" } ], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "rectangle", - "version": 959, - "versionNonce": 1345596217, + "version": 965, + "versionNonce": 1753866261, "isDeleted": false, "id": "2zx0egnLluNOg2aagGFf5", "fillStyle": "solid", @@ -71,14 +71,14 @@ "id": "rb6uePhVtcsn3pyWiAATT" } ], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1020, - "versionNonce": 484573399, + "version": 1026, + "versionNonce": 630429627, "isDeleted": false, "id": "rb6uePhVtcsn3pyWiAATT", "fillStyle": "solid", @@ -100,7 +100,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -115,8 +115,8 @@ }, { "type": "rectangle", - "version": 1015, - "versionNonce": 450649113, + "version": 1021, + "versionNonce": 1625232757, "isDeleted": false, "id": "I0Xg4QaaO7XRxm7w1P_0a", "fillStyle": "solid", @@ -145,14 +145,14 @@ "id": "jHHO9SMQy-Scl-_j7OuG1" } ], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1017, - "versionNonce": 1421463031, + "version": 1023, + "versionNonce": 1885268059, "isDeleted": false, "id": "jHHO9SMQy-Scl-_j7OuG1", "fillStyle": "solid", @@ -174,7 +174,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -189,8 +189,8 @@ }, { "type": "rectangle", - "version": 1073, - "versionNonce": 1191932153, + "version": 1079, + "versionNonce": 2007408341, "isDeleted": false, "id": "ZikkdqWQ7aOQyqTYogsSg", "fillStyle": "solid", @@ -219,14 +219,14 @@ "id": "T3YVOW1Ns_aODcZTbHigc" } ], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1015, - "versionNonce": 375060247, + "version": 1021, + "versionNonce": 850863355, "isDeleted": false, "id": "T3YVOW1Ns_aODcZTbHigc", "fillStyle": "solid", @@ -248,7 +248,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -263,8 +263,8 @@ }, { "type": "text", - "version": 848, - "versionNonce": 1246030297, + "version": 859, + "versionNonce": 531548862, "isDeleted": false, "id": "97fLf76gEdKS_GvQ6ALpU", "fillStyle": "solid", @@ -277,7 +277,7 @@ "y": 190.00681289938947, "strokeColor": "#1e1e1e", "backgroundColor": "#a5d8ff", - "width": 160.05606079101562, + "width": 161, "height": 45, "seed": 1826241945, "groupIds": [ @@ -286,7 +286,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306254, + "updated": 1706857007569, "link": null, "locked": false, "fontSize": 36, @@ -297,12 +297,12 @@ "containerId": null, "originalText": "ServiMain", "lineHeight": 1.25, - "baseline": 34 + "baseline": 32 }, { "type": "text", - "version": 121, - "versionNonce": 406453303, + "version": 128, + "versionNonce": 1142869403, "isDeleted": false, "id": "no67OXeP6ZJsJ51TOHxJy", "fillStyle": "solid", @@ -315,14 +315,14 @@ "y": 109.04102105520808, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 98.4375, + "width": 96, "height": 33.6, "seed": 1759430041, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 28, @@ -337,8 +337,8 @@ }, { "type": "rectangle", - "version": 187, - "versionNonce": 240820793, + "version": 193, + "versionNonce": 741518741, "isDeleted": false, "id": "wApCZR8vnuIdRuwfVeC5x", "fillStyle": "solid", @@ -360,85 +360,43 @@ "type": 3 }, "boundElements": [], - "updated": 1706184306254, + "updated": 1706599772340, "link": null, "locked": false }, { - "id": "a8qjD7btzGky9Hve-4mt_", - "type": "ellipse", - "x": 1577.8879331631313, - "y": 165.0216202299886, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "type": "arrow", + "version": 1453, + "versionNonce": 554840821, + "isDeleted": false, + "id": "eZY1sCI9X6AClX_vtLx3w", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "r6wGtXZ6ffUeAL0UFbdvV" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1645012633, - "version": 146, - "versionNonce": 1877180407, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306255, - "link": null, - "locked": false - }, - { - "id": "eZY1sCI9X6AClX_vtLx3w", - "type": "arrow", + "angle": 0, "x": 1673.7876392695389, "y": 551.8710255164817, - "width": 355.6512229588841, - "height": 0, - "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, + "width": 355.6512229588841, + "height": 0, + "seed": 1414615703, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1414615703, - "version": 1442, - "versionNonce": 908013111, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "ggf8Q1GdB4_v8OkT9mEGs" } ], - "updated": 1706184306255, + "updated": 1706599772340, "link": null, "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 355.6512229588841, - 0 - ] - ], - "lastCommittedPoint": null, "startBinding": { "elementId": "S0A9g07WpP2BzYKcwg7_M", "focus": 0.749158269936023, @@ -449,345 +407,60 @@ "focus": -0.7559284145391916, "gap": 9.951967771577074 }, + "lastCommittedPoint": null, "startArrowhead": null, - "endArrowhead": "arrow" + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 355.6512229588841, + 0 + ] + ] }, { - "id": "ggf8Q1GdB4_v8OkT9mEGs", "type": "text", - "x": 1730.6663380563223, - "y": 361.6363169032432, - "width": 188.9397735595703, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 111, + "versionNonce": 1452696283, + "isDeleted": false, + "id": "ggf8Q1GdB4_v8OkT9mEGs", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 1730.6663380563223, + "y": 361.6363169032432, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 188.9397735595703, + "height": 25, + "seed": 1598777911, "groupIds": [], "frameId": null, "roundness": null, - "seed": 1598777911, - "version": 104, - "versionNonce": 559625401, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306255, + "boundElements": [], + "updated": 1706599772340, "link": null, "locked": false, - "text": "after success login", "fontSize": 20, "fontFamily": 1, + "text": "after success login", "textAlign": "center", "verticalAlign": "middle", - "baseline": 18, "containerId": "eZY1sCI9X6AClX_vtLx3w", "originalText": "after success login", - "lineHeight": 1.25 - }, - { - "id": "VwnpwlGhz4mHcY3iHFd-K", - "type": "rectangle", - "x": 1557.9110690841328, - "y": 155.39577057524173, - "width": 90.83464725294988, - "height": 448.9074596124058, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "seed": 747026105, - "version": 314, - "versionNonce": 1543166199, - "isDeleted": false, - "boundElements": [ - { - "id": "Q_7I9PXaF6yu4nYiFYW26", - "type": "arrow" - }, - { - "id": "eZY1sCI9X6AClX_vtLx3w", - "type": "arrow" - } - ], - "updated": 1706184306255, - "link": null, - "locked": false - }, - { - "id": "cOHmN8KduFpCBrHd4LEjk", - "type": "text", - "x": 1764.072480163617, - "y": -14.874795335398332, - "width": 135.7725372314453, - "height": 35, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, - "seed": 878645561, - "version": 277, - "versionNonce": 1027698393, - "isDeleted": false, - "boundElements": [ - { - "id": "Q_7I9PXaF6yu4nYiFYW26", - "type": "arrow" - }, - { - "id": "Mdt2-EzMuX4lfWltTjfLF", - "type": "arrow" - } - ], - "updated": 1706184306255, - "link": null, - "locked": false, - "text": "navigation", - "fontSize": 28, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 25, - "containerId": null, - "originalText": "navigation", - "lineHeight": 1.25 - }, - { - "id": "Q_7I9PXaF6yu4nYiFYW26", - "type": "arrow", - "x": 1758.477621826088, - "y": 10.230214291423408, - "width": 175.1995887694443, - "height": 142.88836188275138, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1015216311, - "version": 909, - "versionNonce": 1156859703, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306255, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -154.4920585078819, - 23.00970460634545 - ], - [ - -175.1995887694443, - 142.88836188275138 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "fgERo12Ymg3ugaMh8-Rdu", - "focus": 1.3118166015970514, - "gap": 6.557141411206217 - }, - "endBinding": { - "elementId": "VwnpwlGhz4mHcY3iHFd-K", - "focus": -0.7033621711171123, - "gap": 2.277194401066936 - }, - "startArrowhead": null, - "endArrowhead": "triangle" - }, - { - "id": "Mdt2-EzMuX4lfWltTjfLF", - "type": "arrow", - "x": 1909.2786161128486, - "y": 2.827758987965268, - "width": 986.9392042011661, - "height": 151.30528917365018, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 493044887, - "version": 1163, - "versionNonce": 1757424569, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306255, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 830.7993114227222, - 18.51640246452731 - ], - [ - 986.9392042011661, - 151.30528917365018 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "cOHmN8KduFpCBrHd4LEjk", - "focus": -0.07998252696364709, - "gap": 9.433598717786253 - }, - "endBinding": { - "elementId": "4C5_lTT2L1xAbaSNm7BhI", - "focus": 0.766074797123595, - "gap": 1.262722413626335 - }, - "startArrowhead": null, - "endArrowhead": "triangle" - }, - { - "type": "text", - "version": 371, - "versionNonce": 594823255, - "isDeleted": false, - "id": "fgERo12Ymg3ugaMh8-Rdu", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1764.0724804433244, - "y": 16.787355702629625, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 83.2723388671875, - "height": 35, - "seed": 768550743, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [ - { - "id": "iQpwQC_Zxwr4fKToMToXQ", - "type": "arrow" - }, - { - "id": "Q_7I9PXaF6yu4nYiFYW26", - "type": "arrow" - } - ], - "updated": 1706184306255, - "link": null, - "locked": false, - "fontSize": 28, - "fontFamily": 1, - "text": "action", - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "action", "lineHeight": 1.25, - "baseline": 25 - }, - { - "id": "iQpwQC_Zxwr4fKToMToXQ", - "type": "arrow", - "x": 1853.385573132282, - "y": 50.20229898215348, - "width": 194.23799755660775, - "height": 184.53269969782505, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1837951063, - "version": 971, - "versionNonce": 856968345, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306255, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 71.61001150013067, - 155.03294188832226 - ], - [ - 194.23799755660775, - 184.53269969782505 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "fgERo12Ymg3ugaMh8-Rdu", - "focus": -0.8110664605093839, - "gap": 6.040753821770068 - }, - "endBinding": { - "elementId": "4an4-nm8d0BleO79ogGl0", - "focus": 0.5741942352411015, - "gap": 1.5620696814759185 - }, - "startArrowhead": null, - "endArrowhead": "triangle" + "baseline": 19 }, { "type": "text", - "version": 159, - "versionNonce": 195124887, + "version": 170, + "versionNonce": 260491298, "isDeleted": false, "id": "lIMGkmHcJPDoBybM182aS", "fillStyle": "solid", @@ -796,18 +469,18 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1167.7907801403655, + "x": 1168.3307581677093, "y": 635.1711027869324, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 40.0799560546875, + "width": 39, "height": 25, "seed": 997158745, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306255, + "updated": 1706857007569, "link": null, "locked": false, "fontSize": 20, @@ -821,20 +494,24 @@ "baseline": 18 }, { - "id": "1dRBBMeM95YrOmTQGbhii", "type": "rectangle", - "x": 1441.6102818310426, - "y": 687.6494691315569, - "width": 214.32707067707437, - "height": 416.61300794311023, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 775, + "versionNonce": 37820379, + "isDeleted": false, + "id": "1dRBBMeM95YrOmTQGbhii", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3288.003390568288, + "y": 155.9807179458711, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 214.32707067707437, + "height": 416.61300794311023, + "seed": 1331059735, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -842,111 +519,111 @@ "roundness": { "type": 3 }, - "seed": 1331059735, - "version": 684, - "versionNonce": 1782103607, - "isDeleted": false, "boundElements": [ { - "id": "Rv2GzqyxmfBevkEpz3aAL", + "id": "WwC_ZWDFQjtwZw7iDBDx6", "type": "arrow" } ], - "updated": 1706184323446, + "updated": 1706599829263, "link": null, "locked": false }, { - "id": "czL3rOtvV4NqzRGs0GVjq", "type": "text", - "x": 1336.131202321618, - "y": 729.1966017137414, - "width": 58.68812561035156, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 843, + "versionNonce": 658686718, + "isDeleted": false, + "id": "czL3rOtvV4NqzRGs0GVjq", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3182.5243110588635, + "y": 197.52785052805564, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60, + "height": 20, + "seed": 319888119, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 319888119, - "version": 748, - "versionNonce": 174709879, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706857007570, "link": null, "locked": false, - "text": "presets", "fontSize": 16, "fontFamily": 1, + "text": "presets", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "presets", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "UyOYTvi_ehfK_7ZeUqKNh", "type": "text", - "x": 1503.8857251285642, - "y": 1112.4333809762627, - "width": 89.77618408203125, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 613, + "versionNonce": 1971155938, + "isDeleted": false, + "id": "UyOYTvi_ehfK_7ZeUqKNh", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3349.6669259068253, + "y": 580.7646297905769, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 91, + "height": 20, + "seed": 1487413017, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1487413017, - "version": 518, - "versionNonce": 148935255, - "isDeleted": false, - "boundElements": null, - "updated": 1706184331676, + "boundElements": [], + "updated": 1706857007570, "link": null, "locked": false, - "text": "filter popup", "fontSize": 16, "fontFamily": 1, + "text": "filter popup", "textAlign": "center", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "filter popup", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "RPEpZizMp6THudaffclma", "type": "line", - "x": 1443.8513303137622, - "y": 817.7880190574606, - "width": 209.8943227612449, - "height": 0, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 598, + "versionNonce": 1038902491, + "isDeleted": false, + "id": "RPEpZizMp6THudaffclma", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3290.2444390510077, + "y": 286.1192678717748, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 209.8943227612449, + "height": 0, + "seed": 1661917145, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -954,14 +631,15 @@ "roundness": { "type": 2 }, - "seed": 1661917145, - "version": 508, - "versionNonce": 1729653431, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -971,67 +649,66 @@ 209.8943227612449, 0 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { - "id": "b5cYSaZuXHVCg_wgIGqyf", "type": "text", - "x": 1458.2704632628609, - "y": 710.3847586066553, - "width": 180.432373046875, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 585, + "versionNonce": 1110291262, + "isDeleted": false, + "id": "b5cYSaZuXHVCg_wgIGqyf", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3304.6635720001063, + "y": 178.7160074209695, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 181, + "height": 20, + "seed": 264312921, "groupIds": [ "2HNsImxFeoZFhhEvGVVQs", "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 264312921, - "version": 490, - "versionNonce": 1145568215, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706857007570, "link": null, "locked": false, - "text": "Preventive maintenance", "fontSize": 16, "fontFamily": 1, + "text": "Preventive maintenance", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Preventive maintenance", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "V_siLnoh_ivT7lbnS_gkG", "type": "rectangle", - "x": 1453.6684369571567, - "y": 705.7540551434049, - "width": 189.6364256582831, - "height": 29.261406926500626, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 553, + "versionNonce": 685189659, + "isDeleted": false, + "id": "V_siLnoh_ivT7lbnS_gkG", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615456944024, + "y": 174.08530395771913, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 189.6364256582831, + "height": 29.261406926500626, + "seed": 1888396601, "groupIds": [ "2HNsImxFeoZFhhEvGVVQs", "zTA6sIWqbFYFYo62L4jCZ" @@ -1040,74 +717,69 @@ "roundness": { "type": 3 }, - "seed": 1888396601, - "version": 463, - "versionNonce": 866674935, - "isDeleted": false, - "boundElements": [ - { - "id": "Rv2GzqyxmfBevkEpz3aAL", - "type": "arrow" - } - ], - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "vK17TLw3lSPYKis4oRv10", "type": "text", - "x": 1502.1665509093452, - "y": 745.2733591728676, - "width": 92.64019775390625, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 721, + "versionNonce": 120104866, + "isDeleted": false, + "id": "vK17TLw3lSPYKis4oRv10", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3347.879758523544, + "y": 213.6046079871818, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 94, + "height": 20, + "seed": 1951694233, "groupIds": [ "ORRqIkWB3vVzTIn_7Db65", "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1951694233, - "version": 626, - "versionNonce": 1925067287, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706857007571, "link": null, "locked": false, - "text": "Work orders", "fontSize": 16, "fontFamily": 1, + "text": "Work orders", "textAlign": "center", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Work orders", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "nIXhyg8ZFf5qe6MDluwcQ", "type": "rectangle", - "x": 1453.6684369571567, - "y": 740.6426557096173, - "width": 189.6364256582831, - "height": 29.261406926500626, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 595, + "versionNonce": 1833017179, + "isDeleted": false, + "id": "nIXhyg8ZFf5qe6MDluwcQ", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615456944024, + "y": 208.97390452393154, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 189.6364256582831, + "height": 29.261406926500626, + "seed": 1342399097, "groupIds": [ "ORRqIkWB3vVzTIn_7Db65", "zTA6sIWqbFYFYo62L4jCZ" @@ -1116,69 +788,69 @@ "roundness": { "type": 3 }, - "seed": 1342399097, - "version": 505, - "versionNonce": 444454711, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "YaQApvBsokdg3uc1F-yqm", "type": "text", - "x": 1539.030633245771, - "y": 780.1062165743043, - "width": 18.912033081054688, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 771, + "versionNonce": 1523620734, + "isDeleted": false, + "id": "YaQApvBsokdg3uc1F-yqm", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3385.379758523544, + "y": 248.43746538861853, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 19, + "height": 20, + "seed": 1951381463, "groupIds": [ "dfdClQ7JOENCqrgtUs9JF", "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1951381463, - "version": 676, - "versionNonce": 827054167, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706857007571, "link": null, "locked": false, - "text": "All", "fontSize": 16, "fontFamily": 1, + "text": "All", "textAlign": "center", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "All", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "XNsfKSTCZcHdHN78ttFkf", "type": "rectangle", - "x": 1453.6684369571567, - "y": 775.475513111054, - "width": 189.6364256582831, - "height": 29.261406926500626, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 642, + "versionNonce": 318751899, + "isDeleted": false, + "id": "XNsfKSTCZcHdHN78ttFkf", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615456944024, + "y": 243.80676192536828, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 189.6364256582831, + "height": 29.261406926500626, + "seed": 1426790041, "groupIds": [ "dfdClQ7JOENCqrgtUs9JF", "zTA6sIWqbFYFYo62L4jCZ" @@ -1187,106 +859,106 @@ "roundness": { "type": 3 }, - "seed": 1426790041, - "version": 552, - "versionNonce": 2096936311, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "DpHSN121nXDlx6NRNdrhz", "type": "text", - "x": 1342.3641092820903, - "y": 907.4025306131371, - "width": 53.84010314941406, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 896, + "versionNonce": 1823957858, + "isDeleted": false, + "id": "DpHSN121nXDlx6NRNdrhz", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3188.7572180193356, + "y": 375.7337794274513, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54, + "height": 20, + "seed": 1751994039, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1751994039, - "version": 801, - "versionNonce": 349499031, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706857007571, "link": null, "locked": false, - "text": "custom", "fontSize": 16, "fontFamily": 1, + "text": "custom", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "custom", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "dD_ckfrdnLxCAC6Xr96mr", "type": "text", - "x": 1582.178252340168, - "y": 1073.7013500229032, - "width": 58.384124755859375, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 575, + "versionNonce": 1735162814, + "isDeleted": false, + "id": "dD_ckfrdnLxCAC6Xr96mr", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3428.2634234553434, + "y": 542.0325988372174, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 59, + "height": 20, + "seed": 1425704503, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1425704503, - "version": 480, - "versionNonce": 864617399, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706857007571, "link": null, "locked": false, - "text": "Clear X", "fontSize": 16, "fontFamily": 1, + "text": "Clear X", "textAlign": "center", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Clear X", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "MODVfDzILOSq5U2CXpWJ-", "type": "rectangle", - "x": 1453.668436622357, - "y": 832.0964611084314, - "width": 190.15060904570944, - "height": 30, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 543, + "versionNonce": 1852548731, + "isDeleted": false, + "id": "MODVfDzILOSq5U2CXpWJ-", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615453596024, + "y": 300.42770992274563, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 190.15060904570944, + "height": 30, + "seed": 211090393, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -1294,73 +966,73 @@ "roundness": { "type": 3 }, - "seed": 211090393, - "version": 453, - "versionNonce": 1228764375, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "7jP74cgeKjMRS6qOMTRId" } ], - "updated": 1706184323446, + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "7jP74cgeKjMRS6qOMTRId", "type": "text", - "x": 1469.0562411452117, - "y": 837.4964611084314, - "width": 159.375, - "height": 19.2, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 503, + "versionNonce": 1757880091, + "isDeleted": false, + "id": "7jP74cgeKjMRS6qOMTRId", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3315.449349882457, + "y": 305.8277099227456, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159.375, + "height": 19.2, + "seed": 1710265, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1710265, - "version": 413, - "versionNonce": 1300677111, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, - "text": "WO/PM description", "fontSize": 16, "fontFamily": 3, + "text": "WO/PM description", "textAlign": "center", "verticalAlign": "middle", - "baseline": 15, "containerId": "MODVfDzILOSq5U2CXpWJ-", "originalText": "WO/PM description", - "lineHeight": 1.2 + "lineHeight": 1.2, + "baseline": 15 }, { - "id": "QTprn0vdrbsKR75b8pWTI", "type": "rectangle", - "x": 1453.668436622357, - "y": 870.1677256790848, - "width": 190.15060904570944, - "height": 30, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 561, + "versionNonce": 1181385659, + "isDeleted": false, + "id": "QTprn0vdrbsKR75b8pWTI", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615453596024, + "y": 338.49897449339903, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 190.15060904570944, + "height": 30, + "seed": 1623386137, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -1368,73 +1040,73 @@ "roundness": { "type": 3 }, - "seed": 1623386137, - "version": 471, - "versionNonce": 1365863191, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "a9Z4un0aCIMSoJPwNgwKA" } ], - "updated": 1706184323446, + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "a9Z4un0aCIMSoJPwNgwKA", "type": "text", - "x": 1525.3062411452117, - "y": 875.5677256790848, - "width": 46.875, - "height": 19.2, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 526, + "versionNonce": 796415067, + "isDeleted": false, + "id": "a9Z4un0aCIMSoJPwNgwKA", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3371.699349882457, + "y": 343.898974493399, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 46.875, + "height": 19.2, + "seed": 675314937, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 675314937, - "version": 436, - "versionNonce": 1364848695, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, - "text": "Asset", "fontSize": 16, "fontFamily": 3, + "text": "Asset", "textAlign": "center", "verticalAlign": "middle", - "baseline": 15, "containerId": "QTprn0vdrbsKR75b8pWTI", "originalText": "Asset", - "lineHeight": 1.2 + "lineHeight": 1.2, + "baseline": 15 }, { - "id": "vLHMG_3TJkRozqewV269O", "type": "rectangle", - "x": 1453.668436622357, - "y": 908.2389902497382, - "width": 190.15060904570944, - "height": 30, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 587, + "versionNonce": 599986427, + "isDeleted": false, + "id": "vLHMG_3TJkRozqewV269O", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615453596024, + "y": 376.57023906405243, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 190.15060904570944, + "height": 30, + "seed": 808432441, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -1442,73 +1114,73 @@ "roundness": { "type": 3 }, - "seed": 808432441, - "version": 497, - "versionNonce": 1195168087, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "CMcqkxW1kfZpKNJbjPzIn" } ], - "updated": 1706184323446, + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "CMcqkxW1kfZpKNJbjPzIn", "type": "text", - "x": 1520.6187411452117, - "y": 913.6389902497382, - "width": 56.25, - "height": 19.2, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 558, + "versionNonce": 80558491, + "isDeleted": false, + "id": "CMcqkxW1kfZpKNJbjPzIn", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3367.011849882457, + "y": 381.9702390640524, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 56.25, + "height": 19.2, + "seed": 36103193, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 36103193, - "version": 468, - "versionNonce": 2087095927, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, - "text": "Status", "fontSize": 16, "fontFamily": 3, + "text": "Status", "textAlign": "center", "verticalAlign": "middle", - "baseline": 15, "containerId": "vLHMG_3TJkRozqewV269O", "originalText": "Status", - "lineHeight": 1.2 + "lineHeight": 1.2, + "baseline": 15 }, { - "id": "d_RTL7i5NsOMWwODb2T1y", "type": "rectangle", - "x": 1453.668436622357, - "y": 946.3006033488696, - "width": 190.15060904570944, - "height": 30, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 605, + "versionNonce": 1607028283, + "isDeleted": false, + "id": "d_RTL7i5NsOMWwODb2T1y", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615453596024, + "y": 414.6318521631838, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 190.15060904570944, + "height": 30, + "seed": 2068750487, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -1516,73 +1188,73 @@ "roundness": { "type": 3 }, - "seed": 2068750487, - "version": 515, - "versionNonce": 463185815, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "m6FCfJvOBqBu21BdqSiCs" } ], - "updated": 1706184323446, + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "m6FCfJvOBqBu21BdqSiCs", "type": "text", - "x": 1506.5562411452117, - "y": 951.7006033488695, - "width": 84.375, - "height": 19.2, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 587, + "versionNonce": 2006568667, + "isDeleted": false, + "id": "m6FCfJvOBqBu21BdqSiCs", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3352.949349882457, + "y": 420.03185216318377, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 84.375, + "height": 19.2, + "seed": 1140618679, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 1140618679, - "version": 497, - "versionNonce": 51420343, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, - "text": "Requester", "fontSize": 16, "fontFamily": 3, + "text": "Requester", "textAlign": "center", "verticalAlign": "middle", - "baseline": 15, "containerId": "d_RTL7i5NsOMWwODb2T1y", "originalText": "Requester", - "lineHeight": 1.2 + "lineHeight": 1.2, + "baseline": 15 }, { - "id": "6Q0ITBTUQQHK1e9QRRxbg", "type": "rectangle", - "x": 1453.668436622357, - "y": 986.2569713603845, - "width": 190.15060904570944, - "height": 30, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 627, + "versionNonce": 248593275, + "isDeleted": false, + "id": "6Q0ITBTUQQHK1e9QRRxbg", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615453596024, + "y": 454.5882201746987, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 190.15060904570944, + "height": 30, + "seed": 1160106583, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -1590,73 +1262,73 @@ "roundness": { "type": 3 }, - "seed": 1160106583, - "version": 537, - "versionNonce": 1449782743, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "UtMU13NIKEDZWgK5QNvIa" } ], - "updated": 1706184323446, + "updated": 1706599794579, "link": null, "locked": false }, { - "id": "UtMU13NIKEDZWgK5QNvIa", "type": "text", - "x": 1506.5562411452117, - "y": 991.6569713603843, - "width": 84.375, - "height": 19.2, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 618, + "versionNonce": 1907495963, + "isDeleted": false, + "id": "UtMU13NIKEDZWgK5QNvIa", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3352.949349882457, + "y": 459.98822017469854, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 84.375, + "height": 19.2, + "seed": 931622775, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 931622775, - "version": 528, - "versionNonce": 1354504951, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, - "text": "Work type", "fontSize": 16, "fontFamily": 3, + "text": "Work type", "textAlign": "center", "verticalAlign": "middle", - "baseline": 15, "containerId": "6Q0ITBTUQQHK1e9QRRxbg", "originalText": "Work type", - "lineHeight": 1.2 + "lineHeight": 1.2, + "baseline": 15 }, { - "id": "MsjVsLEZZL6vdidw4muYQ", "type": "rectangle", - "x": 1453.668436622357, - "y": 1027.4619758722592, - "width": 190.15060904570944, - "height": 30, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 644, + "versionNonce": 1851073019, + "isDeleted": false, + "id": "MsjVsLEZZL6vdidw4muYQ", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3300.0615453596024, + "y": 495.79322468657347, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 190.15060904570944, + "height": 30, + "seed": 283022681, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], @@ -1664,84 +1336,80 @@ "roundness": { "type": 3 }, - "seed": 283022681, - "version": 552, - "versionNonce": 1451992087, - "isDeleted": false, "boundElements": [ { "type": "text", "id": "rWW2LRqO7CBfvR8CYf6a3" } ], - "updated": 1706184323446, + "updated": 1706599811477, "link": null, "locked": false }, { - "id": "rWW2LRqO7CBfvR8CYf6a3", "type": "text", - "x": 1469.0562411452117, - "y": 1032.8619758722593, - "width": 159.375, - "height": 19.2, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 660, + "versionNonce": 2011826523, + "isDeleted": false, + "id": "rWW2LRqO7CBfvR8CYf6a3", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3315.449349882457, + "y": 501.19322468657356, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159.375, + "height": 19.2, + "seed": 936733399, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 936733399, - "version": 570, - "versionNonce": 1204619575, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, - "text": "Work family/group", "fontSize": 16, "fontFamily": 3, + "text": "Work family/group", "textAlign": "center", "verticalAlign": "middle", - "baseline": 15, "containerId": "MsjVsLEZZL6vdidw4muYQ", "originalText": "Work family/group", - "lineHeight": 1.2 + "lineHeight": 1.2, + "baseline": 15 }, { - "id": "S-zzJMQzU66imJYjB4FFO", "type": "freedraw", - "x": 1439.2662115020864, - "y": 817.8609445368694, - "width": 29.603402131631356, - "height": 260.7918759215156, - "angle": 0, - "strokeColor": "#343a40", - "backgroundColor": "transparent", + "version": 526, + "versionNonce": 1043736059, + "isDeleted": false, + "id": "S-zzJMQzU66imJYjB4FFO", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "dotted", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 3285.659320239332, + "y": 286.1921933511836, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 29.603402131631356, + "height": 260.7918759215156, + "seed": 813063703, "groupIds": [ "zTA6sIWqbFYFYo62L4jCZ" ], "frameId": null, "roundness": null, - "seed": 813063703, - "version": 436, - "versionNonce": 300206679, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, + "boundElements": [], + "updated": 1706599794579, "link": null, "locked": false, "points": [ @@ -1962,17 +1630,14 @@ 260.0870330136196 ] ], - "pressures": [], + "lastCommittedPoint": null, "simulatePressure": true, - "lastCommittedPoint": [ - -11.277486526335679, - 260.0870330136196 - ] + "pressures": [] }, { "type": "freedraw", - "version": 483, - "versionNonce": 27748215, + "version": 573, + "versionNonce": 1779805851, "isDeleted": false, "id": "02aMSENn_PkcaOEaSVuh0", "fillStyle": "cross-hatch", @@ -1981,8 +1646,8 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1436.4468398705023, - "y": 695.9231214708635, + "x": 3282.839948607748, + "y": 164.25437028517774, "strokeColor": "#343a40", "backgroundColor": "transparent", "width": 29.603402131631356, @@ -1994,7 +1659,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184323446, + "updated": 1706599794579, "link": null, "locked": false, "points": [ @@ -2219,74 +1884,10 @@ "simulatePressure": true, "pressures": [] }, - { - "id": "Rv2GzqyxmfBevkEpz3aAL", - "type": "arrow", - "x": 2061.2099981041915, - "y": 565.7566567676546, - "width": 405.4698684894156, - "height": 233.3413753641737, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "cross-hatch", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1151775129, - "version": 1846, - "versionNonce": 923918167, - "isDeleted": false, - "boundElements": null, - "updated": 1706184323446, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -100.86809098981416, - -112.4485630002714 - ], - [ - -270.2242614970296, - -96.35133160491415 - ], - [ - -357.2119155471803, - 45.00230438840822 - ], - [ - -405.4698684894156, - 120.8928123639023 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "DR4VwW8oFIQ4bTi23EuNf", - "focus": -0.9667722997853408, - "gap": 14.457314684683297 - }, - "endBinding": { - "elementId": "1dRBBMeM95YrOmTQGbhii", - "focus": -0.10904373384305885, - "gap": 1 - }, - "startArrowhead": "dot", - "endArrowhead": "triangle" - }, { "type": "rectangle", - "version": 1756, - "versionNonce": 202314871, + "version": 1762, + "versionNonce": 1201352629, "isDeleted": false, "id": "0nggjHEz4VcO5hVagQVcv", "fillStyle": "solid", @@ -2315,14 +1916,14 @@ "type": "arrow" } ], - "updated": 1706184306256, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 714, - "versionNonce": 1332990585, + "version": 721, + "versionNonce": 1991807515, "isDeleted": false, "id": "Gmr1u54szmiUkN9YuVUAY", "fillStyle": "solid", @@ -2335,14 +1936,14 @@ "y": 986.4297257384433, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 410.15625, + "width": 400, "height": 33.6, "seed": 858001817, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306256, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 28, @@ -2356,33 +1957,38 @@ "baseline": 26 }, { - "id": "MxqqZyYbRoK4nljeNGxhU", "type": "line", - "x": 2134.8431249857326, - "y": 1021.7040681330491, - "width": 0, - "height": 464.96823391542614, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 840, + "versionNonce": 1550151957, + "isDeleted": false, + "id": "MxqqZyYbRoK4nljeNGxhU", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2134.8431249857326, + "y": 1021.7040681330491, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 464.96823391542614, + "seed": 104476215, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 104476215, - "version": 819, - "versionNonce": 1883467159, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, + "boundElements": [], + "updated": 1706599772340, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -2392,17 +1998,12 @@ 0, 464.96823391542614 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { "type": "line", - "version": 1018, - "versionNonce": 975510361, + "version": 1024, + "versionNonce": 464885435, "isDeleted": false, "id": "mT-Xz92Lsg8f4YvZT1TaV", "fillStyle": "solid", @@ -2424,7 +2025,7 @@ "type": 2 }, "boundElements": [], - "updated": 1706184306256, + "updated": 1706599772340, "link": null, "locked": false, "startBinding": null, @@ -2444,457 +2045,110 @@ ] }, { + "type": "text", + "version": 613, + "versionNonce": 1886955298, + "isDeleted": false, "id": "TWGywr2MmOeMW4gs8000_", - "type": "text", - "x": 2344.131026521179, + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2345.3308403639526, "y": 1506.0656097006388, - "width": 326.3996276855469, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 324, "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, "seed": 156067769, - "version": 602, - "versionNonce": 986686135, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, - "link": null, - "locked": false, - "text": "add new, edit, preview work order", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 18, - "containerId": null, - "originalText": "add new, edit, preview work order", - "lineHeight": 1.25 - }, - { - "id": "Y3nbdVTnBpF13nkfmsKU0", - "type": "ellipse", - "x": 2906.1321429112263, - "y": 1037.3210441892006, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 2119972953, - "version": 671, - "versionNonce": 1434077241, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, - "link": null, - "locked": false - }, - { - "id": "9gJTTQRpsz1hht0OqqMYN", - "type": "ellipse", - "x": 2906.1321429112263, - "y": 1109.03909902328, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 516277561, - "version": 710, - "versionNonce": 207107031, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, - "link": null, - "locked": false - }, - { - "id": "GEFLAMRj4yEA1rNQYFRSm", - "type": "ellipse", - "x": 2906.1321429112263, - "y": 1177.4597720259076, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 405452313, - "version": 736, - "versionNonce": 727111961, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, - "link": null, - "locked": false - }, - { - "id": "ifXFQUZQwR3R0HirezPlA", - "type": "ellipse", - "x": 2906.1321429112263, - "y": 1246.7047904863982, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 2105445113, - "version": 757, - "versionNonce": 2096210167, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, - "link": null, - "locked": false - }, - { - "id": "wNiAAV6zgGuZTvY5864FZ", - "type": "text", - "x": 2920.537487729373, - "y": 1042.8688164045034, - "width": 26.856002807617188, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, - "seed": 1223994487, - "version": 480, - "versionNonce": 1026444793, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306256, - "link": null, - "locked": false, - "text": "W", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 32, - "containerId": null, - "originalText": "W", - "lineHeight": 1.25 - }, - { - "type": "text", - "version": 490, - "versionNonce": 773876247, - "isDeleted": false, - "id": "IgpMWQPIeWrJPg4Rmqj_f", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 2923.59748450867, - "y": 1112.1514654045036, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 23.796005249023438, - "height": 45, - "seed": 1583395223, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306256, + "updated": 1706857007572, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "add new, edit, preview work order", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "add new, edit, preview work order", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "ellipse", + "version": 828, + "versionNonce": 1877542747, + "isDeleted": false, + "id": "vDDva5fNnQmo4HxwN8gz3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2057.57658724456, + "y": 1037.6961405225338, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 773554203, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772340, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 642, + "versionNonce": 1847743486, + "isDeleted": false, + "id": "xBzNkZFVCqb_jKgjmeqPR", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2071.909933466515, + "y": 1043.2439127378366, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 27, + "height": 45, + "seed": 76203195, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706857007572, "link": null, "locked": false, "fontSize": 36, "fontFamily": 1, - "text": "P", + "text": "W", "textAlign": "center", "verticalAlign": "top", "containerId": null, - "originalText": "P", + "originalText": "W", "lineHeight": 1.25, "baseline": 32 }, - { - "id": "d-U_xizjLJ_cmjbSiXjS-", - "type": "text", - "x": 2921.7714812596464, - "y": 1181.4341144045036, - "width": 21.888015747070312, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, - "seed": 1475289817, - "version": 483, - "versionNonce": 302261977, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "S", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 32, - "containerId": null, - "originalText": "S", - "lineHeight": 1.25 - }, - { - "id": "jdjuot56WXDRtMOhqYwoy", - "type": "text", - "x": 2922.0954869954226, - "y": 1250.7167633298718, - "width": 21.564010620117188, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, - "seed": 1173362713, - "version": 568, - "versionNonce": 483987255, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "L", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 32, - "containerId": null, - "originalText": "L", - "lineHeight": 1.25 - }, - { - "id": "Wz3mVdVr-D1sldEkuMc-C", - "type": "text", - "x": 1988.521207057492, - "y": 1234.9999914491352, - "width": 36.480072021484375, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "lV1r9UwOvjL-Cqc0bHXCT" - ], - "frameId": null, - "roundness": null, - "seed": 657235865, - "version": 491, - "versionNonce": 74179513, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "save", - "fontSize": 16, - "fontFamily": 1, - "textAlign": "right", - "verticalAlign": "top", - "baseline": 14, - "containerId": null, - "originalText": "save", - "lineHeight": 1.25 - }, - { - "type": "text", - "version": 607, - "versionNonce": 864030807, - "isDeleted": false, - "id": "5BRLdUcImdXd-sAkul1NW", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1914.9850437081407, - "y": 1308.8160320867419, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 110.0162353515625, - "height": 20, - "seed": 490413495, - "groupIds": [ - "lV1r9UwOvjL-Cqc0bHXCT" - ], - "frameId": null, - "roundness": null, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 1, - "text": "save and exit", - "textAlign": "right", - "verticalAlign": "top", - "containerId": null, - "originalText": "save and exit", - "lineHeight": 1.25, - "baseline": 14 - }, - { - "type": "text", - "version": 651, - "versionNonce": 1351156889, - "isDeleted": false, - "id": "NIRZl827FKmclhhKsmfJG", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1977.8331882393907, - "y": 1377.907705086742, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 47.1680908203125, - "height": 20, - "seed": 241546167, - "groupIds": [ - "lV1r9UwOvjL-Cqc0bHXCT" - ], - "frameId": null, - "roundness": null, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 1, - "text": "cancel", - "textAlign": "right", - "verticalAlign": "top", - "containerId": null, - "originalText": "cancel", - "lineHeight": 1.25, - "baseline": 14 - }, - { - "type": "text", - "version": 694, - "versionNonce": 468315511, - "isDeleted": false, - "id": "nwfWQopAIVcO11jOf_vRF", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1973.0171787179063, - "y": 1446.999378086742, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 51.984100341796875, - "height": 20, - "seed": 141279159, - "groupIds": [ - "lV1r9UwOvjL-Cqc0bHXCT" - ], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 1, - "text": "Delete", - "textAlign": "right", - "verticalAlign": "top", - "containerId": null, - "originalText": "Delete", - "lineHeight": 1.25, - "baseline": 14 - }, { "type": "rectangle", - "version": 1462, - "versionNonce": 1645152633, + "version": 1468, + "versionNonce": 479789531, "isDeleted": false, "id": "76OvoXmC2YLglD63P_Axv", "fillStyle": "solid", @@ -2921,14 +2175,14 @@ "id": "CfGMUD22aSZcijlj-Qdf0" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1549, - "versionNonce": 1364928151, + "version": 1555, + "versionNonce": 1456790869, "isDeleted": false, "id": "CfGMUD22aSZcijlj-Qdf0", "fillStyle": "solid", @@ -2948,7 +2202,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -2963,8 +2217,8 @@ }, { "type": "rectangle", - "version": 1638, - "versionNonce": 1648456281, + "version": 1644, + "versionNonce": 1399983739, "isDeleted": false, "id": "cMEh_eUqyk39LzOYm1pkt", "fillStyle": "solid", @@ -2991,14 +2245,14 @@ "id": "NE4k8gNFopVvckpUpaR-o" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1775, - "versionNonce": 1921530807, + "version": 1781, + "versionNonce": 1599630005, "isDeleted": false, "id": "NE4k8gNFopVvckpUpaR-o", "fillStyle": "solid", @@ -3018,7 +2272,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -3032,108 +2286,108 @@ "baseline": 19 }, { - "id": "4UFNPMprMtz3nEbKJwt0n", "type": "rectangle", - "x": 2664.0365885789984, - "y": 1028.7368946074587, - "width": 207.9372879789612, - "height": 236.0247182029071, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 537, + "versionNonce": 817923867, + "isDeleted": false, + "id": "4UFNPMprMtz3nEbKJwt0n", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dotted", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2664.0365885789984, + "y": 1028.7368946074587, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 207.9372879789612, + "height": 236.0247182029071, + "seed": 897316121, "groupIds": [], "frameId": null, "roundness": { "type": 3 }, - "seed": 897316121, - "version": 531, - "versionNonce": 99860281, - "isDeleted": false, "boundElements": [ { "id": "lJHxrhngCwXSwzDyJyj2V", "type": "arrow" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { - "id": "U_0VFsSHTEZJWnSX_aqQj", "type": "rectangle", - "x": 2674.214829310417, - "y": 1224.9995329939443, - "width": 15.821315389703614, - "height": 15.8213153897035, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 656, + "versionNonce": 516115477, + "isDeleted": false, + "id": "U_0VFsSHTEZJWnSX_aqQj", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2674.214829310417, + "y": 1224.9995329939443, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 15.821315389703614, + "height": 15.8213153897035, + "seed": 1866748151, "groupIds": [], "frameId": null, "roundness": { "type": 3 }, - "seed": 1866748151, - "version": 650, - "versionNonce": 1402318039, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772340, "link": null, "locked": false }, { - "id": "ZROg7dmoN-YH48DAzVkVm", "type": "text", - "x": 2702.019423293256, - "y": 1222.9101907033269, - "width": 122.1922607421875, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 659, + "versionNonce": 987460322, + "isDeleted": false, + "id": "ZROg7dmoN-YH48DAzVkVm", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2702.019423293256, + "y": 1222.9101907033269, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 123, + "height": 20, + "seed": 580721175, "groupIds": [], "frameId": null, "roundness": null, - "seed": 580721175, - "version": 648, - "versionNonce": 461991961, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007573, "link": null, "locked": false, - "text": "Dangerous work", "fontSize": 16, "fontFamily": 1, + "text": "Dangerous work", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Dangerous work", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { "type": "rectangle", - "version": 1903, - "versionNonce": 1343748599, + "version": 1909, + "versionNonce": 1695220085, "isDeleted": false, "id": "91PDXkNh9ozml2XrVCksr", "fillStyle": "solid", @@ -3160,14 +2414,14 @@ "id": "MTDENizH8ym8lZr8JZj7K" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 2040, - "versionNonce": 1492518137, + "version": 2046, + "versionNonce": 104315995, "isDeleted": false, "id": "MTDENizH8ym8lZr8JZj7K", "fillStyle": "solid", @@ -3187,7 +2441,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -3202,8 +2456,8 @@ }, { "type": "rectangle", - "version": 2064, - "versionNonce": 1561568023, + "version": 2070, + "versionNonce": 1735723733, "isDeleted": false, "id": "dMYc55abT-YUq6CPzTTA8", "fillStyle": "solid", @@ -3230,14 +2484,14 @@ "id": "y5UUmScNh3sn1mhdBiiaJ" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 2213, - "versionNonce": 1773993433, + "version": 2219, + "versionNonce": 1045788923, "isDeleted": false, "id": "y5UUmScNh3sn1mhdBiiaJ", "fillStyle": "solid", @@ -3257,7 +2511,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -3272,8 +2526,8 @@ }, { "type": "rectangle", - "version": 1843, - "versionNonce": 1526540343, + "version": 1849, + "versionNonce": 378988597, "isDeleted": false, "id": "VjN4lNVniteJ4vtyxQKYS", "fillStyle": "solid", @@ -3300,14 +2554,14 @@ "id": "P4fCVNNioiF7E0lzfvQgz" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1920, - "versionNonce": 1022483129, + "version": 1926, + "versionNonce": 1892852123, "isDeleted": false, "id": "P4fCVNNioiF7E0lzfvQgz", "fillStyle": "solid", @@ -3327,7 +2581,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -3341,86 +2595,86 @@ "baseline": 19 }, { - "id": "27g6d6zkbFMakk4yjYlMe", "type": "text", - "x": 2673.7341830275386, - "y": 1099.911573928732, - "width": 157.00833129882812, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 787, + "versionNonce": 150152254, + "isDeleted": false, + "id": "27g6d6zkbFMakk4yjYlMe", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2673.7341830275386, + "y": 1099.911573928732, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 160, + "height": 20, + "seed": 1089594713, "groupIds": [], "frameId": null, "roundness": null, - "seed": 1089594713, - "version": 776, - "versionNonce": 666437975, - "isDeleted": false, "boundElements": [ { "id": "LMqJ20fZfwy1L7Ag6eENI", "type": "arrow" } ], - "updated": 1706184306257, + "updated": 1706857007573, "link": null, "locked": false, - "text": "Created: dd-mm-yyyy", "fontSize": 16, "fontFamily": 1, + "text": "Created: dd-mm-yyyy", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Created: dd-mm-yyyy", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "2n275KB8dVMGKR5z78AzE", "type": "text", - "x": 2674.214829310417, - "y": 1129.4590160365092, - "width": 143.7923126220703, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 821, + "versionNonce": 242140834, + "isDeleted": false, + "id": "2n275KB8dVMGKR5z78AzE", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2674.214829310417, + "y": 1129.4590160365092, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 147, + "height": 20, + "seed": 423859415, "groupIds": [], "frameId": null, "roundness": null, - "seed": 423859415, - "version": 810, - "versionNonce": 322444185, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007573, "link": null, "locked": false, - "text": "Edited: dd-mm-yyyy", "fontSize": 16, "fontFamily": 1, + "text": "Edited: dd-mm-yyyy", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Edited: dd-mm-yyyy", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { "type": "text", - "version": 847, - "versionNonce": 1889257079, + "version": 858, + "versionNonce": 1774185598, "isDeleted": false, "id": "HtmF7uDtsZerEiCY9Wrr2", "fillStyle": "solid", @@ -3429,18 +2683,18 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2696.805083032347, + "x": 2696.5052325684796, "y": 1042.253270765359, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 142.40029907226562, + "width": 143, "height": 40, "seed": 957028217, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706857007573, "link": null, "locked": false, "fontSize": 16, @@ -3455,8 +2709,8 @@ }, { "type": "rectangle", - "version": 1828, - "versionNonce": 1287864441, + "version": 1834, + "versionNonce": 1600468699, "isDeleted": false, "id": "9QTwogHffbYhU-6uJYJ3F", "fillStyle": "solid", @@ -3483,14 +2737,14 @@ "id": "dDbhD2oEPmhbkDsV527UJ" } ], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false }, { "type": "text", - "version": 1912, - "versionNonce": 1147789207, + "version": 1918, + "versionNonce": 500332629, "isDeleted": false, "id": "dDbhD2oEPmhbkDsV527UJ", "fillStyle": "solid", @@ -3510,7 +2764,7 @@ "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306257, + "updated": 1706599772340, "link": null, "locked": false, "fontSize": 20, @@ -3524,33 +2778,38 @@ "baseline": 19 }, { - "id": "M4LijTijqWwRI7kucnJ4L", "type": "line", + "version": 558, + "versionNonce": 955229051, + "isDeleted": false, + "id": "M4LijTijqWwRI7kucnJ4L", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, "x": 2671.7431040079314, "y": 1090.2890820827415, - "width": 197.06497598022588, - "height": 0, - "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dotted", - "roughness": 1, - "opacity": 100, + "width": 197.06497598022588, + "height": 0, + "seed": 1419341625, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1419341625, - "version": 552, - "versionNonce": 2002176345, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772340, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -3560,41 +2819,41 @@ 197.06497598022588, 0 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { - "id": "fJuPdKYhTdQTB4WbFa1by", "type": "line", + "version": 604, + "versionNonce": 1240114613, + "isDeleted": false, + "id": "fJuPdKYhTdQTB4WbFa1by", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, "x": 2671.7431040079314, "y": 1159.50214681726, - "width": 197.06497598022588, - "height": 0, - "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dotted", - "roughness": 1, - "opacity": 100, + "width": 197.06497598022588, + "height": 0, + "seed": 1090823959, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1090823959, - "version": 598, - "versionNonce": 1700254903, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -3604,93 +2863,77 @@ 197.06497598022588, 0 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { - "id": "lHG7_KEcLq8Jnlob9oJs-", "type": "text", - "x": 2783.7239739801503, - "y": 943.0593089024751, - "width": 266.7685546875, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#ffc9c9", + "version": 425, + "versionNonce": 65118818, + "isDeleted": false, + "id": "lHG7_KEcLq8Jnlob9oJs-", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2783.1082513239003, + "y": 943.0593089024751, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 268, + "height": 20, + "seed": 714073527, "groupIds": [], "frameId": null, "roundness": null, - "seed": 714073527, - "version": 414, - "versionNonce": 474363449, - "isDeleted": false, "boundElements": [ { "id": "lJHxrhngCwXSwzDyJyj2V", "type": "arrow" } ], - "updated": 1706184306257, + "updated": 1706857007574, "link": null, "locked": false, - "text": "change bg-color based on status?", "fontSize": 16, "fontFamily": 1, + "text": "change bg-color based on status?", "textAlign": "center", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "change bg-color based on status?", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { - "id": "lJHxrhngCwXSwzDyJyj2V", "type": "arrow", - "x": 2886.8761314717863, - "y": 969.6179918968116, - "width": 19.756773533934393, - "height": 58.118902710647035, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#ffc9c9", + "version": 1178, + "versionNonce": 290858773, + "isDeleted": false, + "id": "lJHxrhngCwXSwzDyJyj2V", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2886.8761314717863, + "y": 969.6179918968116, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 19.756773533934393, + "height": 58.118902710647035, + "seed": 1835857047, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1835857047, - "version": 1172, - "versionNonce": 1527391703, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -19.756773533934393, - 58.118902710647035 - ] - ], - "lastCommittedPoint": null, "startBinding": { "elementId": "lHG7_KEcLq8Jnlob9oJs-", "focus": 0.17986951473646676, @@ -3701,89 +2944,89 @@ "focus": 0.4071015742018469, "gap": 1 }, + "lastCommittedPoint": null, "startArrowhead": null, - "endArrowhead": "triangle" - }, - { - "id": "DLa0lPVXghvlzyQUiLnzi", - "type": "text", - "x": 2576.225812744716, - "y": 967.1077828912821, - "width": 191.8723907470703, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "cross-hatch", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, - "seed": 1053595833, - "version": 628, - "versionNonce": 1316292377, - "isDeleted": false, - "boundElements": [ - { - "id": "LMqJ20fZfwy1L7Ag6eENI", - "type": "arrow" - } - ], - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "show requester on hover", - "fontSize": 16, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 14, - "containerId": null, - "originalText": "show requester on hover", - "lineHeight": 1.25 - }, - { - "id": "LMqJ20fZfwy1L7Ag6eENI", - "type": "arrow", - "x": 2677.4616449556256, - "y": 996.8144077491406, - "width": 5.402161458925093, - "height": 97.2031383347495, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "cross-hatch", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 939495863, - "version": 1377, - "versionNonce": 1150636791, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, + "endArrowhead": "triangle", "points": [ [ 0, 0 ], [ - -5.402161458925093, - 97.2031383347495 + -19.756773533934393, + 58.118902710647035 ] + ] + }, + { + "type": "text", + "version": 639, + "versionNonce": 1581886654, + "isDeleted": false, + "id": "DLa0lPVXghvlzyQUiLnzi", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2575.1620081182514, + "y": 967.1077828912821, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 194, + "height": 20, + "seed": 1053595833, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "LMqJ20fZfwy1L7Ag6eENI", + "type": "arrow" + } ], - "lastCommittedPoint": null, + "updated": 1706857007574, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "show requester on hover", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "show requester on hover", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "arrow", + "version": 1383, + "versionNonce": 1451916405, + "isDeleted": false, + "id": "LMqJ20fZfwy1L7Ag6eENI", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2677.4616449556256, + "y": 996.8144077491406, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 5.402161458925093, + "height": 97.2031383347495, + "seed": 939495863, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772341, + "link": null, + "locked": false, "startBinding": { "elementId": "DLa0lPVXghvlzyQUiLnzi", "focus": -0.06627342315664783, @@ -3794,37 +3037,53 @@ "focus": -1.0253259283609935, "gap": 5.894027844841958 }, + "lastCommittedPoint": null, "startArrowhead": null, - "endArrowhead": "triangle" + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -5.402161458925093, + 97.2031383347495 + ] + ] }, { - "id": "hLpHxHS2GPaXw04Uwjiuw", "type": "line", - "x": 2671.7431040079314, - "y": 1201.358225293147, - "width": 197.06497598022588, - "height": 0, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 670, + "versionNonce": 180449627, + "isDeleted": false, + "id": "hLpHxHS2GPaXw04Uwjiuw", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dotted", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2671.7431040079314, + "y": 1201.358225293147, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 197.06497598022588, + "height": 0, + "seed": 850411287, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 850411287, - "version": 664, - "versionNonce": 2018950137, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -3834,105 +3093,48 @@ 197.06497598022588, 0 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { - "id": "X6ZL8ZTMvlKjWI3ba1hvI", "type": "text", - "x": 2674.214829310417, - "y": 1170.186856765529, - "width": 130.7522735595703, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 867, + "versionNonce": 1174603298, + "isDeleted": false, + "id": "X6ZL8ZTMvlKjWI3ba1hvI", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2674.214829310417, + "y": 1170.186856765529, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 133, + "height": 20, + "seed": 392705847, "groupIds": [], "frameId": null, "roundness": null, - "seed": 392705847, - "version": 856, - "versionNonce": 1786633239, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007574, "link": null, "locked": false, - "text": "Work type: XX-YY", "fontSize": 16, "fontFamily": 1, + "text": "Work type: XX-YY", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "Work type: XX-YY", - "lineHeight": 1.25 - }, - { - "id": "VXi60QIzLUp38vtgjfIIx", - "type": "arrow", - "x": 2420.978367082267, - "y": 706.0737133227827, - "width": 304.7203992150794, - "height": 105.85297507268251, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "cross-hatch", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1707191799, - "version": 257, - "versionNonce": 280510775, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -304.7203992150794, - -105.85297507268251 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "mg1kigUgF1xPBRh8EbmBN", - "focus": -0.835148957821969, - "gap": 8.54749910962937 - }, - "endBinding": { - "elementId": "4an4-nm8d0BleO79ogGl0", - "focus": 0.9112733982121423, - "gap": 2.499728877884081 - }, - "startArrowhead": null, - "endArrowhead": "triangle" + "lineHeight": 1.25, + "baseline": 14 }, { "type": "rectangle", - "version": 1953, - "versionNonce": 651219385, + "version": 1964, + "versionNonce": 615752501, "isDeleted": false, "id": "UN7eJ8AG1BVsAH_9jN9qE", "fillStyle": "solid", @@ -3948,313 +3150,277 @@ "width": 936.2131903354187, "height": 466.57181944584806, "seed": 794041593, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 3 }, "boundElements": [ - { - "id": "DteT1eDPAlc_Gz-gG7bqP", - "type": "arrow" - }, { "id": "eZY1sCI9X6AClX_vtLx3w", "type": "arrow" } ], - "updated": 1706184306257, + "updated": 1706599772341, "link": null, "locked": false }, { - "id": "ZEo99QAbAO47p8--HBfd-", "type": "text", - "x": 2172.261916442223, - "y": 163.9159203970978, - "width": 22.279983520507812, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 761, + "versionNonce": 1412523262, + "isDeleted": false, + "id": "ZEo99QAbAO47p8--HBfd-", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2172.401908202477, + "y": 163.9159203970978, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 22, + "height": 25, + "seed": 2090341849, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 2090341849, - "version": 745, - "versionNonce": 145293911, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007574, "link": null, "locked": false, - "text": "Id", "fontSize": 20, "fontFamily": 1, + "text": "Id", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Id", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { - "id": "CkCABc8KuyOn0P-BdVmd6", "type": "text", - "x": 2262.5086666474767, - "y": 163.9159203970978, - "width": 58.99993896484375, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 808, + "versionNonce": 1304556002, + "isDeleted": false, + "id": "CkCABc8KuyOn0P-BdVmd6", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2263.0086361298986, + "y": 163.9159203970978, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 58, + "height": 25, + "seed": 1957294777, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 1957294777, - "version": 792, - "versionNonce": 1948267161, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007575, "link": null, "locked": false, - "text": "Data1", "fontSize": 20, "fontFamily": 1, + "text": "Data1", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Data1", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { - "id": "myQuI1HagifoucfsqyYKJ", "type": "text", - "x": 2371.2478504513792, - "y": 162.2900657659286, - "width": 67.81993103027344, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1019, + "versionNonce": 1559762238, + "isDeleted": false, + "id": "myQuI1HagifoucfsqyYKJ", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2371.657815966516, + "y": 162.2900657659286, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 67, + "height": 25, + "seed": 1368449209, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 1368449209, - "version": 1003, - "versionNonce": 52731767, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007575, "link": null, "locked": false, - "text": "Data2", "fontSize": 20, "fontFamily": 1, + "text": "Data2", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Data2", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { - "id": "-Yf8k6Dj3Lj-jOgr249Af", "type": "text", - "x": 2473.5747131300272, - "y": 163.9159203970978, - "width": 67.19992065429688, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 815, + "versionNonce": 506291618, + "isDeleted": false, + "id": "-Yf8k6Dj3Lj-jOgr249Af", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2473.6746734571757, + "y": 163.9159203970978, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 67, + "height": 25, + "seed": 168190361, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 168190361, - "version": 799, - "versionNonce": 647001977, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007575, "link": null, "locked": false, - "text": "Data3", "fontSize": 20, "fontFamily": 1, + "text": "Data3", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Data3", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { - "id": "IoXP3HH9PXErWUBPpkQME", "type": "text", - "x": 2588.731436479812, - "y": 163.9159203970978, - "width": 66.37992858886719, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 852, + "versionNonce": 838778238, + "isDeleted": false, + "id": "IoXP3HH9PXErWUBPpkQME", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2588.9214007742457, + "y": 163.9159203970978, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 66, + "height": 25, + "seed": 500745849, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 500745849, - "version": 836, - "versionNonce": 577738903, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007575, "link": null, "locked": false, - "text": "Data4", "fontSize": 20, "fontFamily": 1, + "text": "Data4", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Data4", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { - "id": "NFjnbU6And4fMiUyl8kGC", "type": "text", - "x": 2695.960618147484, - "y": 162.2900657659286, - "width": 65.93992614746094, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1072, + "versionNonce": 7627106, + "isDeleted": false, + "id": "NFjnbU6And4fMiUyl8kGC", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2696.4305812212147, + "y": 162.2900657659286, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 65, + "height": 25, + "seed": 1472958297, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 1472958297, - "version": 1056, - "versionNonce": 811933785, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007575, "link": null, "locked": false, - "text": "Data5", "fontSize": 20, "fontFamily": 1, + "text": "Data5", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Data5", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { - "id": "87zM95Ly4uuN74flGhu5I", "type": "text", - "x": 2797.610584531308, - "y": 162.2900657659286, - "width": 66.37992858886719, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1111, + "versionNonce": 948329918, + "isDeleted": false, + "id": "87zM95Ly4uuN74flGhu5I", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "PsfhefM7HzjxYyu4d8TRY", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2797.8005488257418, + "y": 162.2900657659286, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 66, + "height": 25, + "seed": 1580350521, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 1580350521, - "version": 1095, - "versionNonce": 1279159735, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007576, "link": null, "locked": false, - "text": "Data6", "fontSize": 20, "fontFamily": 1, + "text": "Data6", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "Data6", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { "type": "text", - "version": 900, - "versionNonce": 1869720889, + "version": 911, + "versionNonce": 575791285, "isDeleted": false, "id": "Tsqbh7GIgIrad2GB3bY7S", "fillStyle": "solid", @@ -4267,17 +3433,14 @@ "y": 99.33499905520806, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 131.25, + "width": 128, "height": 33.6, "seed": 1278030745, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": null, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "fontSize": 28, @@ -4291,37 +3454,38 @@ "baseline": 26 }, { - "id": "GiwFyr_npqc96myRXE4bv", "type": "line", - "x": 2134.7650507705134, - "y": 206.28579792627355, - "width": 746.4619710100746, - "height": 0, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 944, + "versionNonce": 1287745819, + "isDeleted": false, + "id": "GiwFyr_npqc96myRXE4bv", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2134.7650507705134, + "y": 206.28579792627355, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 746.4619710100746, + "height": 0, + "seed": 1465211001, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1465211001, - "version": 933, - "versionNonce": 1001758423, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -4331,46 +3495,41 @@ 746.4619710100746, 0 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { - "id": "HJgQNRhpEYGb6Yt9DX-Rd", "type": "line", - "x": 2135.00970978949, - "y": 143.91201044981395, - "width": 0, - "height": 464.96823391542614, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1025, + "versionNonce": 1864237589, + "isDeleted": false, + "id": "HJgQNRhpEYGb6Yt9DX-Rd", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2135.00970978949, + "y": 143.91201044981395, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 464.96823391542614, + "seed": 400941401, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 400941401, - "version": 1013, - "versionNonce": 991534617, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -4380,17 +3539,12 @@ 0, 464.96823391542614 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { "type": "line", - "version": 1047, - "versionNonce": 1399434231, + "version": 1059, + "versionNonce": 457872827, "isDeleted": false, "id": "rXLKKGnfhbOET2-SUOdsy", "fillStyle": "solid", @@ -4406,18 +3560,13 @@ "width": 0, "height": 464.96823391542614, "seed": 187846201, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "startBinding": null, @@ -4438,8 +3587,8 @@ }, { "type": "line", - "version": 1109, - "versionNonce": 844133113, + "version": 1121, + "versionNonce": 77526901, "isDeleted": false, "id": "K1Bk2Zq6sJ1qeRUd2d10K", "fillStyle": "solid", @@ -4455,18 +3604,13 @@ "width": 0, "height": 464.96823391542614, "seed": 941498137, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "startBinding": null, @@ -4487,8 +3631,8 @@ }, { "type": "line", - "version": 1128, - "versionNonce": 794760471, + "version": 1140, + "versionNonce": 1384523355, "isDeleted": false, "id": "17Qkmfe0nSTG1k0RZOtrr", "fillStyle": "solid", @@ -4504,18 +3648,13 @@ "width": 0, "height": 464.96823391542614, "seed": 2099041273, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "startBinding": null, @@ -4535,38 +3674,38 @@ ] }, { - "id": "63JaoClV5Ts7h3yCfc4Ms", "type": "line", - "x": 2563.687740082248, - "y": 143.91201044981395, - "width": 0, - "height": 464.96823391542614, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1081, + "versionNonce": 488259797, + "isDeleted": false, + "id": "63JaoClV5Ts7h3yCfc4Ms", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2563.687740082248, + "y": 143.91201044981395, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 464.96823391542614, + "seed": 506588377, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 506588377, - "version": 1069, - "versionNonce": 1234807769, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, "points": [ [ 0, @@ -4576,17 +3715,12 @@ 0, 464.96823391542614 ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null + ] }, { "type": "line", - "version": 1103, - "versionNonce": 1997167159, + "version": 1115, + "versionNonce": 155624187, "isDeleted": false, "id": "lR9c_CWb9rZtz_9IOAPWe", "fillStyle": "solid", @@ -4602,18 +3736,13 @@ "width": 0, "height": 464.96823391542614, "seed": 317778361, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "startBinding": null, @@ -4634,8 +3763,8 @@ }, { "type": "line", - "version": 1165, - "versionNonce": 420006073, + "version": 1177, + "versionNonce": 237329973, "isDeleted": false, "id": "ulpgW67C7taCylIbLwXOW", "fillStyle": "solid", @@ -4651,18 +3780,13 @@ "width": 0, "height": 464.96823391542614, "seed": 343755417, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "startBinding": null, @@ -4683,8 +3807,8 @@ }, { "type": "line", - "version": 1184, - "versionNonce": 1867512663, + "version": 1196, + "versionNonce": 1477348251, "isDeleted": false, "id": "lwZyUQTZWAnf1FyN3O4Nt", "fillStyle": "solid", @@ -4700,18 +3824,13 @@ "width": 0, "height": 464.96823391542614, "seed": 1804242809, - "groupIds": [ - "MjDgjdg4kXNKqoWMnhdlc", - "s25dU5rXch4tL7mCxfD8k", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false, "startBinding": null, @@ -4731,264 +3850,238 @@ ] }, { - "id": "bFWjBJqnUAi5N3n2ZWux_", "type": "text", - "x": 2288.9776497770845, - "y": 629.5235520174035, - "width": 437.03955078125, - "height": 25, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 781, + "versionNonce": 1072031010, + "isDeleted": false, + "id": "bFWjBJqnUAi5N3n2ZWux_", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2290.4974251677095, + "y": 629.5235520174035, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 434, + "height": 25, + "seed": 927253465, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 927253465, - "version": 766, - "versionNonce": 1782663577, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007576, "link": null, "locked": false, - "text": "table of work orders/preventive maintenance", "fontSize": 20, "fontFamily": 1, + "text": "table of work orders/preventive maintenance", "textAlign": "center", "verticalAlign": "top", - "baseline": 18, "containerId": null, "originalText": "table of work orders/preventive maintenance", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 18 }, { + "type": "ellipse", + "version": 1290, + "versionNonce": 588275771, + "isDeleted": false, "id": "ZGc5xyIvbii_pIj0CGiiv", - "type": "ellipse", - "x": 2060.7431721594276, - "y": 329.73770188773267, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "CYQve1aRIp_RoJOSGDxz1", - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, + "angle": 0, + "x": 2901.101328889477, + "y": 327.6489906448246, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, "seed": 1089490201, - "version": 1048, - "versionNonce": 1283750007, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false }, { + "type": "ellipse", + "version": 1325, + "versionNonce": 483464437, + "isDeleted": false, "id": "tIfs2oRc0JFVBguIQ7jFW", - "type": "ellipse", - "x": 2060.7431721594276, - "y": 401.4557567218122, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "CYQve1aRIp_RoJOSGDxz1", - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, + "angle": 0, + "x": 2901.101328889477, + "y": 399.3670454789041, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, "seed": 1199129081, - "version": 1083, - "versionNonce": 108441209, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false }, { + "type": "ellipse", + "version": 1351, + "versionNonce": 607035611, + "isDeleted": false, "id": "NBHlnlk98WKnoToPY8MYT", - "type": "ellipse", - "x": 2060.7431721594276, - "y": 469.87642972443973, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "CYQve1aRIp_RoJOSGDxz1", - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, + "angle": 0, + "x": 2901.101328889477, + "y": 467.78771848153167, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, "seed": 2127600345, - "version": 1109, - "versionNonce": 1147949463, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false }, { - "id": "2QvW6s3jw5klJP7WPChk9", "type": "ellipse", - "x": 2060.7431721594276, - "y": 539.1214481849303, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1380, + "versionNonce": 2055389851, + "isDeleted": false, + "id": "2QvW6s3jw5klJP7WPChk9", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "CYQve1aRIp_RoJOSGDxz1", - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2901.101328889477, + "y": 537.0327369420222, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 1781598167, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1781598167, - "version": 1133, - "versionNonce": 1147959129, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [ + { + "id": "WwC_ZWDFQjtwZw7iDBDx6", + "type": "arrow" + } + ], + "updated": 1706599829263, "link": null, "locked": false }, { - "id": "AngCsxgQFZ8FlJDffEu--", "type": "text", - "x": 2076.389979684918, - "y": 334.0196323839359, - "width": 22.500015258789062, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1092, + "versionNonce": 95417854, + "isDeleted": false, + "id": "AngCsxgQFZ8FlJDffEu--", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2916.498144044362, + "y": 331.93092114102785, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 23, + "height": 45, + "seed": 600340633, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 600340633, - "version": 846, - "versionNonce": 1614546615, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007576, "link": null, "locked": false, - "text": "+", "fontSize": 36, "fontFamily": 1, + "text": "+", "textAlign": "center", "verticalAlign": "top", - "baseline": 32, "containerId": null, "originalText": "+", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 32 }, { - "id": "y_U_FPL_9JR3gVTy88NCf", "type": "text", - "x": 2069.3672792195384, - "y": 478.8507712867529, - "width": 34.80415344238281, - "height": 35, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1123, + "versionNonce": 1710289122, + "isDeleted": false, + "id": "y_U_FPL_9JR3gVTy88NCf", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2909.627512670779, + "y": 476.7620600438448, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 35, + "height": 35, + "seed": 88079737, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 88079737, - "version": 877, - "versionNonce": 1450583097, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007577, "link": null, "locked": false, - "text": "Ed", "fontSize": 28, "fontFamily": 1, + "text": "Ed", "textAlign": "center", "verticalAlign": "top", - "baseline": 25, "containerId": null, "originalText": "Ed", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 25 }, { "type": "text", - "version": 912, - "versionNonce": 244848599, + "version": 1158, + "versionNonce": 1652327998, "isDeleted": false, "id": "mOf1HdeIlUxFfE7a1VcGR", "fillStyle": "solid", @@ -4997,22 +4090,18 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2071.823158102669, - "y": 409.3022139082947, + "x": 2911.95537794307, + "y": 407.2135026653866, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 30.548126220703125, + "width": 31, "height": 35, "seed": 1530127961, - "groupIds": [ - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": null, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007577, "link": null, "locked": false, "fontSize": 28, @@ -5026,723 +4115,117 @@ "baseline": 25 }, { - "id": "DR4VwW8oFIQ4bTi23EuNf", "type": "text", - "x": 2075.667312788875, - "y": 547.866520298951, - "width": 22.204086303710938, - "height": 35, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 1090, + "versionNonce": 1982104738, + "isDeleted": false, + "id": "DR4VwW8oFIQ4bTi23EuNf", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "ABqdLqg2L7U_PT-cL4BCc", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2916.1275126707797, + "y": 545.7778090560429, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 22, + "height": 35, + "seed": 544715577, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 544715577, - "version": 843, - "versionNonce": 1484207385, - "isDeleted": false, - "boundElements": [ - { - "id": "Rv2GzqyxmfBevkEpz3aAL", - "type": "arrow" - } - ], - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007577, "link": null, "locked": false, - "text": "Fi", "fontSize": 28, "fontFamily": 1, + "text": "Fi", "textAlign": "center", "verticalAlign": "top", - "baseline": 25, "containerId": null, "originalText": "Fi", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 25 }, { - "id": "4an4-nm8d0BleO79ogGl0", - "type": "rectangle", - "x": 2049.185640370366, - "y": 155.39577057524173, - "width": 76.35376145900108, - "height": 442.32523879697453, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 3 - }, - "seed": 695133209, - "version": 1007, - "versionNonce": 1972700407, - "isDeleted": false, - "boundElements": [ - { - "id": "iQpwQC_Zxwr4fKToMToXQ", - "type": "arrow" - }, - { - "id": "VXi60QIzLUp38vtgjfIIx", - "type": "arrow" - } - ], - "updated": 1706184306257, - "link": null, - "locked": false - }, - { - "id": "J9irHVDB_SLk4-2nUzUsU", "type": "text", - "x": 2986.140328453596, - "y": 180.77351678143208, - "width": 379.6967468261719, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 771, + "versionNonce": 1338838654, + "isDeleted": false, + "id": "J9irHVDB_SLk4-2nUzUsU", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 3361.0304809892873, + "y": 62.445356541553, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 383, + "height": 20, + "seed": 460792311, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 460792311, - "version": 715, - "versionNonce": 501426681, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, + "boundElements": [], + "updated": 1706857007578, "link": null, "locked": false, - "text": "work orders (order generated based on PM too)", "fontSize": 16, "fontFamily": 1, + "text": "work orders (order generated based on PM too)", "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "work orders (order generated based on PM too)", - "lineHeight": 1.25 - }, - { - "type": "text", - "version": 746, - "versionNonce": 79121943, - "isDeleted": false, - "id": "QXIDXU5XzRpZPhVn7AjEz", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 2984.8222797353123, - "y": 249.4275371262898, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 448.16094970703125, - "height": 20, - "seed": 970863063, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 1, - "text": "preventive maintenance (instead of generator/templates)", - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "preventive maintenance (instead of generator/templates)", "lineHeight": 1.25, "baseline": 14 }, { "type": "text", - "version": 789, - "versionNonce": 1069384409, + "version": 795, + "versionNonce": 707764322, "isDeleted": false, - "id": "PUZcuILQICisOl0x_k7qs", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 2987.9541156518294, - "y": 320.2657054294782, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 276.2726135253906, - "height": 20, - "seed": 67209081, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 1, - "text": "settings (user, and global if admin)", - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "settings (user, and global if admin)", - "lineHeight": 1.25, - "baseline": 14 - }, - { - "type": "text", - "version": 744, - "versionNonce": 1190359863, - "isDeleted": false, - "id": "nlF3vT9odVL9yO_g7sQly", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 2987.4194879665224, - "y": 392.1731291032809, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 48.08009338378906, - "height": 20, - "seed": 1741438743, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 1, - "text": "logout", - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "logout", - "lineHeight": 1.25, - "baseline": 14 - }, - { - "id": "UFfOvCmJ5gd4355jcYdrA", - "type": "ellipse", - "x": 2906.2987277149837, - "y": 165.0216202299886, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "MwfFZJmul5-G_sOKMs-2A", - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 841567801, - "version": 847, - "versionNonce": 1788460985, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false - }, - { - "id": "vQ8CHfdV0D-ERW6-L6AN2", - "type": "ellipse", - "x": 2906.2987277149837, - "y": 236.7396750640681, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "MwfFZJmul5-G_sOKMs-2A", - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1748311833, - "version": 886, - "versionNonce": 1957557335, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false - }, - { - "id": "C3RzugoUeMQhtHCYzAs8H", - "type": "ellipse", - "x": 2906.2987277149837, - "y": 305.16034806669563, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "MwfFZJmul5-G_sOKMs-2A", - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 307483641, - "version": 912, - "versionNonce": 1822122137, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false - }, - { - "id": "jpqBDlSO4H7Jm3Z6DSdxe", - "type": "ellipse", - "x": 2906.2987277149837, - "y": 374.40536652718623, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "MwfFZJmul5-G_sOKMs-2A", - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1955130585, - "version": 933, - "versionNonce": 1169903991, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false - }, - { - "id": "4C5_lTT2L1xAbaSNm7BhI", - "type": "rectangle", - "x": 2894.342793071728, - "y": 155.39577057524173, - "width": 73.72087313282893, - "height": 448.9074596124058, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 3 - }, - "seed": 107473337, - "version": 1031, - "versionNonce": 780763863, - "isDeleted": false, - "boundElements": [ - { - "id": "Mdt2-EzMuX4lfWltTjfLF", - "type": "arrow" - } - ], - "updated": 1706184306733, - "link": null, - "locked": false - }, - { - "id": "lMKCJ9IzrN7UATFw3vbmI", - "type": "text", - "x": 2920.70407253313, - "y": 170.56939244529158, - "width": 26.856002807617188, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "seed": 18107033, - "version": 659, - "versionNonce": 56625815, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "W", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 32, - "containerId": null, - "originalText": "W", - "lineHeight": 1.25 - }, - { - "type": "text", - "version": 669, - "versionNonce": 1785515609, - "isDeleted": false, - "id": "AjiJ-7DFPJQSnJCbMY1xk", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 2923.7640693124267, - "y": 239.85204144529155, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 23.796005249023438, - "height": 45, - "seed": 759271289, - "groupIds": [ - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "fontSize": 36, - "fontFamily": 1, - "text": "P", - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "P", - "lineHeight": 1.25, - "baseline": 32 - }, - { - "id": "H1COdgfvDy1lFKuWmklMJ", - "type": "text", - "x": 2921.9380660634033, - "y": 309.1346904452916, - "width": 21.888015747070312, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "seed": 1899182169, - "version": 662, - "versionNonce": 1515233207, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "S", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 32, - "containerId": null, - "originalText": "S", - "lineHeight": 1.25 - }, - { - "id": "-puYbGqKuKR6ZZ0ANOcsS", - "type": "text", - "x": 2922.2620717991795, - "y": 378.41733937065993, - "width": 21.564010620117188, - "height": 45, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "FfsAsqD9A5AZLlJA6isa_", - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "seed": 515687737, - "version": 747, - "versionNonce": 676567865, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306257, - "link": null, - "locked": false, - "text": "L", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 32, - "containerId": null, - "originalText": "L", - "lineHeight": 1.25 - }, - { - "id": "mg1kigUgF1xPBRh8EbmBN", - "type": "text", - "x": 2429.5258661918965, - "y": 695.0403236508757, - "width": 151.1683349609375, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": null, - "seed": 549841497, - "version": 1262, - "versionNonce": 1823576279, - "isDeleted": false, - "boundElements": [ - { - "id": "DteT1eDPAlc_Gz-gG7bqP", - "type": "arrow" - }, - { - "id": "VXi60QIzLUp38vtgjfIIx", - "type": "arrow" - } - ], - "updated": 1706184306258, - "link": null, - "locked": false, - "text": "shrinkable/foldable?", - "fontSize": 16, - "fontFamily": 1, - "textAlign": "right", - "verticalAlign": "top", - "baseline": 14, - "containerId": null, - "originalText": "shrinkable/foldable?", - "lineHeight": 1.25 - }, - { - "id": "DteT1eDPAlc_Gz-gG7bqP", - "type": "arrow", - "x": 2587.006365144414, - "y": 713.8625069464666, - "width": 306.38236716775873, - "height": 117.55734063188129, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1721079929, - "version": 3281, - "versionNonce": 1690227127, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306733, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 306.38236716775873, - -117.55734063188129 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "mg1kigUgF1xPBRh8EbmBN", - "focus": 1.0318996950121528, - "gap": 6.312163991579837 - }, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": "triangle" - }, - { "id": "c19gjwN8b8L3I0q4go5Bf", - "type": "text", - "x": 1974.54784304052, - "y": 251.41141961735138, - "width": 53.88810729980469, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#ffc9c9", "fillStyle": "cross-hatch", "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 1, "opacity": 100, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "angle": 0, + "x": 2990.3209627015117, + "y": 415.701041246821, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 55, + "height": 20, + "seed": 856676023, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 856676023, - "version": 654, - "versionNonce": 605511159, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706857007578, "link": null, "locked": false, - "text": "preview", "fontSize": 16, "fontFamily": 1, - "textAlign": "right", + "text": "preview", + "textAlign": "left", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "preview", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { "type": "text", - "version": 675, - "versionNonce": 1376706809, + "version": 826, + "versionNonce": 174231230, "isDeleted": false, "id": "oW9r6Oj1KNFEDfDrTobE0", "fillStyle": "cross-hatch", @@ -5751,27 +4234,24 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1998.4697406168527, - "y": 323.84490833930295, + "x": 2990.3209627015117, + "y": 484.12171396877255, "strokeColor": "#1e1e1e", "backgroundColor": "#ffc9c9", - "width": 30.400070190429688, + "width": 31, "height": 20, "seed": 1766647481, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007578, "link": null, "locked": false, "fontSize": 16, "fontFamily": 1, "text": "edit", - "textAlign": "right", + "textAlign": "left", "verticalAlign": "top", "containerId": null, "originalText": "edit", @@ -5780,8 +4260,8 @@ }, { "type": "text", - "version": 711, - "versionNonce": 1132889879, + "version": 853, + "versionNonce": 769737762, "isDeleted": false, "id": "3FPR-httcvZJQOpdp5nlq", "fillStyle": "cross-hatch", @@ -5790,27 +4270,24 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1989.1137901125649, - "y": 386.320815581203, + "x": 2990.3209627015117, + "y": 553.3667332106726, "strokeColor": "#1e1e1e", "backgroundColor": "#ffc9c9", - "width": 40.16009521484375, + "width": 41, "height": 20, "seed": 2076256793, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007578, "link": null, "locked": false, "fontSize": 16, "fontFamily": 1, "text": "filter", - "textAlign": "right", + "textAlign": "left", "verticalAlign": "top", "containerId": null, "originalText": "filter", @@ -5819,8 +4296,8 @@ }, { "type": "text", - "version": 686, - "versionNonce": 56252889, + "version": 828, + "versionNonce": 249431806, "isDeleted": false, "id": "Q5UuTLzxJDwFmgRxTm2kC", "fillStyle": "cross-hatch", @@ -5829,27 +4306,24 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2002.4679022446219, - "y": 178.5016519084936, + "x": 2990.3209627015117, + "y": 343.9829855379632, "strokeColor": "#1e1e1e", "backgroundColor": "#ffc9c9", - "width": 25.968048095703125, + "width": 26, "height": 20, "seed": 1894134103, - "groupIds": [ - "W9O0taOS68t2pJEOucV3Z", - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007578, "link": null, "locked": false, "fontSize": 16, "fontFamily": 1, "text": "new", - "textAlign": "right", + "textAlign": "left", "verticalAlign": "top", "containerId": null, "originalText": "new", @@ -5857,233 +4331,305 @@ "baseline": 14 }, { - "id": "EeDWI89evtABxlC8YCT9R", - "type": "ellipse", - "x": 2077.693775541892, - "y": 602.4429604723226, - "width": 15.55555555555543, - "height": 15.55555555555543, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#1e1e1e", - "fillStyle": "solid", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 2, - "opacity": 100, - "groupIds": [ - "cEa_Z8ffMrJ_IMGJoZnLn" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 697928919, - "version": 58, - "versionNonce": 963873847, + "type": "text", + "version": 575, + "versionNonce": 1529376738, "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "id": "Wz3mVdVr-D1sldEkuMc-C", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2986.8491523663774, + "y": 1233.5942120236205, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 37, + "height": 20, + "seed": 657235865, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706857007579, "link": null, - "locked": false + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "save", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "save", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 703, + "versionNonce": 499152702, + "isDeleted": false, + "id": "5BRLdUcImdXd-sAkul1NW", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2986.8491523663774, + "y": 1304.0531220867417, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 111, + "height": 20, + "seed": 490413495, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706857007579, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "save and exit", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "save and exit", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 735, + "versionNonce": 1981031330, + "isDeleted": false, + "id": "NIRZl827FKmclhhKsmfJG", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2986.8491523663774, + "y": 1372.108179086742, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 47, + "height": 20, + "seed": 241546167, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706857007579, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "cancel", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "cancel", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 767, + "versionNonce": 1063968638, + "isDeleted": false, + "id": "nwfWQopAIVcO11jOf_vRF", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2986.8491523663774, + "y": 1442.425520086742, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52, + "height": 20, + "seed": 141279159, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706857007579, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Delete", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Delete", + "lineHeight": 1.25, + "baseline": 14 }, { "type": "ellipse", - "version": 73, - "versionNonce": 1921234617, + "version": 819, + "versionNonce": 2121529211, "isDeleted": false, - "id": "quCA_zsUD9US93V1lqfoD", + "id": "K9woV0149XrpEjs0mTonN", "fillStyle": "solid", - "strokeWidth": 4, + "strokeWidth": 2, "strokeStyle": "solid", - "roughness": 2, + "roughness": 1, "opacity": 100, "angle": 0, - "x": 2924.466855904667, - "y": 133.5650289791065, + "x": 2900.3786998712317, + "y": 1215.6354554222078, "strokeColor": "#1e1e1e", - "backgroundColor": "#1e1e1e", - "width": 15.55555555555543, - "height": 15.55555555555543, - "seed": 20787959, - "groupIds": [ - "cEa_Z8ffMrJ_IMGJoZnLn" - ], + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 1773724616, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, "boundElements": [], - "updated": 1706184306258, + "updated": 1706599772341, "link": null, "locked": false }, { - "id": "2v8R9KkVSc3A4PRFtN3me", "type": "ellipse", - "x": 2060.5765873556707, - "y": 1218.6354554222078, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 746430871, - "version": 752, - "versionNonce": 834858327, + "version": 850, + "versionNonce": 1283822005, "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, - "link": null, - "locked": false - }, - { "id": "TX9xXXYwWYBa8bsl5SE4l", - "type": "ellipse", - "x": 2060.5765873556707, - "y": 1290.353510256287, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], - "frameId": null, - "roundness": { - "type": 2 - }, + "angle": 0, + "x": 2900.3786998712317, + "y": 1287.353510256287, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, "seed": 1051404601, - "version": 785, - "versionNonce": 1915647897, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false }, { + "type": "ellipse", + "version": 876, + "versionNonce": 1436373019, + "isDeleted": false, "id": "tD_L0-a3FgaJc6jwNq5RG", - "type": "ellipse", - "x": 2060.5765873556707, - "y": 1358.7741832589147, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], - "frameId": null, - "roundness": { - "type": 2 - }, + "angle": 0, + "x": 2900.3786998712317, + "y": 1355.7741832589147, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, "seed": 887958103, - "version": 811, - "versionNonce": 1741236855, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false }, { - "id": "Frp_x9N4Hs-uju3Dd1aJW", "type": "ellipse", - "x": 2060.5765873556707, - "y": 1428.0192017194054, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 897, + "versionNonce": 1504940821, + "isDeleted": false, + "id": "Frp_x9N4Hs-uju3Dd1aJW", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], + "angle": 0, + "x": 2900.3786998712317, + "y": 1425.0192017194054, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 1417132665, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1417132665, - "version": 832, - "versionNonce": 881728633, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706599772341, "link": null, "locked": false }, { - "id": "rzBAAYkybbEjgW-X1nldy", "type": "text", - "x": 2069.6233277424894, - "y": 1229.0942120551267, - "width": 35.70014953613281, - "height": 35, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "version": 702, + "versionNonce": 1758682978, + "isDeleted": false, + "id": "rzBAAYkybbEjgW-X1nldy", "fillStyle": "solid", "strokeWidth": 1, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], + "angle": 0, + "x": 2909.275515026117, + "y": 1226.0942120551267, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 36, + "height": 35, + "seed": 1794090361, + "groupIds": [], "frameId": null, "roundness": null, - "seed": 1794090361, - "version": 632, - "versionNonce": 944423831, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706857007580, "link": null, "locked": false, - "text": "Sa", "fontSize": 28, "fontFamily": 1, + "text": "Sa", "textAlign": "center", "verticalAlign": "top", - "baseline": 25, "containerId": null, "originalText": "Sa", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 25 }, { "type": "text", - "version": 648, - "versionNonce": 1499866457, + "version": 718, + "versionNonce": 1209941950, "isDeleted": false, "id": "oxovXJjAobce88xbeLU8R", "fillStyle": "solid", @@ -6092,21 +4638,20 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2071.088151554054, - "y": 1299.5531217709606, + "x": 2911.0603385325057, + "y": 1296.5531217709606, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 32.34014892578125, + "width": 32, "height": 35, "seed": 1986870903, "groupIds": [ - "TD-obsF6KAG7g4Mz9Y5di", - "NfXSGEynVCgEk-C-0tEaD" + "TD-obsF6KAG7g4Mz9Y5di" ], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007580, "link": null, "locked": false, "fontSize": 28, @@ -6121,8 +4666,8 @@ }, { "type": "text", - "version": 637, - "versionNonce": 1937520823, + "version": 707, + "versionNonce": 2142577442, "isDeleted": false, "id": "bsapaFzL8TDKJ9MbrtJEa", "fillStyle": "solid", @@ -6131,21 +4676,20 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2069.359642550749, - "y": 1367.8765345022714, + "x": 2909.0158276371108, + "y": 1364.8765345022714, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 36.70814514160156, + "width": 37, "height": 35, "seed": 211716087, "groupIds": [ - "mISfVmdbqGqHvqK3Q6_2R", - "NfXSGEynVCgEk-C-0tEaD" + "mISfVmdbqGqHvqK3Q6_2R" ], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007580, "link": null, "locked": false, "fontSize": 28, @@ -6160,8 +4704,8 @@ }, { "type": "text", - "version": 684, - "versionNonce": 1007292985, + "version": 754, + "versionNonce": 1543215102, "isDeleted": false, "id": "98b_U589sHYl_q_k7dRbc", "fillStyle": "solid", @@ -6170,23 +4714,22 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2068.999805863569, - "y": 1437.9255198168485, + "x": 2908.8799976027626, + "y": 1434.9255198168485, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", - "width": 37.156158447265625, + "width": 37, "height": 35, "seed": 858367447, "groupIds": [ "rcXQeJcP1ws04OPHI78hT", "h_GGL8KxI-X0H2CKghBQN", - "DpaSK0GB70o4W1sg2eerf", - "NfXSGEynVCgEk-C-0tEaD" + "DpaSK0GB70o4W1sg2eerf" ], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007580, "link": null, "locked": false, "fontSize": 28, @@ -6200,187 +4743,139 @@ "baseline": 25 }, { - "id": "PMAVESvlWDWmWj93013fH", "type": "text", - "x": 2998.9426503872937, - "y": 1027.0523721249538, - "width": 1083.8284912109375, - "height": 175, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#1e1e1e", + "version": 452, + "versionNonce": 623406818, + "isDeleted": false, + "id": "PMAVESvlWDWmWj93013fH", "fillStyle": "solid", "strokeWidth": 4, "strokeStyle": "solid", "roughness": 2, "opacity": 100, + "angle": 0, + "x": 2975.437436387294, + "y": 1486.893716124954, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 1085, + "height": 175, + "seed": 874104313, "groupIds": [], "frameId": null, "roundness": null, - "seed": 874104313, - "version": 395, - "versionNonce": 1862404567, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706857007581, "link": null, "locked": false, - "text": "# Bunch of advance features here:\n- Store unsaved changes in local storage or just local variable; send on save\n- Display modal on exit without saving changes (except exit with cancel)\n- Update Start and End times on status changes (TODO, IN PROGRESS, )\n", "fontSize": 28, "fontFamily": 1, + "text": "# Bunch of advance features here:\n- Store unsaved changes in local storage or just local variable; send on save\n- Display modal on exit without saving changes (except exit with cancel)\n- Update Start and End times on status changes (TODO, IN PROGRESS, )\n", "textAlign": "left", "verticalAlign": "top", - "baseline": 165, "containerId": null, "originalText": "# Bunch of advance features here:\n- Store unsaved changes in local storage or just local variable; send on save\n- Display modal on exit without saving changes (except exit with cancel)\n- Update Start and End times on status changes (TODO, IN PROGRESS, )\n", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 165 }, { - "id": "u_BIgUsnc8V5H0XvcYAkg", - "type": "line", - "x": 2040.2471887823233, - "y": 1202.7857750121725, - "width": 93.7449176513503, - "height": 0, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#1e1e1e", + "type": "ellipse", + "version": 861, + "versionNonce": 277015195, + "isDeleted": false, + "id": "yeeECi2cvJ6XJDmw56c88", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 2057.5765873556707, + "y": 1350.4395629816581, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 1844909369, "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1670864185, - "version": 49, - "versionNonce": 1475393271, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 93.7449176513503, - 0 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": null - }, - { - "id": "yeeECi2cvJ6XJDmw56c88", - "type": "ellipse", - "x": 2060.5765873556707, - "y": 1034.4395629816581, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1844909369, - "version": 813, - "versionNonce": 1708365817, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706599772342, "link": null, "locked": false }, { + "type": "ellipse", + "version": 926, + "versionNonce": 1567285397, + "isDeleted": false, "id": "WHpLHZpGiweWFeZzo0nfE", - "type": "ellipse", - "x": 2060.5765873556707, - "y": 1101.2641193089273, - "width": 52.667991297355, - "height": 52.667991297355, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, - "groupIds": [ - "NfXSGEynVCgEk-C-0tEaD" - ], + "angle": 0, + "x": 2057.5765873556707, + "y": 1417.2641193089273, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 1513766807, + "groupIds": [], "frameId": null, "roundness": { "type": 2 }, - "seed": 1513766807, - "version": 878, - "versionNonce": 1154269207, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706599772342, "link": null, "locked": false }, { - "id": "IQb1FgS9Z9XPkqAlLeR35", "type": "text", - "x": 2068.314160794711, - "y": 1041.8293232543458, - "width": 37.40815734863281, - "height": 35, + "version": 98, + "versionNonce": 1929635902, + "isDeleted": false, + "id": "IQb1FgS9Z9XPkqAlLeR35", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, "angle": 0, + "x": 2065.314160794711, + "y": 1357.8293232543458, "strokeColor": "#1e1e1e", "backgroundColor": "#1e1e1e", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, + "width": 37, + "height": 35, + "seed": 504623577, "groupIds": [], "frameId": null, "roundness": null, - "seed": 504623577, - "version": 46, - "versionNonce": 1066329687, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706857007581, "link": null, "locked": false, - "text": "Ge", "fontSize": 28, "fontFamily": 1, + "text": "Ge", "textAlign": "left", "verticalAlign": "top", - "baseline": 25, "containerId": null, "originalText": "Ge", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 25 }, { "type": "text", - "version": 86, - "versionNonce": 1912245913, + "version": 138, + "versionNonce": 498877090, "isDeleted": false, "id": "uoXtQ_5jmNBJ6aOSh8TG7", "fillStyle": "solid", @@ -6389,18 +4884,18 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 2067.751455334586, - "y": 1109.909279503899, + "x": 2064.751455334586, + "y": 1425.909279503899, "strokeColor": "#1e1e1e", "backgroundColor": "#1e1e1e", - "width": 35.44813537597656, + "width": 36, "height": 35, "seed": 1803443191, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007581, "link": null, "locked": false, "fontSize": 28, @@ -6414,45 +4909,45 @@ "baseline": 25 }, { - "id": "YKlce3NhSAO2cOpVFM--B", "type": "text", - "x": 1976.8675460737236, - "y": 1056.4281214685952, - "width": 54.75212097167969, - "height": 20, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#1e1e1e", + "version": 122, + "versionNonce": 1561866366, + "isDeleted": false, + "id": "YKlce3NhSAO2cOpVFM--B", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, + "angle": 0, + "x": 1969.6196670454033, + "y": 1366.4646334685954, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 55, + "height": 20, + "seed": 250513495, "groupIds": [], "frameId": null, "roundness": null, - "seed": 250513495, - "version": 55, - "versionNonce": 732824439, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706857007583, "link": null, "locked": false, - "text": "general", "fontSize": 16, "fontFamily": 1, + "text": "general", "textAlign": "right", "verticalAlign": "top", - "baseline": 14, "containerId": null, "originalText": "general", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 14 }, { "type": "text", - "version": 99, - "versionNonce": 817845113, + "version": 163, + "versionNonce": 1142922850, "isDeleted": false, "id": "j_Vkhf5mLxVsrltY5uihc", "fillStyle": "solid", @@ -6461,18 +4956,18 @@ "roughness": 1, "opacity": 100, "angle": 0, - "x": 1992.8675765913017, - "y": 1117.0149018253308, + "x": 1985.6196670454033, + "y": 1433.4092798253307, "strokeColor": "#1e1e1e", "backgroundColor": "#1e1e1e", - "width": 38.75209045410156, + "width": 39, "height": 20, "seed": 1252211607, "groupIds": [], "frameId": null, "roundness": null, "boundElements": [], - "updated": 1706184306258, + "updated": 1706857007583, "link": null, "locked": false, "fontSize": 16, @@ -6486,45 +4981,535 @@ "baseline": 14 }, { - "id": "u50Phb99MTDiTPuc37JeQ", "type": "text", - "x": 2995.9426503872937, - "y": 451.00708387919417, - "width": 922.2959594726562, - "height": 140, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#1e1e1e", + "version": 795, + "versionNonce": 1173975230, + "isDeleted": false, + "id": "u50Phb99MTDiTPuc37JeQ", "fillStyle": "solid", "strokeWidth": 4, "strokeStyle": "solid", "roughness": 2, "opacity": 100, + "angle": 0, + "x": 2975.604020387294, + "y": 610.506862879194, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 926, + "height": 140, + "seed": 1189929945, "groupIds": [], "frameId": null, "roundness": null, - "seed": 1189929945, - "version": 691, - "versionNonce": 1009548439, - "isDeleted": false, - "boundElements": null, - "updated": 1706184306258, + "boundElements": [], + "updated": 1706857007583, "link": null, "locked": false, - "text": "# Features here:\n- Double click in row open default in view\n- Right click on row open popup menu with options: (edit, view, copy)\n- Possible sorting on header click", "fontSize": 28, "fontFamily": 1, + "text": "# Features here:\n- Double click in row open default in view\n- Right click on row open popup menu with options: (edit, view, copy)\n- Possible sorting on header click", "textAlign": "left", "verticalAlign": "top", - "baseline": 130, "containerId": null, "originalText": "# Features here:\n- Double click in row open default in view\n- Right click on row open popup menu with options: (edit, view, copy)\n- Possible sorting on header click", - "lineHeight": 1.25 + "lineHeight": 1.25, + "baseline": 130 + }, + { + "type": "ellipse", + "version": 900, + "versionNonce": 1782631605, + "isDeleted": false, + "id": "5ozQAPo4vUsGubwE0dn_E", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2900.3786998712317, + "y": 1035.7344141128992, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 419289147, + "groupIds": [ + "xDr4a3Z-1ay7zsz37GlCY" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772342, + "link": null, + "locked": false + }, + { + "type": "image", + "version": 187, + "versionNonce": 1887913243, + "isDeleted": false, + "id": "yum_EfTeATaUiiMqHDiHB", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2909.3731187361, + "y": 1043.8866075616677, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "width": 34.81004166684761, + "height": 34.81004166684761, + "seed": 1840060635, + "groupIds": [ + "xDr4a3Z-1ay7zsz37GlCY" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706599772342, + "link": null, + "locked": false, + "status": "pending", + "fileId": "b352f4ef36ea4a5d7b1f460c46278f83d58df9d6", + "scale": [ + 1, + 1 + ] + }, + { + "type": "ellipse", + "version": 298, + "versionNonce": 362031381, + "isDeleted": false, + "id": "fBPF8V1TVlP7X0G-hqgRM", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 2115.195899558423, + "y": 1367.551544744222, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 15.55555555555543, + "height": 15.55555555555543, + "seed": 1080711707, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706600010583, + "link": null, + "locked": false + }, + { + "type": "ellipse", + "version": 961, + "versionNonce": 1004580053, + "isDeleted": false, + "id": "Y3nbdVTnBpF13nkfmsKU0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2057.67460724456, + "y": 160.95607071540218, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 2119972953, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772342, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 775, + "versionNonce": 1159823906, + "isDeleted": false, + "id": "wNiAAV6zgGuZTvY5864FZ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2072.007953466515, + "y": 166.50384293070493, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 27, + "height": 45, + "seed": 1223994487, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706857007584, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 1, + "text": "W", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "W", + "lineHeight": 1.25, + "baseline": 32 + }, + { + "type": "ellipse", + "version": 1020, + "versionNonce": 1631472181, + "isDeleted": false, + "id": "EqvZKc6shfKG7Nj3B4fC8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2900.1747488712317, + "y": 160.95607084667915, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 474871733, + "groupIds": [ + "VgBsj-fAcaT2YYtuSJ5yq" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599772342, + "link": null, + "locked": false + }, + { + "type": "image", + "version": 308, + "versionNonce": 784275195, + "isDeleted": false, + "id": "nE94QHdsGww3O6eyjqZqj", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2909.1691677361, + "y": 169.1082642954476, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "width": 34.81004166684761, + "height": 34.81004166684761, + "seed": 528431381, + "groupIds": [ + "VgBsj-fAcaT2YYtuSJ5yq" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "kOL7R1LQSc-80AHnw4T7v", + "type": "arrow" + } + ], + "updated": 1706599953643, + "link": null, + "locked": false, + "status": "pending", + "fileId": "b352f4ef36ea4a5d7b1f460c46278f83d58df9d6", + "scale": [ + 1, + 1 + ] + }, + { + "type": "ellipse", + "version": 1198, + "versionNonce": 1381029691, + "isDeleted": false, + "id": "2v8R9KkVSc3A4PRFtN3me", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1587.3236395339918, + "y": 160.95607084667915, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 52.667991297355, + "height": 52.667991297355, + "seed": 746430871, + "groupIds": [ + "QQLgZ3NNG_uiExlW4s7pW" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599779411, + "link": null, + "locked": false + }, + { + "type": "image", + "version": 215, + "versionNonce": 575158235, + "isDeleted": false, + "id": "N6v_4e19OuRVBwmXkGNsF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1596.4778327675501, + "y": 169.69709432541876, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "width": 34.359604301060244, + "height": 34.359604301060244, + "seed": 2023461691, + "groupIds": [ + "QQLgZ3NNG_uiExlW4s7pW" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1706599779411, + "link": null, + "locked": false, + "status": "pending", + "fileId": "12a134c844f89b9aa7e7b2e27efda8fc29beefe2", + "scale": [ + 1, + 1 + ] + }, + { + "type": "arrow", + "version": 515, + "versionNonce": 126196309, + "isDeleted": false, + "id": "WwC_ZWDFQjtwZw7iDBDx6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2956.255773159222, + "y": 558.789555052133, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 328.15860198707514, + "height": 43.41679874856186, + "seed": 1527534805, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599859733, + "link": null, + "locked": false, + "startBinding": { + "elementId": "2QvW6s3jw5klJP7WPChk9", + "focus": -0.4286668831793973, + "gap": 2.8476563425849335 + }, + "endBinding": { + "elementId": "1dRBBMeM95YrOmTQGbhii", + "focus": -0.712803512025163, + "gap": 3.5890154219910073 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 177.65019489854058, + 43.41679874856186 + ], + [ + 328.15860198707514, + 3.5494837978012583 + ] + ] + }, + { + "type": "text", + "version": 112, + "versionNonce": 961063166, + "isDeleted": false, + "id": "vR3E88Ypr64zTJDIqP-Pw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2901.4113877115974, + "y": -4.003542325524052, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 115, + "height": 80, + "seed": 1299332763, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "kOL7R1LQSc-80AHnw4T7v", + "type": "arrow" + } + ], + "updated": 1706857007584, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "dropdown menu:\n- settings\n- theme\n- logout", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "dropdown menu:\n- settings\n- theme\n- logout", + "lineHeight": 1.25, + "baseline": 74 + }, + { + "type": "arrow", + "version": 115, + "versionNonce": 1898257301, + "isDeleted": false, + "id": "kOL7R1LQSc-80AHnw4T7v", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2946.443524784813, + "y": 81.78130112306226, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 17.215837537230982, + "height": 78.63450118356724, + "seed": 1916032021, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706599953647, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vR3E88Ypr64zTJDIqP-Pw", + "focus": 0.03688587872550823, + "gap": 5.784843448586315 + }, + "endBinding": { + "elementId": "nE94QHdsGww3O6eyjqZqj", + "focus": -0.14424070998330202, + "gap": 8.69246198881811 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -17.215837537230982, + 78.63450118356724 + ] + ] + }, + { + "type": "ellipse", + "version": 372, + "versionNonce": 480749973, + "isDeleted": false, + "id": "5eRgVyHjz5OqtHh6QXV4v", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 2114.772236558423, + "y": 179.51228778351447, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 15.55555555555543, + "height": 15.55555555555543, + "seed": 1056812853, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1706600017742, + "link": null, + "locked": false } ], "appState": { "gridSize": null, "viewBackgroundColor": "#ffffff" }, - "files": {} + "files": { + "b352f4ef36ea4a5d7b1f460c46278f83d58df9d6": { + "mimeType": "image/svg+xml", + "id": "b352f4ef36ea4a5d7b1f460c46278f83d58df9d6", + "dataURL": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZT0iY3VycmVudENvbG9yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMCIgdmlld0JveD0iMCAwIDI0IDI0IiBoZWlnaHQ9IjIwMHB4IiB3aWR0aD0iMjAwcHgiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLWZpbGw6IGN1cnJlbnRDb2xvcjsgLS1kYXJrcmVhZGVyLWlubGluZS1zdHJva2U6IGN1cnJlbnRDb2xvcjsiIGRhdGEtZGFya3JlYWRlci1pbmxpbmUtZmlsbD0iIiBkYXRhLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZT0iIj48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==", + "created": 1706599448930, + "lastRetrieved": 1706599448930 + }, + "12a134c844f89b9aa7e7b2e27efda8fc29beefe2": { + "mimeType": "image/svg+xml", + "id": "12a134c844f89b9aa7e7b2e27efda8fc29beefe2", + "dataURL": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZT0iY3VycmVudENvbG9yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMCIgdmlld0JveD0iMCAwIDI0IDI0IiBoZWlnaHQ9IjIwMHB4IiB3aWR0aD0iMjAwcHgiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLWZpbGw6IGN1cnJlbnRDb2xvcjsgLS1kYXJrcmVhZGVyLWlubGluZS1zdHJva2U6IGN1cnJlbnRDb2xvcjsiIGRhdGEtZGFya3JlYWRlci1pbmxpbmUtZmlsbD0iIiBkYXRhLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZT0iIj48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOWMwLS40Ni0uMDQtLjkyLS4xLTEuMzZhNS4zODkgNS4zODkgMCAwIDEtNC40IDIuMjYgNS40MDMgNS40MDMgMCAwIDEtMy4xNC05LjhjLS40NC0uMDYtLjktLjEtMS4zNi0uMXoiLz48L3N2Zz4=", + "created": 1706599747748, + "lastRetrieved": 1706599747748 + } + } } \ No newline at end of file diff --git a/docs/using_react_context_button_container.excalidraw b/docs/using_react_context_button_container.excalidraw new file mode 100644 index 0000000..4f920cc --- /dev/null +++ b/docs/using_react_context_button_container.excalidraw @@ -0,0 +1,1587 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "XMhfC1s-wHG0TcDAl_suA", + "type": "rectangle", + "x": 828.6666666666665, + "y": 331.3333333333332, + "width": 254.99999999999997, + "height": 73, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "seed": 1363481475, + "version": 483, + "versionNonce": 420793293, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "gtmSzOtFDFmPEhLetS_--" + }, + { + "id": "fETpkIfPK9wJAhfxry43-", + "type": "arrow" + }, + { + "id": "h4WRfjWqIv7Az1lOYBA20", + "type": "arrow" + }, + { + "id": "0cg5AP-g2NzwFjTtiik-A", + "type": "arrow" + }, + { + "id": "msNLW08fhc3haOb95sR90", + "type": "arrow" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "id": "gtmSzOtFDFmPEhLetS_--", + "type": "text", + "x": 841.1666666666665, + "y": 355.3333333333332, + "width": 230, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 1695482499, + "version": 562, + "versionNonce": 1212703619, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "OverlayButtonContainer", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "XMhfC1s-wHG0TcDAl_suA", + "originalText": "OverlayButtonContainer", + "lineHeight": 1.25 + }, + { + "id": "Zlvp8hBj4_WDTYo-4BQs_", + "type": "rectangle", + "x": 322.6666666666665, + "y": 204.8333333333332, + "width": 93, + "height": 81, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "seed": 679411971, + "version": 135, + "versionNonce": 1682177165, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "qU3LxmxSTDs926JtttItT" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "id": "qU3LxmxSTDs926JtttItT", + "type": "text", + "x": 332.6666666666665, + "y": 232.8333333333332, + "width": 73, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 2050727075, + "version": 114, + "versionNonce": 1869717187, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "Button1", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "Zlvp8hBj4_WDTYo-4BQs_", + "originalText": "Button1", + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 167, + "versionNonce": 823059181, + "isDeleted": false, + "id": "Dt2VvKFTT2d_HbClSs8yn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 322.6666666666665, + "y": 304.3333333333332, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 93, + "height": 81, + "seed": 159204419, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "aknxGv7V5P3CA1_CzrDga" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 152, + "versionNonce": 1442238051, + "isDeleted": false, + "id": "aknxGv7V5P3CA1_CzrDga", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 328.1666666666665, + "y": 332.3333333333332, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 82, + "height": 25, + "seed": 1248969699, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "boundElements": [], + "updated": 1706858593445, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Button2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Dt2VvKFTT2d_HbClSs8yn", + "originalText": "Button2", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 194, + "versionNonce": 1148058957, + "isDeleted": false, + "id": "qI_VuPwXr_m3pUsmjaWkE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 322.6666666666665, + "y": 403.8333333333332, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 93, + "height": 81, + "seed": 1443550989, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "hko3M6EAEGzjAWUFUY5j8" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 178, + "versionNonce": 2138376707, + "isDeleted": false, + "id": "hko3M6EAEGzjAWUFUY5j8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 328.1666666666665, + "y": 431.8333333333332, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 82, + "height": 25, + "seed": 100379715, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Button3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "qI_VuPwXr_m3pUsmjaWkE", + "originalText": "Button3", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "id": "Em5DVgTHMponM3B4iWNT0", + "type": "freedraw", + "x": 412.6666666666665, + "y": 180.3333333333332, + "width": 41, + "height": 354, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 1981868035, + "version": 121, + "versionNonce": 1089130915, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1 + ], + [ + 3, + -2 + ], + [ + 6, + -2 + ], + [ + 9, + -1 + ], + [ + 15, + 3 + ], + [ + 20, + 7 + ], + [ + 23, + 12 + ], + [ + 25, + 17 + ], + [ + 25, + 18 + ], + [ + 26, + 30 + ], + [ + 27, + 38 + ], + [ + 27, + 51 + ], + [ + 27, + 61 + ], + [ + 27, + 71 + ], + [ + 27, + 86 + ], + [ + 27, + 88 + ], + [ + 27, + 108 + ], + [ + 25, + 121 + ], + [ + 24, + 134 + ], + [ + 23, + 143 + ], + [ + 21, + 156 + ], + [ + 20, + 168 + ], + [ + 20, + 172 + ], + [ + 21, + 184 + ], + [ + 22, + 186 + ], + [ + 23, + 186 + ], + [ + 23, + 187 + ], + [ + 24, + 187 + ], + [ + 25, + 188 + ], + [ + 27, + 188 + ], + [ + 31, + 188 + ], + [ + 33, + 188 + ], + [ + 34, + 188 + ], + [ + 34, + 187 + ], + [ + 34, + 188 + ], + [ + 33, + 191 + ], + [ + 31, + 194 + ], + [ + 30, + 200 + ], + [ + 29, + 206 + ], + [ + 28, + 217 + ], + [ + 27, + 229 + ], + [ + 27, + 243 + ], + [ + 27, + 252 + ], + [ + 27, + 261 + ], + [ + 27, + 270 + ], + [ + 28, + 284 + ], + [ + 29, + 294 + ], + [ + 29, + 300 + ], + [ + 29, + 306 + ], + [ + 29, + 312 + ], + [ + 28, + 317 + ], + [ + 26, + 324 + ], + [ + 23, + 330 + ], + [ + 21, + 333 + ], + [ + 17, + 338 + ], + [ + 11, + 345 + ], + [ + 5, + 350 + ], + [ + 0, + 352 + ], + [ + -3, + 352 + ], + [ + -5, + 352 + ], + [ + -6, + 351 + ], + [ + -7, + 351 + ], + [ + -7, + 350 + ], + [ + -7, + 350 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -7, + 350 + ] + }, + { + "id": "fETpkIfPK9wJAhfxry43-", + "type": "arrow", + "x": 447.6666666666665, + "y": 369.3333333333332, + "width": 370, + "height": 56, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 2 + }, + "seed": 744057667, + "version": 363, + "versionNonce": 891211277, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "OT735tTKNlPAgsW-bd7X_" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 258, + 56 + ], + [ + 370, + 4.0069901140664115 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "elementId": "XMhfC1s-wHG0TcDAl_suA", + "focus": 0.6143680281309271, + "gap": 11 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "OT735tTKNlPAgsW-bd7X_", + "type": "text", + "x": 511.33333333333326, + "y": 351.04461547105575, + "width": 69, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 412417667, + "version": 61, + "versionNonce": 1267115331, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "children", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "fETpkIfPK9wJAhfxry43-", + "originalText": "children", + "lineHeight": 1.25 + }, + { + "id": "lowwOD0cNiqXjTO7lWbwB", + "type": "rectangle", + "x": 472.7745076666665, + "y": 168.8333333333332, + "width": 196, + "height": 72, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "seed": 141731341, + "version": 173, + "versionNonce": 648479971, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "t_fIcMKsxMyNrCFWp3hDS" + }, + { + "id": "h4WRfjWqIv7Az1lOYBA20", + "type": "arrow" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "id": "t_fIcMKsxMyNrCFWp3hDS", + "type": "text", + "x": 525.2745076666665, + "y": 192.3333333333332, + "width": 91, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 742751629, + "version": 165, + "versionNonce": 1055026893, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "\"top-left\"", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "lowwOD0cNiqXjTO7lWbwB", + "originalText": "\"top-left\"", + "lineHeight": 1.25 + }, + { + "id": "h4WRfjWqIv7Az1lOYBA20", + "type": "arrow", + "x": 647.8970188950518, + "y": 244.83333333333326, + "width": 172.22221423348935, + "height": 105.49999999999994, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 2 + }, + "seed": 500597837, + "version": 388, + "versionNonce": 1775923331, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "h8F12f6gqujwAj-rvl_Wh" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 65.76964777161481, + 99.49999999999994 + ], + [ + 172.22221423348935, + 105.49999999999994 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "lowwOD0cNiqXjTO7lWbwB", + "focus": -0.41612556713285315, + "gap": 4 + }, + "endBinding": { + "elementId": "XMhfC1s-wHG0TcDAl_suA", + "focus": 0.22505775910272152, + "gap": 8.54743353812546 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "h8F12f6gqujwAj-rvl_Wh", + "type": "text", + "x": 734.3333333333333, + "y": 218.16666666666652, + "width": 71, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 496222691, + "version": 69, + "versionNonce": 195366189, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "position", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "h4WRfjWqIv7Az1lOYBA20", + "originalText": "position", + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 377, + "versionNonce": 920610851, + "isDeleted": false, + "id": "5f5xn2yhli93DF5_FNc4N", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1329.6666666666665, + "y": 556.3333333333333, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 196, + "height": 72, + "seed": 1911788973, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "g5EMTP_cVawxZ5goBonMG" + }, + { + "id": "0cg5AP-g2NzwFjTtiik-A", + "type": "arrow" + }, + { + "id": "NYCAe9CCoVva4E-wKgNDf", + "type": "arrow" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 384, + "versionNonce": 927260557, + "isDeleted": false, + "id": "g5EMTP_cVawxZ5goBonMG", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1398.6666666666665, + "y": 579.8333333333333, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 58, + "height": 25, + "seed": 1403934733, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "boundElements": [], + "updated": 1706858593445, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "\"right\"", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "5f5xn2yhli93DF5_FNc4N", + "originalText": "\"right\"", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "id": "0cg5AP-g2NzwFjTtiik-A", + "type": "arrow", + "x": 1319.8714604089487, + "y": 575.0259221260133, + "width": 328.74363220140015, + "height": 158.69258879268, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 2 + }, + "seed": 937194797, + "version": 610, + "versionNonce": 1940155331, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "vTCUJ5C-cVEhWipmMkgk5" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -226.20479374228216, + -38.69258879268 + ], + [ + -328.74363220140015, + -158.69258879268 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "5f5xn2yhli93DF5_FNc4N", + "focus": -0.021437027880449305, + "gap": 9.795206257717837 + }, + "endBinding": { + "elementId": "XMhfC1s-wHG0TcDAl_suA", + "focus": 0.04084481736203249, + "gap": 12 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "vTCUJ5C-cVEhWipmMkgk5", + "type": "text", + "x": 748.3333333333333, + "y": 261.6666666666665, + "width": 137, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 117541539, + "version": 68, + "versionNonce": 1476093421, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "tooltipPosition", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "0cg5AP-g2NzwFjTtiik-A", + "originalText": "tooltipPosition", + "lineHeight": 1.25 + }, + { + "id": "1yMKcxUd0-cMcL5OQbOZ1", + "type": "rectangle", + "x": 680.6666666666665, + "y": 525.1547153333331, + "width": 255.00000000000003, + "height": 71, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "seed": 1973687085, + "version": 657, + "versionNonce": 1145568099, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "R1DuU5r2ycC4umK8pAe-5" + }, + { + "id": "msNLW08fhc3haOb95sR90", + "type": "arrow" + }, + { + "id": "NYCAe9CCoVva4E-wKgNDf", + "type": "arrow" + }, + { + "id": "CwC4vnLjgyLLZXaAFjadm", + "type": "arrow" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "id": "R1DuU5r2ycC4umK8pAe-5", + "type": "text", + "x": 698.6666666666665, + "y": 548.1547153333331, + "width": 219, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 1242789411, + "version": 659, + "versionNonce": 13770829, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "TooltipPositionContext", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "1yMKcxUd0-cMcL5OQbOZ1", + "originalText": "TooltipPositionContext", + "lineHeight": 1.25 + }, + { + "id": "msNLW08fhc3haOb95sR90", + "type": "arrow", + "x": 773.2039786838398, + "y": 523.1547153333331, + "width": 121.25221680561106, + "height": 114.82138199999997, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 2 + }, + "seed": 408238829, + "version": 933, + "versionNonce": 664964781, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "emB3CkfPg0QgP988T9u-j" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 121.25221680561106, + -114.82138199999997 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "1yMKcxUd0-cMcL5OQbOZ1", + "focus": -0.45222006593560743, + "gap": 2 + }, + "endBinding": { + "elementId": "XMhfC1s-wHG0TcDAl_suA", + "focus": 0.11407907202440097, + "gap": 4 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "emB3CkfPg0QgP988T9u-j", + "type": "text", + "x": 943.7950281957051, + "y": 252.78820982092293, + "width": 219, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 1880494691, + "version": 71, + "versionNonce": 76856995, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "TooltipPositionContext\n.Provider ", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 43, + "containerId": "msNLW08fhc3haOb95sR90", + "originalText": " TooltipPositionContext.Provider ", + "lineHeight": 1.25 + }, + { + "id": "NYCAe9CCoVva4E-wKgNDf", + "type": "arrow", + "x": 1322.0388055195465, + "y": 610.6917802802889, + "width": 377.17512745310773, + "height": 48.061080026034574, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 2 + }, + "seed": 1596969389, + "version": 890, + "versionNonce": 1259745549, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "PhxYQHbN2xNfMcx7cYkgR" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -194.37213885287997, + -4.358446946955723 + ], + [ + -377.17512745310773, + -48.061080026034574 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "5f5xn2yhli93DF5_FNc4N", + "focus": -0.5426265164196707, + "gap": 7.627861147120029 + }, + "endBinding": { + "elementId": "1yMKcxUd0-cMcL5OQbOZ1", + "focus": -0.4653451609296632, + "gap": 9.197011399772009 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "PhxYQHbN2xNfMcx7cYkgR", + "type": "text", + "x": 1054.8333333333333, + "y": 592.1666666666665, + "width": 139, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 1721671597, + "version": 69, + "versionNonce": 1030419011, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "value ?? \"left\"", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "NYCAe9CCoVva4E-wKgNDf", + "originalText": "value ?? \"left\"", + "lineHeight": 1.25 + }, + { + "id": "CRSrvDJsBGvsdm6TXmmz0", + "type": "rectangle", + "x": 658.6666666666665, + "y": 303.3333333333332, + "width": 604, + "height": 384, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "seed": 1254851853, + "version": 282, + "versionNonce": 1487308653, + "isDeleted": false, + "boundElements": [ + { + "id": "0cg5AP-g2NzwFjTtiik-A", + "type": "arrow" + }, + { + "id": "NYCAe9CCoVva4E-wKgNDf", + "type": "arrow" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 749, + "versionNonce": 1350152675, + "isDeleted": false, + "id": "nMw1-qVblKzYYF81DtNs0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 241.66666680952346, + "y": 565.3333329047621, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 255.00000000000003, + "height": 71, + "seed": 764484387, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "ZEYL2jaHDwdlQMimrTd55" + }, + { + "id": "CwC4vnLjgyLLZXaAFjadm", + "type": "arrow" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 752, + "versionNonce": 1386025421, + "isDeleted": false, + "id": "ZEYL2jaHDwdlQMimrTd55", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 259.66666680952346, + "y": 588.3333329047621, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 219, + "height": 25, + "seed": 799522499, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "boundElements": [], + "updated": 1706858593445, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "TooltipPositionContext", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nMw1-qVblKzYYF81DtNs0", + "originalText": "TooltipPositionContext", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "id": "CwC4vnLjgyLLZXaAFjadm", + "type": "arrow", + "x": 431.26937770970005, + "y": 639.1679035358222, + "width": 275.08007358808777, + "height": 74.28571428571422, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": { + "type": 2 + }, + "seed": 748297059, + "version": 320, + "versionNonce": 2127527299, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "CfkNme7MPURLSGhVtvRXp" + } + ], + "updated": 1706858593445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 149.9687175283949, + 40.45114408322513 + ], + [ + 275.08007358808777, + -33.83457020248909 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "nMw1-qVblKzYYF81DtNs0", + "focus": 0.30881919341722786, + "gap": 2.8345706310602736 + }, + "endBinding": { + "elementId": "1yMKcxUd0-cMcL5OQbOZ1", + "focus": 0.14186579935976368, + "gap": 9.178618000000029 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "CfkNme7MPURLSGhVtvRXp", + "type": "text", + "x": 626.8333333333333, + "y": 653.6666666666665, + "width": 80, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 1753517133, + "version": 61, + "versionNonce": 907235373, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "imported", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "CwC4vnLjgyLLZXaAFjadm", + "originalText": "imported", + "lineHeight": 1.25 + }, + { + "id": "M1ibDLIHX3Oj2GqssIvTy", + "type": "text", + "x": 425.6666671111109, + "y": 28.33333292063486, + "width": 1070, + "height": 45, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": "XmHg-3YCzCsAHqWbBfpWs", + "roundness": null, + "seed": 271378733, + "version": 413, + "versionNonce": 552780429, + "isDeleted": false, + "boundElements": null, + "updated": 1706858593445, + "link": null, + "locked": false, + "text": "Implementation of React context in OverlayButtonContainer", + "fontSize": 36, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "top", + "baseline": 32, + "containerId": null, + "originalText": "Implementation of React context in OverlayButtonContainer", + "lineHeight": 1.25 + }, + { + "id": "XmHg-3YCzCsAHqWbBfpWs", + "type": "frame", + "x": 207.66666666666674, + "y": -49.19047619047615, + "width": 1446.6666666666665, + "height": 868.3333333333335, + "angle": 0, + "strokeColor": "#bbb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 489156269, + "version": 190, + "versionNonce": 2074081165, + "isDeleted": false, + "boundElements": null, + "updated": 1706858615342, + "link": null, + "locked": false, + "name": "react context overlaybuttoncotainer" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/index.html b/index.html index 9611ca8..45172e6 100644 --- a/index.html +++ b/index.html @@ -1,34 +1,20 @@ - + - - Fallback title - - - - - - - - - - - - - - - - - - - - + + + + + Awesome App
- + diff --git a/package.json b/package.json index 7506e56..d11567e 100644 --- a/package.json +++ b/package.json @@ -1,31 +1,28 @@ { - "name": "app", - "private": true, - "version": "1.0.0", - "type": "module", - "scripts": { - "dev": "vite serve", - "build": "tsc && vite build", - "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview --host" - }, "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@hookform/resolvers": "^3.3.2", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-tooltip": "^1.0.7", "@tanstack/react-table": "^8.10.7", "axios": "^1.6.1", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.0", "daisyui": "latest", "echarts": "^5.4.3", "i18next": "^23.7.18", "i18next-browser-languagedetector": "^7.2.0", + "lucide-react": "^0.320.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.48.2", "react-i18next": "^14.0.1", "react-icons": "^5.0.1", + "react-router-dom": "^6.21.3", + "tailwind-merge": "^2.2.1", + "tailwindcss-animate": "^1.0.7", "uuid": "^9.0.1", - "wouter": "next", "zod": "^3.22.4" }, "devDependencies": { @@ -54,5 +51,15 @@ "ts-node": "latest", "typescript": "^5.2.2", "vite": "latest" - } -} + }, + "name": "app", + "private": true, + "scripts": { + "build": "tsc && vite build", + "dev": "vite serve", + "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview --host" + }, + "type": "module", + "version": "1.0.0" +} \ No newline at end of file diff --git a/public/cmms_servimain_logo.png b/public/cmms_servimain_logo.png index e800825..0fd3fde 100644 Binary files a/public/cmms_servimain_logo.png and b/public/cmms_servimain_logo.png differ diff --git a/public/cmms_servimain_logo_192.png b/public/cmms_servimain_logo_192.png index 6d512cf..d35c0f3 100644 Binary files a/public/cmms_servimain_logo_192.png and b/public/cmms_servimain_logo_192.png differ diff --git a/public/cmms_servimain_logo_512.png b/public/cmms_servimain_logo_512.png index 1babe3b..9d68156 100644 Binary files a/public/cmms_servimain_logo_512.png and b/public/cmms_servimain_logo_512.png differ diff --git a/public/lupa2-logo.webp b/public/lupa2-logo.webp deleted file mode 100644 index fb4f420..0000000 Binary files a/public/lupa2-logo.webp and /dev/null differ diff --git a/public/manifest.json b/public/manifest.json index 9c6c394..125dfd0 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,21 +1,20 @@ { - "name": "My App", - "short_name": "App", - "icons": [ - { - "src": "cmms_servimain_logo_192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "cmms_servimain_logo_512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "start_url": "/", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" - } - \ No newline at end of file + "name": "My App", + "short_name": "App", + "icons": [ + { + "src": "cmms_servimain_logo_192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "cmms_servimain_logo_512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "start_url": "/", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/src/App.tsx b/src/App.tsx index 23c27ec..3d9b0b0 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,23 +1,33 @@ -import { IconContext } from "react-icons/lib"; -import DevControlPanel from "./components/DevControlPanel"; -import FloatingMenu from "./components/FloatingMenu"; -import { floatingMenuStructure } from "./configure"; -import SwitchRouteGenerator from "./routes/SwitchRouteGenerator"; -import routesTree from "./routes/routes"; // TODO: - [x] Rewrite new switch generating function based on custom routes object // TODO: - [x] Make condition for base path in Router, for "/" in main.base_path don't add to Router // TODO: - [x] Rewrite DevControlPanel to use custom routes object +import { useEffect } from "react"; +import { useTranslation } from "react-i18next"; +import { Outlet, useLocation, useNavigate } from "react-router-dom"; +import useLocalStorage from "./hooks/useLocalStorage"; + function App() { - return ( -
- - - - - -
- ); + // Hook to manage language state in local storage + const [language] = useLocalStorage("language", "eng"); + const [isLoggedIn] = useLocalStorage("isLoggedIn", false); + const { i18n } = useTranslation(); + const navigate = useNavigate(); + const location = useLocation(); + + // Effect to change language based on state + useEffect(() => { + i18n.changeLanguage(language); + }, [language]); + // Redirect to login page if not logged in + useEffect(() => { + if (!isLoggedIn && location.pathname !== "/login") { + navigate("/login"); + } + }, [isLoggedIn]); + + // Conditional rendering based on base path + return ; } export default App; diff --git a/src/api/AxiosService.ts b/src/api/AxiosService.ts index 4833ea4..9d3b972 100644 --- a/src/api/AxiosService.ts +++ b/src/api/AxiosService.ts @@ -1,4 +1,4 @@ -import axios from "axios"; +import axios, { AxiosError } from "axios"; // TODO: Add calls for notifications on varius states of the request @@ -34,7 +34,7 @@ export const setupAxiosInterceptors = () => { ); }; -const handleAxiosError = (error: any, callbackFunction = null) => { +const handleAxiosError = (error: AxiosError, callbackFunction = null) => { if (error.message == "canceled") { callbackFunction && console.debug(callbackFunction); console.debug("Request Aborted"); @@ -64,7 +64,7 @@ export const axiosGet = async (url: string) => { }); }; -export const axiosPost = async (url: string, data: any) => { +export const axiosPost = async (url: string, data: unknown) => { return axios .post(url, data) .then((response) => { @@ -75,7 +75,7 @@ export const axiosPost = async (url: string, data: any) => { }); }; -export const axiosPut = async (url: string, data: any) => { +export const axiosPut = async (url: string, data: unknown) => { return axios .put(url, data) .then((response) => { diff --git a/src/components/DevControlPanel.tsx b/src/components/DevControlPanel.tsx deleted file mode 100644 index eb23ea1..0000000 --- a/src/components/DevControlPanel.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { useLocation } from "wouter"; -import { floatingLanguageMenuStructure, main } from "../configure"; -import { DevControlPanelProps } from "../types/devControlPanelTypes"; -import { RoutingTree } from "../types/routesTypes"; -import inDev from "../utils/inDev"; -import ThemeButton from "./ThemeButton"; -import { clearMultiplePathSlashes } from "../utils/StringTransformationUtils"; -import { useTranslation } from "react-i18next"; -import FloatingMenu from "./FloatingMenu"; - -/** - * Development Control Panel Component - * - * This component renders a development control panel for navigation and debugging. - * It includes a dynamic list of routes and a theme toggle button. - * - * @param {DevControlPanelProps} props - Properties passed to the DevControlPanel component. - * @returns {JSX.Element} A React component that renders the development control panel. - */ -const DevControlPanel = ({ routesTree }: DevControlPanelProps) => { - const [, setLocation] = useLocation(); - const { t, i18n } = useTranslation(); - - // Function to update the current location, with debug logging - const _setLocation = (targetLocation: string) => { - inDev(() => console.log("DevControlPanel_setLocation", targetLocation)); - setLocation(targetLocation); - }; - - // Function to generate a list of buttons for navigation based on the routing tree - const routesCrawler = ( - routesTree: RoutingTree, - parentPath?: string, - ): JSX.Element[] => { - return routesTree.map((route): JSX.Element => { - // Constructing path for the route button - const _path = clearMultiplePathSlashes( - parentPath ? "/" + parentPath + "/" + route.path : "/" + route.path, - ); - - // Debug logging for route information - inDev(() => - console.log( - "%croutesCrawler_routes %s %s", - "color: lightblue", - route.name, - _path, - ), - ); - - // Generating nested routes or single route buttons - if (route.nest) { - return ( -
- - {route.name} - -
- {routesCrawler(route.nest, _path)} -
-
- ); - } else { - return ( - - ); - } - }); - }; - - // Render the development control panel with navigation buttons and theme toggle - return ( -
-
- {/* Displaying the program name and version */} -
- {main.program_name} v{main.program_version} -

Base path is: {main.base_path}

-
-
- {/* Embedding the ThemeButton component for theme toggling */} - -
-
- {/* Rendering the dynamically generated route navigation buttons */} -
{routesCrawler(routesTree)}
-
-

{t("welcome")}

-

Lang: {i18n.language}

-
- -
- ); -}; - -export default DevControlPanel; diff --git a/src/components/FloatingMenu.tsx b/src/components/FloatingMenu.tsx deleted file mode 100644 index b459bb9..0000000 --- a/src/components/FloatingMenu.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Path, useLocation } from "wouter"; -import { navigate } from "wouter/use-browser-location"; -import { FloatingMenuProps } from "../types/floatingMenuTypes"; -import { capitalizeFirstLetter } from "../utils/StringTransformationUtils"; - -// -----VARIABLES----- -// Exported variables for shared location state management -export let location: Path; -export let setLocation: typeof navigate; - -// -----COMPONENT----- -/** - * FloatingMenu Component - * - * This component renders a customizable floating menu with interactive elements. - * It uses the 'wouter' library for location management and provides a dynamic way - * to render menu items based on the 'menuStructure' prop passed to it. - * - * @param {FloatingMenuProps} props - The properties passed to the FloatingMenu component. - * @returns {JSX.Element} A React component that renders a floating menu. - */ -const FloatingMenu = (props: FloatingMenuProps) => { - // Setting up location hooks for navigation - [location, setLocation] = useLocation(); - - // Function to generate interactive buttons based on provided menu structure - const generateButtons = () => { - return props.menuStructure.map((item, index) => { - // Checking if the menu item includes label, icon, and action for button generation - if ("label" in item && "icon" in item && "action" in item) { - return ( -
-
  • - {item.icon} -
  • -
    - ); - } else { - // Rendering custom JSX elements when provided - return ( -
    - {item.element} -
    - ); - } - }); - }; - - // Render the floating menu with dynamically generated buttons - return ( - - ); -}; - -export default FloatingMenu; diff --git a/src/components/ThemeButton.tsx b/src/components/ThemeButton.tsx deleted file mode 100644 index bddad40..0000000 --- a/src/components/ThemeButton.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import useTheme from "../hooks/useTheme"; -import inDev from "../utils/inDev"; - -const ThemeButton = () => { - const [isDark, toggleTheme] = useTheme(); - return ( - - ); -}; - -export default ThemeButton; diff --git a/src/components/atoms/MenuContainer.tsx b/src/components/atoms/MenuContainer.tsx new file mode 100644 index 0000000..0056a3c --- /dev/null +++ b/src/components/atoms/MenuContainer.tsx @@ -0,0 +1,42 @@ +import { + TooltipPositionContext, + TooltipPositionContextType, +} from "@root/src/contexts/TooltipPositionContext"; +import React, { useCallback } from "react"; +// Local Interfaces +interface OverlayButtonContainerProps { + children: React.ReactNode; + position?: "top-left" | "top-right" | "bottom-left" | "bottom-right"; + horizontal?: boolean; + tooltipPosition?: TooltipPositionContextType; +} + +const MenuContainer: React.FC = ({ + children, + position = "top-right", + horizontal, + tooltipPosition = undefined, +}) => { + const chooseContainerPosition = useCallback(() => { + const commonClasses = `z-50 menu bg-base-300 rounded-box gap-4 absolute ${horizontal ? "menu-horizontal" : ""} `; + if (position === "top-left") return commonClasses + "top-4 left-4"; + if (position === "top-right") return commonClasses + "top-4 right-4"; + if (position === "bottom-left") return commonClasses + "bottom-4 left-4"; + if (position === "bottom-right") return commonClasses + "bottom-4 right-4"; + }, [horizontal, position]); + + const overlayButtonContainer = () => { + const divProps = { + className: chooseContainerPosition(), + }; + return ( + +
    {children}
    +
    + ); + }; + + return overlayButtonContainer(); +}; + +export default MenuContainer; diff --git a/src/components/atoms/RoundButtonBase.tsx b/src/components/atoms/RoundButtonBase.tsx new file mode 100644 index 0000000..b9c4979 --- /dev/null +++ b/src/components/atoms/RoundButtonBase.tsx @@ -0,0 +1,59 @@ +import { TooltipPositionContext } from "@root/src/contexts/TooltipPositionContext"; +import { + ButtonHTMLAttributes, + ReactNode, + useCallback, + useContext, + useMemo, +} from "react"; + +interface RoundButtonBaseProps { + children: ReactNode; + buttonProps?: ButtonHTMLAttributes; + tooltipText?: string; +} + +const RoundButtonBase: React.FC = ({ + children, + buttonProps, + tooltipText, +}) => { + const tooltipPosition = useContext(TooltipPositionContext); + const chooseTooltipPosition = useCallback(() => { + if (tooltipPosition === "top") return "tooltip-top"; + if (tooltipPosition === "bottom") return "tooltip-bottom"; + if (tooltipPosition === "left") return "tooltip-left"; + if (tooltipPosition === "right") return "tooltip-right"; + }, [tooltipPosition]); + + const roundButtonBase = useMemo(() => { + const tooltipDivProps = { + className: "tooltip" + " " + chooseTooltipPosition(), + "data-tip": tooltipText, + }; + if (!tooltipText || !tooltipPosition) + return ( + + ); + else { + return ( +
    + +
    + ); + } + }, [ + buttonProps, + children, + chooseTooltipPosition, + tooltipPosition, + tooltipText, + ]); + return roundButtonBase; +}; + +export default RoundButtonBase; diff --git a/src/components/molecules/IconBase.tsx b/src/components/molecules/IconBase.tsx new file mode 100644 index 0000000..234d6ec --- /dev/null +++ b/src/components/molecules/IconBase.tsx @@ -0,0 +1,30 @@ +import { ReactNode } from "react"; +import { IconContext } from "react-icons/lib"; + +interface IconBaseProps { + children: ReactNode; +} +/** + * IconBase Component + * + * This component is a wrapper for the react-icons library. + * It provides a common interface for all icons and applies a consistent style to them. + * The style is defined by the IconContext.Provider, which is set to give all icons a height and width of 6. + * + * @component + * @param {ReactNode} children - The icons that are passed as children to the IconBase component. + * @returns {JSX.Element} A React component that renders the icons within the context of the IconContext.Provider. + */ +const IconBase: React.FC = ({ children }) => { + return ( + + {children} + + ); +}; + +export default IconBase; diff --git a/src/components/organisms/HomeButton.tsx b/src/components/organisms/HomeButton.tsx new file mode 100644 index 0000000..7242d74 --- /dev/null +++ b/src/components/organisms/HomeButton.tsx @@ -0,0 +1,26 @@ +import { FiArrowLeft } from "react-icons/fi"; +import { useNavigate } from "react-router-dom"; +import RoundButtonBase from "../atoms/RoundButtonBase"; +import IconBase from "../molecules/IconBase"; +import { useTranslation } from "react-i18next"; + +const HomeButton = () => { + const { t } = useTranslation(); + const navigate = useNavigate(); + const navigateToHome = () => { + navigate("/"); + }; + + return ( + + + + + + ); +}; + +export default HomeButton; diff --git a/src/components/organisms/LanguageButton.tsx b/src/components/organisms/LanguageButton.tsx new file mode 100644 index 0000000..66a3616 --- /dev/null +++ b/src/components/organisms/LanguageButton.tsx @@ -0,0 +1,40 @@ +import { languageMenu } from "@root/src/configure"; +import useLocalStorage from "@root/src/hooks/useLocalStorage"; +import { changeLanguage } from "i18next"; +import { FiFlag } from "react-icons/fi"; +import RoundButtonBase from "../atoms/RoundButtonBase"; +import IconBase from "../molecules/IconBase"; +import { useTranslation } from "react-i18next"; + +const LanguageButton = () => { + const [, setLanguage] = useLocalStorage("language", "eng"); + const { t } = useTranslation(); + return ( +
    + + + + + +
      + {languageMenu + .sort((a, b) => a.label.localeCompare(b.label)) + .map((language) => ( +
    • { + changeLanguage(language.lang); + setLanguage(language.lang); + }} + > + +
    • + ))} +
    +
    + ); +}; + +export default LanguageButton; diff --git a/src/components/organisms/LogoutButton.tsx b/src/components/organisms/LogoutButton.tsx new file mode 100644 index 0000000..35a3595 --- /dev/null +++ b/src/components/organisms/LogoutButton.tsx @@ -0,0 +1,29 @@ +import { useTranslation } from "react-i18next"; +import { FiLogOut } from "react-icons/fi"; +import { useNavigate } from "react-router-dom"; +import useLocalStorage from "../../hooks/useLocalStorage"; +import RoundButtonBase from "../atoms/RoundButtonBase"; +import IconBase from "../molecules/IconBase"; + +const LogoutButton = () => { + const [, setIsLoggedIn] = useLocalStorage("isLoggedIn", false); + const navigate = useNavigate(); + const { t } = useTranslation(); + return ( + { + setIsLoggedIn(false); + navigate("/login"); + }, + }} + tooltipText={t("button.action.logout")} + > + + + + + ); +}; + +export default LogoutButton; diff --git a/src/components/organisms/ThemeButton.tsx b/src/components/organisms/ThemeButton.tsx new file mode 100644 index 0000000..a1f7bee --- /dev/null +++ b/src/components/organisms/ThemeButton.tsx @@ -0,0 +1,31 @@ +import { useTranslation } from "react-i18next"; +import { FiMoon, FiSun } from "react-icons/fi"; +import useTheme from "../../hooks/useTheme"; +import RoundButtonBase from "../atoms/RoundButtonBase"; +import IconBase from "../molecules/IconBase"; + +const ThemeButton = () => { + const [isDark, toggleTheme] = useTheme(); + const { t } = useTranslation(); + return ( + + + +
    + +
    +
    + +
    +
    +
    + ); +}; + +export default ThemeButton; diff --git a/src/templates/HomePageTemplate.tsx b/src/components/templates/HomePageTemplate.tsx similarity index 68% rename from src/templates/HomePageTemplate.tsx rename to src/components/templates/HomePageTemplate.tsx index e981866..cf7cfeb 100644 --- a/src/templates/HomePageTemplate.tsx +++ b/src/components/templates/HomePageTemplate.tsx @@ -1,4 +1,8 @@ import { useTranslation } from "react-i18next"; +import MenuContainer from "../atoms/MenuContainer"; +import LogoutButton from "../organisms/LogoutButton"; +import ThemeButton from "../organisms/ThemeButton"; +import LanguageButton from "../organisms/LanguageButton"; export interface HomePageTemplateProps { buttonLabel: string; @@ -10,6 +14,11 @@ const HomePageTemplate = (props: HomePageTemplateProps) => { const { t } = useTranslation(); return (
    + + + + +

    HomePage

    diff --git a/src/components/templates/LoginPageTemplate.tsx b/src/components/templates/LoginPageTemplate.tsx new file mode 100644 index 0000000..0356009 --- /dev/null +++ b/src/components/templates/LoginPageTemplate.tsx @@ -0,0 +1,68 @@ +import MenuContainer from "@root/src/components/atoms/MenuContainer"; +import ThemeButton from "@root/src/components/organisms/ThemeButton"; +import { main } from "@root/src/configure"; +import { useTranslation } from "react-i18next"; +import LanguageButton from "../organisms/LanguageButton"; +interface LoginPageTemplateProps { + handleLogin: () => void; + getStartedOnClick: () => void; +} +const LoginPageTemplate = ({ + handleLogin, + getStartedOnClick, +}: LoginPageTemplateProps) => { + const { t } = useTranslation(); + return ( +
    + + + + +
    +
    +

    {main.program_name}

    +

    {main.program_description}

    + +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    + ); +}; + +export default LoginPageTemplate; diff --git a/src/configure.tsx b/src/configure.tsx index bde98d0..d1b9ec8 100644 --- a/src/configure.tsx +++ b/src/configure.tsx @@ -1,10 +1,3 @@ -import { FiHome, FiLogIn } from "react-icons/fi"; -import { setLocation } from "./components/FloatingMenu"; -import ThemeButton from "./components/ThemeButton"; -import { HOME, LANGUAGE, LOGIN, THEME } from "./consts"; -import { MenuStructure } from "./types/floatingMenuTypes"; -import { setLanguage } from "./main"; -import { HiMiniLanguage } from "react-icons/hi2"; /* INSTRUCTIONS: * Here you can configure: * - program version @@ -19,74 +12,23 @@ export const main = { api_url: viteEnv.VITE_API_URL || `setup in .env.${viteEnv.MODE}`, base_path: viteEnv.VITE_BASE_PATH || "/", program_authors: [{ name: "Author Name", email: "email@example.com" }], - program_description: `It is a software application that helps organizations manage maintenance activities. With a ${viteEnv.VITE_APP_NAME}, companies can track preventative maintenance schedules, record equipment repairs, and monitor inventory levels. It also allows for easy reporting and analysis, providing valuable insights into maintenance operations. By automating these processes, a ${viteEnv.VITE_APP_NAME} can help reduce costs, improve efficiency, and ensure compliance with regulatory standards.`, + program_description: + "Lorem ipsum dolor sit amet consectetur adipisicing elit. In eum ratione deserunt veritatis voluptatibus fugit harum? Commodi, eaque saepe facere maiores sit adipisci quis rerum doloribus quia excepturi in tenetur praesentium soluta asperiores nesciunt? Debitis nisi autem ipsa, laborum cumque minima officiis incidunt ullam quaerat similique officia beatae voluptatum maxime praesentium non laudantium rem asperiores amet at! Rem quis quidem ut aspernatur enim aperiam. Tenetur delectus nulla cupiditate corporis quisquam autem ab tempora. Vel voluptatum sit corrupti veniam tempore quos at vero hic alias necessitatibus quidem rerum deleniti enim adipisci nobis repellat, facere ullam modi error quaerat. A, tempora aliquam!", program_name: `${viteEnv.VITE_APP_NAME}${viteEnv.MODE ? " [development]" : ""}` || "setup in .env", program_version: "1.0.0", }; // -------- FRONTEND CONFIGURATION -------- -// sizes in pixels -export const topbarSize = 64; -export const sidebarSize = 256; -export const floatingLanguageMenuStructure: MenuStructure[] = [ +export const languageMenu = [ { label: "English", icon:

    🇬🇧

    , - action: () => { - console.log("English"); - setLanguage("eng"); - }, + lang: "eng", }, { label: "Polski", icon:

    🇵🇱

    , - action: () => { - console.log("Polski"); - setLanguage("pol"); - }, - }, -]; -export const floatingMenuStructure: MenuStructure[] = [ - { - label: HOME, - icon: , - action: () => setLocation("/"), - }, - { - label: LOGIN, - icon: , - action: () => setLocation(`/${LOGIN}`), - }, - { label: THEME, element: }, - { - label: LANGUAGE, - element: ( - - ), + lang: "pol", }, ]; diff --git a/src/contexts/TooltipPositionContext.ts b/src/contexts/TooltipPositionContext.ts new file mode 100644 index 0000000..ae3c48c --- /dev/null +++ b/src/contexts/TooltipPositionContext.ts @@ -0,0 +1,10 @@ +import { createContext } from "react"; + +export type TooltipPositionContextType = + | "top" + | "bottom" + | "left" + | "right" + | undefined; +export const TooltipPositionContext = + createContext(undefined); diff --git a/src/hooks/useTheme.ts b/src/hooks/useTheme.ts index b75726f..46d0f3f 100644 --- a/src/hooks/useTheme.ts +++ b/src/hooks/useTheme.ts @@ -1,6 +1,5 @@ import { useEffect } from "react"; import useLocalStorage from "./useLocalStorage"; -import inDev from "../utils/inDev"; /** * Custom hook for managing theme state. * @@ -20,14 +19,12 @@ const useTheme = (): [boolean, () => void] => { const isDark = theme === "dark"; const toggleTheme = () => { - inDev(() => console.log("toggleTheme called")); const newTheme = theme === "light" ? "dark" : "light"; setTheme(newTheme); document.documentElement.dataset.theme = newTheme; }; useEffect(() => { - inDev(() => console.log("useEffect called")); document.documentElement.dataset.theme = theme; }, [theme]); diff --git a/src/locales/eng/general.js b/src/locales/eng/general.js new file mode 100644 index 0000000..6272acd --- /dev/null +++ b/src/locales/eng/general.js @@ -0,0 +1,24 @@ +export const general = { + welcome: "Welcome!", + homePage: { click_me: "Click me!", counter: "Counter" }, + Page404: { + notFoundTitle: "404 Not Found", + notFoundDescription: "The requested URL", + wasNotFound: "was not found on this server.", + }, + button: { + navigation: { home: "Home", back: "Back", more: "More" }, + action: { + accept: "Accept", + cancel: "Cancel", + theme: "Change theme", + login: "Login", + logout: "Logout", + changeLanguage: "Change language", + }, + }, + input: { + username: "Username", + password: "Password", + }, +}; diff --git a/src/locales/eng/general.json b/src/locales/eng/general.json deleted file mode 100644 index 37255ca..0000000 --- a/src/locales/eng/general.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "welcome": "Welcome!", - "login_button": "Login", - "login_username": "Username", - "login_password": "Password", - "login_accept_terms": "I accept the terms and conditions", - "homePage": { "click_me": "Click me!", "counter": "Counter" } -} diff --git a/src/locales/localesConfig.ts b/src/locales/localesConfig.ts index 79575e8..6caa72b 100644 --- a/src/locales/localesConfig.ts +++ b/src/locales/localesConfig.ts @@ -1,8 +1,8 @@ import i18n from "i18next"; import LanguageDetector from "i18next-browser-languagedetector"; import { initReactI18next } from "react-i18next"; -import generalEng from "./eng/general.json"; -import generalPol from "./pol/general.json"; +import { general as generalEng } from "./eng/general"; +import { general as generalPol } from "./pol/general"; i18n .use(initReactI18next) diff --git a/src/locales/pol/general.js b/src/locales/pol/general.js new file mode 100644 index 0000000..e2b876f --- /dev/null +++ b/src/locales/pol/general.js @@ -0,0 +1,28 @@ +export const general = { + welcome: "Witaj!", + homePage: { click_me: "Naciśnij tutaj!", counter: "Licznik" }, + Page404: { + notFoundTitle: "404 Nie znaleziono", + notFoundDescription: "Rządany URL", + wasNotFound: "nie został znaleziony na tym serwerze.", + }, + button: { + navigation: { + home: "Strona główna", + back: "Wstecz", + more: "Więcej", + }, + action: { + accept: "Akceptuj", + cancel: "Anuluj", + theme: "Motyw", + login: "Zaloguj", + logout: "Wyloguj", + changeLanguage: "Zmień język", + }, + }, + input: { + username: "Nazwa użytkownika", + password: "Hasło", + }, +}; diff --git a/src/locales/pol/general.json b/src/locales/pol/general.json deleted file mode 100644 index c16907b..0000000 --- a/src/locales/pol/general.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "welcome": "Witaj!", - "login_button": "Zaloguj", - "login_username": "Nazwa użytkownika", - "login_password": "Hasło", - "login_accept_terms": "Akceptuję regulamin", - "homePage": { "click_me": "Naciśnij tutaj!", "counter": "Licznik" } -} diff --git a/src/main.tsx b/src/main.tsx index 63a4ee6..88c21a2 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,13 +1,11 @@ import { Global, css } from "@emotion/react"; -import React, { useEffect } from "react"; +import React from "react"; import ReactDOM from "react-dom/client"; -import { useTranslation } from "react-i18next"; -import { Router } from "wouter"; -import App from "./App"; +import { RouterProvider, createBrowserRouter } from "react-router-dom"; import { setupAxiosInterceptors } from "./api/AxiosService"; import { main, viteEnv } from "./configure"; -import useLocalStorage from "./hooks/useLocalStorage"; import "./locales/localesConfig"; +import routes from "./routes/routes"; import inDev from "./utils/inDev"; import "/style.css"; // Global tailwind styles @@ -20,44 +18,14 @@ setupAxiosInterceptors(); * Logs environment variables if in development mode. */ inDev(() => console.log(viteEnv)); - -/** - * Global variables to manage the application's language state. - */ -export let language: string, setLanguage: (value: string) => void; - -/** - * _App component which is the main entry point of the application. - * Manages routing and global state like language. - * - * @returns The Router component wrapping the main App component. - */ -const _App = () => { - // Hook to manage language state in local storage - [language, setLanguage] = useLocalStorage("language", "eng"); - const { i18n } = useTranslation(); - - // Effect to change language based on state - useEffect(() => { - i18n.changeLanguage(language); - }, [language]); - - // Conditional rendering based on base path - if (main.base_path !== "/") { - return ( - - - - ); - } else { - return ( - - - - ); - } -}; - +// Routing +const router = createBrowserRouter(routes, { + basename: main.base_path, + future: { + // Normalize `useNavigation()`/`useFetcher()` `formMethod` to uppercase + v7_normalizeFormMethod: true, + }, +}); // Mounting the application to the DOM ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( @@ -69,9 +37,10 @@ ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( width: 100%; height: 100%; position: relative; + background-color: oklch(var(--b2)); } `} /> - <_App /> + , ); diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 77b2485..7b10178 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,22 +1,26 @@ import { useState } from "react"; -import HomePageTemplate from "../templates/HomePageTemplate"; import { useTranslation } from "react-i18next"; +import { Outlet } from "react-router-dom"; +import HomePageTemplate from "../components/templates/HomePageTemplate"; const HomePage = () => { const [counter, setCounter] = useState(0); const { t } = useTranslation(); return ( - { - if (counter >= 10) { - setCounter(0); - return; - } else setCounter(counter + 1); - }} - value={counter} - /> + <> + { + if (counter >= 10) { + setCounter(0); + return; + } else setCounter(counter + 1); + }} + value={counter} + /> + + ); }; diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx index 18783c9..0b35ead 100644 --- a/src/pages/LoginPage.tsx +++ b/src/pages/LoginPage.tsx @@ -1,59 +1,22 @@ -import { useTranslation } from "react-i18next"; -import { main } from "../configure"; +import { useNavigate } from "react-router-dom"; +import LoginPageTemplate from "../components/templates/LoginPageTemplate"; +import useLocalStorage from "../hooks/useLocalStorage"; const LoginPage = () => { - const { t } = useTranslation(); + const [, setIsLoggedIn] = useLocalStorage("isLoggedIn", false); + const navigate = useNavigate(); + const handleLogin = () => { + setIsLoggedIn(true); + navigate("/"); + }; + const onClickGetStarted = () => { + navigate("/more"); + }; return ( -
    -
    -
    -

    {main.program_name}

    -

    {main.program_description}

    - -
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    + ); }; diff --git a/src/pages/NotFound_404.tsx b/src/pages/NotFound_404.tsx new file mode 100644 index 0000000..9dc1e3c --- /dev/null +++ b/src/pages/NotFound_404.tsx @@ -0,0 +1,29 @@ +import { useTranslation } from "react-i18next"; +import { useLocation } from "react-router-dom"; +import ThemeButton from "../components/organisms/ThemeButton"; +import HomeButton from "../components/organisms/HomeButton"; + +const NotFound_404 = () => { + const location = useLocation(); + const { t } = useTranslation(); + return ( +
    +
    + +
    +
    + +
    +
    +

    {t("Page404.notFoundTitle")}

    +

    + {t("Page404.notFoundDescription")}{" "} + {location.pathname}{" "} + {t("Page404.wasNotFound")} +

    +
    +
    + ); +}; + +export default NotFound_404; diff --git a/src/routes/ManuallyDefinedRoutesTest.tsx b/src/routes/ManuallyDefinedRoutesTest.tsx deleted file mode 100644 index 309085b..0000000 --- a/src/routes/ManuallyDefinedRoutesTest.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Switch, Route } from "wouter"; -import HomePage from "../pages/HomePage"; - -const ManuallyDefinedRoutesTest = () => { - return ( - - - - - <>User HP} /> - <>User: {username}} - /> - - - - - ); -}; - -export default ManuallyDefinedRoutesTest; diff --git a/src/routes/SwitchRouteGenerator.tsx b/src/routes/SwitchRouteGenerator.tsx deleted file mode 100644 index bca3208..0000000 --- a/src/routes/SwitchRouteGenerator.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { Route, Switch } from "wouter"; -import inDev from "../utils/inDev"; -import { RoutingTree } from "../types/routesTypes"; -import { SwitchRouteGeneratorProps } from "../types/switchRouteGeneratorTypes"; -import { clearMultiplePathSlashes } from "../utils/StringTransformationUtils"; - -const routesCrawler = ( - routesTree: RoutingTree, - parentPath?: string, -): JSX.Element[] => { - return routesTree.map((route): JSX.Element => { - // ----- - if (route.path) { - const _path = clearMultiplePathSlashes( - parentPath && parentPath !== "/" ? parentPath + route.path : route.path, - ); - // Debug log shows generated routes - inDev(() => console.log("routesCrawler_routes", route.name, _path)); - // ----- - if (route.nest) { - return ( - - - {routesCrawler(route.nest, _path)} - - - ); - } else return ; - } else return ; - }); -}; - -/** - * This component is used to generate Switch with Routes for given routes object - */ -const SwitchRouteGenerator = ({ routesTree }: SwitchRouteGeneratorProps) => { - return {routesCrawler(routesTree)}; -}; -export default SwitchRouteGenerator; diff --git a/src/routes/routes.tsx b/src/routes/routes.tsx index 321d828..9ccbb1e 100644 --- a/src/routes/routes.tsx +++ b/src/routes/routes.tsx @@ -1,56 +1,29 @@ -import { IoMdLogIn, IoMdOptions } from "react-icons/io"; -import { RiHome3Fill } from "react-icons/ri"; -import { HOME, LOGIN, PAGE_NOT_FOUND, SETTINGS, USERS } from "../consts"; import HomePage from "../pages/HomePage"; import LoginPage from "../pages/LoginPage"; -import { RoutingTree } from "../types/routesTypes"; -import { capitalizeFirstLetter } from "../utils/StringTransformationUtils"; +import { RouteObject } from "react-router-dom"; +import NotFound_404 from "../pages/NotFound_404"; +import App from "../App"; // ----- ROUTES CONFIGURATION ----- // Configuration of the application's route structure -// This includes both parent routes and nested routes within them -export const routesTree: RoutingTree = [ +const routes: RouteObject[] = [ { - name: capitalizeFirstLetter(HOME), path: "/", - component: HomePage, - icon: RiHome3Fill, - }, - { - name: capitalizeFirstLetter(USERS), - path: "users", - nest: [ + element: , + children: [ { - name: "User", path: "/", - component: () => <>User HP, + element: , }, { - name: "UserName", - path: ":username", - component: (username) => <>User: {username}, - }, - { - name: "UserNotFound", - component: () => <>User not found, + path: "login", + element: , }, ], }, { - name: capitalizeFirstLetter(SETTINGS), - path: SETTINGS, - component: () => <>Settings, - icon: IoMdOptions, - }, - { - name: capitalizeFirstLetter(LOGIN), - path: LOGIN, - component: LoginPage, - icon: IoMdLogIn, - }, - { - name: capitalizeFirstLetter(PAGE_NOT_FOUND), - component: () => <>💥404💥, + path: "*", + element: , }, ]; -export default routesTree; +export default routes; diff --git a/src/types/devControlPanelTypes.ts b/src/types/devControlPanelTypes.ts deleted file mode 100644 index d1f532c..0000000 --- a/src/types/devControlPanelTypes.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { SwitchRouteGeneratorProps } from "./switchRouteGeneratorTypes"; - -export type DevControlPanelProps = SwitchRouteGeneratorProps; diff --git a/src/types/floatingMenuTypes.ts b/src/types/floatingMenuTypes.ts deleted file mode 100644 index ee83b09..0000000 --- a/src/types/floatingMenuTypes.ts +++ /dev/null @@ -1,15 +0,0 @@ -interface FloatingMenuElement { - label: string; - icon: JSX.Element; - action: () => void; -} -interface FloatingMenuJSXElement { - label: string; - element: JSX.Element; -} -export interface FloatingMenuProps { - menuStructure: MenuStructure[]; - className?: string | undefined; - tooltipClassName?: string | undefined; -} -export type MenuStructure = FloatingMenuElement | FloatingMenuJSXElement; diff --git a/src/types/routesTypes.ts b/src/types/routesTypes.ts deleted file mode 100644 index 504d915..0000000 --- a/src/types/routesTypes.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ComponentType } from "react"; -import { RouteComponentProps } from "wouter"; - -interface RouteWithPath { - path: string; - nest?: RoutingTree; -} -interface RouteWithoutPath { - path?: never; - nest?: never; -} -interface RouteWithComponent { - nest?: never; - component: ComponentType> | undefined; -} -interface RouteWithoutComponent { - nest: RoutingTree; - component?: never; -} -interface RouteObjectBase { - name: string; - icon?: React.FC; -} -export type RouteObject = RouteObjectBase & - (RouteWithPath | RouteWithoutPath) & - (RouteWithComponent | RouteWithoutComponent); - -export type RoutingTree = RouteObject[]; diff --git a/src/types/switchRouteGeneratorTypes.ts b/src/types/switchRouteGeneratorTypes.ts deleted file mode 100644 index 47e95d8..0000000 --- a/src/types/switchRouteGeneratorTypes.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { RoutingTree } from "./routesTypes"; - -export interface SwitchRouteGeneratorProps { - routesTree: RoutingTree; -} \ No newline at end of file diff --git a/style.css b/style.css index bd6213e..b5c61c9 100644 --- a/style.css +++ b/style.css @@ -1,3 +1,3 @@ @tailwind base; @tailwind components; -@tailwind utilities; \ No newline at end of file +@tailwind utilities; diff --git a/tailwind.config.ts b/tailwind.config.ts index eec1663..b61fbda 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,29 +1,23 @@ import forms from "@tailwindcss/forms"; import typography from "@tailwindcss/typography"; import daisyUI from "daisyui"; -import { Config } from "tailwindcss"; -export default { - content: { - relative: true, - files: ["./src/**/*.{js,ts,jsx,tsx}", "./index.html"], - }, - // safelist is used to allow classes to not be purged by tailwind; - // I made this to set this classes dyanmically in the code, somehow without this tailwind purges them; - // safelist: ["alert-info", "alert-success", "alert-warning", "alert-error"], - theme: { - extend: { - spacing: { - 128: "32rem", - 144: "36rem", - }, - borderRadius: { - "4xl": "2rem", - }, - }, - }, - darkMode: "media", - plugins: [forms, typography, daisyUI], +import type { Config } from "tailwindcss"; +import twanimate from "tailwindcss-animate"; + +const config: Config = { + darkMode: "class", + content: [ + "./pages/**/*.{ts,tsx}", + "./components/**/*.{ts,tsx}", + "./app/**/*.{ts,tsx}", + "./src/**/*.{ts,tsx}", + "./index.html", + ], + prefix: "", + plugins: [twanimate, forms, typography, daisyUI], daisyui: { themes: ["light", "dark"], }, -} as Config; +}; + +export default config; diff --git a/tsconfig.json b/tsconfig.json index 7169b7f..dcc5c04 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -30,6 +30,11 @@ "allowJs": true, // Allow JavaScript files to be imported "skipLibCheck": true, // Skip type checking of declaration files "noEmit": true, // Vite handles the emitting of files + "paths": { + "@root/*": [ + "./*" + ] + }, // Allow absolute imports from src }, // Specifying folders and files to include in compilation "include": [ diff --git a/vite.config.ts b/vite.config.ts index a80ddcd..f0b0cb3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,17 @@ import { defineConfig, loadEnv } from "vite"; import react from "@vitejs/plugin-react"; +import path from "path"; // https://vitejs.dev/config/ export default ({ mode }) => { process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; return defineConfig({ + resolve: { + alias: { + "@root": path.resolve(__dirname, "./"), + "@": path.resolve(__dirname, "./src"), + }, + }, plugins: [react()], }); };