+59
index.html
+59
index.html
···
3
3
<head>
4
4
<meta charset="UTF-8"/>
5
5
<link rel="icon" type="image/webp" href="/moo.webp"/>
6
+
<meta property="og:description" content="ATProto account migration tool"/>
7
+
<meta property="og:image" content="/moo.webp">
6
8
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
7
9
<title>PDS MOOver</title>
8
10
<link rel="stylesheet" href="/style.css">
···
32
34
askForPlcToken: false,
33
35
plcToken: null,
34
36
plcStatus: null,
37
+
//advance
38
+
showAdvance: false,
39
+
createNewAccount: true,
40
+
migrateRepo: true,
41
+
migrateBlobs: true,
42
+
migrateMissingBlobs: true,
43
+
migratePrefs: true,
44
+
migratePlcRecord: true,
45
+
toggleAdvanceMenu() {
46
+
this.showAdvance = !this.showAdvance;
47
+
},
35
48
updateStatusHandler(status) {
36
49
console.log("Status update:", status);
37
50
document.getElementById("status-message").innerText = status;
···
151
164
x-model="inviteCode" required>
152
165
</div>
153
166
</div>
167
+
<div class="form-group">
168
+
<button type="button" @click="toggleAdvanceMenu()" id="advance" name="advance">Advance Options
169
+
</button>
170
+
</div>
171
+
<div x-show="showAdvance" class="section">
172
+
<span>Pick and choose which actions to run</span>
173
+
<div class="form-control">
174
+
<label>
175
+
<input type="checkbox" id="createNewAccount" name="createNewAccount" x-model="createNewAccount">
176
+
Create New Account
177
+
</label>
178
+
</div>
179
+
<div class="form-control">
180
+
<label>
181
+
<input type="checkbox" id="migrateRepo" name="migrateRepo" x-model="migrateRepo">
182
+
Migrate Repo
183
+
</label>
184
+
</div>
185
+
<div class="form-control">
186
+
<label>
187
+
<input type="checkbox" id="migrateBlobs" name="migrateBlobs" x-model="migrateBlobs">
188
+
Migrate Blobs
189
+
</label>
190
+
</div>
191
+
<div class="form-control">
192
+
<label>
193
+
<input type="checkbox" id="migrateMissingBlobs" name="migrateMissingBlobs"
194
+
x-model="migrateMissingBlobs">
195
+
Migrate Missing Blobs
196
+
</label>
197
+
</div>
198
+
<div class="form-control">
199
+
<label>
200
+
<input type="checkbox" id="migratePrefs" name="migratePrefs" x-model="migratePrefs">
201
+
Migrate Prefs
202
+
</label>
203
+
</div>
204
+
<div class="form-control">
205
+
<label>
206
+
<input type="checkbox" id="migratePlcRecord" name="migratePlcRecord" x-model="migratePlcRecord">
207
+
Migrate PLC Record
208
+
</label>
209
+
</div>
210
+
211
+
</div>
212
+
154
213
<div class="form-group">
155
214
<label for="confirmation">I understand the risks that come with doing an account migration.
156
215
(Can view them
+10
public/style.css
+10
public/style.css
···
124
124
font-weight: bold;
125
125
text-align: center;
126
126
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
127
+
}
128
+
129
+
.form-checkbox {
130
+
131
+
font-size: 2rem;
132
+
font-weight: bold;
133
+
line-height: 1.1;
134
+
display: grid;
135
+
grid-template-columns: 1em auto;
136
+
gap: 0.5em;
127
137
}
+9
src/pdsmoover.js
+9
src/pdsmoover.js
···
36
36
this.oldAgent = null;
37
37
this.newAgent = null;
38
38
this.missingBlobs = [];
39
+
//State for reruns
40
+
this.oldAccountStatus = null;
41
+
this.newAccountStatus = null;
42
+
this.createNewAccount = true;
43
+
this.migrateRepo = true;
44
+
this.migrateBlobs = true;
45
+
this.migrateMissingBlobs = true;
46
+
this.migratePrefs = true;
47
+
this.migratePlcRecord = true;
39
48
}
40
49
41
50
/**