All Timers Running
++ All active timers paused. +
++ No players eligible to run. (All skipped or issue) +
++ No players to display. +
+diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d246d8d --- /dev/null +++ b/.dockerignore @@ -0,0 +1,38 @@ +# Git files +.git +.gitignore + +# Node modules - these are installed within the Docker build context +node_modules + +# Docker specific files (if any, other than Dockerfile itself) +# .dockerignore (to avoid including itself if context changes) + +# Local development environment files +.env +.env*.local + +# Logs and temporary files +logs +*.log +npm-debug.log* +yarn-debug.log* +pnpm-debug.log* + +# OS-specific files +.DS_Store +Thumbs.db + +# IDE configuration +.idea/ +.vscode/ +*.sublime-workspace +*.sublime-project + +# Build output (if you ever build locally before Docker) +dist/ +# If your build output is different, change the line above + +# Coverage reports +coverage/ +.nyc_output/ \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5613601 --- /dev/null +++ b/.gitignore @@ -0,0 +1,144 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarnclean + +# dotenv environment variables file +.env +.env*.local +.env.development.local +.env.test.local +.env.production.local + +# parcel-bundler cache files +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build output +.nuxt +dist + +# Svelte Sapper build output +__sapper__ + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# Vite local development server cache +.vite + +# Vite build output directory +/dist +# If your build output is different, change the line above to /your-build-output-dir + +# Mac OS system files +.DS_Store +Thumbs.db + +# IDE specific +.idea/ +*.suo +*.ntvs* +*.njsproj +*.sln +*.sublime-workspace +*.sublime-project + +# Editor directories and files +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b9991c1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +# Stage 1: Build the Vue.js application +FROM node:18-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +# Stage 2: Serve the application with Nginx +FROM nginx:stable-alpine +COPY --from=builder /app/dist /usr/share/nginx/html +COPY ./nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/README.md b/README.md index b282b1c..70d5b37 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ For an enhanced tactile experience, Nexus Timer supports Smart Buttons based on * 3-seconds ticking sound when the timer starts to alert players about the "Pass Turn". * Tap Current Player's area or use "Global Stop/Pause All" hotkey to pause/resume their timer without passing the turn. * To pass the turn: **Swipe Up** on the Next Player's area or have the Current Player press their "Pass Turn / My Pause" hotkey. The current timer pauses, the next player becomes Current, and their timer starts. + * If the current player's timer is paused, and then the turn is passed (via swipe up or hotkey), the next player should become the current player, but their timer should not automatically start. It should remain paused. 2. **All Timers Running Mode:** * All active player timers run simultaneously. * Enter by clicking "All Timers Mode" (starts all timers). diff --git a/index.html b/index.html new file mode 100644 index 0000000..8be2b52 --- /dev/null +++ b/index.html @@ -0,0 +1,30 @@ + + +
+ + + +SKIPPED
+(Swipe up to pass turn)
+SKIPPED
++ All active timers paused. +
++ No players eligible to run. (All skipped or issue) +
++ No players to display. +
++ Nexus Timer is a dynamic multi-player timer designed for games, workshops, or any activity where turns pass sequentially in a circular fashion. + It provides a clear visual focus on the current participant and their immediate successor, ensuring everyone stays engaged and aware of who is next. +
+ ++ The source code for Nexus Timer is available: + + https://gitea.virtonline.eu/2HoursProject/nexus-timer.git + +
+At least 2 players are required to start.
+ +