feat: first commit

This commit is contained in:
sittichok Ouamsiri
2026-06-15 21:25:57 +07:00
commit 3395ab6dd3
88 changed files with 10034 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
/**
* Curated word pools for the "easy to remember" mode. Short, concrete,
* unambiguous words → e.g. "amber-otter-loop". 3 words from these pools gives
* ~30 × 38 × 30 ≈ 34k base combinations, expanded with a tiny numeric suffix
* on collision in the real backend.
*/
export const ADJECTIVES = [
"amber", "brave", "calm", "clever", "cosmic", "crisp", "dawn", "eager",
"fizzy", "gentle", "happy", "honey", "ivory", "jolly", "keen", "lucky",
"mellow", "noble", "olive", "plush", "quartz", "rapid", "sunny", "swift",
"teal", "tidal", "vivid", "warm", "zesty", "zen",
];
export const NOUNS = [
"otter", "falcon", "maple", "comet", "pixel", "harbor", "meadow", "ember",
"willow", "lantern", "pebble", "cactus", "marble", "puffin", "ledger",
"cobra", "violet", "thistle", "acorn", "domino", "compass", "raven",
"saffron", "juniper", "lotus", "mango", "narwhal", "orchid", "pelican",
"quokka", "robin", "sparrow", "topaz", "umbra", "walrus", "yarrow", "zephyr",
];
export const VERBS = [
"loop", "dash", "soar", "drift", "glide", "spark", "leap", "flow",
"zoom", "hop", "skip", "roam", "bounce", "swirl", "dive", "climb",
];
function pick<T>(arr: T[]): T {
return arr[Math.floor(Math.random() * arr.length)];
}
export function memorableSlug(): string {
return `${pick(ADJECTIVES)}-${pick(NOUNS)}-${pick(VERBS)}`;
}