diff --git a/elixir/apps/web/lib/web/components/navigation_components.ex b/elixir/apps/web/lib/web/components/navigation_components.ex
index 077039d6d..e1bde99d6 100644
--- a/elixir/apps/web/lib/web/components/navigation_components.ex
+++ b/elixir/apps/web/lib/web/components/navigation_components.ex
@@ -64,12 +64,12 @@ defmodule Web.NavigationComponents do
diff --git a/elixir/apps/web/lib/web/live/settings/account.ex b/elixir/apps/web/lib/web/live/settings/account.ex
index 5a4791331..898d3b727 100644
--- a/elixir/apps/web/lib/web/live/settings/account.ex
+++ b/elixir/apps/web/lib/web/live/settings/account.ex
@@ -6,167 +6,27 @@ defmodule Web.Settings.Account do
<.breadcrumbs home_path={~p"/#{@account}/dashboard"}>
<.breadcrumb path={~p"/#{@account}/settings/account"}>Account Settings
+
<.header>
<:title>
- User profile
+ Account Settings
-
-
-
-
- |
- First name
- |
-
- Jamil
- |
-
-
- |
- Last name
- |
-
- Bou Kheir
- |
-
-
- |
- Authentication method
- |
-
- Magic link
-
- <.link class="text-xs text-blue-600 dark:text-blue-500 hover:underline" href="#">
-
- Migrate your account
-
- to authenticate with a connected Identity Provider instead.
-
- |
-
-
- |
- Sign in email
- |
-
- jamil@firezone.dev
-
-
- Contact support
-
- to change your sign-in email.
-
- |
-
-
-
-
-
- <.header>
- <:title>
- License
-
-
-
- <.icon name="hero-exclamation-triangle" class="inline-block w-5 h-5 mr-1 text-yellow-500" />
- You have 17 days
- remaining in your trial, after which you'll be downgraded to the Free
- plan.
- <.link class="text-blue-600 dark:text-blue-500 hover:underline" href="#">
- Add a credit card
-
- to avoid service interruption.
-
-
-
-
-
- |
- Plan
- |
-
- Team
-
- <.link class="text-xs text-blue-600 dark:text-blue-500 hover:underline" href="#">
- Change plan
-
-
- |
-
-
- |
- Seats
- |
-
- 5
-
- <.link class="text-xs text-blue-600 dark:text-blue-500 hover:underline" href="#">
- Add or remove seats
-
-
- |
-
-
- |
- Renews on
- |
-
- October 1, 2021
-
- <.link class="text-xs text-blue-600 dark:text-blue-500 hover:underline" href="#">
- Cancel renewal
-
-
- |
-
-
- |
- Billed amount
- |
-
- $500/year
- for 5 seats
-
- 10% discount applied
-
-
- <.link class="text-xs text-blue-600 dark:text-blue-500 hover:underline" href="#">
- Switch to monthly billing
-
-
- |
-
-
-
+ <.vertical_table id="account">
+ <.vertical_table_row>
+ <:label>Account Name
+ <:value><%= @account.name %>
+
+ <.vertical_table_row>
+ <:label>Account ID
+ <:value><%= @account.id %>
+
+ <.vertical_table_row>
+ <:label>Account Slug
+ <:value><%= @account.slug %>
+
+
<.header>
diff --git a/elixir/apps/web/test/web/live/settings/account/index_test.exs b/elixir/apps/web/test/web/live/settings/account/index_test.exs
new file mode 100644
index 000000000..5ac076aea
--- /dev/null
+++ b/elixir/apps/web/test/web/live/settings/account/index_test.exs
@@ -0,0 +1,61 @@
+defmodule Web.Live.Settings.Account.IndexTest do
+ use Web.ConnCase, async: true
+
+ setup do
+ Domain.Config.put_system_env_override(:outbound_email_adapter, Swoosh.Adapters.Postmark)
+
+ account = Fixtures.Accounts.create_account()
+ identity = Fixtures.Auth.create_identity(account: account, actor: [type: :account_admin_user])
+
+ %{
+ account: account,
+ identity: identity
+ }
+ end
+
+ test "redirects to sign in page for unauthorized user", %{account: account, conn: conn} do
+ assert live(conn, ~p"/#{account}/settings/account") ==
+ {:error,
+ {:redirect,
+ %{
+ to: ~p"/#{account}/sign_in",
+ flash: %{"error" => "You must log in to access this page."}
+ }}}
+ end
+
+ test "renders breadcrumbs item", %{
+ account: account,
+ identity: identity,
+ conn: conn
+ } do
+ {:ok, _lv, html} =
+ conn
+ |> authorize_conn(identity)
+ |> live(~p"/#{account}/settings/account")
+
+ assert item = Floki.find(html, "[aria-label='Breadcrumb']")
+ breadcrumbs = String.trim(Floki.text(item))
+ assert breadcrumbs =~ "Account Settings"
+ end
+
+ test "renders table with account information", %{
+ account: account,
+ identity: identity,
+ conn: conn
+ } do
+ {:ok, lv, _html} =
+ conn
+ |> authorize_conn(identity)
+ |> live(~p"/#{account}/settings/account")
+
+ rows =
+ lv
+ |> element("#account")
+ |> render()
+ |> vertical_table_to_map()
+
+ assert rows["account name"] == account.name
+ assert rows["account id"] == account.id
+ assert rows["account slug"] == account.slug
+ end
+end