diff --git a/valentine-main/.eslintrc.cjs b/valentine-main/.eslintrc.cjs
new file mode 100644
index 0000000..4dcb439
--- /dev/null
+++ b/valentine-main/.eslintrc.cjs
@@ -0,0 +1,20 @@
+module.exports = {
+ root: true,
+ env: { browser: true, es2020: true },
+ extends: [
+ 'eslint:recommended',
+ 'plugin:react/recommended',
+ 'plugin:react/jsx-runtime',
+ 'plugin:react-hooks/recommended',
+ ],
+ ignorePatterns: ['dist', '.eslintrc.cjs'],
+ parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
+ settings: { react: { version: '18.2' } },
+ plugins: ['react-refresh'],
+ rules: {
+ 'react-refresh/only-export-components': [
+ 'warn',
+ { allowConstantExport: true },
+ ],
+ },
+}
diff --git a/valentine-main/.gitignore b/valentine-main/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/valentine-main/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/valentine-main/LICENSE b/valentine-main/LICENSE
new file mode 100644
index 0000000..bd269db
--- /dev/null
+++ b/valentine-main/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Anish
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/valentine-main/README.md b/valentine-main/README.md
new file mode 100644
index 0000000..aaab29c
--- /dev/null
+++ b/valentine-main/README.md
@@ -0,0 +1,38 @@
+# ๐ฅฐ Be My Valentine? ๐ฅฐ
+
+![Project Image](https://i.imgur.com/8q884zI.png)
+
+Welcome to the most adorable project you've ever seen! This is a special React application designed to ask that special someone: "Will you be my Valentine?".
+
+## ๐ What's Inside? ๐
+[Link to site](https://formyvalentine.netlify.app)
+
+This project is built with love using React and Vite. It features a cute and interactive UI that playfully nudges the user towards saying "Yes" to being your Valentine.
+
+## ๐ Features ๐
+
+- Cute and playful animations
+- Interactive buttons that respond to user interaction
+- Lovely images and heartwarming messages
+
+## ๐ Getting Started ๐
+
+To get started with this project, follow these steps:
+
+1. Clone the repository
+2. Install the dependencies with `npm/pnpm/bun install`
+3. Start the development server with `npm/pnpm/bun run dev`
+
+Now you're ready to ask the big question!
+
+## ๐ Made with Love ๐
+
+This project was made with love by [Anish](https://github.com/xeven777). Feel free to use it to ask your own special someone to be your Valentine!
+
+## ๐ Feedback and Contributions ๐
+
+Feedback and contributions are always welcome! Feel free to open an issue or submit a pull request.
+
+Happy Valentine's Day! ๐
+---
+
diff --git a/valentine-main/bun.lockb b/valentine-main/bun.lockb
new file mode 100644
index 0000000..419dfe8
Binary files /dev/null and b/valentine-main/bun.lockb differ
diff --git a/valentine-main/index.html b/valentine-main/index.html
new file mode 100644
index 0000000..9a7d48a
--- /dev/null
+++ b/valentine-main/index.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Be my Valentine?
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/valentine-main/package.json b/valentine-main/package.json
new file mode 100644
index 0000000..9062024
--- /dev/null
+++ b/valentine-main/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "valentine",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
+ },
+ "devDependencies": {
+ "@types/react": "^18.2.43",
+ "@types/react-dom": "^18.2.17",
+ "@vitejs/plugin-react": "^4.2.1",
+ "autoprefixer": "^10.4.17",
+ "eslint": "^8.55.0",
+ "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-refresh": "^0.4.5",
+ "postcss": "^8.4.33",
+ "tailwindcss": "^3.4.1",
+ "vite": "^5.0.8"
+ }
+}
diff --git a/valentine-main/postcss.config.js b/valentine-main/postcss.config.js
new file mode 100644
index 0000000..2e7af2b
--- /dev/null
+++ b/valentine-main/postcss.config.js
@@ -0,0 +1,6 @@
+export default {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+}
diff --git a/valentine-main/public/apple-touch-icon.png b/valentine-main/public/apple-touch-icon.png
new file mode 100644
index 0000000..f2a9a3d
Binary files /dev/null and b/valentine-main/public/apple-touch-icon.png differ
diff --git a/valentine-main/public/favicon-16x16.png b/valentine-main/public/favicon-16x16.png
new file mode 100644
index 0000000..20cffb8
Binary files /dev/null and b/valentine-main/public/favicon-16x16.png differ
diff --git a/valentine-main/public/favicon-32x32.png b/valentine-main/public/favicon-32x32.png
new file mode 100644
index 0000000..a5ce13b
Binary files /dev/null and b/valentine-main/public/favicon-32x32.png differ
diff --git a/valentine-main/public/favicon.ico b/valentine-main/public/favicon.ico
new file mode 100644
index 0000000..914d24e
Binary files /dev/null and b/valentine-main/public/favicon.ico differ
diff --git a/valentine-main/public/vite.svg b/valentine-main/public/vite.svg
new file mode 100644
index 0000000..e7b8dfb
--- /dev/null
+++ b/valentine-main/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/valentine-main/src/App.jsx b/valentine-main/src/App.jsx
new file mode 100644
index 0000000..6ea4580
--- /dev/null
+++ b/valentine-main/src/App.jsx
@@ -0,0 +1,101 @@
+import { useState } from "react";
+import lovesvg from "./assets/All You Need Is Love SVG Cut File.svg";
+import lovesvg2 from "./assets/Love In The Air SVG Cut File.svg";
+
+export default function Page() {
+ const [noCount, setNoCount] = useState(0);
+ const [yesPressed, setYesPressed] = useState(false);
+ const yesButtonSize = noCount * 20 + 16;
+
+ const handleNoClick = () => {
+ setNoCount(noCount + 1);
+ };
+
+ const getNoButtonText = () => {
+ const phrases = [
+ "No",
+ "Are you sure?",
+ "Really sure?",
+ "Think again!",
+ "Last chance!",
+ "Surely not?",
+ "You might regret this!",
+ "Give it another thought!",
+ "Are you absolutely certain?",
+ "This could be a mistake!",
+ "Have a heart!",
+ "Don't be so cold!",
+ "Change of heart?",
+ "Wouldn't you reconsider?",
+ "Is that your final answer?",
+ "You're breaking my heart ;(",
+ "Is that your final answer?",
+ "You're breaking my heart ;(",
+ "Plsss? :( You're breaking my heart",
+ ];
+
+ return phrases[Math.min(noCount, phrases.length - 1)];
+ };
+
+ return (
+
+ {yesPressed ? (
+ <>
+
+
+ Ok Yayyyyy!!!
+
+ >
+ ) : (
+ <>
+
+
+
+
+ Will you be my Valentine?
+
+
+
+
+
+ >
+ )}
+
+
+ );
+}
+
+const Footer = () => {
+ return (
+
+ Made with{" "}
+
+ โค๏ธ
+
+
+ );
+};
diff --git a/valentine-main/src/assets/All You Need Is Love SVG Cut File.svg b/valentine-main/src/assets/All You Need Is Love SVG Cut File.svg
new file mode 100644
index 0000000..1eb19a8
--- /dev/null
+++ b/valentine-main/src/assets/All You Need Is Love SVG Cut File.svg
@@ -0,0 +1,135 @@
+
+
+
diff --git a/valentine-main/src/assets/Love In The Air SVG Cut File.svg b/valentine-main/src/assets/Love In The Air SVG Cut File.svg
new file mode 100644
index 0000000..28c03d8
--- /dev/null
+++ b/valentine-main/src/assets/Love In The Air SVG Cut File.svg
@@ -0,0 +1,152 @@
+
+
+
diff --git a/valentine-main/src/assets/bg-1.webp b/valentine-main/src/assets/bg-1.webp
new file mode 100644
index 0000000..3974ff1
Binary files /dev/null and b/valentine-main/src/assets/bg-1.webp differ
diff --git a/valentine-main/src/assets/bg.avif b/valentine-main/src/assets/bg.avif
new file mode 100644
index 0000000..8c256e1
Binary files /dev/null and b/valentine-main/src/assets/bg.avif differ
diff --git a/valentine-main/src/assets/bg1.webp b/valentine-main/src/assets/bg1.webp
new file mode 100644
index 0000000..1cda42f
Binary files /dev/null and b/valentine-main/src/assets/bg1.webp differ
diff --git a/valentine-main/src/index.css b/valentine-main/src/index.css
new file mode 100644
index 0000000..4f4a9e7
--- /dev/null
+++ b/valentine-main/src/index.css
@@ -0,0 +1,24 @@
+@import url("https://fonts.googleapis.com/css2?family=Protest+Riot&display=swap");
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+:root {
+ font-family: "Protest Riot", system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+body {
+ background: url("./assets/bg1.webp");
+ background-position: center;
+ background-size: cover;
+ background-attachment: fixed;
+}
diff --git a/valentine-main/src/main.jsx b/valentine-main/src/main.jsx
new file mode 100644
index 0000000..54b39dd
--- /dev/null
+++ b/valentine-main/src/main.jsx
@@ -0,0 +1,10 @@
+import React from 'react'
+import ReactDOM from 'react-dom/client'
+import App from './App.jsx'
+import './index.css'
+
+ReactDOM.createRoot(document.getElementById('root')).render(
+
+
+ ,
+)
diff --git a/valentine-main/tailwind.config.js b/valentine-main/tailwind.config.js
new file mode 100644
index 0000000..89a305e
--- /dev/null
+++ b/valentine-main/tailwind.config.js
@@ -0,0 +1,11 @@
+/** @type {import('tailwindcss').Config} */
+export default {
+ content: [
+ "./index.html",
+ "./src/**/*.{js,ts,jsx,tsx}",
+ ],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+}
\ No newline at end of file
diff --git a/valentine-main/vite.config.js b/valentine-main/vite.config.js
new file mode 100644
index 0000000..5a33944
--- /dev/null
+++ b/valentine-main/vite.config.js
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react()],
+})