Photo Request
+{{title}}
+이 링크 전체에서 총 {{maxMb}} MB까지 업로드할 수 있어.
+diff --git a/README.md b/README.md index af4d193..4da9d69 100644 --- a/README.md +++ b/README.md @@ -32,5 +32,8 @@ The server cron runs this once per minute. - DB: `data/db.json` - Deploy log: `data/deploy.log` - Uploads: `/volume2/AKA Drive/사진 받기` +- Upload page template: `src/public/upload.html` +- Upload page style: `src/public/upload.css` +- Upload page image: `src/public/hero.svg` Each request creates its own folder under the upload directory. diff --git a/src/public/hero.svg b/src/public/hero.svg new file mode 100644 index 0000000..784b7cf --- /dev/null +++ b/src/public/hero.svg @@ -0,0 +1,9 @@ + diff --git a/src/public/upload.css b/src/public/upload.css new file mode 100644 index 0000000..0770f4a --- /dev/null +++ b/src/public/upload.css @@ -0,0 +1,147 @@ +:root { + color-scheme: light; + --ink: #16202a; + --muted: #667085; + --line: #d4dce7; + --bg: #f5f7fb; + --panel: #ffffff; + --accent: #0f766e; + --accent-dark: #115e59; +} + +* { + box-sizing: border-box; +} + +body { + margin: 0; + min-height: 100vh; + background: var(--bg); + color: var(--ink); + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; +} + +.upload-page { + width: min(920px, calc(100% - 28px)); + margin: 24px auto; +} + +.hero { + min-height: 300px; + position: relative; + overflow: hidden; + border-radius: 8px; + background: #20313b; +} + +.hero__media { + position: absolute; + inset: 0; + background: + linear-gradient(90deg, rgba(12, 20, 28, 0.78), rgba(12, 20, 28, 0.18)), + url("/assets/hero.svg"); + background-size: cover; + background-position: center; +} + +.hero__content { + position: relative; + width: min(620px, calc(100% - 36px)); + padding: 48px 28px; + color: white; +} + +.eyebrow { + margin: 0 0 8px; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; +} + +h1 { + margin: 0; + font-size: 34px; + line-height: 1.18; +} + +.summary { + margin: 14px 0 0; + max-width: 520px; + color: rgba(255, 255, 255, 0.86); + font-size: 16px; +} + +.upload-panel { + margin-top: 16px; + padding: 20px; + border: 1px solid var(--line); + border-radius: 8px; + background: var(--panel); +} + +.dropzone { + display: block; + padding: 24px; + border: 2px dashed var(--line); + border-radius: 8px; + background: #fbfcfe; + cursor: pointer; +} + +.dropzone__title, +.dropzone__meta { + display: block; +} + +.dropzone__title { + font-size: 18px; + font-weight: 750; +} + +.dropzone__meta { + margin-top: 6px; + color: var(--muted); + font-size: 14px; +} + +input[type="file"] { + margin-top: 16px; + width: 100%; +} + +button { + margin-top: 16px; + width: 100%; + border: 0; + border-radius: 6px; + padding: 13px 16px; + background: var(--accent); + color: white; + font: inherit; + font-weight: 750; + cursor: pointer; +} + +button:hover { + background: var(--accent-dark); +} + +@media (max-width: 640px) { + .upload-page { + width: calc(100% - 18px); + margin: 9px auto; + } + + .hero { + min-height: 260px; + } + + .hero__content { + width: 100%; + padding: 36px 20px; + } + + h1 { + font-size: 28px; + } +} diff --git a/src/public/upload.html b/src/public/upload.html new file mode 100644 index 0000000..6a6e33b --- /dev/null +++ b/src/public/upload.html @@ -0,0 +1,32 @@ + + +
+ + +Photo Request
+이 링크 전체에서 총 {{maxMb}} MB까지 업로드할 수 있어.
+