tac_two 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. tac_two/__init__.py +25 -0
  2. tac_two/__main__.py +3 -0
  3. tac_two/frontend/.editorconfig +8 -0
  4. tac_two/frontend/.gitattributes +1 -0
  5. tac_two/frontend/.gitignore +42 -0
  6. tac_two/frontend/.oxlintrc.json +10 -0
  7. tac_two/frontend/.prettierrc.json +6 -0
  8. tac_two/frontend/README.md +69 -0
  9. tac_two/frontend/e2e/vue.spec.js +8 -0
  10. tac_two/frontend/eslint.config.js +42 -0
  11. tac_two/frontend/index.html +34 -0
  12. tac_two/frontend/jsconfig.json +8 -0
  13. tac_two/frontend/package-lock.json +5994 -0
  14. tac_two/frontend/package.json +50 -0
  15. tac_two/frontend/playwright.config.js +110 -0
  16. tac_two/frontend/public/design/README.txt +42 -0
  17. tac_two/frontend/public/design/design-tokens.json +34 -0
  18. tac_two/frontend/public/design/mochi-mascot.svg +20 -0
  19. tac_two/frontend/public/design/tac2-app-icon.svg +8 -0
  20. tac_two/frontend/public/design/tac2-extra-icons.svg +55 -0
  21. tac_two/frontend/public/design/tac2-interface-icons.svg +13 -0
  22. tac_two/frontend/public/design/tac2-logo.svg +13 -0
  23. tac_two/frontend/public/favicon.ico +0 -0
  24. tac_two/frontend/src/App.vue +197 -0
  25. tac_two/frontend/src/assets/base.css +86 -0
  26. tac_two/frontend/src/assets/main.css +203 -0
  27. tac_two/frontend/src/components/HelloWorld.vue +44 -0
  28. tac_two/frontend/src/components/TheWelcome.vue +95 -0
  29. tac_two/frontend/src/components/WelcomeItem.vue +86 -0
  30. tac_two/frontend/src/components/__tests__/HelloWorld.spec.js +11 -0
  31. tac_two/frontend/src/components/icons/IconCommunity.vue +7 -0
  32. tac_two/frontend/src/components/icons/IconDocumentation.vue +7 -0
  33. tac_two/frontend/src/components/icons/IconEcosystem.vue +7 -0
  34. tac_two/frontend/src/components/icons/IconSupport.vue +7 -0
  35. tac_two/frontend/src/components/icons/IconTooling.vue +19 -0
  36. tac_two/frontend/src/main.js +13 -0
  37. tac_two/frontend/src/router/index.js +55 -0
  38. tac_two/frontend/src/settings.js +31 -0
  39. tac_two/frontend/src/stores/counter.js +12 -0
  40. tac_two/frontend/src/views/AuthView.vue +639 -0
  41. tac_two/frontend/src/views/HomeView.vue +198 -0
  42. tac_two/frontend/src/views/HowToPlayView.vue +479 -0
  43. tac_two/frontend/src/views/PlayView.vue +567 -0
  44. tac_two/frontend/src/views/ProfileView.vue +430 -0
  45. tac_two/frontend/src/views/RankingsView.vue +365 -0
  46. tac_two/frontend/tests/App.test.js +58 -0
  47. tac_two/frontend/vite.config.js +20 -0
  48. tac_two/frontend/vitest.config.js +21 -0
  49. tac_two-1.0.0.dist-info/METADATA +293 -0
  50. tac_two-1.0.0.dist-info/RECORD +52 -0
  51. tac_two-1.0.0.dist-info/WHEEL +4 -0
  52. tac_two-1.0.0.dist-info/licenses/LICENSE +201 -0
tac_two/__init__.py ADDED
@@ -0,0 +1,25 @@
1
+ import logging
2
+
3
+
4
+ logging.basicConfig(level=logging.DEBUG)
5
+ logger = logging.getLogger("tac_two")
6
+
7
+
8
+ # this is the initial module of your app
9
+ # this is executed whenever some client-code is calling `import tac_two` or `from tac_two import ...`
10
+ # put your main classes here, eg:
11
+ class MyClass:
12
+ def my_method(self):
13
+ return "Hello World"
14
+
15
+
16
+ def main():
17
+ # this is the main module of your app
18
+ # it is only required if your project must be runnable
19
+ # this is the script to be executed whenever some users writes `python -m tac_two` on the command line, eg.
20
+ x = MyClass().my_method()
21
+ print(x)
22
+
23
+
24
+ # let this be the last line of this file
25
+ logger.info("tac_two loaded")
tac_two/__main__.py ADDED
@@ -0,0 +1,3 @@
1
+ import tac_two
2
+
3
+ tac_two.main()
@@ -0,0 +1,8 @@
1
+ [*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}]
2
+ charset = utf-8
3
+ indent_size = 2
4
+ indent_style = space
5
+ insert_final_newline = true
6
+ trim_trailing_whitespace = true
7
+ end_of_line = lf
8
+ max_line_length = 100
@@ -0,0 +1 @@
1
+ * text=auto eol=lf
@@ -0,0 +1,42 @@
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ .DS_Store
12
+ dist
13
+ dist-ssr
14
+ coverage
15
+ *.local
16
+
17
+ # Editor directories and files
18
+ .vscode/*
19
+ !.vscode/extensions.json
20
+ .idea
21
+ *.suo
22
+ *.ntvs*
23
+ *.njsproj
24
+ *.sln
25
+ *.sw?
26
+
27
+ *.tsbuildinfo
28
+
29
+ .eslintcache
30
+
31
+ # Cypress
32
+ /cypress/videos/
33
+ /cypress/screenshots/
34
+
35
+ # Vitest
36
+ __screenshots__/
37
+
38
+ # Vite
39
+ *.timestamp-*-*.mjs
40
+
41
+ test-results/
42
+ playwright-report/
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
3
+ "plugins": ["eslint", "unicorn", "oxc", "vue", "vitest"],
4
+ "env": {
5
+ "browser": true
6
+ },
7
+ "categories": {
8
+ "correctness": "error"
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/prettierrc",
3
+ "semi": false,
4
+ "singleQuote": true,
5
+ "printWidth": 100
6
+ }
@@ -0,0 +1,69 @@
1
+ # .
2
+
3
+ This template should help get you started developing with Vue 3 in Vite.
4
+
5
+ ## Recommended IDE Setup
6
+
7
+ [VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
8
+
9
+ ## Recommended Browser Setup
10
+
11
+ - Chromium-based browsers (Chrome, Edge, Brave, etc.):
12
+ - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
13
+ - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
14
+ - Firefox:
15
+ - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
16
+ - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
17
+
18
+ ## Customize configuration
19
+
20
+ See [Vite Configuration Reference](https://vite.dev/config/).
21
+
22
+ ## Project Setup
23
+
24
+ ```sh
25
+ npm install
26
+ ```
27
+
28
+ ### Compile and Hot-Reload for Development
29
+
30
+ ```sh
31
+ npm run dev
32
+ ```
33
+
34
+ ### Compile and Minify for Production
35
+
36
+ ```sh
37
+ npm run build
38
+ ```
39
+
40
+ ### Run Unit Tests with [Vitest](https://vitest.dev/)
41
+
42
+ ```sh
43
+ npm run test:unit
44
+ ```
45
+
46
+ ### Run End-to-End Tests with [Playwright](https://playwright.dev)
47
+
48
+ ```sh
49
+ # Install browsers for the first run
50
+ npx playwright install
51
+
52
+ # When testing on CI, must build the project first
53
+ npm run build
54
+
55
+ # Runs the end-to-end tests
56
+ npm run test:e2e
57
+ # Runs the tests only on Chromium
58
+ npm run test:e2e -- --project=chromium
59
+ # Runs the tests of a specific file
60
+ npm run test:e2e -- tests/example.spec.ts
61
+ # Runs the tests in debug mode
62
+ npm run test:e2e -- --debug
63
+ ```
64
+
65
+ ### Lint with [ESLint](https://eslint.org/)
66
+
67
+ ```sh
68
+ npm run lint
69
+ ```
@@ -0,0 +1,8 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ // See here how to get started:
4
+ // https://playwright.dev/docs/intro
5
+ test('visits the app root url', async ({ page }) => {
6
+ await page.goto('/')
7
+ await expect(page.locator('h1')).toHaveText('You did it!')
8
+ })
@@ -0,0 +1,42 @@
1
+ import { defineConfig, globalIgnores } from 'eslint/config'
2
+ import globals from 'globals'
3
+ import js from '@eslint/js'
4
+ import pluginVue from 'eslint-plugin-vue'
5
+ import pluginPlaywright from 'eslint-plugin-playwright'
6
+ import pluginVitest from '@vitest/eslint-plugin'
7
+ import pluginOxlint from 'eslint-plugin-oxlint'
8
+ import skipFormatting from 'eslint-config-prettier/flat'
9
+
10
+ export default defineConfig([
11
+ {
12
+ name: 'app/files-to-lint',
13
+ files: ['**/*.{vue,js,mjs,jsx}'],
14
+ },
15
+
16
+ globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']),
17
+
18
+ {
19
+ languageOptions: {
20
+ globals: {
21
+ ...globals.browser,
22
+ },
23
+ },
24
+ },
25
+
26
+ js.configs.recommended,
27
+ ...pluginVue.configs['flat/essential'],
28
+
29
+ {
30
+ ...pluginPlaywright.configs['flat/recommended'],
31
+ files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'],
32
+ },
33
+
34
+ {
35
+ ...pluginVitest.configs.recommended,
36
+ files: ['src/**/__tests__/*'],
37
+ },
38
+
39
+ ...pluginOxlint.buildFromOxlintConfigFile('.oxlintrc.json'),
40
+
41
+ skipFormatting,
42
+ ])
@@ -0,0 +1,34 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="icon" type="image/svg+xml" href="/design/tac2-app-icon.svg">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Tac²</title>
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link
11
+ href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Fraunces:opsz,wght@9..144,600;9..144,800&display=swap"
12
+ rel="stylesheet"
13
+ >
14
+ </head>
15
+ <body>
16
+ <!-- Icons from the design kit. App.vue uses them with <use href="#name"> -->
17
+ <svg xmlns="http://www.w3.org/2000/svg" style="display:none">
18
+ <symbol id="home" viewBox="0 0 24 24"><path d="m3 10 9-7 9 7M5 9v11h14V9M9 20v-6h6v6"/></symbol>
19
+ <symbol id="play" viewBox="0 0 24 24"><path d="m8 5 11 7-11 7V5Z"/></symbol>
20
+ <symbol id="learn" viewBox="0 0 24 24"><path d="M4 5.5A3.5 3.5 0 0 1 7.5 2H11v18H7.5A3.5 3.5 0 0 0 4 23.5v-18ZM20 5.5A3.5 3.5 0 0 0 16.5 2H13v18h3.5a3.5 3.5 0 0 1 3.5 3.5v-18Z"/></symbol>
21
+ <symbol id="trophy" viewBox="0 0 24 24"><path d="M8 3h8v5a4 4 0 0 1-8 0V3ZM8 5H4v2a4 4 0 0 0 4 4M16 5h4v2a4 4 0 0 1-4 4M12 12v5M8 21h8M9 17h6"/></symbol>
22
+ <symbol id="profile" viewBox="0 0 24 24"><circle cx="12" cy="8" r="4"/><path d="M4 22a8 8 0 0 1 16 0"/></symbol>
23
+ <symbol id="computer" viewBox="0 0 24 24"><rect x="4" y="7" width="16" height="12" rx="4"/><path d="M12 3v4M8 12h.01M16 12h.01M9 16h6"/></symbol>
24
+ <symbol id="friends" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3"/><circle cx="17" cy="9" r="2.5"/><path d="M3 20a6 6 0 0 1 12 0M14 15a5 5 0 0 1 7 4.5"/></symbol>
25
+ <symbol id="online" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/></symbol>
26
+ <symbol id="clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></symbol>
27
+ <symbol id="spark" viewBox="0 0 24 24"><path d="m12 3 1.3 4.2L17 9l-3.7 1.8L12 15l-1.3-4.2L7 9l3.7-1.8L12 3Zm7 13 .7 2.3L22 19l-2.3.7L19 22l-.7-2.3L16 19l2.3-.7L19 16Z"/></symbol>
28
+ <symbol id="download" viewBox="0 0 24 24"><path d="M12 3v12M7 10l5 5 5-5M4 20h16"/></symbol>
29
+ </svg>
30
+
31
+ <div id="app"></div>
32
+ <script type="module" src="/src/main.js"></script>
33
+ </body>
34
+ </html>
@@ -0,0 +1,8 @@
1
+ {
2
+ "compilerOptions": {
3
+ "paths": {
4
+ "@/*": ["./src/*"]
5
+ }
6
+ },
7
+ "exclude": ["node_modules", "dist"]
8
+ }