Compare commits
11 Commits
4566f3678d
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fc433178d | |||
| 18255812ba | |||
| a731f49b87 | |||
| 1165d02a34 | |||
| 4359b3be4a | |||
| c638af667a | |||
| 8fc7f6beb5 | |||
| 1ebd6ad4e3 | |||
| 0837acad35 | |||
| f428af0d35 | |||
| ce9bd20040 |
+1
-1
@@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<link rel="icon" type="image/svg+xml" href="/heart.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Will you be my valentine?</title>
|
||||
</head>
|
||||
|
||||
Generated
+789
-2
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"canvas-confetti": "^1.9.4",
|
||||
"express": "^5.2.1",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"react-router-dom": "^7.13.0"
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
width="130"
|
||||
height="130"
|
||||
id="svg2">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<path
|
||||
d="M 65,29 C 59,19 49,12 37,12 20,12 7,25 7,42 7,75 25,80 65,118 105,80 123,75 123,42 123,25 110,12 93,12 81,12 71,19 65,29 z"
|
||||
id="path4"
|
||||
style="fill:#ff0707" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 923 B |
@@ -1,14 +1,20 @@
|
||||
// server.js
|
||||
import express from "express";
|
||||
import path from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
|
||||
// Serve static files from dist
|
||||
// Fix __dirname in ES modules
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
|
||||
// Serve static files from Vite build
|
||||
app.use(express.static(path.join(__dirname, "dist")));
|
||||
|
||||
// For React Router: always return index.html
|
||||
app.get("*", (req, res) => {
|
||||
// React Router fallback: send index.html for any unmatched route
|
||||
app.get(/.*/, (req, res) => {
|
||||
res.sendFile(path.join(__dirname, "dist", "index.html"));
|
||||
});
|
||||
|
||||
|
||||
@@ -111,3 +111,32 @@ dialog::backdrop {
|
||||
.photo img:hover {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
justify-content: center; /* center buttons horizontally */
|
||||
gap: 16px; /* space between buttons */
|
||||
margin-top: 16px; /* optional spacing from other elements */
|
||||
}
|
||||
|
||||
.buttons button {
|
||||
flex: 0 0 auto; /* don’t stretch buttons */
|
||||
}
|
||||
|
||||
button.yes {
|
||||
background-color: #531300; /* red-ish for yes */
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.yes:hover {
|
||||
background-color: #7a1a00; /* slightly lighter red on hover */
|
||||
}
|
||||
|
||||
button.no {
|
||||
background-color: #3d3d3d; /* dark gray for no */
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.no:hover {
|
||||
background-color: #555555; /* lighter gray on hover */
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
.container {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 1rem;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
overflow-x: hidden; /* prevents accidental scroll, but doesn't truncate text */
|
||||
}
|
||||
|
||||
/* Headings */
|
||||
h1, h2, h3 {
|
||||
margin: 0.5rem 0;
|
||||
white-space: normal; /* allow normal wrapping if needed */
|
||||
word-wrap: break-word; /* break only at words, not in middle */
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* Mobile tweaks */
|
||||
@media (max-width: 480px) {
|
||||
h1 { font-size: 1.5rem; }
|
||||
h2 { font-size: 1.2rem; }
|
||||
h3 { font-size: 1rem; }
|
||||
}
|
||||
+8
-5
@@ -1,10 +1,13 @@
|
||||
import styles from './yes.module.css';
|
||||
|
||||
export default function YesPage() {
|
||||
return (
|
||||
<div className="container">
|
||||
<h1>Congratulations, you're now my valentine!!! 💖🥳</h1>
|
||||
<h2>No takebacks allowed, you're stuck with me 🎉</h2>
|
||||
<h3>Great job using the freewill the website gave you to make the right choice</h3>
|
||||
|
||||
<div className={styles.container}>
|
||||
<h1>Congratulations!!!</h1>
|
||||
<h2>You're now my valentine 💖🥳</h2>
|
||||
<h3>No takebacks allowed, you're stuck with me 🎉</h3>
|
||||
<p></p>
|
||||
<p>P.S. Great job using the freewill this website gave you to make the right choice</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user