diff --git a/templates/zerver/development/dev_tools.html b/templates/zerver/development/dev_tools.html
index adecb102cd..02ba9f92ab 100644
--- a/templates/zerver/development/dev_tools.html
+++ b/templates/zerver/development/dev_tools.html
@@ -89,6 +89,11 @@
None needed |
Test banner styles |
+
+ /devtools/inputs |
+ None needed |
+ Test input styles |
+
Useful management commands
diff --git a/templates/zerver/development/showroom/inputs.html b/templates/zerver/development/showroom/inputs.html
new file mode 100644
index 0000000000..1142aeca7a
--- /dev/null
+++ b/templates/zerver/development/showroom/inputs.html
@@ -0,0 +1,48 @@
+{% extends "zerver/base.html" %}
+{% set entrypoint = "showroom" %}
+
+{% block title %}
+{{ doc_root_title }} | Zulip Dev
+{% endblock %}
+
+{% block content %}
+
+
+ {% include 'zerver/portico-header.html' %}
+
+
+
+
+
+ Theme Settings
+
+
+
+ Select Background
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/zerver/tests/test_urls.py b/zerver/tests/test_urls.py
index d1c347fa57..c05f4bb1b6 100644
--- a/zerver/tests/test_urls.py
+++ b/zerver/tests/test_urls.py
@@ -60,6 +60,7 @@ class PublicURLTest(ZulipTestCase):
urls = {
"/devtools/buttons/": "Button styles browser",
"/devtools/banners/": "Banner styles browser",
+ "/devtools/inputs/": "Input styles browser",
}
for url, expected_content in urls.items():
diff --git a/zerver/views/development/showroom.py b/zerver/views/development/showroom.py
index acf4beb1dd..8d0bacc95f 100644
--- a/zerver/views/development/showroom.py
+++ b/zerver/views/development/showroom.py
@@ -48,3 +48,16 @@ def showroom_component_banners(request: HttpRequest) -> HttpResponse:
"isolated_page": True,
}
return render(request, "zerver/development/showroom/banners.html", context)
+
+
+def showroom_component_inputs(request: HttpRequest) -> HttpResponse:
+ context = {
+ "background_colors": background_colors,
+ "icons": get_svg_filenames(),
+ "page_is_showroom": True,
+ "showroom_component": "inputs",
+ "doc_root_title": "Input styles browser",
+ # We set isolated_page to avoid clutter from footer/header.
+ "isolated_page": True,
+ }
+ return render(request, "zerver/development/showroom/inputs.html", context)
diff --git a/zproject/dev_urls.py b/zproject/dev_urls.py
index 8958a37805..9791628427 100644
--- a/zproject/dev_urls.py
+++ b/zproject/dev_urls.py
@@ -31,7 +31,11 @@ from zerver.views.development.registration import (
register_development_realm,
register_development_user,
)
-from zerver.views.development.showroom import showroom_component_banners, showroom_component_buttons
+from zerver.views.development.showroom import (
+ showroom_component_banners,
+ showroom_component_buttons,
+ showroom_component_inputs,
+)
from zerver.views.errors import config_error
# These URLs are available only in the development environment
@@ -101,6 +105,7 @@ urls = [
# Endpoints for Showroom components.
path("devtools/buttons/", showroom_component_buttons),
path("devtools/banners/", showroom_component_banners),
+ path("devtools/inputs/", showroom_component_inputs),
]
v1_api_mobile_patterns = [