Refactor frontend to Composition API and improve UI/UX
Major Changes: - Migrate components from Options API to Composition API with <script setup> - Add centralized service layer (serviceService, deliveryService, adminService) - Implement new reusable components (EnhancedButton, EnhancedModal, StatCard, etc.) - Add theme store for consistent theming across application - Improve ServiceCalendar with federal holidays and better styling - Refactor customer profile and tank estimation components - Update all delivery and payment pages to use centralized services - Add utility functions for formatting and validation - Update Dockerfiles for better environment configuration - Enhance Tailwind config with custom design tokens UI Improvements: - Modern, premium design with glassmorphism effects - Improved form layouts with FloatingInput components - Better loading states and empty states - Enhanced modals and tables with consistent styling - Responsive design improvements across all pages Technical Improvements: - Strict TypeScript types throughout - Better error handling and validation - Removed deprecated api.js in favor of TypeScript services - Improved code organization and maintainability
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<footer class="footer p-10 bg-neutral text-neutral-content mt-20 bg-secondary">
|
||||
<footer class="footer p-10 bg-secondary text-neutral-content">
|
||||
<nav>
|
||||
<h6 class="footer-title">Social</h6>
|
||||
<a class="link link-hover" href="https://www.facebook.com/auburnoil">Facebook</a>
|
||||
@@ -25,29 +25,17 @@
|
||||
</template>
|
||||
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent } from 'vue'
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Footer',
|
||||
data() {
|
||||
return {
|
||||
user: null,
|
||||
}
|
||||
},
|
||||
|
||||
mounted() { },
|
||||
methods: {
|
||||
async copyReviewLink() {
|
||||
try {
|
||||
await navigator.clipboard.writeText('https://g.page/r/CZHnPQ85LsMUEBM/review')
|
||||
alert('Link copied to clipboard!')
|
||||
} catch (err) {
|
||||
console.error('Failed to copy text: ', err)
|
||||
alert('Failed to copy link. Please try again.')
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
const copyReviewLink = async () => {
|
||||
try {
|
||||
await navigator.clipboard.writeText('https://g.page/r/CZHnPQ85LsMUEBM/review')
|
||||
alert('Link copied to clipboard!')
|
||||
} catch (err) {
|
||||
console.error('Failed to copy text: ', err)
|
||||
alert('Failed to copy link. Please try again.')
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style></style>
|
||||
|
||||
Reference in New Issue
Block a user