about summary refs log tree commit diff
path: root/src/view/com/modals/SelfLabel.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-08-16 10:46:52 -0700
committerGitHub <noreply@github.com>2023-08-16 10:46:52 -0700
commit5e63d3164b58552f81b597eff83cba991bea958e (patch)
tree1fb8ac4d1405a19c6c261f3da7b10244ae83502a /src/view/com/modals/SelfLabel.tsx
parent819340dd3c34e89e8cd7126c6f1172aba7a8ebec (diff)
downloadvoidsky-5e63d3164b58552f81b597eff83cba991bea958e.tar.zst
A set of composer fixes (#1187)
* Don't insert a newline on cmd+entrl (close #1173)

* Don't linkify selected text on url-paste (close #1149)

* Disable the adult content controls if there is no media on the post (close #1169)
Diffstat (limited to 'src/view/com/modals/SelfLabel.tsx')
-rw-r--r--src/view/com/modals/SelfLabel.tsx93
1 files changed, 54 insertions, 39 deletions
diff --git a/src/view/com/modals/SelfLabel.tsx b/src/view/com/modals/SelfLabel.tsx
index 87fc8fde6..42863fd33 100644
--- a/src/view/com/modals/SelfLabel.tsx
+++ b/src/view/com/modals/SelfLabel.tsx
@@ -16,9 +16,11 @@ export const snapPoints = ['50%']
 
 export const Component = observer(function Component({
   labels,
+  hasMedia,
   onChange,
 }: {
   labels: string[]
+  hasMedia: boolean
   onChange: (labels: string[]) => void
 }) {
   const pal = usePalette('default')
@@ -74,46 +76,59 @@ export const Component = observer(function Component({
               </Button>
             ) : null}
           </View>
-          <View style={s.flexRow}>
-            <SelectableBtn
-              testID="sexualLabelBtn"
-              selected={selected.includes('sexual')}
-              left
-              label="Suggestive"
-              onSelect={() => toggleAdultLabel('sexual')}
-              accessibilityHint=""
-              style={s.flex1}
-            />
-            <SelectableBtn
-              testID="nudityLabelBtn"
-              selected={selected.includes('nudity')}
-              label="Nudity"
-              onSelect={() => toggleAdultLabel('nudity')}
-              accessibilityHint=""
-              style={s.flex1}
-            />
-            <SelectableBtn
-              testID="pornLabelBtn"
-              selected={selected.includes('porn')}
-              label="Porn"
-              right
-              onSelect={() => toggleAdultLabel('porn')}
-              accessibilityHint=""
-              style={s.flex1}
-            />
-          </View>
+          {hasMedia ? (
+            <>
+              <View style={s.flexRow}>
+                <SelectableBtn
+                  testID="sexualLabelBtn"
+                  selected={selected.includes('sexual')}
+                  left
+                  label="Suggestive"
+                  onSelect={() => toggleAdultLabel('sexual')}
+                  accessibilityHint=""
+                  style={s.flex1}
+                />
+                <SelectableBtn
+                  testID="nudityLabelBtn"
+                  selected={selected.includes('nudity')}
+                  label="Nudity"
+                  onSelect={() => toggleAdultLabel('nudity')}
+                  accessibilityHint=""
+                  style={s.flex1}
+                />
+                <SelectableBtn
+                  testID="pornLabelBtn"
+                  selected={selected.includes('porn')}
+                  label="Porn"
+                  right
+                  onSelect={() => toggleAdultLabel('porn')}
+                  accessibilityHint=""
+                  style={s.flex1}
+                />
+              </View>
 
-          <Text style={[pal.text, styles.adultExplainer]}>
-            {selected.includes('sexual') ? (
-              <>Pictures meant for adults.</>
-            ) : selected.includes('nudity') ? (
-              <>Artistic or non-erotic nudity.</>
-            ) : selected.includes('porn') ? (
-              <>Sexual activity or erotic nudity.</>
-            ) : (
-              <>If none are selected, suitable for all ages.</>
-            )}
-          </Text>
+              <Text style={[pal.text, styles.adultExplainer]}>
+                {selected.includes('sexual') ? (
+                  <>Pictures meant for adults.</>
+                ) : selected.includes('nudity') ? (
+                  <>Artistic or non-erotic nudity.</>
+                ) : selected.includes('porn') ? (
+                  <>Sexual activity or erotic nudity.</>
+                ) : (
+                  <>If none are selected, suitable for all ages.</>
+                )}
+              </Text>
+            </>
+          ) : (
+            <View>
+              <Text style={[pal.textLight]}>
+                <Text type="md-bold" style={[pal.textLight]}>
+                  Not Applicable
+                </Text>
+                . This warning is only available for posts with media attached.
+              </Text>
+            </View>
+          )}
         </View>
       </ScrollView>