TIDE/frontend/blog_portal/src/App.vue
Yisroel Baum 568dc4aabe
scaffold blog_portal vue 3 + pinia + cypress frontend
Mirrors youngstartup/frontend/startups_portal scaffolding:
Vite, Vue 3 (composition API + script setup), TypeScript strict,
Pinia, Vue Router 5, oxlint + eslint + oxfmt, and Cypress with
db:reset / db:seed tasks. Views and the auth store are stubs
filled in by the next branches; routes and the header chrome
are wired so the build passes.
2026-05-06 22:47:09 +03:00

119 lines
1.7 KiB
Vue

<script setup lang="ts">
import AppHeader from "@/components/AppHeader.vue";
</script>
<template>
<div class="app">
<AppHeader />
<main class="app-main">
<router-view />
</main>
</div>
</template>
<style scoped>
.app {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.app-main {
flex: 1;
min-width: 0;
padding: 24px;
max-width: 960px;
width: 100%;
margin: 0 auto;
}
</style>
<style>
:root {
font-family:
Inter,
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
sans-serif;
--color-text: #0a0a0a;
--color-secondary: #6b6b6b;
--color-border: #e5e5e5;
--color-accent: #0062ff;
--color-bg: #fff;
--color-button: #000;
--color-button-hover: #222;
}
body {
margin: 0;
background: var(--color-bg);
color: var(--color-text);
}
* {
box-sizing: border-box;
}
a {
color: var(--color-accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
input,
button,
select,
textarea {
font: inherit;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"] {
height: 36px;
padding: 0 12px;
border: 1px solid var(--color-border);
border-radius: 6px;
background: #fff;
color: var(--color-text);
}
input:focus {
outline: none;
border-color: #000;
}
button {
height: 36px;
padding: 0 16px;
border: 1px solid var(--color-border);
border-radius: 6px;
background: var(--color-button);
color: #fff;
cursor: pointer;
}
button:hover:not(:disabled) {
background: var(--color-button-hover);
}
button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
button.secondary {
background: #fff;
color: var(--color-text);
}
button.secondary:hover:not(:disabled) {
background: #f5f5f5;
}
</style>