feat: out-of-box experience #2

Merged
reya merged 64 commits from feat/ui into master 2026-08-25 13:23:08 +00:00
9 changed files with 110 additions and 73 deletions
Showing only changes of commit de9673e8fb - Show all commits
Generated
+64 -62
View File
@@ -319,6 +319,7 @@ version = "1.0.0"
dependencies = [
"anyhow",
"gpui",
"gpui-component",
"log",
"rust-embed",
]
@@ -620,9 +621,9 @@ dependencies = [
[[package]]
name = "aws-lc-rs"
version = "1.17.3"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00bdb5da18dac48ca2cc7cd4a98e533e8635a58e2361d13a1a4ee3888e0d72f1"
checksum = "ce2b2dcc879c3bae0d371e77c99f2238400ef24ec001394befa67b6e543add9e"
dependencies = [
"aws-lc-sys",
"zeroize",
@@ -630,9 +631,9 @@ dependencies = [
[[package]]
name = "aws-lc-sys"
version = "0.43.0"
version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43103168cc76fe62678a375e722fc9cb3a0146159ac5828bc4f0dfd755c2224c"
checksum = "f09fae7be8bb3174e05c6afdb34199e6dc0c7c04ba9fa237b1967adfbde27483"
dependencies = [
"cc",
"cmake",
@@ -927,13 +928,13 @@ dependencies = [
[[package]]
name = "bytemuck_derive"
version = "1.11.0"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f65693059b6b9c588b9f62fed1cedbf0a8b805631457ea162d68f0de186f3de5"
checksum = "fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.3",
]
[[package]]
@@ -1017,9 +1018,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.4.0"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
checksum = "9066c49992464636f92905fa096ec58baaa4d57ec19a5c096c68d3e25ef3d136"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -1243,7 +1244,7 @@ dependencies = [
[[package]]
name = "collections"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"gpui_util",
"indexmap",
@@ -1686,7 +1687,7 @@ dependencies = [
[[package]]
name = "derive_refineable"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"proc-macro2",
"quote",
@@ -2079,9 +2080,9 @@ dependencies = [
[[package]]
name = "find-msvc-tools"
version = "0.1.9"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
checksum = "26b73573e6edcd2af0cdf47bd6cb58f0b3839491263c314eaad1ccf24430e1de"
[[package]]
name = "fixedbitset"
@@ -3398,7 +3399,7 @@ dependencies = [
[[package]]
name = "gpui"
version = "0.2.2"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"accesskit",
"anyhow",
@@ -3482,7 +3483,7 @@ dependencies = [
[[package]]
name = "gpui-component"
version = "0.5.2"
source = "git+https://github.com/longbridge/gpui-component#3067deae83a237a4485e79bd449acd84ca890c23"
source = "git+https://github.com/longbridge/gpui-component#f96f1576ee704b48476f6782962690e0feb7985b"
dependencies = [
"aho-corasick",
"anyhow",
@@ -3530,7 +3531,7 @@ dependencies = [
[[package]]
name = "gpui-component-assets"
version = "0.5.1"
source = "git+https://github.com/longbridge/gpui-component#3067deae83a237a4485e79bd449acd84ca890c23"
source = "git+https://github.com/longbridge/gpui-component#f96f1576ee704b48476f6782962690e0feb7985b"
dependencies = [
"anyhow",
"gpui",
@@ -3544,7 +3545,7 @@ dependencies = [
[[package]]
name = "gpui-component-macros"
version = "0.5.1"
source = "git+https://github.com/longbridge/gpui-component#3067deae83a237a4485e79bd449acd84ca890c23"
source = "git+https://github.com/longbridge/gpui-component#f96f1576ee704b48476f6782962690e0feb7985b"
dependencies = [
"proc-macro2",
"quote",
@@ -3554,7 +3555,7 @@ dependencies = [
[[package]]
name = "gpui_linux"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"accesskit",
"accesskit_unix",
@@ -3606,7 +3607,7 @@ dependencies = [
[[package]]
name = "gpui_macos"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"accesskit",
"accesskit_macos",
@@ -3655,7 +3656,7 @@ dependencies = [
[[package]]
name = "gpui_macros"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"heck 0.5.0",
"proc-macro2",
@@ -3666,7 +3667,7 @@ dependencies = [
[[package]]
name = "gpui_platform"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"console_error_panic_hook",
"gpui",
@@ -3679,7 +3680,7 @@ dependencies = [
[[package]]
name = "gpui_shared_string"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"schemars",
"serde",
@@ -3689,7 +3690,7 @@ dependencies = [
[[package]]
name = "gpui_util"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"log",
@@ -3699,7 +3700,7 @@ dependencies = [
[[package]]
name = "gpui_web"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"console_error_panic_hook",
@@ -3722,7 +3723,7 @@ dependencies = [
[[package]]
name = "gpui_wgpu"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"bytemuck",
@@ -3752,7 +3753,7 @@ dependencies = [
[[package]]
name = "gpui_windows"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"accesskit",
"accesskit_windows",
@@ -4071,7 +4072,7 @@ dependencies = [
[[package]]
name = "http_client"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"async-compression",
@@ -4091,7 +4092,7 @@ dependencies = [
[[package]]
name = "http_client_tls"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"rustls",
"rustls-platform-verifier 0.5.3",
@@ -4334,7 +4335,7 @@ dependencies = [
"ravif",
"rayon",
"tiff",
"zune-core 0.5.1",
"zune-core 0.5.3",
"zune-jpeg 0.5.15",
]
@@ -5066,7 +5067,7 @@ dependencies = [
[[package]]
name = "media"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"bindgen",
@@ -5281,8 +5282,8 @@ dependencies = [
[[package]]
name = "nostr"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
version = "0.45.1"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"aes",
"base64",
@@ -5307,8 +5308,8 @@ dependencies = [
[[package]]
name = "nostr-connect"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
version = "0.45.1"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"async-utility",
"futures-core",
@@ -5321,8 +5322,8 @@ dependencies = [
[[package]]
name = "nostr-database"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
version = "0.45.1"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"nostr",
"opaquerr",
@@ -5331,7 +5332,7 @@ dependencies = [
[[package]]
name = "nostr-gossip"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"nostr",
"opaquerr",
@@ -5340,7 +5341,7 @@ dependencies = [
[[package]]
name = "nostr-gossip-memory"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"indexmap",
"lru",
@@ -5351,8 +5352,8 @@ dependencies = [
[[package]]
name = "nostr-lmdb"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
version = "0.45.1"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"async-utility",
"flatbuffers",
@@ -5366,8 +5367,8 @@ dependencies = [
[[package]]
name = "nostr-memory"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
version = "0.45.1"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"btreecap",
"nostr",
@@ -5377,8 +5378,8 @@ dependencies = [
[[package]]
name = "nostr-sdk"
version = "0.45.0"
source = "git+https://github.com/rust-nostr/nostr#9ad7b273e7f4c460d07feea0077b3a4491dcbc6a"
version = "0.45.1"
source = "git+https://github.com/rust-nostr/nostr#f0f52cf82e04824b7d3c5ac2f0bfc7bbeef37b19"
dependencies = [
"async-utility",
"async-wsocket",
@@ -6114,7 +6115,7 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "perf"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"collections",
"serde",
@@ -6897,7 +6898,7 @@ dependencies = [
[[package]]
name = "refineable"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"derive_refineable",
]
@@ -6980,7 +6981,7 @@ dependencies = [
[[package]]
name = "reqwest_client"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"bytes",
@@ -7381,7 +7382,7 @@ dependencies = [
[[package]]
name = "scheduler"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"async-task",
"backtrace",
@@ -8094,7 +8095,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "sum_tree"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"heapless 0.9.3",
"log",
@@ -9083,7 +9084,7 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "util_macros"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"perf",
"quote",
@@ -10342,6 +10343,7 @@ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
name = "workspace"
version = "1.0.0"
dependencies = [
"assets",
"gpui",
"gpui-component",
"signed_core",
@@ -10454,9 +10456,9 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
[[package]]
name = "xml-rs"
version = "0.8.28"
version = "0.8.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
[[package]]
name = "xml5ever"
@@ -10745,18 +10747,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
[[package]]
name = "zerocopy"
version = "0.8.55"
version = "0.8.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5a105cd7b140f6eeec8acff2ea38135d3cab283ada58540f629fe51e46696eb"
checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.55"
version = "0.8.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fe976fb70c78cd64cccfe3a6fc142244e8a77b70959b30faf9d0ac37ee228eb"
checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1"
dependencies = [
"proc-macro2",
"quote",
@@ -10846,7 +10848,7 @@ checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12"
[[package]]
name = "zlog"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"anyhow",
"chrono",
@@ -10863,7 +10865,7 @@ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
[[package]]
name = "ztracing"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
dependencies = [
"tracing",
"tracing-subscriber",
@@ -10874,7 +10876,7 @@ dependencies = [
[[package]]
name = "ztracing_macro"
version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#d61e80b85debf0c56ecdcadf635ffa2660ddfd37"
source = "git+https://github.com/zed-industries/zed#38ca9106c5306ef93e52c35643df015a27f15b72"
[[package]]
name = "zune-core"
@@ -10884,9 +10886,9 @@ checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
[[package]]
name = "zune-core"
version = "0.5.1"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
checksum = "d56377fd46368984a170bc5aac5567e52ca5da874caa60bea39fcbca78fb658b"
[[package]]
name = "zune-inflate"
@@ -10912,7 +10914,7 @@ version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296"
dependencies = [
"zune-core 0.5.1",
"zune-core 0.5.3",
]
[[package]]
+1
View File
@@ -6,6 +6,7 @@ publish.workspace = true
[dependencies]
gpui.workspace = true
gpui-component.workspace = true
anyhow.workspace = true
log.workspace = true
rust-embed.workspace = true
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M10 18H14V16H10V18ZM3 6V8H21V6H3ZM6 13H18V11H6V13Z"></path></svg>

After

Width:  |  Height:  |  Size: 155 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M22.0361 16.3789L19.9141 18.5L22.0361 20.6221L20.6221 22.0361L18.5 19.9141L16.3789 22.0361L14.9648 20.6221L17.0859 18.5L14.9648 16.3789L16.3789 14.9648L18.5 17.0859L20.6221 14.9648L22.0361 16.3789ZM12.4785 2.01172C17.7796 2.26189 22 6.63756 22 12V13H10.0332C10.1896 15.5386 10.9356 17.9153 12.1387 19.9961C12.2207 19.9947 12.3024 19.995 12.3838 19.9912C12.5538 19.9832 12.7227 19.9696 12.8896 19.9512L13.1104 21.9395C12.9017 21.9625 12.6907 21.9783 12.4785 21.9883C12.3199 21.9958 12.1603 22 12 22C11.8397 22 11.6801 21.9958 11.5215 21.9883C6.22043 21.7381 2 17.3624 2 12C2 6.63756 6.22043 2.26189 11.5215 2.01172C11.6801 2.00424 11.8397 2 12 2C12.1603 2 12.3199 2.00424 12.4785 2.01172ZM4.06445 13C4.46083 16.1773 6.71821 18.7761 9.71289 19.668C8.74978 17.6256 8.16038 15.3738 8.03027 13H4.06445ZM9.71289 4.33105C6.71807 5.22285 4.46084 7.82258 4.06445 11H8.03027C8.1604 8.62585 8.74956 6.3736 9.71289 4.33105ZM12 4.25195C10.8789 6.27297 10.1835 8.56136 10.0332 11H13.9668C13.8165 8.56136 13.1211 6.27297 12 4.25195ZM14.2861 4.33105C15.2496 6.3737 15.8396 8.6257 15.9697 11H19.9355C19.5391 7.82226 17.2814 5.2226 14.2861 4.33105Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM9.71002 19.6674C8.74743 17.6259 8.15732 15.3742 8.02731 13H4.06189C4.458 16.1765 6.71639 18.7747 9.71002 19.6674ZM10.0307 13C10.1811 15.4388 10.8778 17.7297 12 19.752C13.1222 17.7297 13.8189 15.4388 13.9693 13H10.0307ZM19.9381 13H15.9727C15.8427 15.3742 15.2526 17.6259 14.29 19.6674C17.2836 18.7747 19.542 16.1765 19.9381 13ZM4.06189 11H8.02731C8.15732 8.62577 8.74743 6.37407 9.71002 4.33256C6.71639 5.22533 4.458 7.8235 4.06189 11ZM10.0307 11H13.9693C13.8189 8.56122 13.1222 6.27025 12 4.24799C10.8778 6.27025 10.1811 8.56122 10.0307 11ZM14.29 4.33256C15.2526 6.37407 15.8427 8.62577 15.9727 11H19.9381C19.542 7.8235 17.2836 5.22533 14.29 4.33256Z"></path></svg>

After

Width:  |  Height:  |  Size: 869 B

+18
View File
@@ -1,5 +1,6 @@
use anyhow::Context;
use gpui::{App, AssetSource, Result, SharedString};
use gpui_component::IconNamed;
use rust_embed::RustEmbed;
#[derive(RustEmbed)]
@@ -45,3 +46,20 @@ impl Assets {
cx.text_system().add_fonts(embedded_fonts)
}
}
pub enum CustomIconName {
Filter,
GlobalOn,
GlobalOff,
}
impl IconNamed for CustomIconName {
fn path(self) -> gpui::SharedString {
match self {
CustomIconName::Filter => "icons/filter.svg",
CustomIconName::GlobalOn => "icons/global-on.svg",
CustomIconName::GlobalOff => "icons/global-off.svg",
}
.into()
}
}
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
publish.workspace = true
[dependencies]
assets = { path = "../assets" }
signed_core = { path = "../signed_core" }
signed_state = { path = "../signed_state" }
+2 -1
View File
@@ -1,5 +1,6 @@
use std::sync::Arc;
use assets::CustomIconName;
use gpui::prelude::*;
use gpui::{
App, ClickEvent, Context, ElementId, EventEmitter, FocusHandle, Focusable, Render,
@@ -221,7 +222,7 @@ impl Render for SidebarPanel {
.px_2()
.gap_2()
.text_color(cx.theme().muted_foreground)
.child(Icon::new(IconName::Folder).small())
.child(Icon::new(CustomIconName::Filter).small())
.child(
div()
.text_xs()
+17 -6
View File
@@ -1,9 +1,11 @@
use std::sync::Arc;
use assets::CustomIconName;
use gpui::prelude::*;
use gpui::{Context, Entity, Render, SharedString, Subscription, Window, div, px};
use gpui_component::button::{Button, ButtonVariants};
use gpui_component::dock::{DockArea, DockItem};
use gpui_component::{ActiveTheme, Root, StyledExt, TitleBar, h_flex, v_flex};
use gpui_component::{ActiveTheme, Root, Sizable, StyledExt, TitleBar, h_flex, v_flex};
use signed_state::{Backend, BackendEvent};
use crate::views::SidebarPanel;
@@ -50,11 +52,11 @@ impl Workspace {
let subscription = cx.subscribe(&backend, |this, _backend, event, cx| {
match event {
BackendEvent::Connected => this.status = "Connected".into(),
BackendEvent::SyncProgress { total, current } => {
this.status = format!("Syncing repositories... {current}/{total}").into()
}
BackendEvent::Synced => this.status = "Connected".into(),
BackendEvent::Connected => this.status = "Connected".into(),
BackendEvent::Error(error) => this.status = error.clone().into(),
_ => return,
}
@@ -105,14 +107,23 @@ impl Render for Workspace {
// Left
.child(div())
// Right
.child(
h_flex().px_2().child(
.child(h_flex().px_2().map(|this| {
if self.status == "Connected" {
this.child(
Button::new("relay")
.icon(CustomIconName::GlobalOn)
.small()
.ghost(),
)
} else {
this.child(
div()
.text_xs()
.text_color(cx.theme().muted_foreground)
.child(self.status.clone()),
),
),
)
}
})),
)
// Dock Area
.child(self.dock.clone()),