1+
2+ async function setUpForm ( ) {
3+ try {
4+ let statesResponse = await fetch ( "https://csumb.space/api/allStatesAPI.php" ) ;
5+
6+ if ( ! statesResponse . ok ) {
7+ throw new Error ( "Response failed" ) ;
8+ }
9+ let statesData = await statesResponse . json ( ) ;
10+ console . log ( statesData ) ;
11+
12+ let statesSelect = document . querySelector ( "#statesSelect" ) ;
13+
14+ for ( let stateData of statesData ) {
15+ let stateOption = document . createElement ( "option" ) ;
16+ stateOption . id = stateData . usps ;
17+ stateOption . value = stateData . usps ;
18+ stateOption . textContent = stateData . state ;
19+
20+ statesSelect . appendChild ( stateOption ) ;
21+ }
22+
23+ } catch ( apiError ) {
24+ console . error ( apiError ) ;
25+ }
26+
27+ }
28+
29+ setUpForm ( ) ;
30+
31+ document . querySelector ( "#zipcodesInput" ) . addEventListener ( "change" , zipCode ) ;
32+
33+ async function zipCode ( ) {
34+ let userZip = document . querySelector ( "#zipcodesInput" ) . value ;
35+ console . log ( userZip ) ;
36+ try {
37+ let zipcodeResponse = await fetch ( "https://csumb.space/api/cityInfoAPI.php?zip=" + userZip ) ;
38+ let zipcodeData = await zipcodeResponse . json ( ) ;
39+ let cityText = document . querySelector ( "#city" ) ;
40+ let latitudeText = document . querySelector ( "#latitude" ) ;
41+ let longitudeText = document . querySelector ( "#longitude" ) ;
42+
43+ cityText . textContent = zipcodeData . city ;
44+ latitudeText . textContent = zipcodeData . latitude ;
45+ longitudeText . textContent = zipcodeData . longitude ;
46+
47+ } catch ( zipError ) {
48+ console . error ( zipError ) ;
49+ }
50+
51+
52+ }
53+
54+ document . querySelector ( "#passInput" ) . addEventListener ( "focus" , passwordSuggestion ) ;
55+
56+ async function passwordSuggestion ( ) {
57+ try {
58+ let passSugResponse = await fetch ( "https://csumb.space/api/suggestedPassword.php?length=8" ) ;
59+ let passSugData = await passSugResponse . json ( ) ;
60+
61+ let sugPass = document . querySelector ( "#suggestPassword" ) ;
62+
63+ sugPass . textContent = passSugData . password ;
64+
65+ } catch ( error ) {
66+ console . error ( error ) ;
67+ }
68+ }
69+
70+ document . querySelector ( "#usernameInput" ) . addEventListener ( "change" , usernameChecker ) ;
71+
72+ async function usernameChecker ( ) {
73+ try {
74+ let userCheck = document . querySelector ( "#usernameInput" ) . value ;
75+ console . log ( userCheck )
76+ let userResponse = await fetch ( "https://csumb.space/api/usernamesAPI.php?username=" + userCheck ) ;
77+ let userData = await userResponse . json ( ) ;
78+ console . log ( userData )
79+
80+ if ( userData . available ) {
81+ document . querySelector ( "#userText" ) . textContent = "available" ;
82+ }
83+ else {
84+ document . querySelector ( "#userText" ) . textContent = "not available" ;
85+ }
86+
87+
88+ } catch ( error ) {
89+ console . error ( error ) ;
90+ }
91+ }
0 commit comments