diff --git a/web/modals/threads/thread-settings-modal.react.js b/web/modals/threads/thread-settings-modal.react.js
--- a/web/modals/threads/thread-settings-modal.react.js
+++ b/web/modals/threads/thread-settings-modal.react.js
@@ -13,11 +13,7 @@
} from 'lib/actions/thread-actions';
import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors';
import { threadInfoSelector } from 'lib/selectors/thread-selectors';
-import {
- threadHasPermission,
- threadTypeDescriptions,
- robotextName,
-} from 'lib/shared/thread-utils';
+import { threadHasPermission, robotextName } from 'lib/shared/thread-utils';
import {
type ThreadInfo,
threadTypes,
@@ -43,8 +39,7 @@
import ThreadSettingsDeleteTab from './thread-settings-delete-tab.react';
import ThreadSettingsGeneralTab from './thread-settings-general-tab.react';
import css from './thread-settings-modal.css';
-
-const { COMMUNITY_OPEN_SUBTHREAD, COMMUNITY_SECRET_SUBTHREAD } = threadTypes;
+import ThreadSettingsPrivacyTab from './thread-settings-privacy-tab.react';
type TabType = 'general' | 'privacy' | 'delete';
type TabProps = {
@@ -205,57 +200,11 @@
);
} else if (this.state.currentTabType === 'privacy') {
mainContent = (
-
-
-
Thread type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
);
} else if (this.state.currentTabType === 'delete') {
mainContent = (
diff --git a/web/modals/threads/thread-settings-privacy-tab.css b/web/modals/threads/thread-settings-privacy-tab.css
new file mode 100644
--- /dev/null
+++ b/web/modals/threads/thread-settings-privacy-tab.css
@@ -0,0 +1,37 @@
+div.form_title {
+ padding: 6px 6px 0 0;
+ font-size: 14px;
+ font-weight: 600;
+ vertical-align: top;
+ color: var(--fg);
+}
+
+div.edit_thread_privacy_container {
+ margin-bottom: 6px;
+}
+
+div.form_enum_selector {
+ display: inline-block;
+ padding-bottom: 4px;
+}
+div.form_enum_selector > div.form_enum_container {
+ padding-top: 5px;
+}
+div.form_enum_selector > div.form_enum_container > input {
+ vertical-align: top;
+ margin-top: 4px;
+}
+div.form_enum_selector div.form_enum_option {
+ display: inline-block;
+ font-size: 15px;
+ font-weight: 600;
+ padding-left: 3px;
+}
+div.form_enum_selector span.form_enum_description {
+ display: block;
+ font-family: var(--font-stack);
+ font-weight: normal;
+ font-size: 13px;
+ max-width: 260px;
+ color: gray;
+}
diff --git a/web/modals/threads/thread-settings-privacy-tab.react.js b/web/modals/threads/thread-settings-privacy-tab.react.js
new file mode 100644
--- /dev/null
+++ b/web/modals/threads/thread-settings-privacy-tab.react.js
@@ -0,0 +1,73 @@
+// @flow
+
+import * as React from 'react';
+
+import { threadTypeDescriptions } from 'lib/shared/thread-utils.js';
+import { threadTypes } from 'lib/types/thread-types.js';
+
+import css from './thread-settings-privacy-tab.css';
+const { COMMUNITY_OPEN_SUBTHREAD, COMMUNITY_SECRET_SUBTHREAD } = threadTypes;
+
+type ThreadSettingsPrivacyTabProps = {
+ +possiblyChangedThreadType: number,
+ +onChangeThreadType: (event: SyntheticEvent) => void,
+ +inputDisabled: boolean,
+};
+function ThreadSettingsPrivacyTab(
+ props: ThreadSettingsPrivacyTabProps,
+): React.Node {
+ const {
+ possiblyChangedThreadType,
+ onChangeThreadType,
+ inputDisabled,
+ } = props;
+ return (
+
+
+
Thread type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default ThreadSettingsPrivacyTab;