2.7.1 Working Changes 2 (#1393)
* Bump version * Offset for map controls on the mesh map * Only mark messages as read if they are unread (#1388) * Only mark messages as read if they are unread * More cheap optimizations * Fix map control positions on the route recorder * Add seperate state variable for delete all channel messges button since the channelSelection is being used for navigation * Use a seperate state variable to track what user messages are being deleted for as userSelection is being used for navigation * Get the ringtone if external notifications is enabled * Fix RTTTL typo * Dont show modem lights popover if we are on macOS 26 cause it crashes * Fix annoying connect bottom background bug * Update mesh map detents * Move divider inside of the hstack keyboard toolbar * Update Meshtastic/Helpers/MeshPackets.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove extra environment variable that is not getting used * Fix ack time for 24hour locales, only hide TLS setting for the public MQTT broker * Icon Composer Icon (#1374) * Icon Composer Icon * Tweaks to icon --------- Co-authored-by: Jake-B <jake-b@users.noreply.github.com> * Move if statement out of if statement * Update Meshtastic/Views/Helpers/RXTXIndicatorView.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Benjamin Faershtein <119711889+RCGV1@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: jake-b <1012393+jake-b@users.noreply.github.com> Co-authored-by: Jake-B <jake-b@users.noreply.github.com>
|
|
@ -24,6 +24,8 @@
|
|||
231B3F272D0885240069A07D /* MetricsColumnDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 231B3F262D0885240069A07D /* MetricsColumnDetail.swift */; };
|
||||
232ED4C32E2C5E89009DA392 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 232ED4C22E2C5E89009DA392 /* TCPTransport.swift */; };
|
||||
232ED4C52E2C5EDD009DA392 /* TCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 232ED4C42E2C5EDD009DA392 /* TCPConnection.swift */; };
|
||||
2339EA982E6C65570032C234 /* AppIcon.icon in Resources */ = {isa = PBXBuildFile; fileRef = 2339EA972E6C65570032C234 /* AppIcon.icon */; };
|
||||
2339EA9A2E6C65DC0032C234 /* AppIconDebug.icon in Resources */ = {isa = PBXBuildFile; fileRef = 2339EA992E6C65DC0032C234 /* AppIconDebug.icon */; };
|
||||
233E99B62D849C3D00CC3A77 /* WeatherConditionsCompactWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233E99B52D849C3D00CC3A77 /* WeatherConditionsCompactWidget.swift */; };
|
||||
233E99B82D849C6500CC3A77 /* HumidityCompactWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233E99B72D849C6500CC3A77 /* HumidityCompactWidget.swift */; };
|
||||
233E99BA2D849C7000CC3A77 /* PressureCompactWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233E99B92D849C7000CC3A77 /* PressureCompactWidget.swift */; };
|
||||
|
|
@ -329,6 +331,8 @@
|
|||
231B3F262D0885240069A07D /* MetricsColumnDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetricsColumnDetail.swift; sourceTree = "<group>"; };
|
||||
232ED4C22E2C5E89009DA392 /* TCPTransport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TCPTransport.swift; sourceTree = "<group>"; };
|
||||
232ED4C42E2C5EDD009DA392 /* TCPConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TCPConnection.swift; sourceTree = "<group>"; };
|
||||
2339EA972E6C65570032C234 /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = AppIcon.icon; sourceTree = "<group>"; };
|
||||
2339EA992E6C65DC0032C234 /* AppIconDebug.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = AppIconDebug.icon; sourceTree = "<group>"; };
|
||||
233E99B32D84969500CC3A77 /* MeshtasticDataModelV 50.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MeshtasticDataModelV 50.xcdatamodel"; sourceTree = "<group>"; };
|
||||
233E99B52D849C3D00CC3A77 /* WeatherConditionsCompactWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeatherConditionsCompactWidget.swift; sourceTree = "<group>"; };
|
||||
233E99B72D849C6500CC3A77 /* HumidityCompactWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HumidityCompactWidget.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1192,6 +1196,8 @@
|
|||
DDC2E18926CE24F70042C5E4 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2339EA992E6C65DC0032C234 /* AppIconDebug.icon */,
|
||||
2339EA972E6C65570032C234 /* AppIcon.icon */,
|
||||
DDB75A192A05EB67006ED576 /* alpha.png */,
|
||||
DDC2E15B26CE248F0042C5E4 /* Assets.xcassets */,
|
||||
DD0E21002B8A6BC500F2D100 /* DeviceHardware.json */,
|
||||
|
|
@ -1510,6 +1516,8 @@
|
|||
DDC2E15F26CE248F0042C5E4 /* Preview Assets.xcassets in Resources */,
|
||||
25AECD4F2C2F723200862C8E /* Localizable.xcstrings in Resources */,
|
||||
DDDE5A1329AFEAB900490C6C /* Assets.xcassets in Resources */,
|
||||
2339EA9A2E6C65DC0032C234 /* AppIconDebug.icon in Resources */,
|
||||
2339EA982E6C65570032C234 /* AppIcon.icon in Resources */,
|
||||
DDB75A1A2A05EB67006ED576 /* alpha.png in Resources */,
|
||||
DDC2E15C26CE248F0042C5E4 /* Assets.xcassets in Resources */,
|
||||
DD0E21012B8A6F1300F2D100 /* DeviceHardware.json in Resources */,
|
||||
|
|
@ -2028,6 +2036,7 @@
|
|||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
||||
ASSETCATALOG_OTHER_FLAGS = "--enable-icon-stack-fallback-generation=disabled";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Meshtastic/Meshtastic.entitlements;
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||
|
|
@ -2061,6 +2070,7 @@
|
|||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
||||
ASSETCATALOG_OTHER_FLAGS = "--enable-icon-stack-fallback-generation=disabled";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Meshtastic/Meshtastic.entitlements;
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,614.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="0" cy="-102" r="102" style="fill:none;stroke:rgb(39,107,62);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 785 B |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,614.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M0,-207.125C-58.02,-207.125 -105.125,-160.02 -105.125,-102C-105.125,-43.98 -58.02,3.125 0,3.125C58.02,3.125 105.125,-43.98 105.125,-102C105.125,-160.02 58.02,-207.125 0,-207.125ZM0,-200.875C54.571,-200.875 98.875,-156.571 98.875,-102C98.875,-47.429 54.571,-3.125 0,-3.125C-54.571,-3.125 -98.875,-47.429 -98.875,-102C-98.875,-156.571 -54.571,-200.875 0,-200.875Z" style="fill:rgb(39,107,62);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,768.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M0,-512C-141.385,-512 -256,-397.385 -256,-256C-256,-114.615 -141.385,0 0,0C141.385,0 256,-114.615 256,-256C256,-397.385 141.385,-512 0,-512Z" style="fill:none;fill-rule:nonzero;stroke:rgb(39,107,62);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 921 B |
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,768.467)">
|
||||
<path d="M0,-515.125C-143.111,-515.125 -259.125,-399.111 -259.125,-256C-259.125,-112.889 -143.111,3.125 0,3.125C143.111,3.125 259.125,-112.889 259.125,-256C259.125,-399.111 143.111,-515.125 0,-515.125ZM0,-508.875C139.659,-508.875 252.875,-395.659 252.875,-256C252.875,-116.341 139.659,-3.125 0,-3.125C-139.659,-3.125 -252.875,-116.341 -252.875,-256C-252.875,-395.659 -139.659,-508.875 0,-508.875Z" style="fill:rgb(39,107,62);"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 953 B |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,922.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M0,-820C-226.437,-820 -410,-636.437 -410,-410C-410,-183.563 -226.437,0 0,0C226.437,0 410,-183.563 410,-410C410,-636.437 226.437,-820 0,-820Z" style="fill:none;fill-rule:nonzero;stroke:rgb(39,107,62);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 921 B |
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,922.467)">
|
||||
<path d="M0,-823.125C-228.163,-823.125 -413.125,-638.163 -413.125,-410C-413.125,-181.837 -228.163,3.125 0,3.125C228.163,3.125 413.125,-181.837 413.125,-410C413.125,-638.163 228.163,-823.125 0,-823.125ZM0,-816.875C224.711,-816.875 406.875,-634.711 406.875,-410C406.875,-185.289 224.711,-3.125 0,-3.125C-224.711,-3.125 -406.875,-185.289 -406.875,-410C-406.875,-634.711 -224.711,-816.875 0,-816.875Z" style="fill:rgb(39,107,62);"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 953 B |
61
Meshtastic/Resources/AppIcon.icon/Assets/Icon Grid.svg
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g id="Normal" transform="matrix(1,0,0,1,-0.0592795,0.467396)">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g transform="matrix(-1,0,0,1,0,128)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1024,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1024,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,896,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,768,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,640,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1152,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1280,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1408,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,1,1,0,1024,512)">
|
||||
<path d="M-512,-512L512,-512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,512)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,1,1,0,1024,512)">
|
||||
<path d="M-512,-512L512,-512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,512)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,640)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,768)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,896)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,384)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4 KiB |
12
Meshtastic/Resources/AppIcon.icon/Assets/Meshtastic Logo.svg
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 730 385" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-147.227,-320.039)">
|
||||
<g transform="matrix(3.58406,0,0,3.58405,-273.806,-782.504)">
|
||||
<path d="M250.908,330.267L193.126,415.005L180.938,406.694L244.802,313.037C246.174,311.024 248.453,309.819 250.889,309.816C253.326,309.814 255.606,311.015 256.982,313.026L320.994,406.536L308.821,414.869L250.908,330.267Z" style="fill:rgb(103,234,148);"/>
|
||||
</g>
|
||||
<g transform="matrix(3.60446,0,0,3.60446,-124.993,-1391.04)">
|
||||
<path d="M87.642,581.398L154.757,482.977L142.638,474.713L75.523,573.134L87.642,581.398Z" style="fill:rgb(103,234,148);"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
186
Meshtastic/Resources/AppIcon.icon/icon.json
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
{
|
||||
"fill" : {
|
||||
"automatic-gradient" : "extended-srgb:0.20392,0.78039,0.34902,1.00000"
|
||||
},
|
||||
"groups" : [
|
||||
{
|
||||
"layers" : [
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:0.00000,1.00000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"appearance" : "dark",
|
||||
"value" : {
|
||||
"automatic-gradient" : "display-p3:0.51705,0.94704,0.59696,1.00000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"glass" : true,
|
||||
"hidden" : false,
|
||||
"image-name" : "Meshtastic Logo.svg",
|
||||
"name" : "Meshtastic Logo"
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid Inner Stroke.svg",
|
||||
"name" : "Icon Grid Inner Stroke",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid Inner Circle.svg",
|
||||
"name" : "Icon Grid Inner Circle"
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid Middle Stroke 3.svg",
|
||||
"name" : "Icon Grid Middle Stroke 3",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid Middle Circle.svg",
|
||||
"name" : "Icon Grid Middle Circle",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"value" : 1
|
||||
},
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.15
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid Outer Stroke 2.svg",
|
||||
"name" : "Icon Grid Outer Stroke 2",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid Outer Circle.svg",
|
||||
"name" : "Icon Grid Outer Circle",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : true,
|
||||
"image-name" : "Icon Grid.svg",
|
||||
"name" : "Icon Grid",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.7
|
||||
}
|
||||
],
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
0,
|
||||
25
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
-3.6015625,
|
||||
-31.94921875
|
||||
]
|
||||
},
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"translucency" : {
|
||||
"enabled" : true,
|
||||
"value" : 0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"supported-platforms" : {
|
||||
"circles" : [
|
||||
"watchOS"
|
||||
],
|
||||
"squares" : "shared"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,614.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="0" cy="-102" r="102" style="fill:none;stroke:rgb(39,107,62);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 785 B |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,614.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M0,-207.125C-58.02,-207.125 -105.125,-160.02 -105.125,-102C-105.125,-43.98 -58.02,3.125 0,3.125C58.02,3.125 105.125,-43.98 105.125,-102C105.125,-160.02 58.02,-207.125 0,-207.125ZM0,-200.875C54.571,-200.875 98.875,-156.571 98.875,-102C98.875,-47.429 54.571,-3.125 0,-3.125C-54.571,-3.125 -98.875,-47.429 -98.875,-102C-98.875,-156.571 -54.571,-200.875 0,-200.875Z" style="fill:rgb(39,107,62);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,768.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M0,-512C-141.385,-512 -256,-397.385 -256,-256C-256,-114.615 -141.385,0 0,0C141.385,0 256,-114.615 256,-256C256,-397.385 141.385,-512 0,-512Z" style="fill:none;fill-rule:nonzero;stroke:rgb(39,107,62);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 921 B |
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,768.467)">
|
||||
<path d="M0,-515.125C-143.111,-515.125 -259.125,-399.111 -259.125,-256C-259.125,-112.889 -143.111,3.125 0,3.125C143.111,3.125 259.125,-112.889 259.125,-256C259.125,-399.111 143.111,-515.125 0,-515.125ZM0,-508.875C139.659,-508.875 252.875,-395.659 252.875,-256C252.875,-116.341 139.659,-3.125 0,-3.125C-139.659,-3.125 -252.875,-116.341 -252.875,-256C-252.875,-395.659 -139.659,-508.875 0,-508.875Z" style="fill:rgb(39,107,62);"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 953 B |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,922.467)">
|
||||
<g id="Normal">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M0,-820C-226.437,-820 -410,-636.437 -410,-410C-410,-183.563 -226.437,0 0,0C226.437,0 410,-183.563 410,-410C410,-636.437 226.437,-820 0,-820Z" style="fill:none;fill-rule:nonzero;stroke:rgb(39,107,62);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 921 B |
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-1,0,0,1,511.941,922.467)">
|
||||
<path d="M0,-823.125C-228.163,-823.125 -413.125,-638.163 -413.125,-410C-413.125,-181.837 -228.163,3.125 0,3.125C228.163,3.125 413.125,-181.837 413.125,-410C413.125,-638.163 228.163,-823.125 0,-823.125ZM0,-816.875C224.711,-816.875 406.875,-634.711 406.875,-410C406.875,-185.289 224.711,-3.125 0,-3.125C-224.711,-3.125 -406.875,-185.289 -406.875,-410C-406.875,-634.711 -224.711,-816.875 0,-816.875Z" style="fill:rgb(39,107,62);"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 953 B |
61
Meshtastic/Resources/AppIconDebug.icon/Assets/Icon Grid.svg
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:10;">
|
||||
<g id="Normal" transform="matrix(1,0,0,1,-0.0592795,0.467396)">
|
||||
<g id="Grid">
|
||||
<g>
|
||||
<g transform="matrix(-1,0,0,1,0,128)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1024,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1024,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,896,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,768,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,640,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1152,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1280,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,-1,-1,0,1408,512)">
|
||||
<path d="M-512,512L512,512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,1,1,0,1024,512)">
|
||||
<path d="M-512,-512L512,-512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,512)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0,1,1,0,1024,512)">
|
||||
<path d="M-512,-512L512,-512" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,512)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,640)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,768)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,896)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,0,0,1,0,384)">
|
||||
<path d="M-1024,0L0,0" style="fill:none;fill-rule:nonzero;stroke:rgb(51,142,82);stroke-width:6.25px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4 KiB |
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 730 385" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-147.227,-320.039)">
|
||||
<g transform="matrix(3.58406,0,0,3.58405,-273.806,-782.504)">
|
||||
<path d="M250.908,330.267L193.126,415.005L180.938,406.694L244.802,313.037C246.174,311.024 248.453,309.819 250.889,309.816C253.326,309.814 255.606,311.015 256.982,313.026L320.994,406.536L308.821,414.869L250.908,330.267Z" style="fill:rgb(103,234,148);"/>
|
||||
</g>
|
||||
<g transform="matrix(3.60446,0,0,3.60446,-124.993,-1391.04)">
|
||||
<path d="M87.642,581.398L154.757,482.977L142.638,474.713L75.523,573.134L87.642,581.398Z" style="fill:rgb(103,234,148);"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
183
Meshtastic/Resources/AppIconDebug.icon/icon.json
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
{
|
||||
"fill" : {
|
||||
"automatic-gradient" : "extended-srgb:0.20392,0.78039,0.34902,1.00000"
|
||||
},
|
||||
"groups" : [
|
||||
{
|
||||
"layers" : [
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:0.00000,1.00000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"appearance" : "dark",
|
||||
"value" : {
|
||||
"automatic-gradient" : "display-p3:0.51705,0.94704,0.59696,1.00000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"glass" : true,
|
||||
"hidden" : false,
|
||||
"image-name" : "Meshtastic Logo.svg",
|
||||
"name" : "Meshtastic Logo"
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : false,
|
||||
"image-name" : "Icon Grid Inner Stroke.svg",
|
||||
"name" : "Icon Grid Inner Stroke",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"hidden" : false,
|
||||
"image-name" : "Icon Grid Inner Circle.svg",
|
||||
"name" : "Icon Grid Inner Circle"
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"image-name" : "Icon Grid Middle Stroke 3.svg",
|
||||
"name" : "Icon Grid Middle Stroke 3",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : false,
|
||||
"image-name" : "Icon Grid Middle Circle.svg",
|
||||
"name" : "Icon Grid Middle Circle",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"value" : 1
|
||||
},
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.15
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"image-name" : "Icon Grid Outer Stroke 2.svg",
|
||||
"name" : "Icon Grid Outer Stroke 2",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hidden" : false,
|
||||
"image-name" : "Icon Grid Outer Circle.svg",
|
||||
"name" : "Icon Grid Outer Circle",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 0.2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fill-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : {
|
||||
"solid" : "extended-gray:1.00000,1.00000"
|
||||
}
|
||||
}
|
||||
],
|
||||
"image-name" : "Icon Grid.svg",
|
||||
"name" : "Icon Grid",
|
||||
"opacity-specializations" : [
|
||||
{
|
||||
"appearance" : "tinted",
|
||||
"value" : 1
|
||||
}
|
||||
],
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
0,
|
||||
25
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
-3.6015625,
|
||||
-31.94921875
|
||||
]
|
||||
},
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"translucency" : {
|
||||
"enabled" : true,
|
||||
"value" : 0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"supported-platforms" : {
|
||||
"circles" : [
|
||||
"watchOS"
|
||||
],
|
||||
"squares" : "shared"
|
||||
}
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ struct RXTXIndicatorWidget: View {
|
|||
}
|
||||
#if targetEnvironment(macCatalyst)
|
||||
if #available(macOS 26.0, *) {
|
||||
// Dont show popover that crashes on mac 26
|
||||
// Don't show popover that crashes on mac 26
|
||||
} else {
|
||||
self.isPopoverOpen.toggle()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ struct MessageContextMenuItems: View {
|
|||
let ackDate = Date(timeIntervalSince1970: TimeInterval(message.ackTimestamp))
|
||||
let sixMonthsAgo = Calendar.current.date(byAdding: .month, value: -6, to: Date())
|
||||
if ackDate >= sixMonthsAgo! {
|
||||
Text("Ack Time: \(ackDate.formattedDate(format: "h:mm:ss.SSSS a"))")
|
||||
Text("Ack Time: \(ackDate.formattedDate(format: MessageText.timeFormatString))")
|
||||
.foregroundColor(.gray)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,13 @@ struct MessageText: View {
|
|||
options: 0,
|
||||
locale: Locale.current
|
||||
)
|
||||
static let localeTimeFormat = DateFormatter.dateFormat(
|
||||
fromTemplate: "jmmssa",
|
||||
options: 0,
|
||||
locale: Locale.current
|
||||
)
|
||||
static let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mm:ss:a")
|
||||
static let timeFormatString = (localeTimeFormat ?? "j:mm:ss:a")
|
||||
@Environment(\.managedObjectContext) var context
|
||||
@EnvironmentObject var accessoryManager: AccessoryManager
|
||||
|
||||
|
|
|
|||
|
|
@ -237,13 +237,13 @@ struct MQTTConfig: View {
|
|||
.keyboardType(.default)
|
||||
.scrollDismissesKeyboard(.interactively)
|
||||
.listRowSeparator(/*@START_MENU_TOKEN@*/.visible/*@END_MENU_TOKEN@*/)
|
||||
if !proxyToClientEnabled {
|
||||
Toggle(isOn: $tlsEnabled) {
|
||||
Label("TLS Enabled", systemImage: "checkmark.shield.fill")
|
||||
Text("Your MQTT Server must support TLS.")
|
||||
}
|
||||
.toggleStyle(SwitchToggleStyle(tint: .accentColor))
|
||||
}
|
||||
if address != "mqtt.meshtastic.org" && !proxyToClientEnabled {
|
||||
Toggle(isOn: $tlsEnabled) {
|
||||
Label("TLS Enabled", systemImage: "checkmark.shield.fill")
|
||||
Text("Your MQTT Server must support TLS.")
|
||||
}
|
||||
.toggleStyle(SwitchToggleStyle(tint: .accentColor))
|
||||
}
|
||||
}
|
||||
Text("For all Mqtt functionality other than the map report you must also set uplink and downlink for each channel you want to bridge over Mqtt.")
|
||||
|
|
|
|||