diff --git a/app/build.gradle b/app/build.gradle index c9b64de1b..6ac357ae1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 22 targetSdk 33 versionCode 1 - versionName "1.1.3 (W)" + versionName "1.1.4 (W)" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/assets/app/app.js b/app/src/main/assets/app/app.js index 65743104b..22f9f2200 100644 --- a/app/src/main/assets/app/app.js +++ b/app/src/main/assets/app/app.js @@ -69,10 +69,11 @@ document.addEventListener('DOMContentLoaded', () => { cityopen.addEventListener("click", () => { searchContainer.style.display = 'block'; - cityInput.focus() window.history.pushState({ SearchContainerOpen: true }, ""); - + setTimeout(() =>{ + cityInput.focus() + }, 300); }); closeButton.addEventListener('click', () => { @@ -85,6 +86,7 @@ document.addEventListener('DOMContentLoaded', () => { cityInput.addEventListener('input', () => { const searchTerm = cityInput.value.trim(); + document.querySelector('.currentLocationdiv').hidden = true; if (searchTerm) { @@ -94,6 +96,7 @@ document.addEventListener('DOMContentLoaded', () => { } else { cityList.innerHTML = ''; document.getElementById('cityLoader').hidden = true; + document.querySelector('.currentLocationdiv').hidden = false; } @@ -115,7 +118,10 @@ document.addEventListener('DOMContentLoaded', () => { document.getElementById('city-name').innerHTML = '' document.querySelector('.focus-input').blur(); document.getElementById('forecast').scrollLeft = 0; - cityInput.dispatchEvent(new Event('input')); + document.getElementById('weather_wrap').scrollTop = 0; + setTimeout(() =>{ + cityInput.dispatchEvent(new Event('input')); + }, 200); showLoader() if (selectedCity.toLowerCase() === "delhi, india") { @@ -229,12 +235,19 @@ function getWeather(city, latitude, longitude) { if(SelectedTempUnit === 'fahrenheit'){ document.getElementById('temp').innerHTML = `${tempF}°F`; document.getElementById('max-temp').innerHTML = `${Math.round(feelslikeF)}°F`; + document.getElementById('temPDiscCurrentLocation').innerHTML = `${tempF}°F • ${description}` + } else{ document.getElementById('temp').innerHTML = `${temperature}°C`; document.getElementById('max-temp').innerHTML = `${Math.round(feelslike)}°C`; + document.getElementById('temPDiscCurrentLocation').innerHTML = `${temperature}°C • ${description}` + } + document.getElementById('currentLocationName').textContent = `${cityName}, ${countryName}`; + document.getElementById('currentSearchImg').src = `weather-icons/${iconCode}.svg`; + document.getElementById('description').textContent = description; @@ -472,13 +485,21 @@ function getWeatherByCoordinates(latitude, longitude) { if(SelectedTempUnit === 'fahrenheit'){ document.getElementById('temp').innerHTML = `${tempF}°F`; document.getElementById('max-temp').innerHTML = `${Math.round(feelslikeF)}°F`; + document.getElementById('temPDiscCurrentLocation').innerHTML = `${tempF}°F • ${description}` + } else{ document.getElementById('temp').innerHTML = `${temperature}°C`; document.getElementById('max-temp').innerHTML = `${Math.round(feelslike)}°C`; + document.getElementById('temPDiscCurrentLocation').innerHTML = `${temperature}°C • ${description}` + } + document.getElementById('currentLocationName').textContent = `${cityName}, ${countryName}`; + document.getElementById('currentSearchImg').src = `weather-icons/${iconCode}.svg`; + + document.getElementById('description').textContent = description; const visibility = data.visibility; const visibilityInMiles = (visibility * 0.000621371).toFixed(0); @@ -716,6 +737,9 @@ function display24HourForecast(forecastData) { } } else { console.error('Error fetching 24-hour forecast: Data is missing or insufficient'); + forecastContainer.innerHTML = ` +
+
` } } @@ -844,6 +868,8 @@ function showLoader() { const loaderContainer = document.getElementById('loader-container'); loaderContainer.style.display = 'flex'; loaderContainer.style.opacity = '1'; + document.getElementById('city-open').disabled = true; + } // Hide the loader @@ -854,6 +880,8 @@ function hideLoader() { setTimeout(() => { loaderContainer.style.display = 'none'; + document.getElementById('city-open').disabled = false; + }, 300); @@ -880,15 +908,6 @@ document.getElementById('forecast').addEventListener('scroll', function () { -document.getElementById('usage-popover').addEventListener('opening', () =>{ - document.getElementById('menu-overLap').hidden = false; -}); - -document.getElementById('usage-popover').addEventListener('closing', () =>{ - document.getElementById('menu-overLap').hidden = true; -}); - - function getMoonSetMoonRise(lat,long){ fetch(`https://api.ipgeolocation.io/astronomy?apiKey=f22c81e7a0b5448e812ad5e0e1c25242&lat=${lat}&long=${long}`) diff --git a/app/src/main/assets/froggie/01d.png b/app/src/main/assets/froggie/01d.png new file mode 100644 index 000000000..1de9320f9 Binary files /dev/null and b/app/src/main/assets/froggie/01d.png differ diff --git a/app/src/main/assets/froggie/01n.png b/app/src/main/assets/froggie/01n.png new file mode 100644 index 000000000..d5648e1f4 Binary files /dev/null and b/app/src/main/assets/froggie/01n.png differ diff --git a/app/src/main/assets/froggie/02d.png b/app/src/main/assets/froggie/02d.png new file mode 100644 index 000000000..d56f9a463 Binary files /dev/null and b/app/src/main/assets/froggie/02d.png differ diff --git a/app/src/main/assets/froggie/02n.png b/app/src/main/assets/froggie/02n.png new file mode 100644 index 000000000..aa64a0ac9 Binary files /dev/null and b/app/src/main/assets/froggie/02n.png differ diff --git a/app/src/main/assets/froggie/03d.png b/app/src/main/assets/froggie/03d.png new file mode 100644 index 000000000..2e0316c2a Binary files /dev/null and b/app/src/main/assets/froggie/03d.png differ diff --git a/app/src/main/assets/froggie/03n.png b/app/src/main/assets/froggie/03n.png new file mode 100644 index 000000000..a47bbfa57 Binary files /dev/null and b/app/src/main/assets/froggie/03n.png differ diff --git a/app/src/main/assets/froggie/04d.png b/app/src/main/assets/froggie/04d.png new file mode 100644 index 000000000..c1d07e08e Binary files /dev/null and b/app/src/main/assets/froggie/04d.png differ diff --git a/app/src/main/assets/froggie/04n.png b/app/src/main/assets/froggie/04n.png new file mode 100644 index 000000000..fda31adad Binary files /dev/null and b/app/src/main/assets/froggie/04n.png differ diff --git a/app/src/main/assets/froggie/09d.png b/app/src/main/assets/froggie/09d.png new file mode 100644 index 000000000..312d82643 Binary files /dev/null and b/app/src/main/assets/froggie/09d.png differ diff --git a/app/src/main/assets/froggie/09n.png b/app/src/main/assets/froggie/09n.png new file mode 100644 index 000000000..a6aeb45fa Binary files /dev/null and b/app/src/main/assets/froggie/09n.png differ diff --git a/app/src/main/assets/froggie/10d.png b/app/src/main/assets/froggie/10d.png new file mode 100644 index 000000000..e3b89facd Binary files /dev/null and b/app/src/main/assets/froggie/10d.png differ diff --git a/app/src/main/assets/froggie/10n.png b/app/src/main/assets/froggie/10n.png new file mode 100644 index 000000000..db38b8050 Binary files /dev/null and b/app/src/main/assets/froggie/10n.png differ diff --git a/app/src/main/assets/froggie/11d.png b/app/src/main/assets/froggie/11d.png new file mode 100644 index 000000000..715f51d58 Binary files /dev/null and b/app/src/main/assets/froggie/11d.png differ diff --git a/app/src/main/assets/froggie/11n.png b/app/src/main/assets/froggie/11n.png new file mode 100644 index 000000000..0b3bfadfd Binary files /dev/null and b/app/src/main/assets/froggie/11n.png differ diff --git a/app/src/main/assets/froggie/13d.png b/app/src/main/assets/froggie/13d.png new file mode 100644 index 000000000..11ae80e0b Binary files /dev/null and b/app/src/main/assets/froggie/13d.png differ diff --git a/app/src/main/assets/froggie/13n.png b/app/src/main/assets/froggie/13n.png new file mode 100644 index 000000000..0562eded5 Binary files /dev/null and b/app/src/main/assets/froggie/13n.png differ diff --git a/app/src/main/assets/froggie/50d.png b/app/src/main/assets/froggie/50d.png new file mode 100644 index 000000000..d7cf5711b Binary files /dev/null and b/app/src/main/assets/froggie/50d.png differ diff --git a/app/src/main/assets/froggie/50n.png b/app/src/main/assets/froggie/50n.png new file mode 100644 index 000000000..a531999b6 Binary files /dev/null and b/app/src/main/assets/froggie/50n.png differ diff --git a/app/src/main/assets/icons/error.png b/app/src/main/assets/icons/error.png new file mode 100644 index 000000000..0c7c37d80 Binary files /dev/null and b/app/src/main/assets/icons/error.png differ diff --git a/app/src/main/assets/index.html b/app/src/main/assets/index.html index 907478114..5ae1bcce9 100644 --- a/app/src/main/assets/index.html +++ b/app/src/main/assets/index.html @@ -22,7 +22,7 @@
- - - - -
Current location
-
- -
Settings
-
-
- -
@@ -83,17 +73,17 @@
-
+
thermostat

-
+
wind_power

-
+
cloud

@@ -267,6 +257,18 @@
+ +
+

location_onCurrent Location

+
+
+
+ +

+ +
+
+
@@ -275,7 +277,11 @@
- +
+ + my_location + +
diff --git a/app/src/main/assets/pages/AboutPage.html b/app/src/main/assets/pages/AboutPage.html index 689114681..2d818b95c 100644 --- a/app/src/main/assets/pages/AboutPage.html +++ b/app/src/main/assets/pages/AboutPage.html @@ -61,7 +61,7 @@ info
Version
-
1.1.3 (W)
+
1.1.4 (W)
diff --git a/app/src/main/assets/ripple-files/ripple.css b/app/src/main/assets/ripple-files/ripple.css index 95347e4e6..1c61fb0c6 100644 --- a/app/src/main/assets/ripple-files/ripple.css +++ b/app/src/main/assets/ripple-files/ripple.css @@ -185,8 +185,8 @@ button-filled .ripple, button-filled-i .ripple{ .ripple-icon-btn[disabled]{ pointer-events: none; - color: red; - opacity: 0.5; + color: var(--On-Surface); + opacity: 0.38; } diff --git a/app/src/main/assets/ui-files/ui.css b/app/src/main/assets/ui-files/ui.css index 3d908527f..8fb93c65b 100644 --- a/app/src/main/assets/ui-files/ui.css +++ b/app/src/main/assets/ui-files/ui.css @@ -500,20 +500,22 @@ body { width: 100%; position: fixed; top: 0; - left: 0; + right:0 ; display: none; background-color: var(--Surface); z-index: 10000; transition: opacity 0.2s ease-in; - animation: search_container 0.2s ease-in; + animation: search_container 0.4s ease-out; } @keyframes search_container { 0% { - opacity: 0; + height: 0; + opacity: 0; } 100% { + height: 100%; opacity: 1; } } @@ -534,15 +536,14 @@ body { font-size: 18px; background-color: transparent; border: none; - caret-color: #afc6ff; + caret-color: var(--caret); font-family: var(--google-normal); color: var(--On-Surface); } .main-options input::selection { - background-color: #465b9d; + background-color: var(--Inverse-Primary); } - .city_loader { position: absolute; width: 100%; @@ -770,8 +771,8 @@ body { padding: 10px; padding-left: 20px; color: var(--On-Surface); - background-color: var(--Surface-Container); - border-bottom: 1px solid var(--Outline); + background-color: var(--Surface); + border-bottom: 1px solid transparent; font-size: 16px; gap: 10px; display: flex; @@ -910,4 +911,53 @@ background: linear-gradient(0deg, rgba(255, 0, 0, 0), var(--Secondary-Container) margin: 0; color: var(--On-Surface); margin-left: 10px; +} + +.currentLocations{ + display: flex; + align-items: center; + gap: 10px; + padding: 10px; + margin-top: 5px; +} + +.currentSearchImg{ + width: 40px; + height: 40px; + background-color: var(--Secondary-Container); + display: flex; + align-items: center; + justify-content: center; + border-radius: 50px; + flex-shrink: 0; +} + +.currentSearchImg img{ + width: 30px; +} + +currentLocationNames{ + display: flex; + align-items: flex-start; + width: 100%; + flex-direction: column; + gap: 5px; +} + +currentLocationNames p{ + margin: 0; + font-size: 18px; + color: var(--On-Surface); +} + +currentLocationNames span{ + font-size: 16px; + color: var(--On-Surface-Variant); +} + +.fab-holder{ + position: fixed; + bottom: calc(30px + 16px); + right: 16px; + z-index: 99; } \ No newline at end of file diff --git a/app/src/main/assets/ui-files/variables.css b/app/src/main/assets/ui-files/variables.css index 52293edc1..ace2eb3da 100644 --- a/app/src/main/assets/ui-files/variables.css +++ b/app/src/main/assets/ui-files/variables.css @@ -172,6 +172,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -214,6 +215,7 @@ --Shadow: #000000; + --caret: #aac7ff; } @@ -255,6 +257,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -296,6 +299,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -337,6 +341,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -377,6 +382,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -418,6 +424,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -459,6 +466,7 @@ --Shadow: #000000; + --caret: #aac7ff; } @@ -499,6 +507,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -539,6 +548,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -578,6 +588,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -619,6 +630,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -659,6 +671,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -700,6 +713,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -743,6 +757,7 @@ --Shadow: #000000; + --caret: #aac7ff; } @@ -784,6 +799,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } @@ -826,6 +842,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #ffd5a5; } @@ -866,6 +883,7 @@ --Outline-Variant: #534433; --Scrim: #000000; --Shadow: #000000; + --caret: #ffd5a5; @@ -910,6 +928,7 @@ --Scrim: #000000; --Shadow: #000000; + --caret: #aac7ff; } diff --git a/app/src/main/java/com/example/weathermaster/MainActivity.java b/app/src/main/java/com/example/weathermaster/MainActivity.java index 09f9a68a1..8e5826858 100644 --- a/app/src/main/java/com/example/weathermaster/MainActivity.java +++ b/app/src/main/java/com/example/weathermaster/MainActivity.java @@ -205,108 +205,126 @@ public class MainActivity extends AppCompatActivity { navigationBarColor = 0xFF001d33; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C01d)); + setTheme(R.style.blue_caret); } else if (color.equals("01n")) { statusBarColor = 0xFF001d33; navigationBarColor = 0xFF001d33; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C01n)); + setTheme(R.style.blue_caret); } else if(color.equals("02d")){ statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C02d)); + setTheme(R.style.blue_caret); } else if (color.equals("02n")) { statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C02n)); + setTheme(R.style.blue_caret); } else if(color.equals("03d")){ statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C03d)); + setTheme(R.style.blue_caret); } else if (color.equals("03n")) { statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C03n)); + setTheme(R.style.blue_caret); } else if(color.equals("04d")){ statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C04d)); + setTheme(R.style.blue_caret); } else if (color.equals("04n")) { statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C04n)); + setTheme(R.style.blue_caret); } else if(color.equals("09d")){ statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C09d)); + setTheme(R.style.blue_caret); } else if (color.equals("09n")) { statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C09n)); + setTheme(R.style.blue_caret); } else if(color.equals("10d")){ statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C10d)); + setTheme(R.style.blue_caret); } else if (color.equals("10n")) { statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C10n)); + setTheme(R.style.blue_caret); } else if(color.equals("11d")){ statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C11d)); + setTheme(R.style.blue_caret); } else if (color.equals("11n")) { statusBarColor = 0xFF0e1d2a; navigationBarColor = 0xFF0e1d2a; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C11n)); + setTheme(R.style.blue_caret); } else if(color.equals("13d")){ statusBarColor = 0xFF1f1f30; navigationBarColor = 0xFF1f1f30; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C13d)); + setTheme(R.style.blue_caret); } else if (color.equals("13n")) { statusBarColor = 0xFF1f1f30; navigationBarColor = 0xFF1f1f30; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C13n)); + setTheme(R.style.blue_caret); } else if(color.equals("50d")){ statusBarColor = 0xFF191209; navigationBarColor = 0xFF191209; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C50d)); + setTheme(R.style.orange_caret); } else if (color.equals("50n")) { statusBarColor = 0xFF191209; navigationBarColor = 0xFF191209; systemUiVisibilityFlags = 0; webview.setBackgroundColor(getResources().getColor(R.color.C50n)); + setTheme(R.style.orange_caret); } else if (color.equals("OpenSettings")){ openSettingsActivity(); diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 2189ade56..de5159793 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -23,90 +23,14 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file