diff --git a/elixir/apps/web/lib/web/components/core_components.ex b/elixir/apps/web/lib/web/components/core_components.ex index 6c967bcba..8707f19a7 100644 --- a/elixir/apps/web/lib/web/components/core_components.ex +++ b/elixir/apps/web/lib/web/components/core_components.ex @@ -226,7 +226,7 @@ defmodule Web.CoreComponents do -
+
<%= render_slot(help) %>
@@ -714,7 +714,11 @@ defmodule Web.CoreComponents do assigns = assign_new(assigns, :relative_to, fn -> DateTime.utc_now() end) ~H""" - + <%= Cldr.DateTime.Relative.to_string!(@datetime, Web.CLDR, relative_to: @relative_to) %> @@ -737,7 +741,7 @@ defmodule Web.CoreComponents do title={ if @schema.last_seen_at, do: - "Last seen #{Cldr.DateTime.Relative.to_string!(@schema.last_seen_at, Web.CLDR, relative_to: @relative_to)}", + "Last connected #{Cldr.DateTime.Relative.to_string!(@schema.last_seen_at, Web.CLDR, relative_to: @relative_to)}", else: "Never connected" } > diff --git a/elixir/apps/web/lib/web/live/actors/index.ex b/elixir/apps/web/lib/web/live/actors/index.ex index 17b0580cf..962841345 100644 --- a/elixir/apps/web/lib/web/live/actors/index.ex +++ b/elixir/apps/web/lib/web/live/actors/index.ex @@ -54,7 +54,7 @@ defmodule Web.Actors.Index do <:help> - Actors are the people and services that can access your resources. + Actors are the people and services that can access your Resources. <:content> <.flash_group flash={@flash} /> diff --git a/elixir/apps/web/lib/web/live/clients/index.ex b/elixir/apps/web/lib/web/live/clients/index.ex index 1121860eb..c9dcb55e3 100644 --- a/elixir/apps/web/lib/web/live/clients/index.ex +++ b/elixir/apps/web/lib/web/live/clients/index.ex @@ -47,6 +47,9 @@ defmodule Web.Clients.Index do <:title> Clients + <:help> + Clients are end-user devices and servers that access your protected Resources. + <:content> <.flash_group flash={@flash} /> <.live_table diff --git a/elixir/apps/web/lib/web/live/clients/show.ex b/elixir/apps/web/lib/web/live/clients/show.ex index 0a3132949..7a6e7d2f4 100644 --- a/elixir/apps/web/lib/web/live/clients/show.ex +++ b/elixir/apps/web/lib/web/live/clients/show.ex @@ -133,13 +133,13 @@ defmodule Web.Clients.Show do <.vertical_table_row> - <:label>Last Seen + <:label>Last Connected <:value> <.relative_datetime datetime={@client.last_seen_at} /> <.vertical_table_row> - <:label>Last Seen Remote IP + <:label>Last Remote IP <:value> <.last_seen schema={@client} /> diff --git a/elixir/apps/web/lib/web/live/gateways/show.ex b/elixir/apps/web/lib/web/live/gateways/show.ex index b1baed6eb..81fc50abd 100644 --- a/elixir/apps/web/lib/web/live/gateways/show.ex +++ b/elixir/apps/web/lib/web/live/gateways/show.ex @@ -66,14 +66,14 @@ defmodule Web.Gateways.Show do <.vertical_table_row> <:label> - Last seen + Last Connected <:value> <.relative_datetime datetime={@gateway.last_seen_at} /> <.vertical_table_row> - <:label>Last Seen Remote IP + <:label>Last Remote IP <:value> <.last_seen schema={@gateway} /> diff --git a/elixir/apps/web/lib/web/live/groups/index.ex b/elixir/apps/web/lib/web/live/groups/index.ex index b53929c8f..e1ed7b195 100644 --- a/elixir/apps/web/lib/web/live/groups/index.ex +++ b/elixir/apps/web/lib/web/live/groups/index.ex @@ -52,6 +52,9 @@ defmodule Web.Groups.Index do Add Group + <:help> + Groups organize Actors and form the basis of the Firezone access control model. + <:content> <.flash_group flash={@flash} /> <.live_table @@ -95,8 +98,8 @@ defmodule Web.Groups.Index do - <:col :let={group} field={{:groups, :inserted_at}} label="SOURCE"> - <.created_by account={@account} schema={group} /> + <:col :let={group} field={{:groups, :inserted_at}} label="Created"> + <.relative_datetime datetime={group.inserted_at} /> <:empty>- Configure the default resolver used by connected Clients in your Firezone account. Queries for - defined Resources will always - use Firezone's internal DNS. All other queries will - use the resolver below if configured. If no resolver is configured, the client's default system - resolver will be used. -
-- <.website_link href="/kb/deploy/dns"> - Read more about configuring DNS in Firezone. - -
-
diff --git a/elixir/apps/web/lib/web/live/sites/index.ex b/elixir/apps/web/lib/web/live/sites/index.ex
index 5e8c41a89..017f43463 100644
--- a/elixir/apps/web/lib/web/live/sites/index.ex
+++ b/elixir/apps/web/lib/web/live/sites/index.ex
@@ -54,6 +54,11 @@ defmodule Web.Sites.Index do
Add Site
+
+ <:help>
+ Sites represent a shared network environment that Gateways and Resources exist within.
+
+
<:content>
<.flash_group flash={@flash} />
<.live_table
@@ -112,7 +117,10 @@ defmodule Web.Sites.Index do
peek = %{count: length(gateways), items: Enum.take(gateways, 5)} %>
<.peek peek={peek}>
<:empty>
- None
+ <.icon
+ name="hero-exclamation-triangle"
+ class="inline-block w-5 h-5 mr-1 text-red-500"
+ /> None
<:separator>
diff --git a/elixir/apps/web/lib/web/live/sites/show.ex b/elixir/apps/web/lib/web/live/sites/show.ex
index 9c663948b..515f3cca3 100644
--- a/elixir/apps/web/lib/web/live/sites/show.ex
+++ b/elixir/apps/web/lib/web/live/sites/show.ex
@@ -220,17 +220,19 @@ defmodule Web.Sites.Show do
<:col :let={resource} label="ADDRESS" field={{:resources, :address}}>
- <%= resource.address %>
+
+ <%= resource.address %>
+
<:col :let={resource} label="Authorized groups">
<.peek peek={Map.fetch!(@resource_actor_groups_peek, resource.id)}>
<:empty>
- None,
+ None -
<.link
class={["px-1", link_style()]}
navigate={~p"/#{@account}/policies/new?resource_id=#{resource}&site_id=#{@group}"}
>
- create a Policy
+ Create a Policy
to grant access.
diff --git a/elixir/apps/web/test/web/live/clients/show_test.exs b/elixir/apps/web/test/web/live/clients/show_test.exs
index 7b8cebe0e..22bdb378d 100644
--- a/elixir/apps/web/test/web/live/clients/show_test.exs
+++ b/elixir/apps/web/test/web/live/clients/show_test.exs
@@ -91,8 +91,8 @@ defmodule Web.Live.Clients.ShowTest do
assert table["owner"] =~ actor.name
assert table["status"] =~ "Offline"
assert table["created"]
- assert table["last seen"]
- assert table["last seen remote ip"] =~ to_string(client.last_seen_remote_ip)
+ assert table["last connected"]
+ assert table["last remote ip"] =~ to_string(client.last_seen_remote_ip)
assert table["client version"] =~ client.last_seen_version
assert table["user agent"] =~ client.last_seen_user_agent
end
diff --git a/elixir/apps/web/test/web/live/gateways/show_test.exs b/elixir/apps/web/test/web/live/gateways/show_test.exs
index 9bbe42fca..888117f27 100644
--- a/elixir/apps/web/test/web/live/gateways/show_test.exs
+++ b/elixir/apps/web/test/web/live/gateways/show_test.exs
@@ -89,8 +89,8 @@ defmodule Web.Live.Gateways.ShowTest do
assert table["site"] =~ gateway.group.name
assert table["name"] =~ gateway.name
- assert table["last seen"]
- assert table["last seen remote ip"] =~ to_string(gateway.last_seen_remote_ip)
+ assert table["last connected"]
+ assert table["last remote ip"] =~ to_string(gateway.last_seen_remote_ip)
assert table["status"] =~ "Offline"
assert table["user agent"] =~ gateway.last_seen_user_agent
assert table["version"] =~ gateway.last_seen_version
diff --git a/elixir/apps/web/test/web/live/groups/index_test.exs b/elixir/apps/web/test/web/live/groups/index_test.exs
index bbe8d6e0d..c3dc3eac0 100644
--- a/elixir/apps/web/test/web/live/groups/index_test.exs
+++ b/elixir/apps/web/test/web/live/groups/index_test.exs
@@ -117,16 +117,12 @@ defmodule Web.Live.Groups.IndexTest do
|> render()
|> table_to_map()
|> with_table_row("name", empty_group.name, fn row ->
- empty_group = Repo.preload(empty_group, created_by_identity: :actor)
-
assert row["actors"] == "None"
- assert row["source"] =~ "by #{empty_group.created_by_identity.actor.name}"
+ assert around_now?(row["created"])
end)
|> with_table_row("name", group_with_few_preloads.name, fn row ->
- group_with_few_preloads = Repo.preload(group_with_few_preloads, created_by_identity: :actor)
-
assert row["actors"] == actor.name
- assert row["source"] =~ "by #{group_with_few_preloads.created_by_identity.actor.name}"
+ assert around_now?(row["created"])
end)
|> with_table_row("name", group_with_lots_of_preloads.name, fn row ->
[peeked_names, tail] = String.split(row["actors"], " and ", trim: true)
@@ -137,7 +133,7 @@ defmodule Web.Live.Groups.IndexTest do
assert tail == "7 more."
- assert around_now?(row["source"])
+ assert around_now?(row["created"])
end)
end
end
diff --git a/elixir/apps/web/test/web/live/relays/show_test.exs b/elixir/apps/web/test/web/live/relays/show_test.exs
index 0ba05b99e..9e2d3754a 100644
--- a/elixir/apps/web/test/web/live/relays/show_test.exs
+++ b/elixir/apps/web/test/web/live/relays/show_test.exs
@@ -88,7 +88,7 @@ defmodule Web.Live.Relays.ShowTest do
|> vertical_table_to_map()
assert table["instance group name"] =~ relay.group.name
- assert table["last seen"]
+ assert table["last connected"]
assert table["remote ip"] =~ to_string(relay.last_seen_remote_ip)
assert table["ipv4 set by public_ip4_addr"] =~ to_string(relay.ipv4)
assert table["ipv6 set by public_ip6_addr"] =~ to_string(relay.ipv6)
diff --git a/elixir/apps/web/test/web/live/resources/index_test.exs b/elixir/apps/web/test/web/live/resources/index_test.exs
index 47179033d..f3c025701 100644
--- a/elixir/apps/web/test/web/live/resources/index_test.exs
+++ b/elixir/apps/web/test/web/live/resources/index_test.exs
@@ -96,7 +96,7 @@ defmodule Web.Live.Resources.IndexTest do
assert row["name"] =~ resource.name
assert row["address"] =~ resource.address
assert row["sites"] =~ group.name
- assert row["authorized groups"] == "None, create a Policy to grant access."
+ assert row["authorized groups"] == "None - Create a Policy to grant access."
end)
end
diff --git a/elixir/apps/web/test/web/live/sites/show_test.exs b/elixir/apps/web/test/web/live/sites/show_test.exs
index fdde076ee..579623793 100644
--- a/elixir/apps/web/test/web/live/sites/show_test.exs
+++ b/elixir/apps/web/test/web/live/sites/show_test.exs
@@ -212,7 +212,7 @@ defmodule Web.Live.Sites.ShowTest do
Enum.each(resource_rows, fn row ->
assert row["name"] =~ resource.name
assert row["address"] =~ resource.address
- assert row["authorized groups"] == "None, create a Policy to grant access."
+ assert row["authorized groups"] == "None - Create a Policy to grant access."
end)
end