diff --git a/src/apps/dashboard/migrations/0007_seed_wallet_applet.py b/src/apps/dashboard/migrations/0007_seed_wallet_applet.py
new file mode 100644
index 0000000..756fc0d
--- /dev/null
+++ b/src/apps/dashboard/migrations/0007_seed_wallet_applet.py
@@ -0,0 +1,18 @@
+from django.db import migrations
+
+
+def seed_wallet_applet(apps, schema_editor):
+ Applet = apps.get_model("dashboard", "Applet")
+ Applet.objects.get_or_create(
+ slug="wallet",
+ defaults={"name": "Wallet", "grid_cols": 12, "grid_rows": 3},
+ )
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ("dashboard", "0006_rename_theme_switcher"),
+ ]
+
+ operations = [
+ migrations.RunPython(seed_wallet_applet, migrations.RunPython.noop),
+ ]
diff --git a/src/apps/dashboard/tests/integrated/test_views.py b/src/apps/dashboard/tests/integrated/test_views.py
index 828d33e..b55a020 100644
--- a/src/apps/dashboard/tests/integrated/test_views.py
+++ b/src/apps/dashboard/tests/integrated/test_views.py
@@ -439,3 +439,18 @@ class FooterNavTest(TestCase):
[nav] = parsed.cssselect("#id_footer_nav")
links = [a.get("href") for a in nav.cssselect("a")]
self.assertIn("/gameboard/", links)
+
+class WalletAppletTest(TestCase):
+ def setUp(self):
+ self.user = User.objects.create(email="disco@test.io")
+ self.client.force_login(self.user)
+ Applet.objects.get_or_create(slug="wallet", defaults={"name": "Wallet"})
+ response = self.client.get("/")
+ self.parsed = lxml.html.fromstring(response.content)
+
+ def test_wallet_applet_present_on_dash(self):
+ [_] = self.parsed.cssselect("#id_applet_wallet")
+
+ def test_wallet_applet_has_manage_link(self):
+ [link] = self.parsed.cssselect("#id_applet_wallet a.wallet-manage-link")
+ self.assertEqual(link.get("href"), "/dashboard/wallet/")
diff --git a/src/apps/dashboard/views.py b/src/apps/dashboard/views.py
index ab6224c..7c34c8d 100644
--- a/src/apps/dashboard/views.py
+++ b/src/apps/dashboard/views.py
@@ -9,7 +9,7 @@ from apps.dashboard.models import Applet, Item, List, UserApplet
from apps.lyric.models import Token, User, Wallet
-APPLET_ORDER = ["new-list", "my-lists", "username", "palette"]
+APPLET_ORDER = ["wallet", "new-list", "my-lists", "username", "palette"]
UNLOCKED_PALETTES = frozenset(["palette-default"])
PALETTES = [
{"name": "palette-default", "label": "Earthman", "locked": False},
diff --git a/src/templates/apps/dashboard/_partials/_applets.html b/src/templates/apps/dashboard/_partials/_applets.html
index 276b1dd..50e7cb3 100644
--- a/src/templates/apps/dashboard/_partials/_applets.html
+++ b/src/templates/apps/dashboard/_partials/_applets.html
@@ -27,7 +27,15 @@
{% for entry in applets %}
{% if entry.visible %}
- {% if entry.applet.slug == "new-list" %}
+ {% if entry.applet.slug == "wallet" %}
+
+ {% elif entry.applet.slug == "new-list" %}