mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 01:01:39 -05:00
Add live map enabled setting
This commit is contained in:
parent
853d02cd80
commit
ebee214982
7 changed files with 43 additions and 5 deletions
|
|
@ -31,7 +31,7 @@ class Api::V1::SettingsController < ApiController
|
|||
params.require(:settings).permit(
|
||||
:meters_between_routes, :minutes_between_routes, :fog_of_war_meters,
|
||||
:time_threshold_minutes, :merge_threshold_minutes, :route_opacity,
|
||||
:preferred_map_layer, :points_rendering_mode
|
||||
:preferred_map_layer, :points_rendering_mode, :live_map_enabled
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@ export default class extends Controller {
|
|||
static targets = ["index"];
|
||||
|
||||
connect() {
|
||||
if (!this.hasIndexTarget) {
|
||||
console.log("No index target found, skipping subscription")
|
||||
return
|
||||
}
|
||||
|
||||
console.log("Imports controller connected", {
|
||||
hasIndexTarget: this.hasIndexTarget,
|
||||
element: this.element,
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ export default class extends Controller {
|
|||
this.routeOpacity = parseFloat(this.userSettings.route_opacity) || 0.6;
|
||||
this.distanceUnit = this.element.dataset.distance_unit || "km";
|
||||
this.pointsRenderingMode = this.userSettings.points_rendering_mode || "raw";
|
||||
this.liveMapEnabled = this.userSettings.liveMapEnabled || false;
|
||||
this.countryCodesMap = countryCodesMap();
|
||||
|
||||
this.center = this.markers[this.markers.length - 1] || [52.514568, 13.350111];
|
||||
|
|
@ -551,6 +552,12 @@ export default class extends Controller {
|
|||
Simplified
|
||||
</label>
|
||||
|
||||
<label for="live_map_enabled">
|
||||
Live Map
|
||||
<label for="live_map_enabled_info" class="btn-xs join-item inline">?</label>
|
||||
<input type="checkbox" id="live_map_enabled" name="live_map_enabled" class='w-4' style="width: 20px;" value="false" ${this.liveMapEnabledChecked()} />
|
||||
</label>
|
||||
|
||||
<button type="submit">Update</button>
|
||||
</form>
|
||||
`;
|
||||
|
|
@ -583,6 +590,14 @@ export default class extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
liveMapEnabledChecked(value) {
|
||||
if (value === this.pointsRenderingMode) {
|
||||
return 'checked';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
updateSettings(event) {
|
||||
event.preventDefault();
|
||||
|
||||
|
|
@ -597,7 +612,8 @@ export default class extends Controller {
|
|||
minutes_between_routes: event.target.minutes_between_routes.value,
|
||||
time_threshold_minutes: event.target.time_threshold_minutes.value,
|
||||
merge_threshold_minutes: event.target.merge_threshold_minutes.value,
|
||||
points_rendering_mode: event.target.points_rendering_mode.value
|
||||
points_rendering_mode: event.target.points_rendering_mode.value,
|
||||
live_map_enabled: event.target.live_map_enabled.checked
|
||||
},
|
||||
}),
|
||||
})
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class Immich::ImportParser
|
|||
json.each.with_index(1) { |point, index| create_point(point, index) }
|
||||
end
|
||||
|
||||
def create_point(point)
|
||||
def create_point(point, index)
|
||||
return 0 if point['latitude'].blank? || point['longitude'].blank? || point['timestamp'].blank?
|
||||
return 0 if point_exists?(point, point['timestamp'])
|
||||
|
||||
|
|
|
|||
14
db/data/20241107112451_add_live_map_enabled_to_settings.rb
Normal file
14
db/data/20241107112451_add_live_map_enabled_to_settings.rb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddLiveMapEnabledToSettings < ActiveRecord::Migration[7.2]
|
||||
def up
|
||||
User.find_each do |user|
|
||||
user.settings = user.settings.merge(live_map_enabled: false)
|
||||
user.save!
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
end
|
||||
|
|
@ -1 +1 @@
|
|||
DataMigrate::Data.define(version: 20240730130922)
|
||||
DataMigrate::Data.define(version: 20241107112451)
|
||||
|
|
|
|||
5
db/schema.rb
generated
5
db/schema.rb
generated
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.2].define(version: 2024_08_22_092405) do
|
||||
ActiveRecord::Schema[7.2].define(version: 2024_10_30_152025) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
|
|
@ -53,6 +53,9 @@ ActiveRecord::Schema[7.2].define(version: 2024_08_22_092405) do
|
|||
t.index ["user_id"], name: "index_areas_on_user_id"
|
||||
end
|
||||
|
||||
create_table "data_migrations", primary_key: "version", id: :string, force: :cascade do |t|
|
||||
end
|
||||
|
||||
create_table "exports", force: :cascade do |t|
|
||||
t.string "name", null: false
|
||||
t.string "url"
|
||||
|
|
|
|||
Loading…
Reference in a new issue