diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-06-30 11:34:52 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-30 11:34:52 -0500 |
commit | 48844aa4c7690e1e89122e016a3b1ceadca2fdc7 (patch) | |
tree | d5f1fd02a93e560c8ec8bb4dc1ed34f703c70a7d /src | |
parent | c72e24f841b5771d74e82114e40ed81f15ec97a7 (diff) | |
download | voidsky-48844aa4c7690e1e89122e016a3b1ceadca2fdc7.tar.zst |
Include a notice during account creation for under-18 users (#927)
Diffstat (limited to 'src')
-rw-r--r-- | src/state/models/ui/create-account.ts | 10 | ||||
-rw-r--r-- | src/view/com/auth/create/Policies.tsx | 11 | ||||
-rw-r--r-- | src/view/com/auth/create/Step2.tsx | 5 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/state/models/ui/create-account.ts b/src/state/models/ui/create-account.ts index 78ffe8858..d35b3557d 100644 --- a/src/state/models/ui/create-account.ts +++ b/src/state/models/ui/create-account.ts @@ -31,13 +31,21 @@ export class CreateAccountModel { makeAutoObservable(this, {}, {autoBind: true}) } + get isAge13() { + return getAge(this.birthDate) >= 13 + } + + get isAge18() { + return getAge(this.birthDate) >= 18 + } + // form state controls // = next() { this.error = '' if (this.step === 2) { - if (getAge(this.birthDate) < 13) { + if (!this.isAge13) { this.error = 'Unfortunately, you do not meet the requirements to create an account.' return diff --git a/src/view/com/auth/create/Policies.tsx b/src/view/com/auth/create/Policies.tsx index 4ba6a5406..a3943d8cc 100644 --- a/src/view/com/auth/create/Policies.tsx +++ b/src/view/com/auth/create/Policies.tsx @@ -12,8 +12,10 @@ import {usePalette} from 'lib/hooks/usePalette' export const Policies = ({ serviceDescription, + needsGuardian, }: { serviceDescription: ServiceDescription + needsGuardian: boolean }) => { const pal = usePalette('default') if (!serviceDescription) { @@ -73,6 +75,12 @@ export const Policies = ({ <Text style={pal.textLight}> By creating an account you agree to the {els}. </Text> + {needsGuardian && ( + <Text style={[pal.textLight, s.bold]}> + If you are not yet an adult according to the laws of your country, + your parent or legal guardian must read these Terms on your behalf. + </Text> + )} </View> ) } @@ -85,8 +93,7 @@ function validWebLink(url?: string): string | undefined { const styles = StyleSheet.create({ policies: { - flexDirection: 'row', - alignItems: 'flex-start', + gap: 8, }, errorIcon: { borderWidth: 1, diff --git a/src/view/com/auth/create/Step2.tsx b/src/view/com/auth/create/Step2.tsx index 1e014f18e..86338bbd5 100644 --- a/src/view/com/auth/create/Step2.tsx +++ b/src/view/com/auth/create/Step2.tsx @@ -116,7 +116,10 @@ export const Step2 = observer(({model}: {model: CreateAccountModel}) => { </View> {model.serviceDescription && ( - <Policies serviceDescription={model.serviceDescription} /> + <Policies + serviceDescription={model.serviceDescription} + needsGuardian={!model.isAge18} + /> )} </> )} |