feat: add icon
3
Gaze.icon/Assets/Ellipse 1 4.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="824" height="824" viewBox="0 0 824 824" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="412" cy="412" r="400" stroke="#60A5FA" stroke-width="24"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 178 B |
3
Gaze.icon/Assets/Ellipse 10 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="166" height="166" viewBox="0 0 166 166" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M58.4291 107.248C40.2283 89.0469 27.2805 74.7141 18.3091 63.2414C9.33386 51.7638 4.35886 43.1738 2.07392 36.459C-0.204265 29.7639 0.198035 24.9522 1.96275 20.9862C3.7429 16.9857 6.92678 13.7931 10.3596 10.3603C13.7926 6.92727 16.9856 3.74289 20.9863 1.96269C24.9523 0.197975 29.7639 -0.204334 36.4591 2.07386C43.1739 4.3588 51.7639 9.3338 63.2414 18.309C74.7141 27.2805 89.047 40.2283 107.248 58.429C125.449 76.6298 138.396 90.9626 147.368 102.435C156.343 113.913 161.318 122.503 163.603 129.218C165.881 135.913 165.479 140.725 163.714 144.691C161.934 148.691 158.75 151.884 155.317 155.317C151.884 158.75 148.691 161.934 144.691 163.714C140.725 165.479 135.913 165.881 129.218 163.603C122.503 161.318 113.913 156.343 102.435 147.368C90.9627 138.396 76.6299 125.448 58.4291 107.248Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 934 B |
3
Gaze.icon/Assets/Ellipse 11.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="50" cy="50" r="50" fill="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 155 B |
3
Gaze.icon/Assets/Ellipse 3 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="71" height="206" viewBox="0 0 71 206" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M0.5 103C0.499994 77.2602 1.47938 57.9699 3.24805 43.5137C5.01746 29.0514 7.57365 19.4595 10.7061 13.0957C13.8293 6.7506 17.5161 3.63274 21.5684 2.07618C25.6559 0.506162 30.1647 0.500004 35.0195 0.500004C39.8745 0.500004 44.384 0.506097 48.4717 2.07618C52.5239 3.63274 56.2107 6.75059 59.334 13.0957C62.4664 19.4595 65.0226 29.0514 66.792 43.5137C68.5607 57.9699 69.54 77.2602 69.54 103C69.54 128.74 68.5607 148.03 66.792 162.486C65.0226 176.949 62.4664 186.541 59.334 192.904C56.2107 199.249 52.5239 202.367 48.4717 203.924C44.384 205.494 39.8745 205.5 35.0195 205.5C30.1647 205.5 25.6559 205.494 21.5684 203.924C17.5161 202.367 13.8293 199.249 10.7061 192.904C7.57365 186.541 5.01746 176.949 3.24805 162.486C1.47938 148.03 0.500006 128.74 0.5 103Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 899 B |
3
Gaze.icon/Assets/Ellipse 4 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="71" height="206" viewBox="0 0 71 206" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M0.5 103C0.499994 77.2602 1.47938 57.9699 3.24805 43.5137C5.01746 29.0514 7.57365 19.4595 10.7061 13.0957C13.8293 6.7506 17.5161 3.63273 21.5684 2.07617C25.6559 0.506158 30.1647 0.5 35.0195 0.5C39.8745 0.5 44.384 0.506093 48.4717 2.07617C52.5239 3.63273 56.2107 6.75058 59.334 13.0957C62.4664 19.4595 65.0226 29.0514 66.792 43.5137C68.5607 57.9699 69.54 77.2602 69.54 103C69.54 128.74 68.5607 148.03 66.792 162.486C65.0226 176.949 62.4664 186.541 59.334 192.904C56.2107 199.249 52.5239 202.367 48.4717 203.924C44.384 205.494 39.8745 205.5 35.0195 205.5C30.1647 205.5 25.6559 205.494 21.5684 203.924C17.5161 202.367 13.8293 199.249 10.7061 192.904C7.57365 186.541 5.01746 176.949 3.24805 162.486C1.47938 148.03 0.500006 128.74 0.5 103Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 884 B |
3
Gaze.icon/Assets/Ellipse 5 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="206" height="71" viewBox="0 0 206 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M103 69.54C77.2602 69.54 57.9699 68.5606 43.5137 66.792C29.0514 65.0225 19.4595 62.4664 13.0957 59.334C6.7506 56.2107 3.63274 52.5239 2.07618 48.4716C0.506162 44.3841 0.500004 39.8753 0.500004 35.0205C0.500004 30.1655 0.506097 25.656 2.07618 21.5683C3.63274 17.5161 6.75059 13.8293 13.0957 10.706C19.4595 7.57362 29.0514 5.01743 43.5137 3.24802C57.9699 1.47935 77.2602 0.49997 103 0.499969C128.74 0.499969 148.03 1.47935 162.486 3.24802C176.949 5.01743 186.541 7.57362 192.904 10.706C199.249 13.8293 202.367 17.5161 203.924 21.5683C205.494 25.656 205.5 30.1655 205.5 35.0205C205.5 39.8753 205.494 44.3841 203.924 48.4716C202.367 52.5239 199.249 56.2107 192.904 59.334C186.541 62.4664 176.949 65.0225 162.486 66.792C148.03 68.5606 128.74 69.54 103 69.54Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 903 B |
3
Gaze.icon/Assets/Ellipse 7 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="166" height="166" viewBox="0 0 166 166" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M107.248 107.248C89.0469 125.449 74.7141 138.396 63.2414 147.368C51.7638 156.343 43.1738 161.318 36.459 163.603C29.7639 165.881 24.9522 165.479 20.9862 163.714C16.9857 161.934 13.7931 158.75 10.3603 155.317C6.92727 151.884 3.74289 148.691 1.96269 144.691C0.197975 140.725 -0.204334 135.913 2.07386 129.218C4.3588 122.503 9.3338 113.913 18.309 102.435C27.2805 90.9627 40.2283 76.6298 58.429 58.4291C76.6298 40.2283 90.9626 27.2805 102.435 18.309C113.913 9.33381 122.503 4.35882 129.218 2.07389C135.913 -0.204313 140.725 0.197996 144.691 1.96271C148.691 3.74292 151.884 6.92729 155.317 10.3603C158.75 13.7932 161.934 16.9857 163.714 20.9862C165.479 24.9522 165.881 29.7639 163.603 36.459C161.318 43.1739 156.343 51.7638 147.368 63.2414C138.396 74.7141 125.448 89.047 107.248 107.248Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 933 B |
3
Gaze.icon/Assets/Ellipse 8 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="166" height="166" viewBox="0 0 166 166" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M107.248 58.4291C125.449 76.6298 138.396 90.9627 147.368 102.435C156.343 113.913 161.318 122.503 163.603 129.218C165.881 135.913 165.479 140.725 163.714 144.691C161.934 148.691 158.75 151.884 155.317 155.317C151.884 158.75 148.691 161.934 144.691 163.714C140.725 165.479 135.913 165.881 129.218 163.603C122.503 161.318 113.913 156.343 102.435 147.368C90.9627 138.396 76.6298 125.449 58.4291 107.248C40.2283 89.047 27.2805 74.7141 18.309 63.2414C9.33381 51.7639 4.35882 43.1739 2.07389 36.4591C-0.204313 29.7639 0.197996 24.9523 1.96271 20.9863C3.74292 16.9856 6.92729 13.7926 10.3603 10.3596C13.7932 6.92677 16.9857 3.74289 20.9862 1.96274C24.9522 0.198028 29.7639 -0.20428 36.459 2.07391C43.1739 4.35885 51.7638 9.33384 63.2414 18.3091C74.7141 27.2805 89.047 40.2283 107.248 58.4291Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 936 B |
3
Gaze.icon/Assets/Ellipse 9 3.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="166" height="166" viewBox="0 0 166 166" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M58.4291 58.4291C76.6298 40.2283 90.9627 27.2805 102.435 18.3091C113.913 9.33386 122.503 4.35886 129.218 2.07392C135.913 -0.204265 140.725 0.198035 144.691 1.96275C148.691 3.7429 151.884 6.92678 155.317 10.3596C158.75 13.7926 161.934 16.9856 163.714 20.9863C165.479 24.9523 165.881 29.7639 163.603 36.4591C161.318 43.1739 156.343 51.7639 147.368 63.2414C138.396 74.7141 125.449 89.047 107.248 107.248C89.047 125.449 74.7141 138.396 63.2414 147.368C51.7639 156.343 43.1739 161.318 36.4591 163.603C29.7639 165.881 24.9523 165.479 20.9863 163.714C16.9856 161.934 13.7926 158.75 10.3596 155.317C6.92677 151.884 3.74289 148.691 1.96274 144.691C0.198028 140.725 -0.20428 135.913 2.07391 129.218C4.35885 122.503 9.33384 113.913 18.3091 102.435C27.2805 90.9627 40.2283 76.6299 58.4291 58.4291Z" fill="#60A5FA" stroke="#60A5FA"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 937 B |
3
Gaze.icon/Assets/Line 7.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="382" height="67" viewBox="0 0 382 67" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M381.44 5.51269C380.65 3.67513 379.861 1.83757 379.071 1.52588e-05C372.618 2.00502 366.541 3.83333 360.117 5.77749C300.891 23.4928 241.739 39.1634 182.697 38.091C128.821 37.5217 75.1876 23.177 21.372 6.11415C14.9716 4.06855 8.92853 2.1461 2.51117 0.0317421C1.6741 1.84815 0.837067 3.66455 0 5.48096C5.81216 9.00012 11.3097 12.2668 17.2349 15.5995C66.6277 43.5687 122.66 65.4078 182.285 66.088C247.678 67.1725 309.015 43.9073 363.917 15.0536C369.916 11.9067 375.514 8.82487 381.44 5.51269Z" fill="#0070FF"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 621 B |
3
Gaze.icon/Assets/Line 8.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="382" height="67" viewBox="0 0 382 67" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M-5.36442e-06 60.6117C0.789539 62.4493 1.57908 64.2868 2.36863 66.1244C8.82176 64.1194 14.8993 62.2911 21.323 60.3469C80.5487 42.6317 139.701 26.961 198.743 28.0334C252.619 28.6027 306.252 42.9475 360.068 60.0103C366.468 62.0559 372.511 63.9783 378.929 66.0927C379.766 64.2763 380.603 62.4599 381.44 60.6435C375.628 57.1243 370.13 53.8576 364.205 50.5249C314.812 22.5557 258.779 0.716632 199.155 0.0364504C133.762 -1.04807 72.4251 22.2171 17.5232 51.0709C11.5236 54.2177 5.92607 57.2995 -5.36442e-06 60.6117Z" fill="#0070FF"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 641 B |
313
Gaze.icon/icon.json
Normal file
@@ -0,0 +1,313 @@
|
|||||||
|
{
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"groups" : [
|
||||||
|
{
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Ellipse 3 3.svg",
|
||||||
|
"name" : "Ellipse 3 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
250
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Ellipse 4 3.svg",
|
||||||
|
"name" : "Ellipse 4 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
-250
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"hidden" : true,
|
||||||
|
"image-name" : "Ellipse 5 3.svg",
|
||||||
|
"name" : "Ellipse 5 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"hidden" : true,
|
||||||
|
"image-name" : "Ellipse 5 3.svg",
|
||||||
|
"name" : "Ellipse 5 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
250,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"hidden" : true,
|
||||||
|
"image-name" : "Ellipse 5 3.svg",
|
||||||
|
"name" : "Ellipse 5 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
-250,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Ellipse 7 3.svg",
|
||||||
|
"name" : "Ellipse 7 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
185,
|
||||||
|
-185
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Ellipse 8 3.svg",
|
||||||
|
"name" : "Ellipse 8 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
185,
|
||||||
|
185
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Ellipse 9 3.svg",
|
||||||
|
"name" : "Ellipse 9 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
-185,
|
||||||
|
185
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "multiply",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Ellipse 10 3.svg",
|
||||||
|
"name" : "Ellipse 10 3",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
-185,
|
||||||
|
-185
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "neutral",
|
||||||
|
"opacity" : 0.5
|
||||||
|
},
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden" : false,
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Line 7.svg",
|
||||||
|
"name" : "Line 7",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.08,
|
||||||
|
"translation-in-points" : [
|
||||||
|
5.838429928574556,
|
||||||
|
82.99998474120002
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "darken",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : false,
|
||||||
|
"image-name" : "Line 8.svg",
|
||||||
|
"name" : "Line 8",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.21,
|
||||||
|
"translation-in-points" : [
|
||||||
|
-0.1999973177900074,
|
||||||
|
-82.12440000000004
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "neutral",
|
||||||
|
"opacity" : 0.5
|
||||||
|
},
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"blend-mode" : "plus-darker",
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : true,
|
||||||
|
"hidden" : false,
|
||||||
|
"image-name" : "Ellipse 11.svg",
|
||||||
|
"name" : "Ellipse 11",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.32,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "hard-light",
|
||||||
|
"fill" : {
|
||||||
|
"solid" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
},
|
||||||
|
"glass" : true,
|
||||||
|
"image-name" : "Ellipse 11.svg",
|
||||||
|
"name" : "Ellipse 11",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 0.99,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "neutral",
|
||||||
|
"opacity" : 0.5
|
||||||
|
},
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blend-mode" : "plus-darker",
|
||||||
|
"blur-material" : 0.5,
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"blend-mode-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : "darken"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "tinted",
|
||||||
|
"value" : "lighten"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fill-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : {
|
||||||
|
"linear-gradient" : [
|
||||||
|
"display-p3:0.38403,0.64839,1.04685,1.00000",
|
||||||
|
"extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
],
|
||||||
|
"orientation" : {
|
||||||
|
"start" : {
|
||||||
|
"x" : 0.5,
|
||||||
|
"y" : 0
|
||||||
|
},
|
||||||
|
"stop" : {
|
||||||
|
"x" : 0.5,
|
||||||
|
"y" : 0.7
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "dark",
|
||||||
|
"value" : {
|
||||||
|
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"glass" : true,
|
||||||
|
"image-name" : "Ellipse 1 4.svg",
|
||||||
|
"name" : "Ellipse 1 4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "neutral",
|
||||||
|
"opacity" : 0.5
|
||||||
|
},
|
||||||
|
"specular" : true,
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"supported-platforms" : {
|
||||||
|
"circles" : [
|
||||||
|
"watchOS"
|
||||||
|
],
|
||||||
|
"squares" : "shared"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,11 @@
|
|||||||
objectVersion = 77;
|
objectVersion = 77;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
275915892F132A9200D0E60D /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = 27AE10B12F10B1FC00E00DBC /* Lottie */; };
|
||||||
|
2759160C2F132C7A00D0E60D /* Gaze.icon in Resources */ = {isa = PBXBuildFile; fileRef = 2759160B2F132C7A00D0E60D /* Gaze.icon */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
27A21B4A2F0F69DD0018C4F3 /* PBXContainerItemProxy */ = {
|
27A21B4A2F0F69DD0018C4F3 /* PBXContainerItemProxy */ = {
|
||||||
isa = PBXContainerItemProxy;
|
isa = PBXContainerItemProxy;
|
||||||
@@ -24,6 +29,7 @@
|
|||||||
/* End PBXContainerItemProxy section */
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
|
2759160B2F132C7A00D0E60D /* Gaze.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = Gaze.icon; sourceTree = "<group>"; };
|
||||||
27A21B3C2F0F69DC0018C4F3 /* Gaze.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Gaze.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
27A21B3C2F0F69DC0018C4F3 /* Gaze.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Gaze.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
27A21B492F0F69DD0018C4F3 /* GazeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GazeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
27A21B492F0F69DD0018C4F3 /* GazeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GazeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
27A21B532F0F69DD0018C4F3 /* GazeUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GazeUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
27A21B532F0F69DD0018C4F3 /* GazeUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GazeUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
@@ -52,6 +58,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
275915892F132A9200D0E60D /* Lottie in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -75,6 +82,7 @@
|
|||||||
27A21B332F0F69DC0018C4F3 = {
|
27A21B332F0F69DC0018C4F3 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
2759160B2F132C7A00D0E60D /* Gaze.icon */,
|
||||||
27A21B3E2F0F69DC0018C4F3 /* Gaze */,
|
27A21B3E2F0F69DC0018C4F3 /* Gaze */,
|
||||||
27A21B4C2F0F69DD0018C4F3 /* GazeTests */,
|
27A21B4C2F0F69DD0018C4F3 /* GazeTests */,
|
||||||
27A21B562F0F69DD0018C4F3 /* GazeUITests */,
|
27A21B562F0F69DD0018C4F3 /* GazeUITests */,
|
||||||
@@ -216,6 +224,7 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
2759160C2F132C7A00D0E60D /* Gaze.icon in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -396,7 +405,6 @@
|
|||||||
27A21B5E2F0F69DD0018C4F3 /* Debug */ = {
|
27A21B5E2F0F69DD0018C4F3 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
@@ -428,7 +436,6 @@
|
|||||||
27A21B5F2F0F69DD0018C4F3 /* Release */ = {
|
27A21B5F2F0F69DD0018C4F3 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
@@ -588,6 +595,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
27AE10B12F10B1FC00E00DBC /* Lottie */ = {
|
27AE10B12F10B1FC00E00DBC /* Lottie */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
@@ -595,7 +603,6 @@
|
|||||||
productName = Lottie;
|
productName = Lottie;
|
||||||
};
|
};
|
||||||
/* End XCSwiftPackageProductDependency section */
|
/* End XCSwiftPackageProductDependency section */
|
||||||
|
|
||||||
};
|
};
|
||||||
rootObject = 27A21B342F0F69DC0018C4F3 /* Project object */;
|
rootObject = 27A21B342F0F69DC0018C4F3 /* Project object */;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||||||
showReminderWindow(contentView)
|
showReminderWindow(contentView)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func showReminderWindow(_ content: AnyView) {
|
private func showReminderWindow(_ content: AnyView) {
|
||||||
guard let screen = NSScreen.main else { return }
|
guard let screen = NSScreen.main else { return }
|
||||||
|
|
||||||
let window = KeyableWindow(
|
let window = KeyableWindow(
|
||||||
@@ -266,12 +266,15 @@ private func showReminderWindow(_ content: AnyView) {
|
|||||||
|
|
||||||
// Observe when window is closed to clean up reference
|
// Observe when window is closed to clean up reference
|
||||||
NotificationCenter.default.addObserver(
|
NotificationCenter.default.addObserver(
|
||||||
forName: NSWindow.willCloseNotification,
|
self,
|
||||||
object: window,
|
selector: #selector(settingsWindowWillCloseNotification(_:)),
|
||||||
queue: .main
|
name: NSWindow.willCloseNotification,
|
||||||
) { [weak self] _ in
|
object: window
|
||||||
self?.settingsWindowController = nil
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc private func settingsWindowWillCloseNotification(_ notification: Notification) {
|
||||||
|
settingsWindowController = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,4 +287,4 @@ class KeyableWindow: NSWindow {
|
|||||||
override var canBecomeMain: Bool {
|
override var canBecomeMain: Bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "1x",
|
|
||||||
"size" : "16x16"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "2x",
|
|
||||||
"size" : "16x16"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "1x",
|
|
||||||
"size" : "32x32"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "2x",
|
|
||||||
"size" : "32x32"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "1x",
|
|
||||||
"size" : "128x128"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "2x",
|
|
||||||
"size" : "128x128"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "1x",
|
|
||||||
"size" : "256x256"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "2x",
|
|
||||||
"size" : "256x256"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "1x",
|
|
||||||
"size" : "512x512"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idiom" : "mac",
|
|
||||||
"scale" : "2x",
|
|
||||||
"size" : "512x512"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -22,7 +22,7 @@ struct GazeApp: App {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
OnboardingContainerView(settingsManager: settingsManager)
|
OnboardingContainerView(settingsManager: settingsManager)
|
||||||
.onChange(of: settingsManager.settings.hasCompletedOnboarding) { completed in
|
.onChange(of: settingsManager.settings.hasCompletedOnboarding) { _, completed in
|
||||||
if completed {
|
if completed {
|
||||||
closeAllWindows()
|
closeAllWindows()
|
||||||
appDelegate.onboardingCompleted()
|
appDelegate.onboardingCompleted()
|
||||||
@@ -56,4 +56,4 @@ struct GazeApp: App {
|
|||||||
window.close()
|
window.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ struct MenuBarContentView: View {
|
|||||||
EmptyView()
|
EmptyView()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var onboardingIncompleteView: some View {
|
private var onboardingIncompleteView: some View {
|
||||||
VStack(alignment: .leading, spacing: 0) {
|
VStack(alignment: .leading, spacing: 0) {
|
||||||
// Header
|
// Header
|
||||||
@@ -79,15 +79,15 @@ struct MenuBarContentView: View {
|
|||||||
.padding()
|
.padding()
|
||||||
|
|
||||||
Divider()
|
Divider()
|
||||||
|
|
||||||
// Message
|
// Message
|
||||||
VStack(alignment: .leading, spacing: 12) {
|
VStack(alignment: .leading, spacing: 12) {
|
||||||
Text("Welcome to Gaze!")
|
Text("Welcome to Gaze!")
|
||||||
.font(.headline)
|
.font(.headline)
|
||||||
.padding(.horizontal)
|
.padding(.horizontal)
|
||||||
.padding(.top, 16)
|
.padding(.top, 16)
|
||||||
|
|
||||||
Text("Please complete the onboarding to start using Gaze.")
|
Text("Complete the onboarding to start using Gaze!")
|
||||||
.font(.subheadline)
|
.font(.subheadline)
|
||||||
.foregroundColor(.secondary)
|
.foregroundColor(.secondary)
|
||||||
.padding(.horizontal)
|
.padding(.horizontal)
|
||||||
@@ -133,11 +133,13 @@ struct MenuBarContentView: View {
|
|||||||
.padding(.vertical, 8)
|
.padding(.vertical, 8)
|
||||||
}
|
}
|
||||||
.frame(width: 300)
|
.frame(width: 300)
|
||||||
.onReceive(NotificationCenter.default.publisher(for: Notification.Name("CloseMenuBarPopover"))) { _ in
|
.onReceive(
|
||||||
|
NotificationCenter.default.publisher(for: Notification.Name("CloseMenuBarPopover"))
|
||||||
|
) { _ in
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func fullMenuBarView(timerEngine: TimerEngine) -> some View {
|
private func fullMenuBarView(timerEngine: TimerEngine) -> some View {
|
||||||
VStack(alignment: .leading, spacing: 0) {
|
VStack(alignment: .leading, spacing: 0) {
|
||||||
// Header
|
// Header
|
||||||
@@ -185,14 +187,15 @@ struct MenuBarContentView: View {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show user timers if any exist and are enabled
|
// Show user timers if any exist and are enabled
|
||||||
ForEach(settingsManager.settings.userTimers.filter { $0.enabled }, id: \.id) { userTimer in
|
ForEach(settingsManager.settings.userTimers.filter { $0.enabled }, id: \.id) {
|
||||||
|
userTimer in
|
||||||
UserTimerStatusRow(
|
UserTimerStatusRow(
|
||||||
timer: userTimer,
|
timer: userTimer,
|
||||||
state: nil, // We'll implement proper state tracking later
|
state: nil, // We'll implement proper state tracking later
|
||||||
onTap: {
|
onTap: {
|
||||||
onOpenSettingsTab(3) // Switch to User Timers tab
|
onOpenSettingsTab(3) // Switch to User Timers tab
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -211,8 +214,12 @@ struct MenuBarContentView: View {
|
|||||||
}
|
}
|
||||||
}) {
|
}) {
|
||||||
HStack {
|
HStack {
|
||||||
Image(systemName: isPaused(timerEngine: timerEngine) ? "play.circle" : "pause.circle")
|
Image(
|
||||||
Text(isPaused(timerEngine: timerEngine) ? "Resume All Timers" : "Pause All Timers")
|
systemName: isPaused(timerEngine: timerEngine)
|
||||||
|
? "play.circle" : "pause.circle")
|
||||||
|
Text(
|
||||||
|
isPaused(timerEngine: timerEngine)
|
||||||
|
? "Resume All Timers" : "Pause All Timers")
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}
|
||||||
.padding(.horizontal, 8)
|
.padding(.horizontal, 8)
|
||||||
@@ -254,7 +261,9 @@ struct MenuBarContentView: View {
|
|||||||
.padding(.vertical, 8)
|
.padding(.vertical, 8)
|
||||||
}
|
}
|
||||||
.frame(width: 300)
|
.frame(width: 300)
|
||||||
.onReceive(NotificationCenter.default.publisher(for: Notification.Name("CloseMenuBarPopover"))) { _ in
|
.onReceive(
|
||||||
|
NotificationCenter.default.publisher(for: Notification.Name("CloseMenuBarPopover"))
|
||||||
|
) { _ in
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -430,7 +439,7 @@ struct UserTimerStatusRow: View {
|
|||||||
Circle()
|
Circle()
|
||||||
.fill(timer.color)
|
.fill(timer.color)
|
||||||
.frame(width: 8, height: 8)
|
.frame(width: 8, height: 8)
|
||||||
|
|
||||||
Image(systemName: "clock.fill")
|
Image(systemName: "clock.fill")
|
||||||
.foregroundColor(timer.color)
|
.foregroundColor(timer.color)
|
||||||
.frame(width: 20)
|
.frame(width: 20)
|
||||||
@@ -440,7 +449,7 @@ struct UserTimerStatusRow: View {
|
|||||||
.font(.subheadline)
|
.font(.subheadline)
|
||||||
.fontWeight(.medium)
|
.fontWeight(.medium)
|
||||||
.lineLimit(1)
|
.lineLimit(1)
|
||||||
|
|
||||||
if let state = state {
|
if let state = state {
|
||||||
Text(timeRemaining(state))
|
Text(timeRemaining(state))
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
|
|||||||