diff --git a/scss/elements/buttons-knobs.scss b/scss/elements/buttons-knobs.scss
index d31c63f8a8..843fd1ea78 100644
--- a/scss/elements/buttons-knobs.scss
+++ b/scss/elements/buttons-knobs.scss
@@ -58,7 +58,7 @@ button.selected:hover:not(:disabled), button.selected.drag,
.important-button {
- margin: 38px auto 30px;
+ margin: 30px auto 30px;
text-align: center;
button.large {
@@ -81,5 +81,3 @@ button.selected:hover:not(:disabled), button.selected.drag,
left: 5%;
}
}
-
-
diff --git a/scss/pages/npm.scss b/scss/pages/npm.scss
new file mode 100644
index 0000000000..7584deeebd
--- /dev/null
+++ b/scss/pages/npm.scss
@@ -0,0 +1,55 @@
+#npm {
+
+ #notice {
+ display: none;
+ }
+
+ #main {
+ margin-top: 0;
+ }
+
+ #content {
+ .nav {
+ margin-bottom: 40px;
+
+ li {
+ width: 50%;
+ text-align: center;
+ display: block;
+ float: left;
+ margin: 40px 0 0;
+ padding: 0;
+ a {
+ font: normal 18pt/24pt $Ideal;
+ display: block;
+ height: 64pt;
+ padding: 20pt 0;
+ border-bottom: 0;
+
+ .textwrap {
+ color: $black;
+ display: inline-block;
+ border-bottom: 4pt solid transparent;
+ }
+
+ &:hover {
+ background: none;
+ }
+
+ &.selected {
+ .textwrap {
+ border-bottom-color: $green;
+ font-weight: bold;
+ }
+ }
+ }
+ }
+ }
+
+ textarea {
+ height: 192px;
+ width: 100%;
+ font: 10px/12px $Mono;
+ }
+ }
+}
diff --git a/templates/nav-tabs.html b/templates/nav-tabs.html
index 14107b01d4..127e6b2b20 100644
--- a/templates/nav-tabs.html
+++ b/templates/nav-tabs.html
@@ -3,7 +3,7 @@
{% for tab in tabs %}
- {{ tab.html|safe }}
+ {{ tab.html|safe }}
{% endfor %}
diff --git a/tests/ttw/test_package_discovery.py b/tests/ttw/test_package_discovery.py
index f90b41644c..c198b59891 100644
--- a/tests/ttw/test_package_discovery.py
+++ b/tests/ttw/test_package_discovery.py
@@ -10,8 +10,14 @@ def test_anon_gets_sign_in_prompt(self):
self.visit('/on/npm/')
assert self.css('.instructions').text == 'Make or receive payments for npm packages:'
- def test_auth_gets_pay_page_by_default(self):
+ def test_auth_gets_discovery_page_by_default(self):
self.make_participant('alice')
self.sign_in('alice')
self.visit('/on/npm/')
assert self.css('.instructions').text == 'Paste a package.json to find packages:'
+
+ def est_pasting_a_package_json_works(self):
+ self.make_participant('alice')
+ self.sign_in('alice')
+ self.visit('/on/npm/')
+ import pdb; pdb.set_trace()
diff --git a/www/assets/gratipay.css.spt b/www/assets/gratipay.css.spt
index cb36ae767c..b2da2dc116 100644
--- a/www/assets/gratipay.css.spt
+++ b/www/assets/gratipay.css.spt
@@ -68,6 +68,7 @@
@import "scss/pages/history";
@import "scss/pages/identities";
@import "scss/pages/team";
+@import "scss/pages/npm";
@import "scss/pages/package";
@import "scss/pages/profile-edit";
@import "scss/pages/giving";
diff --git a/www/on/npm/index.html.spt b/www/on/npm/index.html.spt
index 3846703136..1bdb0063e7 100644
--- a/www/on/npm/index.html.spt
+++ b/www/on/npm/index.html.spt
@@ -1,6 +1,6 @@
from gratipay.utils import icons, tabs
[---]
-banner = manager = "npm"
+banner = manager = page_id = "npm"
suppress_sidebar = True
npackages, Npackages = website.db.one('''
select (select count(*) from teams_to_packages) as n, (select count(*) from packages) as t
@@ -54,11 +54,176 @@ tabs = tabs.make(tab_html, 'flow', flow, 'pay', 'receive')
{{ _('Paste a package.json to find packages:') }}
-
+
+
+
+
+
{% else %}
- {{ _('Apply to receive payments for your npm packages:') }}
+ {{ _('Apply to accept payments for your npm packages:') }}
{% if not packages_for_claiming %}
{{ _("No packages found.") }}