From 1f5737a2ab20c313b13f9cb836297d9d0ff52974 Mon Sep 17 00:00:00 2001 From: narnaud Date: Sat, 18 Feb 2023 14:43:20 +0100 Subject: [PATCH] missing files --- .gitignore | 24 +--- README.md | 107 -------------- volumes/front/.gitignore | 131 ++++++++++++++++++ volumes/front/public/global.css | 63 +++++++++ volumes/front/public/img/pog.jpg | Bin 0 -> 9348 bytes volumes/front/public/img/pong.png | Bin 0 -> 1434 bytes volumes/front/public/img/profileicon.png | Bin 0 -> 9190 bytes volumes/front/public/vite.svg | 1 + volumes/front/src/App.svelte | 82 +++++++++++ volumes/front/src/app.d.ts | 5 + volumes/front/src/assets/svelte.svg | 1 + volumes/front/src/components/Friends.svelte | 80 +++++++++++ .../front/src/components/MatchHistory.svelte | 58 ++++++++ volumes/front/src/components/NavBar.svelte | 106 ++++++++++++++ volumes/front/src/components/Play.svelte | 38 +++++ volumes/front/src/components/Pong/Ball.ts | 15 ++ volumes/front/src/components/Pong/Game.ts | 80 +++++++++++ volumes/front/src/components/Pong/Paddle.ts | 29 ++++ volumes/front/src/components/Pong/Player.ts | 19 +++ volumes/front/src/components/Pong/Pong.svelte | 58 ++++++++ .../front/src/components/Pong/constants.ts | 32 +++++ volumes/front/src/components/Pong/utils.ts | 88 ++++++++++++ volumes/front/src/components/Profile.svelte | 109 +++++++++++++++ volumes/front/src/components/Spectate.svelte | 53 +++++++ volumes/front/src/main.ts | 8 ++ volumes/front/src/vite-env.d.ts | 2 + 26 files changed, 1059 insertions(+), 130 deletions(-) create mode 100644 volumes/front/.gitignore create mode 100644 volumes/front/public/global.css create mode 100644 volumes/front/public/img/pog.jpg create mode 100644 volumes/front/public/img/pong.png create mode 100644 volumes/front/public/img/profileicon.png create mode 100644 volumes/front/public/vite.svg create mode 100644 volumes/front/src/App.svelte create mode 100644 volumes/front/src/app.d.ts create mode 100644 volumes/front/src/assets/svelte.svg create mode 100644 volumes/front/src/components/Friends.svelte create mode 100644 volumes/front/src/components/MatchHistory.svelte create mode 100644 volumes/front/src/components/NavBar.svelte create mode 100644 volumes/front/src/components/Play.svelte create mode 100644 volumes/front/src/components/Pong/Ball.ts create mode 100644 volumes/front/src/components/Pong/Game.ts create mode 100644 volumes/front/src/components/Pong/Paddle.ts create mode 100644 volumes/front/src/components/Pong/Player.ts create mode 100644 volumes/front/src/components/Pong/Pong.svelte create mode 100644 volumes/front/src/components/Pong/constants.ts create mode 100644 volumes/front/src/components/Pong/utils.ts create mode 100644 volumes/front/src/components/Profile.svelte create mode 100644 volumes/front/src/components/Spectate.svelte create mode 100644 volumes/front/src/main.ts create mode 100644 volumes/front/src/vite-env.d.ts diff --git a/.gitignore b/.gitignore index 3e20103..949de91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1 @@ -* - -!.gitignore -!LICENCE -!README.md - -!Makefile -!docker-compose.yml -!.env - -!cont/ -!cont/front -!cont/back -!cont/front/* -!cont/back/* - - -!volumes/ -!volumes/front -!volumes/back -!volumes/front/* -!volumes/back/* - +volumes/ssl/transcendence.pem diff --git a/README.md b/README.md index 43e08d6..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,107 +0,0 @@ -# This repo is no longer maintained. Consider using `npm init vite` and selecting the `svelte` option or — if you want a full-fledged app framework and don't mind using pre-1.0 software — use [SvelteKit](https://kit.svelte.dev), the official application framework for Svelte. - ---- - -# svelte app - -This is a project template for [Svelte](https://svelte.dev) apps. It lives at https://github.com/sveltejs/template. - -To create a new project based on this template using [degit](https://github.com/Rich-Harris/degit): - -```bash -npx degit sveltejs/template svelte-app -cd svelte-app -``` - -*Note that you will need to have [Node.js](https://nodejs.org) installed.* - - -## Get started - -Install the dependencies... - -```bash -cd svelte-app -npm install -``` - -...then start [Rollup](https://rollupjs.org): - -```bash -npm run dev -``` - -Navigate to [localhost:8080](http://localhost:8080). You should see your app running. Edit a component file in `src`, save it, and reload the page to see your changes. - -By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the `sirv` commands in package.json to include the option `--host 0.0.0.0`. - -If you're using [Visual Studio Code](https://code.visualstudio.com/) we recommend installing the official extension [Svelte for VS Code](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). If you are using other editors you may need to install a plugin in order to get syntax highlighting and intellisense. - -## Building and running in production mode - -To create an optimised version of the app: - -```bash -npm run build -``` - -You can run the newly built app with `npm run start`. This uses [sirv](https://github.com/lukeed/sirv), which is included in your package.json's `dependencies` so that the app will work when you deploy to platforms like [Heroku](https://heroku.com). - - -## Single-page app mode - -By default, sirv will only respond to requests that match files in `public`. This is to maximise compatibility with static fileservers, allowing you to deploy your app anywhere. - -If you're building a single-page app (SPA) with multiple routes, sirv needs to be able to respond to requests for *any* path. You can make it so by editing the `"start"` command in package.json: - -```js -"start": "sirv public --single" -``` - -## Using TypeScript - -This template comes with a script to set up a TypeScript development environment, you can run it immediately after cloning the template with: - -```bash -node scripts/setupTypeScript.js -``` - -Or remove the script via: - -```bash -rm scripts/setupTypeScript.js -``` - -If you want to use `baseUrl` or `path` aliases within your `tsconfig`, you need to set up `@rollup/plugin-alias` to tell Rollup to resolve the aliases. For more info, see [this StackOverflow question](https://stackoverflow.com/questions/63427935/setup-tsconfig-path-in-svelte). - -## Deploying to the web - -### With [Vercel](https://vercel.com) - -Install `vercel` if you haven't already: - -```bash -npm install -g vercel -``` - -Then, from within your project folder: - -```bash -cd public -vercel deploy --name my-project -``` - -### With [surge](https://surge.sh/) - -Install `surge` if you haven't already: - -```bash -npm install -g surge -``` - -Then, from within your project folder: - -```bash -npm run build -surge public my-project.surge.sh -``` diff --git a/volumes/front/.gitignore b/volumes/front/.gitignore new file mode 100644 index 0000000..047e6a4 --- /dev/null +++ b/volumes/front/.gitignore @@ -0,0 +1,131 @@ + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-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 + +# Optional stylelint cache +.stylelintcache + +# 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 +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# 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 + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# 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 + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/volumes/front/public/global.css b/volumes/front/public/global.css new file mode 100644 index 0000000..bb28a94 --- /dev/null +++ b/volumes/front/public/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/volumes/front/public/img/pog.jpg b/volumes/front/public/img/pog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..353331e186f8e76a2427b7bc8944ea184eb7251f GIT binary patch literal 9348 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 literal 0 HcmV?d00001 diff --git a/volumes/front/public/img/pong.png b/volumes/front/public/img/pong.png new file mode 100644 index 0000000000000000000000000000000000000000..72657d30758e979c333b75f07c425c8d50ba4798 GIT binary patch literal 1434 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