tangled
alpha
login
or
join now
flo-bit.dev
/
blento
your personal website on atproto - mirror
blento.app
20
fork
atom
overview
issues
pulls
pipelines
linting
jycouet
2 weeks ago
7bb9914a
e79ad47b
+26
-11
9 changed files
expand all
collapse all
unified
split
eslint.config.js
src
lib
atproto
auth.svelte.ts
cards
BaseCard
BaseEditingCard.svelte
FluidTextCard
FluidTextCard.svelte
GameCards
DinoGameCard
DinoGameCard.svelte
TetrisCard
TetrisCard.svelte
MapCard
Map.svelte
helper.ts
types.ts
+10
eslint.config.js
···
32
}
33
},
34
{
0
0
0
0
0
0
0
35
rules: {
0
0
36
'svelte/no-at-html-tags': 'off',
0
37
'@typescript-eslint/no-explicit-any': 'off',
38
'no-unused-vars': 'off',
39
'@typescript-eslint/no-unused-vars': [
···
32
}
33
},
34
{
35
+
files: ['**/*.svelte.ts'],
36
+
37
+
languageOptions: {
38
+
parser: ts.parser
39
+
}
40
+
},
41
+
{
42
rules: {
43
+
//
44
+
'svelte/no-navigation-without-resolve': 'off',
45
'svelte/no-at-html-tags': 'off',
46
+
//
47
'@typescript-eslint/no-explicit-any': 'off',
48
'no-unused-vars': 'off',
49
'@typescript-eslint/no-unused-vars': [
+3
-2
src/lib/atproto/auth.svelte.ts
···
7
deleteStoredSession
8
} from '@atcute/oauth-browser-client';
9
import { AppBskyActorDefs } from '@atcute/bluesky';
10
-
import type { ActorIdentifier, Did } from '@atcute/lexicons';
11
import {
12
CompositeDidDocumentResolver,
13
CompositeHandleResolver,
···
18
WellKnownHandleResolver
19
} from '@atcute/identity-resolver';
20
import { Client } from '@atcute/client';
0
21
22
import { dev } from '$app/environment';
23
import { replaceState } from '$app/navigation';
···
25
import { metadata } from './metadata';
26
import { getDetailedProfile } from './methods';
27
import { signUpPDS } from './settings';
0
28
29
export const user = $state({
30
agent: null as OAuthUserAgent | null,
···
67
})
68
});
69
70
-
const params = new URLSearchParams(location.hash.slice(1));
71
72
const did = (localStorage.getItem('current-login') as Did) ?? undefined;
73
···
7
deleteStoredSession
8
} from '@atcute/oauth-browser-client';
9
import { AppBskyActorDefs } from '@atcute/bluesky';
0
10
import {
11
CompositeDidDocumentResolver,
12
CompositeHandleResolver,
···
17
WellKnownHandleResolver
18
} from '@atcute/identity-resolver';
19
import { Client } from '@atcute/client';
20
+
import type { ActorIdentifier, Did } from '@atcute/lexicons';
21
22
import { dev } from '$app/environment';
23
import { replaceState } from '$app/navigation';
···
25
import { metadata } from './metadata';
26
import { getDetailedProfile } from './methods';
27
import { signUpPDS } from './settings';
28
+
import { SvelteURLSearchParams } from 'svelte/reactivity';
29
30
export const user = $state({
31
agent: null as OAuthUserAgent | null,
···
68
})
69
});
70
71
+
const params = new SvelteURLSearchParams(location.hash.slice(1));
72
73
const did = (localStorage.getItem('current-login') as Did) ?? undefined;
74
+1
-3
src/lib/cards/BaseCard/BaseEditingCard.svelte
···
229
230
<div class="flex min-w-36 flex-col gap-1">
231
<Label class="mb-2">Card type</Label>
232
-
{#each changeOptions as changeDef}
233
<Button
234
class="justify-start"
235
variant={changeDef.type === item.cardType ? 'primary' : 'ghost'}
···
405
406
{#if cardDef.canResize !== false}
407
<!-- Resize handle at bottom right corner -->
408
-
<!-- svelte-ignore a11y_no_static_element_interactions -->
409
-
410
<div
411
onpointerdown={handleResizeStart}
412
class="bg-base-300/70 dark:bg-base-900/70 pointer-events-auto absolute right-0.5 bottom-0.5 hidden cursor-se-resize rounded-md rounded-br-3xl p-1 group-hover/card:block"
···
229
230
<div class="flex min-w-36 flex-col gap-1">
231
<Label class="mb-2">Card type</Label>
232
+
{#each changeOptions as changeDef, i (i)}
233
<Button
234
class="justify-start"
235
variant={changeDef.type === item.cardType ? 'primary' : 'ghost'}
···
405
406
{#if cardDef.canResize !== false}
407
<!-- Resize handle at bottom right corner -->
0
0
408
<div
409
onpointerdown={handleResizeStart}
410
class="bg-base-300/70 dark:bg-base-900/70 pointer-events-auto absolute right-0.5 bottom-0.5 hidden cursor-se-resize rounded-md rounded-br-3xl p-1 group-hover/card:block"
+8
src/lib/cards/FluidTextCard/FluidTextCard.svelte
···
187
// Redraw overlay when text settings change (only after initialization)
188
$effect(() => {
189
// Access all reactive values to track them
0
190
text;
0
191
fontSize;
192
// Only redraw if already initialized
193
if (isInitialized) {
···
1253
1254
switch (i % 6) {
1255
case 0:
0
1256
((r = v), (g = t), (b = p));
1257
break;
1258
case 1:
0
1259
((r = q), (g = v), (b = p));
1260
break;
1261
case 2:
0
1262
((r = p), (g = v), (b = t));
1263
break;
1264
case 3:
0
1265
((r = p), (g = q), (b = v));
1266
break;
1267
case 4:
0
1268
((r = t), (g = p), (b = v));
1269
break;
1270
case 5:
0
1271
((r = v), (g = p), (b = q));
1272
break;
1273
}
···
187
// Redraw overlay when text settings change (only after initialization)
188
$effect(() => {
189
// Access all reactive values to track them
190
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
191
text;
192
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
193
fontSize;
194
// Only redraw if already initialized
195
if (isInitialized) {
···
1255
1256
switch (i % 6) {
1257
case 0:
1258
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
1259
((r = v), (g = t), (b = p));
1260
break;
1261
case 1:
1262
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
1263
((r = q), (g = v), (b = p));
1264
break;
1265
case 2:
1266
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
1267
((r = p), (g = v), (b = t));
1268
break;
1269
case 3:
1270
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
1271
((r = p), (g = q), (b = v));
1272
break;
1273
case 4:
1274
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
1275
((r = t), (g = p), (b = v));
1276
break;
1277
case 5:
1278
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
1279
((r = v), (g = p), (b = q));
1280
break;
1281
}
+1
-1
src/lib/cards/GameCards/DinoGameCard/DinoGameCard.svelte
···
525
});
526
</script>
527
528
-
<!-- svelte-ignore a11y_no_noninteractive_tabindex a11y_no_noninteractive_element_interactions -->
529
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
530
<div
531
bind:this={container}
···
525
});
526
</script>
527
528
+
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
529
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
530
<div
531
bind:this={container}
+2
-1
src/lib/cards/GameCards/TetrisCard/TetrisCard.svelte
···
227
}
228
}
229
0
230
function playTone(
231
frequency: number,
232
duration: number,
···
1003
});
1004
</script>
1005
1006
-
<!-- svelte-ignore a11y_no_noninteractive_tabindex a11y_no_noninteractive_element_interactions -->
1007
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
0
1008
<div
1009
bind:this={container}
1010
class="relative h-full w-full overflow-hidden outline-none"
···
227
}
228
}
229
230
+
type OscillatorType = 'sine' | 'square' | 'sawtooth' | 'triangle';
231
function playTone(
232
frequency: number,
233
duration: number,
···
1004
});
1005
</script>
1006
0
1007
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
1008
+
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
1009
<div
1010
bind:this={container}
1011
class="relative h-full w-full overflow-hidden outline-none"
+1
-1
src/lib/cards/MapCard/Map.svelte
···
8
9
let { item = $bindable() }: { item: Item } = $props();
10
11
-
$inspect(item);
12
13
let mapContainer: HTMLElement | undefined = $state();
14
let map: mapboxgl.Map | undefined = $state();
···
8
9
let { item = $bindable() }: { item: Item } = $props();
10
11
+
// $inspect(item);
12
13
let mapContainer: HTMLElement | undefined = $state();
14
let map: mapboxgl.Map | undefined = $state();
-2
src/lib/helper.ts
···
323
new URL(link);
324
325
return link;
326
-
327
} catch (e) {
328
if (!tryAdding) return;
329
···
332
new URL(link);
333
334
return link;
335
-
336
} catch (e) {
337
return;
338
}
···
323
new URL(link);
324
325
return link;
0
326
} catch (e) {
327
if (!tryAdding) return;
328
···
331
new URL(link);
332
333
return link;
0
334
} catch (e) {
335
return;
336
}
-1
src/lib/types.ts
···
18
19
color?: string;
20
21
-
22
cardData: any;
23
24
updatedAt?: string;
···
18
19
color?: string;
20
0
21
cardData: any;
22
23
updatedAt?: string;