diff --git a/README.md b/README.md index 8e3166d..df5b87d 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Most reminder apps are built around tasks and notifications. I wanted something Sometimes it’s a reflection I want to revisit months later, a message for an important milestone, encouragement before a difficult period, or just context I know I’ll forget with time. Future Self is built around that idea: delayed personal communication instead of productivity tooling. +> **Note** This repository is still in active development + ## Prerequisites - **Node.js** 22.x or current LTS diff --git a/frontend/index.html b/frontend/index.html index 34ceb16..5542c81 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -3,6 +3,31 @@ + + Future Self diff --git a/frontend/src/index.css b/frontend/src/index.css index 0281373..b455be0 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -38,6 +38,33 @@ @apply bg-[#e8e4dc] text-paper-dark; } } + + input:-webkit-autofill, + input:-webkit-autofill:hover, + input:-webkit-autofill:focus, + textarea:-webkit-autofill, + textarea:-webkit-autofill:hover, + textarea:-webkit-autofill:focus { + -webkit-text-fill-color: #121212; + -webkit-box-shadow: 0 0 0 1000px #f4f1ea inset; + box-shadow: 0 0 0 1000px #f4f1ea inset; + transition: background-color 9999s ease-in-out 0s; + caret-color: #121212; + } + + @media (prefers-color-scheme: dark) { + input:-webkit-autofill, + input:-webkit-autofill:hover, + input:-webkit-autofill:focus, + textarea:-webkit-autofill, + textarea:-webkit-autofill:hover, + textarea:-webkit-autofill:focus { + -webkit-text-fill-color: #e8e4dc; + -webkit-box-shadow: 0 0 0 1000px #0c0c0c inset; + box-shadow: 0 0 0 1000px #0c0c0c inset; + caret-color: #e8e4dc; + } + } } @layer utilities { diff --git a/src/auth/dto/reset-password.dto.ts b/src/auth/dto/reset-password.dto.ts index 7543564..9ac5611 100644 --- a/src/auth/dto/reset-password.dto.ts +++ b/src/auth/dto/reset-password.dto.ts @@ -1,4 +1,4 @@ -import { IsEmail, IsNotEmpty, isString, IsString } from 'class-validator'; +import { IsEmail, IsNotEmpty, isString, IsString, MaxLength, MinLength } from 'class-validator'; export class ResetPasswordDto { @IsNotEmpty() @@ -7,6 +7,8 @@ export class ResetPasswordDto { @IsNotEmpty() @IsString() + @MinLength(8) + @MaxLength(32) new_password: string; @IsNotEmpty() diff --git a/src/user/dto/create-user.dto.ts b/src/user/dto/create-user.dto.ts index fbc4a97..5d8b73b 100644 --- a/src/user/dto/create-user.dto.ts +++ b/src/user/dto/create-user.dto.ts @@ -1,4 +1,4 @@ -import { IsNotEmpty, IsOptional, IsString } from 'class-validator'; +import { IsNotEmpty, IsOptional, IsString, MaxLength, MinLength } from 'class-validator'; export class CreateUserDto { @IsString() @@ -7,6 +7,8 @@ export class CreateUserDto { @IsString() @IsNotEmpty() + @MinLength(8) + @MaxLength(32) password: string; @IsString()