inertia_rails-contrib 0.2.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -1
  3. data/README.md +12 -133
  4. data/lib/inertia_rails_contrib/version.rb +1 -1
  5. metadata +5 -112
  6. data/lib/generators/inertia/controller/controller_generator.rb +0 -16
  7. data/lib/generators/inertia/controller/templates/controller.rb.tt +0 -10
  8. data/lib/generators/inertia/install/frameworks.yml +0 -73
  9. data/lib/generators/inertia/install/helpers.rb +0 -48
  10. data/lib/generators/inertia/install/install_generator.rb +0 -282
  11. data/lib/generators/inertia/install/templates/assets/inertia.svg +0 -1
  12. data/lib/generators/inertia/install/templates/assets/react.svg +0 -1
  13. data/lib/generators/inertia/install/templates/assets/svelte.svg +0 -1
  14. data/lib/generators/inertia/install/templates/assets/vite_ruby.svg +0 -1
  15. data/lib/generators/inertia/install/templates/assets/vue.svg +0 -1
  16. data/lib/generators/inertia/install/templates/controller.rb +0 -7
  17. data/lib/generators/inertia/install/templates/dev +0 -23
  18. data/lib/generators/inertia/install/templates/initializer.rb +0 -4
  19. data/lib/generators/inertia/install/templates/react/InertiaExample.jsx +0 -60
  20. data/lib/generators/inertia/install/templates/react/InertiaExample.module.css +0 -80
  21. data/lib/generators/inertia/install/templates/react/InertiaExample.tsx +0 -60
  22. data/lib/generators/inertia/install/templates/react/inertia.js +0 -34
  23. data/lib/generators/inertia/install/templates/react/inertia.ts +0 -36
  24. data/lib/generators/inertia/install/templates/react/tsconfig.app.json +0 -27
  25. data/lib/generators/inertia/install/templates/react/tsconfig.json +0 -11
  26. data/lib/generators/inertia/install/templates/react/tsconfig.node.json +0 -13
  27. data/lib/generators/inertia/install/templates/react/vite-env.d.ts +0 -1
  28. data/lib/generators/inertia/install/templates/svelte/InertiaExample.svelte +0 -116
  29. data/lib/generators/inertia/install/templates/svelte/InertiaExample.ts.svelte +0 -116
  30. data/lib/generators/inertia/install/templates/svelte/inertia.js +0 -29
  31. data/lib/generators/inertia/install/templates/svelte/inertia.ts +0 -32
  32. data/lib/generators/inertia/install/templates/svelte/svelte.config.js +0 -7
  33. data/lib/generators/inertia/install/templates/svelte/tsconfig.json +0 -21
  34. data/lib/generators/inertia/install/templates/svelte/tsconfig.node.json +0 -12
  35. data/lib/generators/inertia/install/templates/svelte/vite-env.d.ts +0 -2
  36. data/lib/generators/inertia/install/templates/tailwind/application.css +0 -13
  37. data/lib/generators/inertia/install/templates/tailwind/postcss.config.js +0 -6
  38. data/lib/generators/inertia/install/templates/tailwind/tailwind.config.js.tt +0 -18
  39. data/lib/generators/inertia/install/templates/vue/InertiaExample.ts.vue +0 -117
  40. data/lib/generators/inertia/install/templates/vue/InertiaExample.vue +0 -117
  41. data/lib/generators/inertia/install/templates/vue/inertia.js +0 -33
  42. data/lib/generators/inertia/install/templates/vue/inertia.ts +0 -33
  43. data/lib/generators/inertia/install/templates/vue/tsconfig.app.json +0 -24
  44. data/lib/generators/inertia/install/templates/vue/tsconfig.json +0 -11
  45. data/lib/generators/inertia/install/templates/vue/tsconfig.node.json +0 -22
  46. data/lib/generators/inertia/install/templates/vue/vite-env.d.ts +0 -1
  47. data/lib/generators/inertia/scaffold/scaffold_generator.rb +0 -16
  48. data/lib/generators/inertia/scaffold_controller/scaffold_controller_generator.rb +0 -56
  49. data/lib/generators/inertia/scaffold_controller/templates/controller.rb.tt +0 -100
  50. data/lib/generators/inertia_templates/controller/controller_generator.rb +0 -12
  51. data/lib/generators/inertia_templates/controller/templates/react/view.jsx.tt +0 -8
  52. data/lib/generators/inertia_templates/controller/templates/svelte/view.svelte.tt +0 -2
  53. data/lib/generators/inertia_templates/controller/templates/vue/view.vue.tt +0 -4
  54. data/lib/generators/inertia_templates/scaffold/scaffold_generator.rb +0 -12
  55. data/lib/generators/inertia_templates/scaffold/templates/react/Edit.jsx.tt +0 -35
  56. data/lib/generators/inertia_templates/scaffold/templates/react/Form.jsx.tt +0 -111
  57. data/lib/generators/inertia_templates/scaffold/templates/react/Index.jsx.tt +0 -26
  58. data/lib/generators/inertia_templates/scaffold/templates/react/New.jsx.tt +0 -27
  59. data/lib/generators/inertia_templates/scaffold/templates/react/One.jsx.tt +0 -26
  60. data/lib/generators/inertia_templates/scaffold/templates/react/Show.jsx.tt +0 -39
  61. data/lib/generators/inertia_templates/scaffold/templates/svelte/Edit.svelte.tt +0 -37
  62. data/lib/generators/inertia_templates/scaffold/templates/svelte/Form.svelte.tt +0 -96
  63. data/lib/generators/inertia_templates/scaffold/templates/svelte/Index.svelte.tt +0 -42
  64. data/lib/generators/inertia_templates/scaffold/templates/svelte/New.svelte.tt +0 -30
  65. data/lib/generators/inertia_templates/scaffold/templates/svelte/One.svelte.tt +0 -28
  66. data/lib/generators/inertia_templates/scaffold/templates/svelte/Show.svelte.tt +0 -46
  67. data/lib/generators/inertia_templates/scaffold/templates/vue/Edit.vue.tt +0 -36
  68. data/lib/generators/inertia_templates/scaffold/templates/vue/Form.vue.tt +0 -94
  69. data/lib/generators/inertia_templates/scaffold/templates/vue/Index.vue.tt +0 -31
  70. data/lib/generators/inertia_templates/scaffold/templates/vue/New.vue.tt +0 -29
  71. data/lib/generators/inertia_templates/scaffold/templates/vue/One.vue.tt +0 -26
  72. data/lib/generators/inertia_templates/scaffold/templates/vue/Show.vue.tt +0 -44
  73. data/lib/generators/inertia_tw_templates/controller/controller_generator.rb +0 -12
  74. data/lib/generators/inertia_tw_templates/controller/templates/react/view.jsx.tt +0 -8
  75. data/lib/generators/inertia_tw_templates/controller/templates/svelte/view.svelte.tt +0 -2
  76. data/lib/generators/inertia_tw_templates/controller/templates/vue/view.vue.tt +0 -4
  77. data/lib/generators/inertia_tw_templates/scaffold/scaffold_generator.rb +0 -12
  78. data/lib/generators/inertia_tw_templates/scaffold/templates/react/Edit.jsx.tt +0 -42
  79. data/lib/generators/inertia_tw_templates/scaffold/templates/react/Form.jsx.tt +0 -122
  80. data/lib/generators/inertia_tw_templates/scaffold/templates/react/Index.jsx.tt +0 -43
  81. data/lib/generators/inertia_tw_templates/scaffold/templates/react/New.jsx.tt +0 -30
  82. data/lib/generators/inertia_tw_templates/scaffold/templates/react/One.jsx.tt +0 -26
  83. data/lib/generators/inertia_tw_templates/scaffold/templates/react/Show.jsx.tt +0 -54
  84. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Edit.svelte.tt +0 -45
  85. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Form.svelte.tt +0 -120
  86. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Index.svelte.tt +0 -49
  87. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/New.svelte.tt +0 -33
  88. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/One.svelte.tt +0 -28
  89. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Show.svelte.tt +0 -58
  90. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/Edit.vue.tt +0 -44
  91. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/Form.vue.tt +0 -127
  92. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/Index.vue.tt +0 -43
  93. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/New.vue.tt +0 -32
  94. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/One.vue.tt +0 -26
  95. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/Show.vue.tt +0 -56
  96. data/lib/inertia_rails_contrib/generators/controller_template_base.rb +0 -56
  97. data/lib/inertia_rails_contrib/generators/scaffold_template_base.rb +0 -35
  98. data/lib/inertia_rails_contrib/generators_helper.rb +0 -88
@@ -1,116 +0,0 @@
1
- <script>
2
- import svelteSvg from '/assets/svelte.svg'
3
- import inertiaSvg from '/assets/inertia.svg'
4
- import viteRubySvg from '/assets/vite_ruby.svg'
5
-
6
- export let name
7
-
8
- let count = 0
9
-
10
- function handleClick() {
11
- count += 1
12
- }
13
- </script>
14
-
15
- <svelte:head>
16
- <title>Inertia + Vite Ruby + Svelte Example</title>
17
- </svelte:head>
18
-
19
- <div class="inertia_example">
20
- <h1>Hello {name}!</h1>
21
-
22
- <div>
23
- <a href="https://inertia-rails.netlify.app" target="_blank">
24
- <img class="logo" src={inertiaSvg} alt="Inertia logo" />
25
- </a>
26
- <a href="https://vite-ruby.netlify.app" target="_blank">
27
- <img class="logo vite" src={viteRubySvg} alt="Vite Ruby logo" />
28
- </a>
29
- <a href="https://svelte.dev" target="_blank">
30
- <img class="logo svelte" src={svelteSvg} alt="Svelte logo" />
31
- </a>
32
- </div>
33
-
34
- <h2>Inertia + Vite Ruby + Svelte</h2>
35
-
36
- <div class="card">
37
- <button on:click={handleClick}>
38
- count is {count}
39
- </button>
40
- <p>
41
- Edit <code>app/frontend/pages/InertiaExample.svelte</code> and save to test
42
- HMR
43
- </p>
44
- </div>
45
- <p class="read-the-docs">
46
- Click on the Inertia, Vite Ruby, and Svelte logos to learn more
47
- </p>
48
- </div>
49
-
50
- <style>
51
- .inertia_example {
52
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
53
- line-height: 1.5;
54
- font-weight: 400;
55
- color: #213547;
56
- background-color: #ffffff;
57
- max-width: 1280px;
58
- margin: 0 auto;
59
- padding: 2rem;
60
- text-align: center;
61
- }
62
-
63
- h1 {
64
- font-size: 3.2em;
65
- line-height: 1.1;
66
- }
67
-
68
- h2 {
69
- font-size: 2.6em;
70
- line-height: 1.1;
71
- }
72
-
73
- button {
74
- border-radius: 8px;
75
- border: 1px solid transparent;
76
- padding: 0.6em 1.2em;
77
- font-size: 1em;
78
- font-weight: 500;
79
- font-family: inherit;
80
- background-color: #f9f9f9;
81
- cursor: pointer;
82
- transition: border-color 0.25s;
83
- }
84
- button:hover {
85
- border-color: #646cff;
86
- }
87
- button:focus,
88
- button:focus-visible {
89
- outline: 4px auto -webkit-focus-ring-color;
90
- }
91
-
92
- .logo {
93
- display: inline-block;
94
- height: 6em;
95
- padding: 1.5em;
96
- will-change: filter;
97
- transition: filter 300ms;
98
- }
99
- .logo:hover {
100
- filter: drop-shadow(0 0 2em #646cffaa);
101
- }
102
- .logo.vite:hover {
103
- filter: drop-shadow(0 0 2em #e4023baa);
104
- }
105
- .logo.svelte:hover {
106
- filter: drop-shadow(0 0 2em #ff3e00aa);
107
- }
108
-
109
- .card {
110
- padding: 2em;
111
- }
112
-
113
- .read-the-docs {
114
- color: #888;
115
- }
116
- </style>
@@ -1,116 +0,0 @@
1
- <script lang="ts">
2
- import svelteSvg from '/assets/svelte.svg'
3
- import inertiaSvg from '/assets/inertia.svg'
4
- import viteRubySvg from '/assets/vite_ruby.svg'
5
-
6
- export let name: string
7
-
8
- let count = 0
9
-
10
- function handleClick() {
11
- count += 1
12
- }
13
- </script>
14
-
15
- <svelte:head>
16
- <title>Inertia + Vite Ruby + Svelte Example</title>
17
- </svelte:head>
18
-
19
- <div class="inertia_example">
20
- <h1>Hello {name}!</h1>
21
-
22
- <div>
23
- <a href="https://inertia-rails.netlify.app" target="_blank">
24
- <img class="logo" src={inertiaSvg} alt="Inertia logo" />
25
- </a>
26
- <a href="https://vite-ruby.netlify.app" target="_blank">
27
- <img class="logo vite" src={viteRubySvg} alt="Vite Ruby logo" />
28
- </a>
29
- <a href="https://svelte.dev" target="_blank">
30
- <img class="logo svelte" src={svelteSvg} alt="Svelte logo" />
31
- </a>
32
- </div>
33
-
34
- <h2>Inertia + Vite Ruby + Svelte</h2>
35
-
36
- <div class="card">
37
- <button on:click={handleClick}>
38
- count is {count}
39
- </button>
40
- <p>
41
- Edit <code>app/frontend/pages/InertiaExample.svelte</code> and save to test
42
- HMR
43
- </p>
44
- </div>
45
- <p class="read-the-docs">
46
- Click on the Inertia, Vite Ruby, and Svelte logos to learn more
47
- </p>
48
- </div>
49
-
50
- <style>
51
- .inertia_example {
52
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
53
- line-height: 1.5;
54
- font-weight: 400;
55
- color: #213547;
56
- background-color: #ffffff;
57
- max-width: 1280px;
58
- margin: 0 auto;
59
- padding: 2rem;
60
- text-align: center;
61
- }
62
-
63
- h1 {
64
- font-size: 3.2em;
65
- line-height: 1.1;
66
- }
67
-
68
- h2 {
69
- font-size: 2.6em;
70
- line-height: 1.1;
71
- }
72
-
73
- button {
74
- border-radius: 8px;
75
- border: 1px solid transparent;
76
- padding: 0.6em 1.2em;
77
- font-size: 1em;
78
- font-weight: 500;
79
- font-family: inherit;
80
- background-color: #f9f9f9;
81
- cursor: pointer;
82
- transition: border-color 0.25s;
83
- }
84
- button:hover {
85
- border-color: #646cff;
86
- }
87
- button:focus,
88
- button:focus-visible {
89
- outline: 4px auto -webkit-focus-ring-color;
90
- }
91
-
92
- .logo {
93
- display: inline-block;
94
- height: 6em;
95
- padding: 1.5em;
96
- will-change: filter;
97
- transition: filter 300ms;
98
- }
99
- .logo:hover {
100
- filter: drop-shadow(0 0 2em #646cffaa);
101
- }
102
- .logo.vite:hover {
103
- filter: drop-shadow(0 0 2em #e4023baa);
104
- }
105
- .logo.svelte:hover {
106
- filter: drop-shadow(0 0 2em #ff3e00aa);
107
- }
108
-
109
- .card {
110
- padding: 2em;
111
- }
112
-
113
- .read-the-docs {
114
- color: #888;
115
- }
116
- </style>
@@ -1,29 +0,0 @@
1
- import { createInertiaApp } from '@inertiajs/svelte'
2
-
3
- createInertiaApp({
4
- // Set default page title
5
- // see https://inertia-rails.netlify.app/guide/title-and-meta
6
- //
7
- // title: title => title ? `${title} - App` : 'App',
8
-
9
- // Disable progress bar
10
- //
11
- // see https://inertia-rails.netlify.app/guide/progress-indicators
12
- // progress: false,
13
-
14
- resolve: (name) => {
15
- const pages = import.meta.glob('../pages/**/*.svelte', { eager: true })
16
- return pages[`../pages/${name}.svelte`]
17
-
18
- // To use a default layout, import the Layout component
19
- // and use the following lines.
20
- // see https://inertia-rails.netlify.app/guide/pages#default-layouts
21
- //
22
- // const page = pages[`../pages/${name}.svelte`]
23
- // return { default: page.default, layout: page.layout || Layout }
24
- },
25
-
26
- setup({ el, App }) {
27
- new App({ target: el })
28
- },
29
- })
@@ -1,32 +0,0 @@
1
- import { createInertiaApp } from '@inertiajs/svelte'
2
- import type { ComponentType } from 'svelte';
3
-
4
- type ResolvedComponent = { default: ComponentType, layout?: ComponentType }
5
-
6
- createInertiaApp({
7
- // Set default page title
8
- // see https://inertia-rails.netlify.app/guide/title-and-meta
9
- //
10
- // title: title => title ? `${title} - App` : 'App',
11
-
12
- // Disable progress bar
13
- //
14
- // see https://inertia-rails.netlify.app/guide/progress-indicators
15
- // progress: false,
16
-
17
- resolve: (name) => {
18
- const pages = import.meta.glob('../pages/**/*.svelte', { eager: true })
19
- return pages[`../pages/${name}.svelte`] as ResolvedComponent
20
-
21
- // To use a default layout, import the Layout component
22
- // and use the following lines.
23
- // see https://inertia-rails.netlify.app/guide/pages#default-layouts
24
- //
25
- // const page = pages[`../pages/${name}.svelte`] as ResolvedComponent
26
- // return { default: page.default, layout: page.layout || Layout }
27
- },
28
-
29
- setup({ el, App }) {
30
- new App({ target: el })
31
- },
32
- })
@@ -1,7 +0,0 @@
1
- import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2
-
3
- export default {
4
- // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
5
- // for more information about preprocessors
6
- preprocess: vitePreprocess(),
7
- }
@@ -1,21 +0,0 @@
1
- {
2
- "extends": "@tsconfig/svelte/tsconfig.json",
3
- "compilerOptions": {
4
- "target": "ESNext",
5
- "useDefineForClassFields": true,
6
- "module": "ESNext",
7
- "resolveJsonModule": true,
8
- /**
9
- * Typecheck JS in `.svelte` and `.js` files by default.
10
- * Disable checkJs if you'd like to use dynamic types in JS.
11
- * Note that setting allowJs false does not prevent the use
12
- * of JS in `.svelte` files.
13
- */
14
- "allowJs": true,
15
- "checkJs": true,
16
- "isolatedModules": true,
17
- "moduleDetection": "force",
18
- },
19
- "include": ["<%= js_destination_path %>/**/*.ts", "<%= js_destination_path %>/**/*.js", "<%= js_destination_path %>/**/*.svelte"],
20
- "references": [{ "path": "./tsconfig.node.json" }]
21
- }
@@ -1,12 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
5
- "skipLibCheck": true,
6
- "module": "ESNext",
7
- "moduleResolution": "bundler",
8
- "strict": true,
9
- "noEmit": true,
10
- },
11
- "include": ["vite.config.ts"]
12
- }
@@ -1,2 +0,0 @@
1
- /// <reference types="svelte" />
2
- /// <reference types="vite/client" />
@@ -1,13 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- /*
6
-
7
- @layer components {
8
- .btn-primary {
9
- @apply py-2 px-4 bg-blue-200;
10
- }
11
- }
12
-
13
- */
@@ -1,6 +0,0 @@
1
- export default {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {},
5
- },
6
- }
@@ -1,18 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
-
3
- module.exports = {
4
- content: [
5
- './public/*.html',
6
- './app/helpers/**/*.rb',
7
- './<%= js_destination_path %>/**/*.{js,ts,jsx,tsx,vue,svelte}',
8
- './app/views/**/*.{erb,haml,html,slim}'
9
- ],
10
- theme: {
11
- extend: {},
12
- },
13
- plugins: [
14
- require('@tailwindcss/forms'),
15
- require('@tailwindcss/typography'),
16
- require('@tailwindcss/container-queries'),
17
- ]
18
- }
@@ -1,117 +0,0 @@
1
- <template>
2
- <Head title="Inertia + Vite Ruby + Vue Example" />
3
-
4
- <div class="root">
5
- <h1 class="h1">Hello {{ name }}!</h1>
6
-
7
- <div>
8
- <a href="https://inertia-rails.netlify.app" target="_blank">
9
- <img class="logo" :src="inertiaSvg" alt="Inertia logo" />
10
- </a>
11
- <a href="https://vite-ruby.netlify.app" target="_blank">
12
- <img class="logo vite" :src="viteRubySvg" alt="Vite Ruby logo" />
13
- </a>
14
- <a href="https://vuejs.org" target="_blank">
15
- <img class="logo vue" :src="vueSvg" alt="Vue logo" />
16
- </a>
17
- </div>
18
-
19
- <h2 class="h2">Inertia + Vite Ruby + Vue</h2>
20
-
21
- <div class="card">
22
- <button class="button" type="button" @click="count++">
23
- count is {{ count }}
24
- </button>
25
- <p>
26
- Edit <code>app/frontend/pages/InertiaExample.vue</code> and save to test
27
- HMR
28
- </p>
29
- </div>
30
- <p class="readTheDocs">
31
- Click on the Inertia, Vite Ruby, and Vue logos to learn more
32
- </p>
33
- </div>
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import { Head } from '@inertiajs/vue3'
38
- import { ref } from 'vue'
39
-
40
- import vueSvg from '/assets/vue.svg'
41
- import inertiaSvg from '/assets/inertia.svg'
42
- import viteRubySvg from '/assets/vite_ruby.svg'
43
-
44
- defineProps({
45
- name: String,
46
- })
47
-
48
- const count = ref(0)
49
- </script>
50
-
51
- <style scoped>
52
- .root {
53
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
54
- line-height: 1.5;
55
- font-weight: 400;
56
- color: #213547;
57
- background-color: #ffffff;
58
- max-width: 1280px;
59
- margin: 0 auto;
60
- padding: 2rem;
61
- text-align: center;
62
- }
63
-
64
- .h1 {
65
- font-size: 3.2em;
66
- line-height: 1.1;
67
- }
68
-
69
- .h2 {
70
- font-size: 2.6em;
71
- line-height: 1.1;
72
- }
73
-
74
- .button {
75
- border-radius: 8px;
76
- border: 1px solid transparent;
77
- padding: 0.6em 1.2em;
78
- font-size: 1em;
79
- font-weight: 500;
80
- font-family: inherit;
81
- background-color: #f9f9f9;
82
- cursor: pointer;
83
- transition: border-color 0.25s;
84
- }
85
- .button:hover {
86
- border-color: #646cff;
87
- }
88
- .button:focus,
89
- .button:focus-visible {
90
- outline: 4px auto -webkit-focus-ring-color;
91
- }
92
-
93
- .logo {
94
- display: inline-block;
95
- height: 6em;
96
- padding: 1.5em;
97
- will-change: filter;
98
- transition: filter 300ms;
99
- }
100
- .logo:hover {
101
- filter: drop-shadow(0 0 2em #646cffaa);
102
- }
103
- .logo.vite:hover {
104
- filter: drop-shadow(0 0 2em #e4023baa);
105
- }
106
- .logo.vue:hover {
107
- filter: drop-shadow(0 0 2em #41b883aa);
108
- }
109
-
110
- .card {
111
- padding: 2em;
112
- }
113
-
114
- .readTheDocs {
115
- color: #888;
116
- }
117
- </style>
@@ -1,117 +0,0 @@
1
- <template>
2
- <Head title="Inertia + Vite Ruby + Vue Example" />
3
-
4
- <div class="root">
5
- <h1 class="h1">Hello {{ name }}!</h1>
6
-
7
- <div>
8
- <a href="https://inertia-rails.netlify.app" target="_blank">
9
- <img class="logo" :src="inertiaSvg" alt="Inertia logo" />
10
- </a>
11
- <a href="https://vite-ruby.netlify.app" target="_blank">
12
- <img class="logo vite" :src="viteRubySvg" alt="Vite Ruby logo" />
13
- </a>
14
- <a href="https://vuejs.org" target="_blank">
15
- <img class="logo vue" :src="vueSvg" alt="Vue logo" />
16
- </a>
17
- </div>
18
-
19
- <h2 class="h2">Inertia + Vite Ruby + Vue</h2>
20
-
21
- <div class="card">
22
- <button class="button" type="button" @click="count++">
23
- count is {{ count }}
24
- </button>
25
- <p>
26
- Edit <code>app/frontend/pages/InertiaExample.vue</code> and save to test
27
- HMR
28
- </p>
29
- </div>
30
- <p class="readTheDocs">
31
- Click on the Inertia, Vite Ruby, and Vue logos to learn more
32
- </p>
33
- </div>
34
- </template>
35
-
36
- <script setup>
37
- import { Head } from '@inertiajs/vue3'
38
- import { ref } from 'vue'
39
-
40
- import vueSvg from '/assets/vue.svg'
41
- import inertiaSvg from '/assets/inertia.svg'
42
- import viteRubySvg from '/assets/vite_ruby.svg'
43
-
44
- defineProps({
45
- name: String,
46
- })
47
-
48
- const count = ref(0)
49
- </script>
50
-
51
- <style scoped>
52
- .root {
53
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
54
- line-height: 1.5;
55
- font-weight: 400;
56
- color: #213547;
57
- background-color: #ffffff;
58
- max-width: 1280px;
59
- margin: 0 auto;
60
- padding: 2rem;
61
- text-align: center;
62
- }
63
-
64
- .h1 {
65
- font-size: 3.2em;
66
- line-height: 1.1;
67
- }
68
-
69
- .h2 {
70
- font-size: 2.6em;
71
- line-height: 1.1;
72
- }
73
-
74
- .button {
75
- border-radius: 8px;
76
- border: 1px solid transparent;
77
- padding: 0.6em 1.2em;
78
- font-size: 1em;
79
- font-weight: 500;
80
- font-family: inherit;
81
- background-color: #f9f9f9;
82
- cursor: pointer;
83
- transition: border-color 0.25s;
84
- }
85
- .button:hover {
86
- border-color: #646cff;
87
- }
88
- .button:focus,
89
- .button:focus-visible {
90
- outline: 4px auto -webkit-focus-ring-color;
91
- }
92
-
93
- .logo {
94
- display: inline-block;
95
- height: 6em;
96
- padding: 1.5em;
97
- will-change: filter;
98
- transition: filter 300ms;
99
- }
100
- .logo:hover {
101
- filter: drop-shadow(0 0 2em #646cffaa);
102
- }
103
- .logo.vite:hover {
104
- filter: drop-shadow(0 0 2em #e4023baa);
105
- }
106
- .logo.vue:hover {
107
- filter: drop-shadow(0 0 2em #41b883aa);
108
- }
109
-
110
- .card {
111
- padding: 2em;
112
- }
113
-
114
- .readTheDocs {
115
- color: #888;
116
- }
117
- </style>
@@ -1,33 +0,0 @@
1
- import { createInertiaApp } from '@inertiajs/vue3'
2
- import { createApp, h } from 'vue'
3
-
4
- createInertiaApp({
5
- // Set default page title
6
- // see https://inertia-rails.netlify.app/guide/title-and-meta
7
- //
8
- // title: title => title ? `${title} - App` : 'App',
9
-
10
- // Disable progress bar
11
- //
12
- // see https://inertia-rails.netlify.app/guide/progress-indicators
13
- // progress: false,
14
-
15
- resolve: (name) => {
16
- const pages = import.meta.glob('../pages/**/*.vue', { eager: true })
17
- return pages[`../pages/${name}.vue`]
18
-
19
- // To use a default layout, import the Layout component
20
- // and use the following lines.
21
- // see https://inertia-rails.netlify.app/guide/pages#default-layouts
22
- //
23
- // const page = pages[`../pages/${name}.vue`]
24
- // page.default.layout = page.default.layout || Layout
25
- // return page
26
- },
27
-
28
- setup({ el, App, props, plugin }) {
29
- createApp({ render: () => h(App, props) })
30
- .use(plugin)
31
- .mount(el)
32
- },
33
- })
@@ -1,33 +0,0 @@
1
- import { createInertiaApp } from '@inertiajs/vue3'
2
- import {createApp, DefineComponent, h} from 'vue'
3
-
4
- createInertiaApp({
5
- // Set default page title
6
- // see https://inertia-rails.netlify.app/guide/title-and-meta
7
- //
8
- // title: title => title ? `${title} - App` : 'App',
9
-
10
- // Disable progress bar
11
- //
12
- // see https://inertia-rails.netlify.app/guide/progress-indicators
13
- // progress: false,
14
-
15
- resolve: (name) => {
16
- const pages = import.meta.glob('../pages/**/*.vue', { eager: true })
17
- return pages[`../pages/${name}.vue`] as DefineComponent
18
-
19
- // To use a default layout, import the Layout component
20
- // and use the following lines.
21
- // see https://inertia-rails.netlify.app/guide/pages#default-layouts
22
- //
23
- // const page = pages[`../pages/${name}.vue`] as DefineComponent
24
- // page.default.layout = page.default.layout || Layout
25
- // return page
26
- },
27
-
28
- setup({ el, App, props, plugin }) {
29
- createApp({ render: () => h(App, props) })
30
- .use(plugin)
31
- .mount(el)
32
- },
33
- })