make me a scrollbar, short
https://chatgpt.com/share/6705c7e1-6368-800e-86ef-fb2ac8666da5
{
  "timestamp": "2024-10-09T00:01:19.052Z",
  "conversation": [
    {
      "r": "user",
      "t": "my scrollbar is broken in your interface, but i can find the 
scrollable element in the inspector. do you know what i can do to make the 
interface usable again? could you paste me a scriptlet? the selector is 
div.text-sm:nth-child(1)2/2"
    },
    {
      "r": "assistant",
      "t": "Here’s a scriptlet you can paste into the URL bar to scroll the 
div.text-sm:nth-child(1) element manually. It sets the element’s scrollTop 
property so you can control the position and see content 
again:\n\n```\njavascript\nCopy code\njavascript:(function(){ /* Scroll element 
to top */ var el=document.querySelector('div.text-sm:nth-child(1)'); 
if(el){el.scrollTop=0;} else {alert('Element not found');} })()\n\n```\nTo 
adjust the scroll position, you can modify the scrollTop value (e.g., 
el.scrollTop=100 for further down). If this doesn’t work, let me know, and we 
can try another approach!\n\n4o"
    },
    {
      "r": "user",
      "t": "assigning to scrollTop doesn't seem to scroll it. do you know how 
to scroll elements?"
    },
    {
      "r": "assistant",
      "t": "If assigning directly to scrollTop doesn't work, you can use the 
scrollIntoView method, which usually forces an element into view. Here’s an 
updated scriptlet that tries to scroll the element into view by calling 
scrollIntoView on it:\n\n```\njavascript\nCopy code\njavascript:(function(){ /* 
Scroll element into view */ var 
el=document.querySelector('div.text-sm:nth-child(1)'); if(el){ 
el.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { 
alert('Element not found'); } })()\n\n```\nThis will smoothly scroll the 
element to the top of the viewport. If this also doesn't work, it could be due 
to CSS or other JavaScript that overrides scrolling behavior. Let me know if 
you'd like to explore other options!\n\n4o"
    },
    {
      "r": "user",
      "t": "looks like elements have scroll() scrollTo() and scrollBy() but 
they might take dicts. do you know the dict structure? my scroll bar came back 
on reload tohugh! but it would be nice to create a bigger scrollbar somehow 
since it's hard to click"
    },
    {
      "r": "assistant",
      "t": "Memory updatedYou’re right—elements have scroll(), scrollTo(), and 
scrollBy() methods, which accept a dictionary (object) to control scrolling 
behavior. The structure looks like this:\n\n```\njavascript\nCopy 
code\nelement.scroll({\n  top: 100,             // Vertical scroll position in 
pixels\n  left: 0,              // Horizontal scroll position in pixels\n  
behavior: 'smooth'    // Optional: 'smooth' or 'auto' (default)\n});\n\n```\nTo 
adjust the scrollbar size, you can apply custom CSS to make it larger. Here’s a 
scriptlet that adds inline CSS to enlarge the scrollbar on the specified 
element:\n\n```\njavascript\nCopy code\njavascript:(function(){ \n  var el = 
document.querySelector('div.text-sm:nth-child(1)');\n  if (el) {\n    
el.style.scrollbarWidth = 'thin'; // For Firefox\n    
el.style.setProperty('--webkit-scrollbar-width', '16px'); // For other 
browsers\n    el.style.setProperty('--webkit-scrollbar-thumb', '#888'); // 
Customize thumb color\n    
el.style.setProperty('--webkit-scrollbar-thumb-radius', '10px'); // Customize 
thumb shape\n  } else {\n    alert('Element not found');\n  
}\n})();\n\n```\nThis scriptlet attempts to apply styles compatible with most 
browsers, but if that doesn’t work, you may need to add custom styles directly 
in the browser’s developer tools. Let me know if you need more 
assistance!\n\n4o"
    },
    {
      "r": "user",
      "t": "scrollbarWidth = \"auto\" helps a little but it would be nice to 
have a bigger scrollbar. could you make an element-based one with javascript I 
could paste into the console?"
    },
    {
      "r": "assistant",
      "t": "You can create a custom scrollbar by adding a small overlay div 
element within the scrollable area and controlling it with JavaScript. This 
custom scrollbar can be adjusted in size and color to make it more 
user-friendly. Here’s a script you can paste into the console to create a 
larger, draggable scrollbar for your specified 
element:\n\n```\njavascript\nCopy code\n(function() {\n  var container = 
document.querySelector('div.text-sm:nth-child(1)');\n  if (!container) { \n    
console.log('Element not found'); \n    return; \n  }\n\n  // Create custom 
scrollbar track\n  var scrollbar = document.createElement('div');\n  
scrollbar.style.position = 'absolute';\n  scrollbar.style.right = '0';\n  
scrollbar.style.top = '0';\n  scrollbar.style.width = '16px';\n  
scrollbar.style.backgroundColor = 'rgba(0, 0, 0, 0.1)';\n  
scrollbar.style.borderRadius = '8px';\n  scrollbar.style.cursor = 
'pointer';\n\n  // Set up container for relative positioning and overflow 
handling\n  container.style.position = 'relative';\n  container.style.overflow 
= 'hidden';\n\n  // Create scrollbar thumb\n  var thumb = 
document.createElement('div');\n  thumb.style.width = '100%';\n  
thumb.style.height = '40px';\n  thumb.style.backgroundColor = '#888';\n  
thumb.style.borderRadius = '8px';\n  thumb.style.position = 'relative';\n\n  
scrollbar.appendChild(thumb);\n  container.appendChild(scrollbar);\n\n  // Sync 
scrollbar thumb with container scroll position\n  function 
updateThumbPosition() {\n    var scrollRatio = container.scrollTop / 
(container.scrollHeight - container.clientHeight);\n    thumb.style.top = 
scrollRatio * (container.clientHeight - thumb.clientHeight) + 'px';\n  }\n\n  
container.addEventListener('scroll', updateThumbPosition);\n\n  // Make thumb 
draggable\n  var dragging = false;\n  var startY, startScrollTop;\n\n  
thumb.addEventListener('mousedown', function(e) {\n    dragging = true;\n    
startY = e.clientY;\n    startScrollTop = container.scrollTop;\n    
e.preventDefault();\n  });\n\n  document.addEventListener('mousemove', 
function(e) {\n    if (dragging) {\n      var deltaY = e.clientY - startY;\n    
  var scrollDelta = deltaY * (container.scrollHeight / 
container.clientHeight);\n      container.scrollTop = startScrollTop + 
scrollDelta;\n    }\n  });\n\n  document.addEventListener('mouseup', function() 
{\n    dragging = false;\n  });\n\n  // Initialize thumb position\n  
updateThumbPosition();\n})();\n\n```\nThis code snippet:\n\nCreates a custom 
scrollbar that attaches to your element.Moves the scrollbar’s thumb based on 
the element's scroll position.Allows you to drag the thumb to scroll.Feel free 
to adjust scrollbar.style.width and thumb.style.height to make the scrollbar 
larger or smaller as needed!\n\n4o"
    },
    {
      "r": "user",
      "t": "no output :/ oh well"
    },
    {
      "r": "assistant",
      "t": "If there was no output, it might be due to the specific CSS or 
JavaScript on the page conflicting with the custom scrollbar script. Here’s a 
simpler version that will add a draggable scrollbar with more explicit styling 
and event handling. This version directly logs to the console to confirm it’s 
finding the element and adding the scrollbar:\n\n```\njavascript\nCopy 
code\n(function() {\n  var container = 
document.querySelector('div.text-sm:nth-child(1)');\n  if (!container) { \n    
console.log('Element not found'); \n    return; \n  }\n\n  // Confirm the 
element was found\n  console.log('Element found, creating custom 
scrollbar.');\n\n  // Create scrollbar container\n  var scrollbar = 
document.createElement('div');\n  scrollbar.style.position = 'absolute';\n  
scrollbar.style.right = '2px';\n  scrollbar.style.top = '0';\n  
scrollbar.style.width = '16px';\n  scrollbar.style.height = '100%';\n  
scrollbar.style.backgroundColor = 'rgba(0, 0, 0, 0.1)';\n  
scrollbar.style.borderRadius = '8px';\n\n  // Set container to relative to 
position custom scrollbar correctly\n  container.style.position = 'relative';\n 
 container.style.overflow = 'hidden';\n\n  // Create the draggable scrollbar 
thumb\n  var thumb = document.createElement('div');\n  thumb.style.width = 
'100%';\n  thumb.style.height = '40px';\n  thumb.style.backgroundColor = 
'#888';\n  thumb.style.borderRadius = '8px';\n  thumb.style.position = 
'absolute';\n  thumb.style.top = '0';\n  \n  scrollbar.appendChild(thumb);\n  
container.appendChild(scrollbar);\n\n  console.log('Scrollbar added to the 
element.');\n\n  // Scroll thumb based on container's scroll\n  function 
updateThumbPosition() {\n    var scrollRatio = container.scrollTop / 
(container.scrollHeight - container.clientHeight);\n    thumb.style.top = 
scrollRatio * (container.clientHeight - thumb.clientHeight) + 'px';\n  }\n\n  
container.addEventListener('scroll', updateThumbPosition);\n\n  // Allow 
dragging of thumb\n  thumb.addEventListener('mousedown', function(e) {\n    
e.preventDefault();\n    var startY = e.clientY;\n    var startTop = 
thumb.offsetTop;\n\n    function onMouseMove(e) {\n      var deltaY = e.clientY 
- startY;\n      var newTop = startTop + deltaY;\n      var maxTop = 
container.clientHeight - thumb.clientHeight;\n      \n      if (newTop < 0) 
newTop = 0;\n      if (newTop > maxTop) newTop = maxTop;\n\n      
thumb.style.top = newTop + 'px';\n      var scrollPercent = newTop / maxTop;\n  
    container.scrollTop = scrollPercent * (container.scrollHeight - 
container.clientHeight);\n    }\n\n    function onMouseUp() {\n      
document.removeEventListener('mousemove', onMouseMove);\n      
document.removeEventListener('mouseup', onMouseUp);\n    }\n\n    
document.addEventListener('mousemove', onMouseMove);\n    
document.addEventListener('mouseup', onMouseUp);\n  });\n\n  
updateThumbPosition();\n})();\n\n```\nTry running this revised version in the 
console. It logs key points and should confirm whether it’s finding the element 
and adding the scrollbar. If it’s still not working, let me know—I can help you 
debug further!\n\n4o"
    },
    {
      "r": "user",
      "t": "Element found, creating custom scrollbar. debugger eval 
code:9:11\nScrollbar added to the element. debugger eval code:37:11\nA grey bar 
appeared that occupies the entire height of the element edge, but nothing 
happens when i click it. I think the top and bottom of the element are obscured 
if that matters."
    },
    {
      "r": "assistant",
      "t": "It sounds like the scrollbar is being added, but the height of the 
thumb might be too large, or the element itself might have overflow settings 
affecting the drag behavior. Let's adjust it so the thumb size adapts to the 
scrollable content size, and it won't be obstructed if the element is 
clipped.\n\nHere's a refined version:\n\n```\njavascript\nCopy 
code\n(function() {\n  var container = 
document.querySelector('div.text-sm:nth-child(1)');\n  if (!container) { \n    
console.log('Element not found'); \n    return; \n  }\n\n  console.log('Element 
found, creating custom scrollbar.');\n\n  // Create scrollbar track\n  var 
scrollbar = document.createElement('div');\n  scrollbar.style.position = 
'absolute';\n  scrollbar.style.right = '2px';\n  scrollbar.style.top = '0';\n  
scrollbar.style.width = '16px';\n  scrollbar.style.height = '100%';\n  
scrollbar.style.backgroundColor = 'rgba(0, 0, 0, 0.1)';\n  
scrollbar.style.borderRadius = '8px';\n  scrollbar.style.pointerEvents = 
'none';\n\n  // Set the container to have relative positioning and hidden 
overflow\n  container.style.position = 'relative';\n  container.style.overflow 
= 'hidden';\n\n  // Create the draggable scrollbar thumb\n  var thumb = 
document.createElement('div');\n  thumb.style.width = '100%';\n  
thumb.style.position = 'absolute';\n  thumb.style.backgroundColor = '#888';\n  
thumb.style.borderRadius = '8px';\n\n  // Update thumb height relative to 
container and content\n  function updateThumbSize() {\n    var thumbHeight = 
Math.max(container.clientHeight * (container.clientHeight / 
container.scrollHeight), 30); // Set a minimum size\n    thumb.style.height = 
thumbHeight + 'px';\n  }\n\n  // Sync scrollbar thumb with scroll position\n  
function updateThumbPosition() {\n    var scrollRatio = container.scrollTop / 
(container.scrollHeight - container.clientHeight);\n    thumb.style.top = 
scrollRatio * (container.clientHeight - thumb.clientHeight) + 'px';\n  }\n\n  
scrollbar.appendChild(thumb);\n  container.appendChild(scrollbar);\n  
updateThumbSize();\n  updateThumbPosition();\n\n  // Make thumb draggable\n  
thumb.addEventListener('mousedown', function(e) {\n    e.preventDefault();\n    
var startY = e.clientY;\n    var startTop = thumb.offsetTop;\n\n    function 
onMouseMove(e) {\n      var deltaY = e.clientY - startY;\n      var newTop = 
startTop + deltaY;\n      var maxTop = container.clientHeight - 
thumb.clientHeight;\n      \n      if (newTop < 0) newTop = 0;\n      if 
(newTop > maxTop) newTop = maxTop;\n\n      thumb.style.top = newTop + 'px';\n  
    var scrollPercent = newTop / maxTop;\n      container.scrollTop = 
scrollPercent * (container.scrollHeight - container.clientHeight);\n    }\n\n   
 function onMouseUp() {\n      document.removeEventListener('mousemove', 
onMouseMove);\n      document.removeEventListener('mouseup', onMouseUp);\n    
}\n\n    document.addEventListener('mousemove', onMouseMove);\n    
document.addEventListener('mouseup', onMouseUp);\n  });\n\n  // Update thumb 
size and position when scrolling\n  container.addEventListener('scroll', 
updateThumbPosition);\n})();\n\n```\nThis version calculates the thumb height 
based on the proportion of the scrollable content versus the visible area, 
making it more responsive to content size. The updateThumbSize() function 
ensures the thumb isn't too large and correctly maps to the scrollable area. 
This should allow you to drag and scroll more effectively. Let me know if this 
works or if there’s anything else to adjust!\n\n4o"
    },
    {
      "r": "user",
      "t": "i see a darker grey bar (if it's transparent two might be overlayed 
now) but still nothing happens when i click it. what color is the bar vs the 
thumb?"
    },
    {
      "r": "assistant",
      "t": "The dark grey bar is likely the scrollbar track, while the thumb 
(the draggable part) should be a lighter grey color. In the current 
script:\n\nThe scrollbar track (entire height along the right edge) is set to 
rgba(0, 0, 0, 0.1), which is a very light, transparent grey.The thumb (the 
actual draggable element) is set to #888, a solid, darker grey color.If the 
thumb isn't visible, it might be due to sizing or layering. Here’s an update to 
make the colors more distinct and remove any potentially overlapping tracks by 
setting a unique color for each:\n\n```\njavascript\nCopy code\n(function() {\n 
 var container = document.querySelector('div.text-sm:nth-child(1)');\n  if 
(!container) { \n    console.log('Element not found'); \n    return; \n  }\n\n  
console.log('Element found, creating custom scrollbar.');\n\n  // Clear any 
previous scrollbars to avoid overlap\n  var existingScrollbar = 
container.querySelector('.custom-scrollbar');\n  if (existingScrollbar) {\n    
container.removeChild(existingScrollbar);\n  }\n\n  // Create scrollbar track\n 
 var scrollbar = document.createElement('div');\n  scrollbar.className = 
'custom-scrollbar';\n  scrollbar.style.position = 'absolute';\n  
scrollbar.style.right = '2px';\n  scrollbar.style.top = '0';\n  
scrollbar.style.width = '16px';\n  scrollbar.style.height = '100%';\n  
scrollbar.style.backgroundColor = 'rgba(200, 200, 200, 0.3)'; // Light grey for 
better visibility\n  scrollbar.style.borderRadius = '8px';\n  
scrollbar.style.pointerEvents = 'none';\n\n  // Set the container to have 
relative positioning and hidden overflow\n  container.style.position = 
'relative';\n  container.style.overflow = 'hidden';\n\n  // Create the 
draggable scrollbar thumb\n  var thumb = document.createElement('div');\n  
thumb.style.width = '100%';\n  thumb.style.position = 'absolute';\n  
thumb.style.backgroundColor = '#555'; // Dark grey for the thumb\n  
thumb.style.borderRadius = '8px';\n\n  // Update thumb height relative to 
container and content\n  function updateThumbSize() {\n    var thumbHeight = 
Math.max(container.clientHeight * (container.clientHeight / 
container.scrollHeight), 30); // Set a minimum size\n    thumb.style.height = 
thumbHeight + 'px';\n  }\n\n  // Sync scrollbar thumb with scroll position\n  
function updateThumbPosition() {\n    var scrollRatio = container.scrollTop / 
(container.scrollHeight - container.clientHeight);\n    thumb.style.top = 
scrollRatio * (container.clientHeight - thumb.clientHeight) + 'px';\n  }\n\n  
scrollbar.appendChild(thumb);\n  container.appendChild(scrollbar);\n  
updateThumbSize();\n  updateThumbPosition();\n\n  // Make thumb draggable\n  
thumb.addEventListener('mousedown', function(e) {\n    e.preventDefault();\n    
var startY = e.clientY;\n    var startTop = thumb.offsetTop;\n\n    function 
onMouseMove(e) {\n      var deltaY = e.clientY - startY;\n      var newTop = 
startTop + deltaY;\n      var maxTop = container.clientHeight - 
thumb.clientHeight;\n      \n      if (newTop < 0) newTop = 0;\n      if 
(newTop > maxTop) newTop = maxTop;\n\n      thumb.style.top = newTop + 'px';\n  
    var scrollPercent = newTop / maxTop;\n      container.scrollTop = 
scrollPercent * (container.scrollHeight - container.clientHeight);\n    }\n\n   
 function onMouseUp() {\n      document.removeEventListener('mousemove', 
onMouseMove);\n      document.removeEventListener('mouseup', onMouseUp);\n    
}\n\n    document.addEventListener('mousemove', onMouseMove);\n    
document.addEventListener('mouseup', onMouseUp);\n  });\n\n  // Update thumb 
size and position when scrolling\n  container.addEventListener('scroll', 
updateThumbPosition);\n})();\n\n```\nIn this version:\n\nThe track is a light 
grey (rgba(200, 200, 200, 0.3)), which should be more visible.The thumb is a 
darker grey (#555), making it stand out more.If you don’t see the thumb or 
still can’t drag it, the JavaScript events might be blocked, or CSS might be 
affecting the interaction. Let me know how it goes!\n\n4o"
    },
    {
      "r": "user",
      "t": "oh the previous one is working! haven't tried the latest one yet. 
part is dark grey and part is light grey, and it covers the whole document, but 
when i drag anywhere on it the document scrolls :D"
    },
    {
      "r": "assistant",
      "t": "Great to hear the previous one is working, and that it's responding 
to dragging! 🎉 It sounds like the custom scrollbar is taking up more space than 
intended, which could explain why it’s covering the whole document. Here’s how 
you can refine it:\n\nRestrict the height of the track to the container element 
instead of the full document height.Adjust positioning so it only appears 
within the container.You can try this final adjustment for more precise 
placement:\n\n```\njavascript\nCopy code\n(function() {\n  var container = 
document.querySelector('div.text-sm:nth-child(1)');\n  if (!container) { \n    
console.log('Element not found'); \n    return; \n  }\n\n  console.log('Element 
found, creating custom scrollbar.');\n\n  // Remove any previous scrollbars to 
avoid overlap\n  var existingScrollbar = 
container.querySelector('.custom-scrollbar');\n  if (existingScrollbar) {\n    
container.removeChild(existingScrollbar);\n  }\n\n  // Create scrollbar track 
and position it within the container\n  var scrollbar = 
document.createElement('div');\n  scrollbar.className = 'custom-scrollbar';\n  
scrollbar.style.position = 'absolute';\n  scrollbar.style.right = '2px';\n  
scrollbar.style.top = '0';\n  scrollbar.style.width = '16px';\n  
scrollbar.style.height = '100%';\n  scrollbar.style.backgroundColor = 
'rgba(200, 200, 200, 0.3)';\n  scrollbar.style.borderRadius = '8px';\n  
scrollbar.style.pointerEvents = 'none';\n\n  // Position the container and 
apply overflow settings\n  container.style.position = 'relative';\n  
container.style.overflow = 'hidden';\n\n  // Create the draggable scrollbar 
thumb\n  var thumb = document.createElement('div');\n  thumb.style.width = 
'100%';\n  thumb.style.position = 'absolute';\n  thumb.style.backgroundColor = 
'#555';\n  thumb.style.borderRadius = '8px';\n\n  function updateThumbSize() 
{\n    var thumbHeight = Math.max(container.clientHeight * 
(container.clientHeight / container.scrollHeight), 30);\n    thumb.style.height 
= thumbHeight + 'px';\n  }\n\n  function updateThumbPosition() {\n    var 
scrollRatio = container.scrollTop / (container.scrollHeight - 
container.clientHeight);\n    thumb.style.top = scrollRatio * 
(container.clientHeight - thumb.clientHeight) + 'px';\n  }\n\n  
scrollbar.appendChild(thumb);\n  container.appendChild(scrollbar);\n  
updateThumbSize();\n  updateThumbPosition();\n\n  
thumb.addEventListener('mousedown', function(e) {\n    e.preventDefault();\n    
var startY = e.clientY;\n    var startTop = thumb.offsetTop;\n\n    function 
onMouseMove(e) {\n      var deltaY = e.clientY - startY;\n      var newTop = 
startTop + deltaY;\n      var maxTop = container.clientHeight - 
thumb.clientHeight;\n\n      if (newTop < 0) newTop = 0;\n      if (newTop > 
maxTop) newTop = maxTop;\n\n      thumb.style.top = newTop + 'px';\n      var 
scrollPercent = newTop / maxTop;\n      container.scrollTop = scrollPercent * 
(container.scrollHeight - container.clientHeight);\n    }\n\n    function 
onMouseUp() {\n      document.removeEventListener('mousemove', onMouseMove);\n  
    document.removeEventListener('mouseup', onMouseUp);\n    }\n\n    
document.addEventListener('mousemove', onMouseMove);\n    
document.addEventListener('mouseup', onMouseUp);\n  });\n\n  
container.addEventListener('scroll', updateThumbPosition);\n})();\n\n```\nThis 
version should ensure the scrollbar is sized only to the container, avoiding 
the entire document. Now, dragging within the custom scrollbar area should 
allow for smoother scrolling control over just the specified element. Let me 
know if this does the trick!\n\n4o"
    }
  ]
}
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many
  • Re: [ot][spa... Undescribed Horrific Abuse, One Victim & Survivor of Many

Reply via email to