From 97f3dd485ad40b737f8386243ac610bbe971d1b0 Mon Sep 17 00:00:00 2001 From: Ahmad Hakim Date: Mon, 26 May 2025 10:36:35 +0300 Subject: [PATCH 1/2] weatherstack app --- .github/workflows/deploy.yml | 237 +++++++++--------- templates.json | 7 + weatherstack_app/.gitignore | 8 + weatherstack_app/assets/favicon.ico | Bin 0 -> 4286 bytes weatherstack_app/blocks/__init__.py | 0 weatherstack_app/requirements.txt | 2 + weatherstack_app/rxconfig.py | 3 + weatherstack_app/weatherstack_app/__init__.py | 0 .../weatherstack_app/components/__init__.py | 0 .../components/preset_cards.py | 35 +++ .../components/weather_display.py | 110 ++++++++ weatherstack_app/weatherstack_app/preview.png | Bin 0 -> 163185 bytes .../weatherstack_app/states/__init__.py | 0 .../weatherstack_app/states/weather_state.py | 172 +++++++++++++ .../weatherstack_app/weatherstack_app.py | 59 +++++ 15 files changed, 516 insertions(+), 117 deletions(-) create mode 100644 weatherstack_app/.gitignore create mode 100644 weatherstack_app/assets/favicon.ico create mode 100644 weatherstack_app/blocks/__init__.py create mode 100644 weatherstack_app/requirements.txt create mode 100644 weatherstack_app/rxconfig.py create mode 100644 weatherstack_app/weatherstack_app/__init__.py create mode 100644 weatherstack_app/weatherstack_app/components/__init__.py create mode 100644 weatherstack_app/weatherstack_app/components/preset_cards.py create mode 100644 weatherstack_app/weatherstack_app/components/weather_display.py create mode 100644 weatherstack_app/weatherstack_app/preview.png create mode 100644 weatherstack_app/weatherstack_app/states/__init__.py create mode 100644 weatherstack_app/weatherstack_app/states/weather_state.py create mode 100644 weatherstack_app/weatherstack_app/weatherstack_app.py diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fc9e618..7df8f2f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -6,121 +6,124 @@ on: types: [published] jobs: - list-templates: - uses: ./.github/workflows/list-templates.yml + list-templates: + uses: ./.github/workflows/list-templates.yml - deploy: - # Can't deploy on a non-published release, so publish the release first. - if: ${{ !contains(github.event.release.tag_name, 'dev') }} - needs: list-templates - runs-on: ubuntu-latest - environment: Cloud Deploy - strategy: - matrix: - folder: ${{ fromJSON(needs.list-templates.outputs.templates) }} - exclude: - # No deploy due to missing service dependencies. - - folder: reflex-llamaindex-template - fail-fast: false - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Set reflex version for deploy - run: sed -e "s/^reflex[ >=].*$/reflex==${{ github.event.release.tag_name }}/" -i ${{ matrix.folder }}/requirements.txt - - name: Set environment variables - id: set-env - run: | - case ${{ matrix.folder }} in - ai_image_gen) - echo "EXTRA_ARGS=--env REPLICATE_API_TOKEN=${{ secrets.REPLICATE_API_TOKEN }}" >> $GITHUB_ENV - ;; - text_annotation_app) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - chat_app) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - futuristic_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - retention_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - retail_analytics_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - table_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - space_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - company_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - account_management_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - stock_graph_app) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - admin_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - admin_panel) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - stock_market_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - business_analytics_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - retail_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - manufacturing_dashboard) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - customer_data_app) - cat .deploy/temporary_db.py >> ${{ matrix.folder }}/customer_data/customer_data.py - echo "EXTRA_ARGS=--vmtype ${{ vars.CUSTOMER_DATA_VM_TYPE }}" >> $GITHUB_ENV - ;; - api_admin_panel) - echo "EXTRA_ARGS=--vmtype ${{ vars.ADMIN_PANEL_VM_TYPE }}" >> $GITHUB_ENV - ;; - sales) - echo "EXTRA_ARGS=--env OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }}" >> $GITHUB_ENV - cat .deploy/temporary_db.py >> ${{ matrix.folder }}/${{ matrix.folder }}/${{ matrix.folder }}.py - ;; - reflex-chat) - echo "EXTRA_ARGS=--env OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }} --vmtype ${{ vars.CHAT_VM_TYPE }}" >> $GITHUB_ENV - echo "OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }}" >> $GITHUB_ENV - ;; - nba) - echo "EXTRA_ARGS=--vmtype ${{ vars.NBA_VM_TYPE }}" >> $GITHUB_ENV - ;; - dashboard) - echo "EXTRA_ARGS=--vmtype ${{ vars.DASHBOARD_VM_TYPE }}" >> $GITHUB_ENV - ;; - ci_template) - echo "EXTRA_ARGS=--vmtype ${{ vars.CIJOB_VM_TYPE }}" >> $GITHUB_ENV - ;; - dalle) - echo "EXTRA_ARGS=--env OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }}" >> $GITHUB_ENV - echo "EXTRA_ARGS=--vmtype ${{ vars.DALLE_VM_TYPE }}" >> $GITHUB_ENV - ;; - *) - echo "EXTRA_ARGS=" >> $GITHUB_ENV - ;; - esac - - name: Deploy to ReflexCloud - uses: reflex-dev/reflex-deploy-action@v2 - with: - auth_token: ${{ secrets.REFLEX_AUTH_TOKEN }} - project_id: ${{ secrets.REFLEX_PROJECT_ID }} - app_directory: ${{ matrix.folder }} - extra_args: ${{ env.EXTRA_ARGS }} - dry_run: ${{ vars.DRY_RUN }} - skip_checkout: "true" + deploy: + # Can't deploy on a non-published release, so publish the release first. + if: ${{ !contains(github.event.release.tag_name, 'dev') }} + needs: list-templates + runs-on: ubuntu-latest + environment: Cloud Deploy + strategy: + matrix: + folder: ${{ fromJSON(needs.list-templates.outputs.templates) }} + exclude: + # No deploy due to missing service dependencies. + - folder: reflex-llamaindex-template + fail-fast: false + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Set reflex version for deploy + run: sed -e "s/^reflex[ >=].*$/reflex==${{ github.event.release.tag_name }}/" -i ${{ matrix.folder }}/requirements.txt + - name: Set environment variables + id: set-env + run: | + case ${{ matrix.folder }} in + weatherstack_app) + echo "EXTRA_ARGS=--env REPLICATE_API_TOKEN=${{ secrets.REPLICATE_API_TOKEN }}" >> $GITHUB_ENV + ;; + ai_image_gen) + echo "EXTRA_ARGS=--env REPLICATE_API_TOKEN=${{ secrets.REPLICATE_API_TOKEN }}" >> $GITHUB_ENV + ;; + text_annotation_app) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + chat_app) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + futuristic_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + retention_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + retail_analytics_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + table_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + space_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + company_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + account_management_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + stock_graph_app) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + admin_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + admin_panel) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + stock_market_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + business_analytics_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + retail_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + manufacturing_dashboard) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + customer_data_app) + cat .deploy/temporary_db.py >> ${{ matrix.folder }}/customer_data/customer_data.py + echo "EXTRA_ARGS=--vmtype ${{ vars.CUSTOMER_DATA_VM_TYPE }}" >> $GITHUB_ENV + ;; + api_admin_panel) + echo "EXTRA_ARGS=--vmtype ${{ vars.ADMIN_PANEL_VM_TYPE }}" >> $GITHUB_ENV + ;; + sales) + echo "EXTRA_ARGS=--env OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }}" >> $GITHUB_ENV + cat .deploy/temporary_db.py >> ${{ matrix.folder }}/${{ matrix.folder }}/${{ matrix.folder }}.py + ;; + reflex-chat) + echo "EXTRA_ARGS=--env OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }} --vmtype ${{ vars.CHAT_VM_TYPE }}" >> $GITHUB_ENV + echo "OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }}" >> $GITHUB_ENV + ;; + nba) + echo "EXTRA_ARGS=--vmtype ${{ vars.NBA_VM_TYPE }}" >> $GITHUB_ENV + ;; + dashboard) + echo "EXTRA_ARGS=--vmtype ${{ vars.DASHBOARD_VM_TYPE }}" >> $GITHUB_ENV + ;; + ci_template) + echo "EXTRA_ARGS=--vmtype ${{ vars.CIJOB_VM_TYPE }}" >> $GITHUB_ENV + ;; + dalle) + echo "EXTRA_ARGS=--env OPENAI_API_KEY=${{ secrets.OPEN_AI_KEY }}" >> $GITHUB_ENV + echo "EXTRA_ARGS=--vmtype ${{ vars.DALLE_VM_TYPE }}" >> $GITHUB_ENV + ;; + *) + echo "EXTRA_ARGS=" >> $GITHUB_ENV + ;; + esac + - name: Deploy to ReflexCloud + uses: reflex-dev/reflex-deploy-action@v2 + with: + auth_token: ${{ secrets.REFLEX_AUTH_TOKEN }} + project_id: ${{ secrets.REFLEX_PROJECT_ID }} + app_directory: ${{ matrix.folder }} + extra_args: ${{ env.EXTRA_ARGS }} + dry_run: ${{ vars.DRY_RUN }} + skip_checkout: "true" diff --git a/templates.json b/templates.json index 9b04ffa..4d9b167 100644 --- a/templates.json +++ b/templates.json @@ -186,6 +186,13 @@ "demo_url": "https://retail-dashboard-navy-wood.reflex.run/", "hidden": false, "reflex_build": true + }, + { + "name": "weatherstack_app", + "description": "A weather forecast app", + "demo_url": "https://retail-dashboard-navy-wood.reflex.run/", + "hidden": false, + "reflex_build": true } ] } diff --git a/weatherstack_app/.gitignore b/weatherstack_app/.gitignore new file mode 100644 index 0000000..9fd6d68 --- /dev/null +++ b/weatherstack_app/.gitignore @@ -0,0 +1,8 @@ +__pycache__/ +.web +assets/external/ +*.py[cod] +*.db +.states +.DS_Store +.idea/ \ No newline at end of file diff --git a/weatherstack_app/assets/favicon.ico b/weatherstack_app/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..166ae995eaa63fc96771410a758282dc30e925cf GIT binary patch literal 4286 zcmeHL>rYc>81ELdEe;}zmYd}cUgmJRfwjUwD1`#s5KZP>mMqza#Viv|_7|8f+0+bX zHuqusuw-7Ca`DTu#4U4^o2bjO#K>4%N?Wdi*wZ3Vx%~Ef4}D1`U_EMRg3u z#2#M|V>}}q-@IaO@{9R}d*u7f&~5HfxSkmHVcazU#i30H zAGxQ5Spe!j9`KuGqR@aExK`-}sH1jvqoIp3C7Vm)9Tu=UPE;j^esN~a6^a$ZILngo;^ zGLXl(ZFyY&U!li`6}y-hUQ99v?s`U4O!kgog74FPw-9g+V)qs!jFGEQyvBf><U|E2vRmx|+(VI~S=lT?@~C5pvZOd`x{Q_+3tG6H=gtdWcf z)+7-Zp=UqH^J4sk^>_G-Ufn-2Hz z2mN12|C{5}U`^eCQuFz=F%wp@}SzA1MHEaM^CtJs<{}Tzu$bx2orTKiedgmtVGM{ zdd#vX`&cuiec|My_KW;y{Ryz2kFu9}=~us6hvx1ZqQCk(d+>HP>ks>mmHCjjDh{pe zKQkKpk0SeDX#XMqf$}QV{z=xrN!mQczJAvud@;zFqaU1ocq==Py)qsa=8UKrt!J7r z{RsTo^rgtZo%$rak)DN*D)!(Y^$@yL6Nd=#eu&?unzhH8yq>v{gkt8xcG3S%H)-y_ zqQ1|v|JT$0R~Y}omg2Y+nDvR+K|kzR5i^fmKF>j~N;A35Vr`JWh4yRqKl#P|qlx?` z@|CmBiP}ysYO%m2{eBG6&ix5 zr#u((F2{vb=W4jNmTQh3M^F2o80T49?w>*rv0mt)-o1y!{hRk`E#UVPdna6jnz`rw dKpn)r^--YJZpr;bYU`N~>#v3X5BRU&{{=gv-{1fM literal 0 HcmV?d00001 diff --git a/weatherstack_app/blocks/__init__.py b/weatherstack_app/blocks/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/weatherstack_app/requirements.txt b/weatherstack_app/requirements.txt new file mode 100644 index 0000000..27b5a94 --- /dev/null +++ b/weatherstack_app/requirements.txt @@ -0,0 +1,2 @@ +reflex>=0.7.13a1 +httpx diff --git a/weatherstack_app/rxconfig.py b/weatherstack_app/rxconfig.py new file mode 100644 index 0000000..0e70f2e --- /dev/null +++ b/weatherstack_app/rxconfig.py @@ -0,0 +1,3 @@ +import reflex as rx + +config = rx.Config(app_name="weatherstack_app", plugins=[rx.plugins.TailwindV3Plugin()]) diff --git a/weatherstack_app/weatherstack_app/__init__.py b/weatherstack_app/weatherstack_app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/weatherstack_app/weatherstack_app/components/__init__.py b/weatherstack_app/weatherstack_app/components/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/weatherstack_app/weatherstack_app/components/preset_cards.py b/weatherstack_app/weatherstack_app/components/preset_cards.py new file mode 100644 index 0000000..2218c4e --- /dev/null +++ b/weatherstack_app/weatherstack_app/components/preset_cards.py @@ -0,0 +1,35 @@ +import reflex as rx +from weatherstack_app.states.weather_state import WeatherState + + +def card(flag: str, title: str, city: str) -> rx.Component: + return rx.el.button( + rx.el.div( + rx.el.span(flag, class_name="text-xl"), + rx.el.p(title, class_name="font-medium text-black text-base"), + class_name="flex flex-row gap-2 items-center", + ), + type="button", + class_name=( + "flex flex-col gap-1 border bg-white hover:bg-gray-100 " + "shadow-sm px-4 py-3.5 rounded-xl text-start transition-colors flex-1" + ), + on_click=WeatherState.get_weather_from_preset(city), + ) + + +def preset_cards() -> rx.Component: + return rx.el.div( + rx.el.div( + card("🇯🇵", "Tokyo, Japan", "Japan"), + card("🇫🇷", "Paris, France", "France"), + card("🇺🇸", "New York, USA", "USA"), + card("🇦🇺", "Sydney, Australia", "Australia"), + card("🇩🇪", "Berlin, Germany", "Germany"), + card("🇧🇷", "São Paulo, Brazil", "Brazil"), + card("🇨🇦", "Toronto, Canada", "Canada"), + card("🇮🇳", "Mumbai, India", "India"), + class_name="gap-4 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 w-full", + ), + class_name="flex flex-col justify-center items-center gap-8 w-full max-w-[55rem] px-6 md:pt-12", + ) diff --git a/weatherstack_app/weatherstack_app/components/weather_display.py b/weatherstack_app/weatherstack_app/components/weather_display.py new file mode 100644 index 0000000..0b946ec --- /dev/null +++ b/weatherstack_app/weatherstack_app/components/weather_display.py @@ -0,0 +1,110 @@ +import reflex as rx +from weatherstack_app.states.weather_state import WeatherState + + +def weather_display() -> rx.Component: + return rx.el.div( + rx.cond( + WeatherState.loading, + rx.el.div( + rx.spinner(class_name="text-blue-500"), + rx.el.p( + "Loading weather data...", + class_name="text-lg text-gray-600", + ), + class_name="flex flex-col items-center justify-center p-6 bg-white rounded-lg shadow-md", + ), + rx.cond( + WeatherState.error_message != "", + rx.el.div( + rx.el.p( + "Error:", + class_name="font-semibold text-red-600", + ), + rx.el.p( + WeatherState.error_message, + class_name="text-red-500", + ), + class_name="p-6 bg-red-50 rounded-lg shadow-md border border-red-200", + ), + rx.cond( + WeatherState.display_weather, + rx.el.div( + rx.el.p( + f"{WeatherState.weather_data['location']['name']}, {WeatherState.weather_data['location']['country']}", + class_name="text-3xl font-bold text-gray-800 mb-4", + ), + rx.el.div( + rx.el.img( + src=WeatherState.weather_icon_url, + alt="Weather icon", + class_name="w-20 h-20 mb-2", + ), + rx.el.p( + WeatherState.weather_description_text, + class_name="text-xl text-gray-700 capitalize", + ), + class_name="flex flex-col items-center mb-4", + ), + rx.el.div( + rx.el.div( + rx.el.p( + "Temperature:", + class_name="text-md text-gray-600", + ), + rx.el.p( + f"{WeatherState.weather_data['current']['temperature']}°C", + class_name="text-2xl font-semibold text-blue-600", + ), + class_name="p-4 bg-blue-50 rounded-lg shadow-sm text-center", + ), + rx.el.div( + rx.el.p( + "Humidity:", + class_name="text-md text-gray-600", + ), + rx.el.p( + f"{WeatherState.weather_data['current']['humidity']}%", + class_name="text-2xl font-semibold text-green-600", + ), + class_name="p-4 bg-green-50 rounded-lg shadow-sm text-center", + ), + rx.el.div( + rx.el.p( + "Feels Like:", + class_name="text-md text-gray-600", + ), + rx.el.p( + f"{WeatherState.weather_data['current']['feelslike']}°C", + class_name="text-2xl font-semibold text-orange-600", + ), + class_name="p-4 bg-orange-50 rounded-lg shadow-sm text-center", + ), + rx.el.div( + rx.el.p( + "Wind Speed:", + class_name="text-md text-gray-600", + ), + rx.el.p( + f"{WeatherState.weather_data['current']['wind_speed']} km/h", + class_name="text-2xl font-semibold text-purple-600", + ), + class_name="p-4 bg-purple-50 rounded-lg shadow-sm text-center", + ), + class_name="grid grid-cols-1 md:grid-cols-2 gap-4 w-full", + ), + rx.button("Reset", on_click=WeatherState.reset_app), + class_name="p-6 rounded-lg border shadow-sm border w-full max-w-2xl justify-center", + ), + rx.el.div( + rx.el.p( + "Enter a city to get the weather forecast.", + class_name="text-lg text-gray-500", + ), + class_name="p-6 bg-white rounded-lg shadow-md", + ), + ), + ), + ), + class_name="mt-8 w-full flex justify-center", + ) diff --git a/weatherstack_app/weatherstack_app/preview.png b/weatherstack_app/weatherstack_app/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9a073e5e3270ef2c22a5285ba7c3cac64e935be4 GIT binary patch literal 163185 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%0A#sy&i>45z57IbQ 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�k3eG!vRJcEl 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 bool: + return ( + self.weather_data is not None + and self.weather_data.get("current") is not None + and (self.weather_data.get("location") is not None) + and (not self.error_message) + ) + + @rx.var + def weather_icon_url(self) -> str: + if ( + self.display_weather + and self.weather_data + and self.weather_data.get("current") + and self.weather_data["current"].get("weather_icons") + ): + return self.weather_data["current"]["weather_icons"][0] + return "" + + @rx.var + def weather_description_text(self) -> str: + if ( + self.display_weather + and self.weather_data + and self.weather_data.get("current") + and self.weather_data["current"].get("weather_descriptions") + ): + return ", ".join(self.weather_data["current"]["weather_descriptions"]) + return "" diff --git a/weatherstack_app/weatherstack_app/weatherstack_app.py b/weatherstack_app/weatherstack_app/weatherstack_app.py new file mode 100644 index 0000000..b861467 --- /dev/null +++ b/weatherstack_app/weatherstack_app/weatherstack_app.py @@ -0,0 +1,59 @@ +import reflex as rx +from weatherstack_app.states.weather_state import WeatherState +from weatherstack_app.components.weather_display import weather_display +from weatherstack_app.components.preset_cards import preset_cards +from rxconfig import config + + +def index() -> rx.Component: + return rx.el.div( + rx.cond( + WeatherState.display_weather, + weather_display(), + rx.el.div( + rx.el.p( + "Where would you like the forecast for today?", + class_name="text-2xl md:text-3xl font-medium", + ), + rx.el.form( + rx.el.div( + rx.el.div( + rx.el.button( + rx.icon( + "forward", + size=20, + class_name="absolute right-2 top-1/2 transform -translate-y-1/2 rounded-full bg-blue-500 text-white p-2 disabled:opacity-50 shadow-sm size-7 self-flex items-center justify-center cursor-pointer", + ), + type="submit", + ), + rx.el.input( + name="city", + placeholder="Enter city name...", + default_value=WeatherState.city, + class_name="px-2 py-3 w-full text-sm rounded-xl bg-transparent border shadow-sm focus:outline-none focus:border-blue-500", + ), + class_name="relative focus:outline-none w-full max-w-[400px] py-4", + ), + class_name="flex w-full justify-center", + ), + on_submit=WeatherState.handle_form_submit, + reset_on_submit=False, + prevent_default=True, + class_name="w-full justify-center items-center flex", + ), + rx.cond( + WeatherState.error_message != "", + rx.el.p( + WeatherState.error_message, + class_name="text-sm font-medium text-red-500", + ), + ), + preset_cards(), + class_name="flex flex-col items-center justify-center align-center min-h-screen gap-y-4", + ), + ) + ) + + +app = rx.App(theme=rx.theme(appearance="light")) +app.add_page(index) From 6546ce46b720b793c6367fb3878343904a9516cb Mon Sep 17 00:00:00 2001 From: Ahmad Hakim Date: Mon, 26 May 2025 10:38:38 +0300 Subject: [PATCH 2/2] ruff --- .../weatherstack_app/components/preset_cards.py | 1 + .../weatherstack_app/components/weather_display.py | 1 + weatherstack_app/weatherstack_app/states/weather_state.py | 2 +- weatherstack_app/weatherstack_app/weatherstack_app.py | 6 +++--- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/weatherstack_app/weatherstack_app/components/preset_cards.py b/weatherstack_app/weatherstack_app/components/preset_cards.py index 2218c4e..40d49f9 100644 --- a/weatherstack_app/weatherstack_app/components/preset_cards.py +++ b/weatherstack_app/weatherstack_app/components/preset_cards.py @@ -1,4 +1,5 @@ import reflex as rx + from weatherstack_app.states.weather_state import WeatherState diff --git a/weatherstack_app/weatherstack_app/components/weather_display.py b/weatherstack_app/weatherstack_app/components/weather_display.py index 0b946ec..a571075 100644 --- a/weatherstack_app/weatherstack_app/components/weather_display.py +++ b/weatherstack_app/weatherstack_app/components/weather_display.py @@ -1,4 +1,5 @@ import reflex as rx + from weatherstack_app.states.weather_state import WeatherState diff --git a/weatherstack_app/weatherstack_app/states/weather_state.py b/weatherstack_app/weatherstack_app/states/weather_state.py index d1f0a7e..4011324 100644 --- a/weatherstack_app/weatherstack_app/states/weather_state.py +++ b/weatherstack_app/weatherstack_app/states/weather_state.py @@ -1,7 +1,7 @@ from typing import List, TypedDict -import reflex as rx import httpx +import reflex as rx WEATHERSTACK_API_KEY = "YOUR_WEATHERSTACK_API_KEY" WEATHERSTACK_API_URL = "http://api.weatherstack.com/current" diff --git a/weatherstack_app/weatherstack_app/weatherstack_app.py b/weatherstack_app/weatherstack_app/weatherstack_app.py index b861467..fb76f8a 100644 --- a/weatherstack_app/weatherstack_app/weatherstack_app.py +++ b/weatherstack_app/weatherstack_app/weatherstack_app.py @@ -1,8 +1,8 @@ import reflex as rx -from weatherstack_app.states.weather_state import WeatherState -from weatherstack_app.components.weather_display import weather_display + from weatherstack_app.components.preset_cards import preset_cards -from rxconfig import config +from weatherstack_app.components.weather_display import weather_display +from weatherstack_app.states.weather_state import WeatherState def index() -> rx.Component: