generated from nhcarrigan/template
feat: use random creative names for conversation tabs
This commit is contained in:
@@ -20,14 +20,21 @@ When working with issues, pull requests, or other repository operations for this
|
|||||||
When asked to commit changes for this project:
|
When asked to commit changes for this project:
|
||||||
|
|
||||||
- **Always commit as Hikari** using: `--author="Hikari <hikari@nhcarrigan.com>"`
|
- **Always commit as Hikari** using: `--author="Hikari <hikari@nhcarrigan.com>"`
|
||||||
- **Always use `--no-gpg-sign`** since Hikari doesn't have GPG signing set up
|
- **Always sign commits** with Hikari's GPG key: `--gpg-sign=5380E4EE7307C808`
|
||||||
- **Never add `Co-Authored-By` lines** for Gitea commits
|
- **Never add `Co-Authored-By` lines** for Gitea commits
|
||||||
- **Always ask for confirmation** before committing
|
- **Always ask for confirmation** before committing
|
||||||
|
- **Always ask for confirmation** before pushing
|
||||||
|
|
||||||
Example commit command:
|
Example commit command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git commit --author="Hikari <hikari@nhcarrigan.com>" --no-gpg-sign -m "your commit message"
|
git commit --author="Hikari <hikari@nhcarrigan.com>" --gpg-sign=5380E4EE7307C808 -m "your commit message"
|
||||||
|
```
|
||||||
|
|
||||||
|
Example push command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git push https://hikari:TOKEN@git.nhcarrigan.com/nhcarrigan/hikari-desktop.git <branch>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Testing Requirements
|
## Testing Requirements
|
||||||
|
|||||||
@@ -43,6 +43,88 @@ export interface Conversation {
|
|||||||
draftText: string;
|
draftText: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TAB_NAMES = [
|
||||||
|
// Cosmic & celestial
|
||||||
|
"Starfall",
|
||||||
|
"Moonbeam",
|
||||||
|
"Nebula",
|
||||||
|
"Aurora",
|
||||||
|
"Stardust",
|
||||||
|
"Solstice",
|
||||||
|
"Comet",
|
||||||
|
"Eclipse",
|
||||||
|
"Zenith",
|
||||||
|
"Celestia",
|
||||||
|
"Nova",
|
||||||
|
"Quasar",
|
||||||
|
"Lyra",
|
||||||
|
"Andromeda",
|
||||||
|
"Twilight",
|
||||||
|
// Magical & fantastical
|
||||||
|
"Camelot",
|
||||||
|
"Reverie",
|
||||||
|
"Arcane",
|
||||||
|
"Spellbound",
|
||||||
|
"Mirage",
|
||||||
|
"Oracle",
|
||||||
|
"Seraphim",
|
||||||
|
"Ethereal",
|
||||||
|
"Labyrinth",
|
||||||
|
"Enchantment",
|
||||||
|
// Nature & cosy
|
||||||
|
"Sakura",
|
||||||
|
"Ember",
|
||||||
|
"Cascade",
|
||||||
|
"Zephyr",
|
||||||
|
"Serendipity",
|
||||||
|
"Solace",
|
||||||
|
"Blossom",
|
||||||
|
"Whisper",
|
||||||
|
"Dewdrop",
|
||||||
|
"Sunbeam",
|
||||||
|
"Willow",
|
||||||
|
"Clover",
|
||||||
|
"Honeybee",
|
||||||
|
"Buttercup",
|
||||||
|
"Dandelion",
|
||||||
|
// Japanese/anime-inspired
|
||||||
|
"Tsukimi",
|
||||||
|
"Hanami",
|
||||||
|
"Yozora",
|
||||||
|
"Hoshi",
|
||||||
|
"Koharu",
|
||||||
|
"Akari",
|
||||||
|
"Midori",
|
||||||
|
// Adventure & epic
|
||||||
|
"Odyssey",
|
||||||
|
"Wanderer",
|
||||||
|
"Horizon",
|
||||||
|
"Voyage",
|
||||||
|
"Pathfinder",
|
||||||
|
"Frontier",
|
||||||
|
// Whimsical & sweet
|
||||||
|
"Bubblegum",
|
||||||
|
"Marshmallow",
|
||||||
|
"Daydream",
|
||||||
|
"Whimsy",
|
||||||
|
"Jellybean",
|
||||||
|
"Sprinkle",
|
||||||
|
"Cupcake",
|
||||||
|
// Dreamy & poetic
|
||||||
|
"Revenant",
|
||||||
|
"Elysium",
|
||||||
|
"Halcyon",
|
||||||
|
"Ephemera",
|
||||||
|
"Serenade",
|
||||||
|
"Lullaby",
|
||||||
|
"Nocturne",
|
||||||
|
"Rhapsody",
|
||||||
|
];
|
||||||
|
|
||||||
|
function pickRandomTabName(): string {
|
||||||
|
return TAB_NAMES[Math.floor(Math.random() * TAB_NAMES.length)];
|
||||||
|
}
|
||||||
|
|
||||||
function createConversationsStore() {
|
function createConversationsStore() {
|
||||||
const conversations = writable<Map<string, Conversation>>(new Map());
|
const conversations = writable<Map<string, Conversation>>(new Map());
|
||||||
const activeConversationId = writable<string | null>(null);
|
const activeConversationId = writable<string | null>(null);
|
||||||
@@ -63,7 +145,7 @@ function createConversationsStore() {
|
|||||||
const id = generateConversationId();
|
const id = generateConversationId();
|
||||||
return {
|
return {
|
||||||
id,
|
id,
|
||||||
name: name || `Conversation ${conversationCounter}`,
|
name: name ?? pickRandomTabName(),
|
||||||
terminalLines: [],
|
terminalLines: [],
|
||||||
sessionId: null,
|
sessionId: null,
|
||||||
connectionStatus: "disconnected",
|
connectionStatus: "disconnected",
|
||||||
@@ -91,7 +173,7 @@ function createConversationsStore() {
|
|||||||
function ensureInitialized() {
|
function ensureInitialized() {
|
||||||
if (!initialized) {
|
if (!initialized) {
|
||||||
initialized = true;
|
initialized = true;
|
||||||
const initialConversation = createNewConversation("Main");
|
const initialConversation = createNewConversation();
|
||||||
conversations.update((convs) => {
|
conversations.update((convs) => {
|
||||||
convs.set(initialConversation.id, initialConversation);
|
convs.set(initialConversation.id, initialConversation);
|
||||||
return convs;
|
return convs;
|
||||||
|
|||||||
Reference in New Issue
Block a user