calculator / app.py
bazil3814's picture
Upload 2 files
1c0e2dc verified
import streamlit as st
from calculators.programmer_calc import programmer_calculator
from calculators.scientific_calc import scientific_calculator
from converters.date_converter import date_calculator
from converters.currency_converter import currency_converter
from converters.unit_converters import (
volume_converter,
length_converter,
mass_converter,
temperature_converter,
energy_converter,
area_converter,
time_converter,
data_converter,
pressure_converter
)
# Set page configuration
st.set_page_config(
page_title="Multi-Utility Calculator",
page_icon="🧮",
layout="wide",
initial_sidebar_state="expanded"
)
# Apply custom CSS
st.markdown("""
<style>
.main {
padding: 2rem;
}
.stApp {
max-width: 1200px;
margin: 0 auto;
}
.calculator-container {
background-color: #f8f9fa;
border-radius: 10px;
padding: 20px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
h1, h2, h3 {
color: #1E3A8A;
}
.stButton button {
background-color: #1E88E5;
color: white;
}
</style>
""", unsafe_allow_html=True)
# App title
st.title("Multi-Utility Calculator")
st.markdown("A comprehensive calculator and converter application")
# Sidebar for navigation
st.sidebar.title("Navigation")
calculator_type = st.sidebar.selectbox(
"Select Calculator/Converter",
[
"Programmer Calculator",
"Scientific Calculator",
"Date Calculator",
"Currency Converter",
"Volume Converter",
"Length Converter",
"Mass Converter",
"Temperature Converter",
"Energy Converter",
"Area Converter",
"Time Converter",
"Data Converter",
"Pressure Converter"
]
)
# Display the selected calculator/converter
st.markdown(f"## {calculator_type}")
st.markdown("---")
# Call the appropriate function based on selection
if calculator_type == "Programmer Calculator":
programmer_calculator()
elif calculator_type == "Scientific Calculator":
scientific_calculator()
elif calculator_type == "Date Calculator":
date_calculator()
elif calculator_type == "Currency Converter":
currency_converter()
elif calculator_type == "Volume Converter":
volume_converter()
elif calculator_type == "Length Converter":
length_converter()
elif calculator_type == "Mass Converter":
mass_converter()
elif calculator_type == "Temperature Converter":
temperature_converter()
elif calculator_type == "Energy Converter":
energy_converter()
elif calculator_type == "Area Converter":
area_converter()
elif calculator_type == "Time Converter":
time_converter()
elif calculator_type == "Data Converter":
data_converter()
elif calculator_type == "Pressure Converter":
pressure_converter()
# Footer
st.markdown("---")
st.markdown("© 2025 Multi-Utility Calculator App")