Skip to content

Commit 90d4714

Browse files
committed
[RZB-2500048]: fix build issues
1 parent 51450c0 commit 90d4714

File tree

7 files changed

+129
-73
lines changed

7 files changed

+129
-73
lines changed

.vscode/dictionaries/project-words.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,6 @@ threadzip
4242
Threazip
4343
vaul
4444
venv
45+
Verdana
4546
waitlist
4647
werkzeug

src/components/FeedbackForm.astro

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,20 @@ import "@/assets/styles/feedback.css";
4444
e.preventDefault();
4545
errorDiv.style.display = "none";
4646

47-
const formData = Object.fromEntries(new FormData(form));
47+
const formData = new FormData(form);
48+
const userName = formData.get("name") as string;
49+
const feedback = formData.get("feedback") as string;
50+
51+
console.log({ formData, userName, feedback });
52+
53+
console.log(formData.entries());
4854

4955
// Client-side validation
50-
if (formData.name.trim().length < 2) {
56+
if (userName.trim().length < 2) {
5157
showError("Name must be at least 2 characters long.");
5258
return;
5359
}
54-
if (formData.feedback.trim().length < 10) {
60+
if (feedback.trim().length < 10) {
5561
showError("Feedback must be at least 10 characters long.");
5662
return;
5763
}
@@ -60,12 +66,12 @@ import "@/assets/styles/feedback.css";
6066
submitButton.textContent = "Submitting...";
6167

6268
try {
63-
const response = await fetch("/api/submit-feedback", {
69+
const response = await fetch("/api/feedback", {
6470
method: "POST",
6571
headers: {
6672
"Content-Type": "application/json"
6773
},
68-
body: JSON.stringify(formData)
74+
body: JSON.stringify(Object.fromEntries(formData))
6975
});
7076

7177
if (response.ok) {

src/components/canvasDialogue.astro

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ import "@/assets/styles/canvas.css";
6868

6969
<script>
7070
class CanvasGenerator {
71+
input: HTMLInputElement;
72+
canvasContainer: HTMLDivElement;
73+
fullCheckbox: HTMLInputElement;
74+
fontFamilySelect: HTMLSelectElement;
75+
7176
constructor() {
7277
this.initializeElements();
7378
this.bindEvents();
@@ -76,8 +81,8 @@ import "@/assets/styles/canvas.css";
7681
initializeElements() {
7782
this.input = document.getElementById("name") as HTMLInputElement;
7883
this.canvasContainer = document.getElementById("canvasDiv") as HTMLDivElement;
79-
this.fullCheckbox = document.getElementById("full") as HTMLDivElement;
80-
this.fontFamilySelect = document.getElementById("fontFamily") as HTMLDivElement;
84+
this.fullCheckbox = document.getElementById("full") as HTMLInputElement;
85+
this.fontFamilySelect = document.getElementById("fontFamily") as HTMLSelectElement;
8186
}
8287

8388
bindEvents() {
@@ -86,8 +91,9 @@ import "@/assets/styles/canvas.css";
8691
});
8792
}
8893

89-
handleClick(event: any) {
90-
const variant = event.target.dataset.variant;
94+
handleClick(event: Event) {
95+
const target = event.target as HTMLElement;
96+
const variant = target.dataset.variant;
9197

9298
switch (variant) {
9399
case "text":
@@ -171,7 +177,7 @@ import "@/assets/styles/canvas.css";
171177
? text
172178
: text
173179
.split(" ")
174-
.map((w: any) => w[0])
180+
.map((w: string) => w[0])
175181
.join("")
176182
.toUpperCase();
177183

@@ -189,7 +195,7 @@ import "@/assets/styles/canvas.css";
189195
this.displayImage(this.createCanvas(timeString));
190196
}
191197

192-
displayImage(dataUrl) {
198+
displayImage(dataUrl: string) {
193199
const img = document.createElement("img");
194200
img.src = dataUrl;
195201
img.alt = "Generated fun image";
@@ -204,9 +210,9 @@ import "@/assets/styles/canvas.css";
204210

205211
resetSettings() {
206212
this.fullCheckbox.checked = false;
207-
(document.getElementById("cardColor") as HTMLInputElement).value = "random";
208-
(document.getElementById("fontColor") as HTMLInputElement).value = "white";
209-
(document.getElementById("fontFamily") as HTMLInputElement).value = "Comic Sans MS";
213+
(document.getElementById("cardColor") as HTMLSelectElement).value = "random";
214+
(document.getElementById("fontColor") as HTMLSelectElement).value = "white";
215+
(document.getElementById("fontFamily") as HTMLSelectElement).value = "Comic Sans MS";
210216
}
211217
}
212218

src/components/kannadaHindi.astro

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -97,52 +97,52 @@ const getLetterForLanguage = (pair: LetterPair, langCode: string): string => {
9797
}
9898
};
9999
100-
const updateUI = () => {
101-
const languageLabels = document.querySelectorAll(".language-label");
102-
languageLabels[0].textContent = languages.find((lang) => lang.code === selectedLanguage1)?.name || "";
103-
languageLabels[1].textContent = languages.find((lang) => lang.code === selectedLanguage2)?.name || "";
104-
105-
document.querySelectorAll(".language-letter-card").forEach((card, index) => {
106-
const pair = letterPairs[index];
107-
const lang1Letter = getLetterForLanguage(pair, selectedLanguage1);
108-
const lang2Letter = getLetterForLanguage(pair, selectedLanguage2);
109-
110-
const lang1Element = card.querySelector(".language-letter-top");
111-
const lang2Element = card.querySelector(".language-letter-bottom");
112-
113-
if (lang1Element && lang2Element) {
114-
lang1Element.textContent = lang1Letter;
115-
lang2Element.textContent = lang2Letter;
116-
117-
// Add special styling for English text
118-
lang1Element.classList.toggle("english-text", selectedLanguage1 === "en");
119-
lang2Element.classList.toggle("english-text", selectedLanguage2 === "en");
120-
121-
// Add transliteration class for proper display of diacritical marks
122-
lang1Element.classList.toggle("transliteration", selectedLanguage1 === "en");
123-
lang2Element.classList.toggle("transliteration", selectedLanguage2 === "en");
124-
}
125-
});
126-
};
127-
128-
const handleLanguageChange = (event: Event, isFirstDropdown: boolean) => {
129-
if (event.target instanceof HTMLSelectElement) {
130-
if (isFirstDropdown) {
131-
selectedLanguage1 = event.target.value;
132-
} else {
133-
selectedLanguage2 = event.target.value;
134-
}
135-
updateUI();
136-
}
137-
};
100+
//const updateUI = () => {
101+
// const languageLabels = document.querySelectorAll(".language-label");
102+
// languageLabels[0].textContent = languages.find((lang) => lang.code === selectedLanguage1)?.name || "";
103+
// languageLabels[1].textContent = languages.find((lang) => lang.code === selectedLanguage2)?.name || "";
104+
105+
// document.querySelectorAll(".language-letter-card").forEach((card, index) => {
106+
// const pair = letterPairs[index];
107+
// const lang1Letter = getLetterForLanguage(pair, selectedLanguage1);
108+
// const lang2Letter = getLetterForLanguage(pair, selectedLanguage2);
109+
110+
// const lang1Element = card.querySelector(".language-letter-top");
111+
// const lang2Element = card.querySelector(".language-letter-bottom");
112+
113+
// if (lang1Element && lang2Element) {
114+
// lang1Element.textContent = lang1Letter;
115+
// lang2Element.textContent = lang2Letter;
116+
117+
// // Add special styling for English text
118+
// lang1Element.classList.toggle("english-text", selectedLanguage1 === "en");
119+
// lang2Element.classList.toggle("english-text", selectedLanguage2 === "en");
120+
121+
// // Add transliteration class for proper display of diacritical marks
122+
// lang1Element.classList.toggle("transliteration", selectedLanguage1 === "en");
123+
// lang2Element.classList.toggle("transliteration", selectedLanguage2 === "en");
124+
// }
125+
// });
126+
//};
127+
128+
//const handleLanguageChange = (event: Event, isFirstDropdown: boolean) => {
129+
// if (event.target instanceof HTMLSelectElement) {
130+
// if (isFirstDropdown) {
131+
// selectedLanguage1 = event.target.value;
132+
// } else {
133+
// selectedLanguage2 = event.target.value;
134+
// }
135+
// updateUI();
136+
// }
137+
//};
138138
---
139139

140140
<div class="language-letters-container">
141141
<!-- Dropdown Section -->
142142
<div class="toggle-container">
143143
<div class="dropdown-wrapper">
144144
<label class="dropdown-label">Language 1</label>
145-
<select id="languageDropdown1" on:change={(e: any) => handleLanguageChange(e, true)}>
145+
<select id="languageDropdown1">
146146
{
147147
languages.map((lang) => (
148148
<option value={lang.code} selected={lang.code === selectedLanguage1}>
@@ -155,7 +155,7 @@ const handleLanguageChange = (event: Event, isFirstDropdown: boolean) => {
155155

156156
<div class="dropdown-wrapper">
157157
<label class="dropdown-label">Language 2</label>
158-
<select id="languageDropdown2" on:change={(e: any) => handleLanguageChange(e, false)}>
158+
<select id="languageDropdown2">
159159
{
160160
languages.map((lang) => (
161161
<option value={lang.code} selected={lang.code === selectedLanguage2}>
@@ -174,7 +174,7 @@ const handleLanguageChange = (event: Event, isFirstDropdown: boolean) => {
174174
letterPairs
175175
.filter((pair) => pair.type === "vowel")
176176
.map((pair, index) => (
177-
<div key={`vowel-${index}`} class="language-letter-card language-letter-card-vowel">
177+
<div data-key={`vowel-${index}`} class="language-letter-card language-letter-card-vowel">
178178
<div class="language-letter-kannada">{pair.kannada}</div>
179179
<div class="language-letter-hindi">{pair.hindi}</div>
180180
{/*<div class="language-letter-english">{pair.english}</div> */}
@@ -189,7 +189,7 @@ const handleLanguageChange = (event: Event, isFirstDropdown: boolean) => {
189189
letterPairs
190190
.filter((pair) => pair.type === "consonant")
191191
.map((pair, index) => (
192-
<div key={`consonant-${index}`} class="language-letter-card language-letter-card-consonant">
192+
<div data-key={`consonant-${index}`} class="language-letter-card language-letter-card-consonant">
193193
<div class="language-letter-kannada">{pair.kannada}</div>
194194
<div class="language-letter-hindi">{pair.hindi}</div>
195195
</div>
@@ -199,9 +199,9 @@ const handleLanguageChange = (event: Event, isFirstDropdown: boolean) => {
199199
</div>
200200
<script>
201201
// Letter generation helpers
202-
const generateLetters = (startCode: number, length: number, extraCodes = []) =>
202+
const generateLetters = (startCode: number, length: number, extraCodes = [] as number[]) =>
203203
Array.from({ length }, (_, i) => String.fromCodePoint(startCode + i)).filter(
204-
(_, i) => !extraCodes.includes((startCode + i) as never)
204+
(_, i) => !extraCodes.includes(startCode + i)
205205
);
206206

207207
// Letter sets

src/data/feedback.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,11 @@
3434
"name": "esvsDVsdv",
3535
"feedback": "dsvsdvsDvsdvds1111111111",
3636
"timestamp": "2025-02-13T15:18:13.114Z"
37+
},
38+
{
39+
"id": 1740888288998,
40+
"name": "product 1",
41+
"feedback": "We value your thoughts and suggestions",
42+
"timestamp": "2025-03-02T04:04:48.998Z"
3743
}
38-
]
44+
]
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import path from "node:path";
77
export const prerender = false;
88

99
export const POST: APIRoute = async ({ request }) => {
10+
console.log({ request });
1011
try {
1112
// Get the raw body and parse it manually
1213
const data = await request.json();
14+
console.log({ data });
1315
const name = data.name?.trim();
1416
const feedback = data.feedback?.trim();
1517

tsconfig.json

Lines changed: 49 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@
1515
"isolatedModules": true,
1616
"jsx": "react-jsx",
1717
"jsxImportSource": "react",
18-
"lib": ["es2022", "dom", "dom.iterable"],
18+
"lib": [
19+
"es2022",
20+
"dom",
21+
"dom.iterable"
22+
],
1923
"module": "ESNext",
2024
"moduleResolution": "bundler",
2125
"noEmit": true,
@@ -24,21 +28,52 @@
2428
"strict": true,
2529
"experimentalDecorators": true,
2630
"useDefineForClassFields": false,
31+
"strictPropertyInitialization": false,
2732
"target": "ESNext",
2833
"paths": {
29-
"@/*": ["./src/*"],
30-
"@/assets/*": ["src/assets/*"],
31-
"@/components/*": ["src/components/*"],
32-
"@/layouts/*": ["src/layouts/*.astro"],
33-
"@/utils/*": ["src/utils/*"],
34-
"@/libs": ["src/libs/index.ts"],
35-
"@/hooks/*": ["src/hooks/*"],
36-
"@/types": ["src/types/index.ts"],
37-
"@/mocks/*": ["src/mocks/*"],
38-
"@/site-config": ["src/site.config.ts"]
34+
"@/*": [
35+
"./src/*"
36+
],
37+
"@/assets/*": [
38+
"src/assets/*"
39+
],
40+
"@/components/*": [
41+
"src/components/*"
42+
],
43+
"@/layouts/*": [
44+
"src/layouts/*.astro"
45+
],
46+
"@/utils/*": [
47+
"src/utils/*"
48+
],
49+
"@/libs": [
50+
"src/libs/index.ts"
51+
],
52+
"@/hooks/*": [
53+
"src/hooks/*"
54+
],
55+
"@/types": [
56+
"src/types/index.ts"
57+
],
58+
"@/mocks/*": [
59+
"src/mocks/*"
60+
],
61+
"@/site-config": [
62+
"src/site.config.ts"
63+
]
3964
},
4065
"verbatimModuleSyntax": true
4166
},
42-
"include": ["src", "*.ts", "*.tsx"],
43-
"exclude": ["node_modules", "**/node_modules/*", ".vscode", "dist", ".eslintrc.mjs"]
44-
}
67+
"include": [
68+
"src",
69+
"*.ts",
70+
"*.tsx"
71+
],
72+
"exclude": [
73+
"node_modules",
74+
"**/node_modules/*",
75+
".vscode",
76+
"dist",
77+
".eslintrc.mjs"
78+
]
79+
}

0 commit comments

Comments
 (0)