Refactor file carousel into React component hierarchy
- Create PostFiles top-level component managing file display state - Add FileCarousel component for thumbnail navigation - Add DisplayedFile component for content rendering - Add FileDetails component for metadata display - Update props_for_post_files helper to generate HTML content server-side - Replace HTML/JS carousel with prerendered React components - Maintain single file layout compatibility - Add proper TypeScript interfaces and error handling - Register components in application and server bundles Components now handle: - Multiple file carousel display above content - File content switching via React state - Server-side rendered HTML injection - File details metadata display - Responsive thumbnail grid with selection states
This commit is contained in:
16
sorbet/rbi/dsl/domain/bluesky/job/base.rbi
generated
Normal file
16
sorbet/rbi/dsl/domain/bluesky/job/base.rbi
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
# typed: true
|
||||
|
||||
# DO NOT EDIT MANUALLY
|
||||
# This is an autogenerated file for dynamic methods in `Domain::Bluesky::Job::Base`.
|
||||
# Please instead update this file by running `bin/tapioca dsl Domain::Bluesky::Job::Base`.
|
||||
|
||||
|
||||
class Domain::Bluesky::Job::Base
|
||||
sig { returns(ColorLogger) }
|
||||
def logger; end
|
||||
|
||||
class << self
|
||||
sig { returns(ColorLogger) }
|
||||
def logger; end
|
||||
end
|
||||
end
|
||||
27
sorbet/rbi/dsl/domain/bluesky/job/scan_user_job.rbi
generated
Normal file
27
sorbet/rbi/dsl/domain/bluesky/job/scan_user_job.rbi
generated
Normal file
@@ -0,0 +1,27 @@
|
||||
# typed: true
|
||||
|
||||
# DO NOT EDIT MANUALLY
|
||||
# This is an autogenerated file for dynamic methods in `Domain::Bluesky::Job::ScanUserJob`.
|
||||
# Please instead update this file by running `bin/tapioca dsl Domain::Bluesky::Job::ScanUserJob`.
|
||||
|
||||
|
||||
class Domain::Bluesky::Job::ScanUserJob
|
||||
sig { returns(ColorLogger) }
|
||||
def logger; end
|
||||
|
||||
class << self
|
||||
sig { returns(ColorLogger) }
|
||||
def logger; end
|
||||
|
||||
sig do
|
||||
params(
|
||||
args: T::Hash[::Symbol, T.untyped],
|
||||
block: T.nilable(T.proc.params(job: Domain::Bluesky::Job::ScanUserJob).void)
|
||||
).returns(T.any(Domain::Bluesky::Job::ScanUserJob, FalseClass))
|
||||
end
|
||||
def perform_later(args, &block); end
|
||||
|
||||
sig { params(args: T::Hash[::Symbol, T.untyped]).returns(T.untyped) }
|
||||
def perform_now(args); end
|
||||
end
|
||||
end
|
||||
13
sorbet/rbi/shims/didkit.rbi
Normal file
13
sorbet/rbi/shims/didkit.rbi
Normal file
@@ -0,0 +1,13 @@
|
||||
# typed: strict
|
||||
|
||||
class DIDKit::Resolver
|
||||
sig { params(handle: String).returns(T.nilable(DIDKit::DID)) }
|
||||
def resolve_handle(handle)
|
||||
end
|
||||
end
|
||||
|
||||
class DIDKit::DID
|
||||
sig { returns(String) }
|
||||
def did
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user