Skip to content

Commit

Permalink
Handle singular/plurial in signup
Browse files Browse the repository at this point in the history
  • Loading branch information
Chocobozzz committed Jun 5, 2018
1 parent e309822 commit 7a9fd8b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 19 deletions.
4 changes: 0 additions & 4 deletions client/src/app/signup/signup.component.scss
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@
.initial-user-quota-label {
font-weight: $font-semibold;
}

my-help {
margin-left: 5px;
}
}


Expand Down
31 changes: 16 additions & 15 deletions client/src/app/signup/signup.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,6 @@ export class SignupComponent extends FormReactive implements OnInit {
error: string = null
quotaHelpIndication = ''

private static getApproximateTime (seconds: number) {
const hours = Math.floor(seconds / 3600)
let pluralSuffix = ''
if (hours > 1) pluralSuffix = 's'
if (hours > 0) return `~ ${hours} hour${pluralSuffix}`

const minutes = Math.floor(seconds % 3600 / 60)
if (minutes > 1) pluralSuffix = 's'

return `~ ${minutes} minute${pluralSuffix}`
}

constructor (
protected formValidatorService: FormValidatorService,
private userValidatorsService: UserValidatorsService,
Expand Down Expand Up @@ -75,6 +63,19 @@ export class SignupComponent extends FormReactive implements OnInit {
)
}

private getApproximateTime (seconds: number) {
const hours = Math.floor(seconds / 3600)
let pluralSuffix = ''
if (hours > 1) pluralSuffix = 's'
if (hours > 0) return `~ ${hours} hour${pluralSuffix}`

const minutes = Math.floor(seconds % 3600 / 60)
if (minutes > 1) pluralSuffix = 's'

return this.i18n('~ {{minutes}} {minutes, plural, =1 {minute} other {minutes}}', { minutes })
}


private buildQuotaHelpIndication () {
if (this.initialUserVideoQuota === -1) return

Expand All @@ -88,9 +89,9 @@ export class SignupComponent extends FormReactive implements OnInit {
const normalSeconds = initialUserVideoQuotaBit / (1.5 * 1000 * 1000)

const lines = [
this.i18n('{{seconds}} of full HD videos', { seconds: SignupComponent.getApproximateTime(fullHdSeconds) }),
this.i18n('{{seconds}} of HD videos', { seconds: SignupComponent.getApproximateTime(hdSeconds) }),
this.i18n('{{seconds}} of average quality videos', { seconds: SignupComponent.getApproximateTime(normalSeconds) })
this.i18n('{{seconds}} of full HD videos', { seconds: this.getApproximateTime(fullHdSeconds) }),
this.i18n('{{seconds}} of HD videos', { seconds: this.getApproximateTime(hdSeconds) }),
this.i18n('{{seconds}} of average quality videos', { seconds: this.getApproximateTime(normalSeconds) })
]

this.quotaHelpIndication = lines.join('<br />')
Expand Down

0 comments on commit 7a9fd8b

Please sign in to comment.