maglevcms 1.2.0 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b23017be4bbbf4d06d99cf0f94ede1136e0e0ea343e0fbbef94edb6dc4d112d4
4
- data.tar.gz: b6e5d107a2ea7a18091ffdd084a3fed631d0726fe845e0ac0f7100f1fc3e2b60
3
+ metadata.gz: 248515cbe62cad407de20c6cffc54b333b764b997051916dcc25db54744536ae
4
+ data.tar.gz: 1d7b14f11bde0e7efb1eb88b8804dc5028b3d55da858e963e538c92640377b5c
5
5
  SHA512:
6
- metadata.gz: 1b579c11945ca3c28bb48f59d7efc0ea70a6d1608b7275cd507c3044cf30446bf3a342163ad9c468f0f3cf690386be137401e34f6426bbc016b4306af2d701ff
7
- data.tar.gz: d4257dfeb8ef1a210fc9147325e4cae5517c4a5f676b7c27637353573ee9c4ba315283edc4b0c97253d06b6327ba48b4fbf25199b4247f21913482b17f53777a
6
+ metadata.gz: b3409a4c7c5712a9e7bfa0541ca7d683e3ce17ace4a0113f9eaafeb2c3ad0d9a24a5bc07717f6ec2b5942a94539ebb9312a0cf18f3f9c9ec6bf1516e9b560dce
7
+ data.tar.gz: a72a1e948ef6d9ad0003c987a745959a2da567ad78d0db890e1b207f45c4a50d3c86629537bec27bd891d6f4e48f333a0cef22b9bfa3c72168ec64b9a3a5966e
@@ -10,11 +10,10 @@ module Maglev
10
10
  private
11
11
 
12
12
  def maglev_authenticate
13
- username = maglev_config.admin_username
14
- password = maglev_config.admin_password
15
- return if !username || !password
13
+ return unless Maglev.config.admin_username.present? && Maglev.config.admin_password.present?
16
14
 
17
- redirect_to main_app.root_path unless authenticate_with_http_basic { |u, p| username == u && password == p }
15
+ http_basic_authenticate_or_request_with name: Maglev.config.admin_username,
16
+ password: Maglev.config.admin_password
18
17
  end
19
18
  end
20
19
  end
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.828l-4.95 4.95-1.414-1.414L12 8l6.364 6.364-1.414 1.414z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.9997 10.8284L7.04996 15.7782L5.63574 14.364L11.9997 8L18.3637 14.364L16.9495 15.7782L11.9997 10.8284Z"></path></svg>
@@ -16,7 +16,7 @@
16
16
  v-model="selectedCollectionItem"
17
17
  >
18
18
  <template v-slot:value>
19
- <div class="flex items-center">
19
+ <div class="flex items-center flex-grow-0 overflow-x-hidden" :title="selectedCollectionItem.label">
20
20
  <div
21
21
  class="h-10 w-10 bg-gray-400 mr-3"
22
22
  v-if="selectedCollectionItem.imageUrl"
@@ -26,15 +26,15 @@
26
26
  :src="selectedCollectionItem.imageUrl"
27
27
  />
28
28
  </div>
29
- <span>{{ selectedCollectionItem.label }}</span>
29
+ <span class="truncate">{{ selectedCollectionItem.label }}</span>
30
30
  </div>
31
31
  </template>
32
32
  <template v-slot:item="{ item }">
33
- <div class="flex items-center">
33
+ <div class="flex items-center" :title="item.label">
34
34
  <div class="h-10 w-10 bg-gray-400 mr-3" v-if="item.imageUrl">
35
35
  <img class="object-cover w-full h-full" :src="item.imageUrl" />
36
36
  </div>
37
- <span class="font-bold">{{ item.label }}</span>
37
+ <span class="truncate font-bold">{{ item.label }}</span>
38
38
  </div>
39
39
  </template>
40
40
  </select-input>
@@ -18,24 +18,16 @@
18
18
  <span v-else>{{ placeholder }}</span>
19
19
  <button
20
20
  type="button"
21
- class="ml-auto"
21
+ class="ml-auto flex-shrink-0"
22
22
  @click.stop.prevent="clear"
23
23
  v-if="canClear"
24
24
  >
25
25
  <icon name="ri-close-line" />
26
26
  </button>
27
- <icon
28
- name="arrow-up-s-line"
29
- size="1.5rem"
30
- :class="{ 'ml-1': canClear, 'ml-auto': !canClear }"
31
- v-if="isOpen"
32
- />
33
- <icon
34
- name="arrow-down-s-line"
35
- size="1.5rem"
36
- :class="{ 'ml-1': canClear, 'ml-auto': !canClear }"
37
- v-else
38
- />
27
+ <div :class="{ 'flex-shrink-0': true, 'ml-1': canClear, 'ml-auto': !canClear }">
28
+ <icon name="arrow-up-s-line" size="1.5rem" :class="{ 'hidden': !isOpen }" />
29
+ <icon name="arrow-down-s-line" size="1.5rem" :class="{ 'hidden': isOpen }" />
30
+ </div>
39
31
  </div>
40
32
  </button>
41
33
  <div
@@ -172,6 +172,9 @@ export const getBlockLabel = (block, definition, index) => {
172
172
  label = value.text
173
173
  }
174
174
  break
175
+ case 'collection_item':
176
+ if (!label && !isBlank(value?.label)) label = value.label
177
+ if (!image && !isBlank(value?.imageUrl)) image = value.imageUrl
175
178
  default:
176
179
  break
177
180
  }
@@ -66,7 +66,7 @@ module Maglev
66
66
  end
67
67
 
68
68
  def item_label(item)
69
- item[label_field]
69
+ label_field && item.respond_to?(label_field) ? item.public_send(label_field) : nil
70
70
  end
71
71
 
72
72
  def item_image(item)
@@ -9,7 +9,7 @@ module Maglev
9
9
  end
10
10
 
11
11
  def call(path)
12
- theme = add(YAML.safe_load(File.read(path.join('theme.yml'))))
12
+ theme = add(YAML.safe_load(File.read(path.join('theme.yml')), aliases: true))
13
13
  sections = load_sections(theme, Pathname.new(path).join('sections/**/*.yml'))
14
14
  theme.sections = Maglev::Section::Store.new(sections)
15
15
  theme
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Maglev
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.2'
5
5
  end
@@ -74,8 +74,14 @@ namespace :maglev do
74
74
  desc 'Ensure build dependencies like Vite are installed before bundling'
75
75
  task install_dependencies: :environment do
76
76
  within_engine_folder do
77
+ install_dev_dependencies = ENV['VITE_RUBY_SKIP_INSTALL_DEV_DEPENDENCIES'] == 'true'
78
+ # rubocop:disable Style/StringHashKeys
79
+ install_env_args = install_dev_dependencies ? {} : { 'NODE_ENV' => 'development' }
80
+ # rubocop:enable Style/StringHashKeys
77
81
  cmd = Maglev::Engine.vite_ruby.commands.legacy_npm_version? ? 'npx ci --yes' : 'npx --yes ci'
78
- system({ 'NODE_ENV' => 'development' }, cmd)
82
+ result = system(install_env_args, cmd)
83
+ # Fallback to `yarn` if `npx` is not available.
84
+ system(install_env_args, 'yarn install --frozen-lockfile') if result.nil?
79
85
  end
80
86
  end
81
87
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maglevcms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Didier Lafforgue
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-14 00:00:00.000000000 Z
11
+ date: 2023-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jbuilder