diff --git a/templates/user/notification/notification_subscriptions.tmpl b/templates/user/notification/notification_subscriptions.tmpl
new file mode 100644
index 00000000..f1bf838a
--- /dev/null
+++ b/templates/user/notification/notification_subscriptions.tmpl
@@ -0,0 +1,43 @@
+{{/* Subscriptions and watched repositories in the notifications sidebar layout, as the inbox: the heading, then the
+subscribed issues in a box headed by All, Open and Closed with Type and Sort, or the watched repositories. */}}
+{{template "base/head" .}}
+{{$current := "subscriptions"}}{{if eq .Status 2}}{{$current = "watching"}}{{end}}
+
+ {{template "user/notification/sidebar" dict "Data" . "Current" $current}}
+
+{{template "base/footer" .}}
diff --git a/templates/user/notification/sidebar.tmpl b/templates/user/notification/sidebar.tmpl
new file mode 100644
index 00000000..4454ae61
--- /dev/null
+++ b/templates/user/notification/sidebar.tmpl
@@ -0,0 +1,17 @@
+{{/* The notifications sidebar, shared by the inbox and the subscription pages. Data is the page context; Current names
+the page (unread, read, subscriptions or watching). */}}
+{{$notificationUnreadCount := call .Data.NotificationUnreadCount}}
+
diff --git a/templates/user/notification/subscriptions_sort.tmpl b/templates/user/notification/subscriptions_sort.tmpl
new file mode 100644
index 00000000..2af1383f
--- /dev/null
+++ b/templates/user/notification/subscriptions_sort.tmpl
@@ -0,0 +1,9 @@
+{{$query := print "?state=" .State "&issueType=" .IssueType "&labels=" .Labels}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.latest"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.oldest"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.recentupdate"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.leastupdate"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.mostcomment"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.leastcomment"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.nearduedate"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues.search.sort.farduedate"}}
diff --git a/templates/user/notification/subscriptions_type.tmpl b/templates/user/notification/subscriptions_type.tmpl
new file mode 100644
index 00000000..a438ef33
--- /dev/null
+++ b/templates/user/notification/subscriptions_type.tmpl
@@ -0,0 +1,4 @@
+{{$query := print "?sort=" .SortType "&state=" .State "&labels=" .Labels}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "all"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "issues"}}
+{{svg "octicon-check" 16 "theme-box-list-check"}}{{ctx.Locale.Tr "pull_requests"}}
+
+
+
+ {{if eq .Status 1}}
+
+
+
+ {{if eq .Status 1}}{{ctx.Locale.Tr "notification.subscriptions"}}{{else}}{{ctx.Locale.Tr "notification.watching"}}{{end}}
+
+
+ {{else}}
+ {{template "shared/repo_search" .}}
+ {{template "explore/repo_list" .}}
+ {{template "base/paginate" .}}
+ {{end}}
+
+
+
+ {{if .Issues}}
+ {{template "shared/issuelist" dict "." . "listType" "dashboard"}}
+ {{else}}
+
+ {{template "components/common/dropdown/dropdown" dict "Kind" "actions" "Label" (ctx.Locale.Tr "repo.issues.filter_type") "Quiet" true "Items" "user/notification/subscriptions_type" "Data" .}}
+ {{template "components/common/dropdown/dropdown" dict "Kind" "actions" "Label" (ctx.Locale.Tr "repo.issues.filter_sort") "Quiet" true "Items" "user/notification/subscriptions_sort" "Data" .}}
+
+
+ {{svg "octicon-bell" 24}}
+
+ {{end}}
+