1
+
2
+ const sr = ScrollReveal ( {
3
+ distance : '90px' ,
4
+ duration : 2400 ,
5
+ reset : true
6
+ } ) ;
7
+
8
+
9
+ sr . reveal ( '.about-head' , { delay :210 , origin : "top" } ) ;
10
+ sr . reveal ( '.earth' , { delay :210 , origin :"bottom" } ) ;
11
+ sr . reveal ( '.main-img' , { delay :210 , origin : "left" } ) ;
12
+ sr . reveal ( '.main-text h1' , { delay :310 , origin : "top" } ) ;
13
+ sr . reveal ( '.main-text h4' , { delay :310 , origin : "left" } ) ;
14
+ sr . reveal ( '.social' , { delay :210 , origin : "bottom" } ) ;
15
+ sr . reveal ( '.row' , { delay :510 , origin : "left" } ) ;
16
+
17
+ sr . reveal ( '.work-head' , { delay :210 , origin : "top" } ) ;
18
+ sr . reveal ( '.gallery img' , { delay :310 , origin : "left" } ) ;
19
+
20
+ sr . reveal ( '.tooltip-container' , { delay :410 , origin : "left" } ) ;
21
+
22
+ sr . reveal ( '#skill-section h1' , { delay :210 , origin : "top" } ) ;
23
+ sr . reveal ( '.skills-area' , { delay :210 , origin : "left" } ) ;
24
+
25
+ sr . reveal ( 'input[type=text], select, textarea' , { delay :310 , origin : "left" } ) ;
26
+ sr . reveal ( 'input[type=submit]' , { delay :310 , origin : "left" } ) ;
27
+ sr . reveal ( '.cube-container' , { delay :210 , origin :"bottom" } )
28
+ sr . reveal ( '#container h2' , { delay :210 , origin :"top" } )
29
+
30
+ sr . reveal ( '.coffee-text' , { delay :210 , origin : "top" } ) ;
31
+ sr . reveal ( '.flip-card' , { delay :310 , origin : "left" } ) ;
32
+
33
+
34
+ // function submit() {
35
+ // $.ajax({
36
+ // url: "https://script.google.com/macros/s/AKfycbw5RplaPIGxoEH4M3kWVfBObC6V44wsuuOPMtxB-S28SMbEn0AX1tCSzrAh07vt9VJy/exec",
37
+ // data: $("#submit-form").serialize(),
38
+ // method: "POST",
39
+ // success: function (response) {
40
+ // alert("Form submitted successfully");
41
+ // window.location.reload();
42
+ // return true
43
+ // window.location.reload();
44
+
45
+ // },
46
+ // error: function (err) {
47
+ // alert("Something Error");
48
+ // return false
49
+ // },
50
+ // });
51
+ // }
52
+
53
+ function submitForm ( ) {
54
+ var form = document . getElementById ( "submit-form" ) ;
55
+
56
+ form . action = "https://script.google.com/macros/s/AKfycbxdffKjVLgvcznz-Vg2AUcUfqP0Zj8INR4DGCpjwHnek0lairFEUQNpqx3V1Szf4YIU4w/exec" ;
57
+
58
+ form . method = "post" ;
59
+
60
+ let formData = new FormData ( form ) ;
61
+
62
+ fetch ( form . action , {
63
+ method : form . method ,
64
+ body : formData
65
+ } )
66
+ . then ( response => {
67
+ if ( ! response . ok ) {
68
+ throw new Error ( 'Network response was not ok' ) ;
69
+ }
70
+ alert ( "Form submitted successfully!" ) ;
71
+ window . location . reload ( ) ;
72
+ return response . text ( ) ;
73
+ } )
74
+ . catch ( error => {
75
+ alert ( "Error: " + error . message ) ;
76
+ } ) ;
77
+
78
+ return false ;
79
+ }
80
+
81
+ const express = require ( 'express' ) ;
82
+ const bodyParser = require ( 'body-parser' ) ;
83
+ const rateLimit = require ( 'express-rate-limit' ) ;
84
+ const RedisStore = require ( 'rate-limit-redis' ) ;
85
+ const redis = require ( 'redis' ) ;
86
+
87
+ const app = express ( ) ;
88
+ const port = process . env . PORT || 3000 ;
89
+
90
+ // Create a Redis client
91
+ const redisClient = redis . createClient ( ) ;
92
+
93
+ // Body parser middleware
94
+ app . use ( bodyParser . urlencoded ( { extended : true } ) ) ;
95
+
96
+ // Rate limiting middleware
97
+ const limiter = rateLimit ( {
98
+ store : new RedisStore ( { client : redisClient } ) ,
99
+ windowMs : 60 * 1000 , // 1 minute
100
+ max : 5 , // Allow 5 requests per minute
101
+ message : 'Too many requests from this IP, please try again later.' ,
102
+ } ) ;
103
+ app . use ( '/submit-form' , limiter ) ;
104
+
105
+ // Handle form submission
106
+ app . post ( '/submit-form' , ( req , res ) => {
107
+ // Your existing code for form submission goes here
108
+ // ...
109
+
110
+ res . send ( 'Form submitted successfully!' ) ;
111
+ } ) ;
112
+
113
+ // Start the server
114
+ app . listen ( port , ( ) => {
115
+ console . log ( `Server is running on port ${ port } ` ) ;
116
+ } ) ;
0 commit comments