my-favs/frontend/src/components/BookmarkForm.vue
RamonCalvo 2a64013ef7 feat: redesign frontend with editorial typography layout
R-A-M-O-N navigation sections inspired by font specimen design.
Dark theme, Inter font, split layout with letter tabs.
Each section maps to a bookmark category by first letter.

- R: Recursos (tools & references)
- A: Aprendizaje (learning & growth)
- M: Mundo (exploration & ideas)
- O: Oficio (craft & work)
- N: Naturaleza (geek & personal) — default view

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 20:27:48 -06:00

27 lines
699 B
Vue

<script setup>
import { ref } from 'vue'
import { createBookmark } from '../api.js'
const emit = defineEmits(['created'])
const title = ref('')
const link = ref('')
async function submit() {
if (!title.value.trim() || !link.value.trim()) return
const bookmark = await createBookmark({
title: title.value.trim(),
link: link.value.trim(),
})
emit('created', bookmark)
title.value = ''
link.value = ''
}
</script>
<template>
<form class="bookmark-form" @submit.prevent="submit">
<input v-model="title" placeholder="title" required />
<input v-model="link" placeholder="https://..." required />
<button type="submit" class="btn-add">+</button>
</form>
</template>