feat: add DropZone and App layout skeleton
This commit is contained in:
45
src/App.vue
45
src/App.vue
@@ -1,9 +1,48 @@
|
||||
<script setup>
|
||||
import { useCalendar } from './composables/useCalendar.js'
|
||||
import DropZone from './components/DropZone.vue'
|
||||
|
||||
const { isLoaded } = useCalendar()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div style="font-family: sans-serif; padding: 40px;">
|
||||
<h1>📅 ICS 日程整理器</h1>
|
||||
<p>脚手架就绪</p>
|
||||
<div class="app">
|
||||
<header class="app-header">
|
||||
<h1>📅 ICS 日程整理器</h1>
|
||||
</header>
|
||||
<main class="app-main">
|
||||
<DropZone v-if="!isLoaded" />
|
||||
<div v-else class="placeholder">
|
||||
<p>文件已加载(列表与编辑器待实现)</p>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
body {
|
||||
font-family: -apple-system, "Segoe UI", Roboto, "Microsoft YaHei", sans-serif;
|
||||
background: #f5f6f8;
|
||||
color: #222;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.app { min-height: 100vh; display: flex; flex-direction: column; }
|
||||
.app-header {
|
||||
background: #2c3e50;
|
||||
color: #fff;
|
||||
padding: 14px 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.app-header h1 { font-size: 18px; font-weight: 600; }
|
||||
.app-main { flex: 1; display: flex; overflow: hidden; }
|
||||
.placeholder {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #95a5a6;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user