Targo Timesheet PWA — modernized UI fork
Go to file
louispaulb 528c860a32
Some checks failed
Node-CI / build (push) Successful in 3m9s
Node-CI / lint (push) Successful in 3m23s
Node-CI / test (push) Successful in 4m44s
Node-CI / deploy (push) Failing after 40s
Modernize UI: outlined icons, improved timesheet layout, bug fixes
Design:
- Switch to material-icons-outlined globally
- White header with green Targo logo
- Sidebar: outlined icons, active state with green fill + glow
- Dashboard: Material icons replace broken PNG images
- Shift types: outlined icons (light_mode, dark_mode, warning_amber, etc.)
- Modern scrollbar, card borders, font smoothing

Timesheet:
- Day-by-day mini bars in weekly overview (S1/S2 with D L M M J V S headers)
- Clickable bars scroll to corresponding day card with flash animation
- Double-click empty card to add shift
- Weekend cards: gray background + left border, text stays readable
- Whole page scrolls naturally (removed internal q-scroll-area)
- Week column headers (Heures Semaine 1/2)
- Monday separator line
- Today: green glow + CSS circle indicator
- more_time icon replaces add_circle

Overview cards:
- PTO: table format, no duplicate "vacances" header, aligned values
- Hours: weekly chips side by side
- Expenses: total badge next to button, aligned under hours card

Mobile:
- Modernized day cards with date header (number + weekday + month)
- Delete button moved to bottom of shift card
- Outlined icons unified with desktop
- Weekly overview: compact "Sem. 1/2" with day-dot bars

Auth:
- Dev bypass: oidcLogin tries getProfile first before OIDC popup
- Fixed floating-promises lint errors

Bug fixes:
- Removed console.log in shift-list-day
- Fixed broken asset paths (src/assets → public/img)
- circle.png replaced with CSS-only today indicator

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 13:02:38 -04:00
.gitea/workflows added restart stack api request to force update to staging app 2026-02-25 13:22:06 -05:00
public Modernize UI: outlined icons, improved timesheet layout, bug fixes 2026-03-25 13:02:38 -04:00
src Modernize UI: outlined icons, improved timesheet layout, bug fixes 2026-03-25 13:02:38 -04:00
.env.production Modernize UI: outlined icons, improved timesheet layout, bug fixes 2026-03-25 13:02:38 -04:00
.gitignore build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
.npmrc build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
docker-compose.yaml Update du docker compose 2026-03-12 09:39:20 -04:00
Dockerfile added modifications to build Docker image in Gitea Runners 2026-02-24 09:13:19 -05:00
env.sh added script to change env variables in docker compose 2026-02-23 12:15:22 -05:00
eslint.config.js fix(eslint): modified rules to finally stop screaming about unused vars even if they're preceded by an underscore 2025-12-05 17:01:57 -05:00
index.html build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
package-lock.json feat(timesheet): add functionality to upload expense attachment to garage test instance 2026-01-30 13:44:43 -05:00
package.json feat(timesheet): add functionality to upload expense attachment to garage test instance 2026-01-30 13:44:43 -05:00
postcss.config.js build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
quasar.config.ts Modernize UI: outlined icons, improved timesheet layout, bug fixes 2026-03-25 13:02:38 -04:00
README.md build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
tsconfig.json build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00

🌐 Targo 2.0 Frontend

A modern, scalable frontend for managing employees, timesheets, and time-off requests in a rural ISP environment — built with Vue 3 and Quasar Framework.


🚀 Tech Stack

Layer Technology
UI Framework Quasar (Vue 3)
Router Vue Router 4
State Pinia
HTTP Axios
Auth OAuth2/OIDC (popup-based) via backend
i18n Vue I18n
Build Tools Vite (default)
Testing (Planned) Vitest, Cypress

📁 Project Structure

src/
├── boot/                  # Initialization scripts (e.g. axios, auth)
├── modules/               # Feature modules
│   ├── dashboard/         # Role-based dashboards (admin, technician, etc.)
│   ├── auth/              # Login popup, logout flow
│   ├── users/             # User management
│   ├── shared/            # Common components, services, etc.
│   ├── time-sheet/        # Create, validate, export timesheets and expenses
│   ├── router/            # Vue Router config
│   ├── validations/       # ??????
│   ├── i18n/              # Internationalization references
│   ├── pages/             # Route-level pages (fallbacks, misc)
│   ├── stores/            # Pinia stores
│   ├── layouts/           # App shell (toolbar, drawer)
│   ├── css/               # Stylesheets
│   ├── assets/            # Images, styles, icons   
└── App.vue                # Root component

⚙️ Setup Instructions

1. Install Dependencies

npm install
# or
pnpm install

2. Start the Dev Server

quasar dev

3. Build for Production

quasar build

🥪 Testing (Planned)

# Unit tests (Vitest)
npm run test:unit

# E2E tests (Cypress)
npm run test:e2e

quasar ext add @quasar/pwa       # PWA mode
quasar ext add @quasar/testing   # Testing utils

🧹 Linting & Formatting

npm run lint
npm run format

Pre-commit hooks are managed with:


🧠 Notes

  • All routes are prefixed for internal navigation.
  • Common services and components live in modules/shared/.
  • Avoid placing OIDC or sensitive logic in the frontend — everything auth-related is delegated to the backend.

📄 License

This project is proprietary and internal to [Targo Communication].